diff options
Diffstat (limited to 'bindings')
208 files changed, 13935 insertions, 6786 deletions
diff --git a/bindings/Android/Makefile b/bindings/Android/Makefile new file mode 100644 index 0000000..33ccb06 --- /dev/null +++ b/bindings/Android/Makefile @@ -0,0 +1,14 @@ +all: javawrapper + cp -a SWORD/app/build/intermediates/transforms/stripDebugSymbol/release/0/lib/* ../cordova/org.crosswire.sword.cordova.SWORD/libs/android/ + +debug: javawrapper + cp -a SWORD/app/build/intermediates/cmake/debug/obj/* ../cordova/org.crosswire.sword.cordova.SWORD/libs/android/ + +javawrapper: + cp -a SWORD/app/src/main/java/org/crosswire/android/sword/* ../cordova/org.crosswire.sword.cordova.SWORD/src/android/ + +clean: + #these are from ../java-jni + rm SWORD/app/src/main/java/org/crosswire/android/sword/InstallMgr.java SWORD/app/src/main/java/org/crosswire/android/sword/SWMgr.java SWORD/app/src/main/java/org/crosswire/android/sword/SWModule.java + + diff --git a/bindings/Android/README b/bindings/Android/README new file mode 100644 index 0000000..2714e53 --- /dev/null +++ b/bindings/Android/README @@ -0,0 +1,25 @@ +This folder contains Android bindings based on the java-jni bindings. + +The first step to building these bindings is to build the java-jni/ +bindings. These bindings use code generated from there. +See the ../java-jni README before continuing. + +There is an Android Studio project here under SWORD/ + +This Android Studio project should be used to build the NDK +native code here. + +After that, a make in this folder will copy the native libs +to the ../cordova/ bindings to produce a working cordova plugin + +The steps to build all of this are usually: +1) make in the ../java-jni bindings folder +2) build all in SWORD Android Studio project +3) a make in this folder, which finally copies the binary libs + to the ../cordova/ bindings folder to produce a working + cordova plugin + +Android java bindings can be used after step 2 +cordova javascript bindings can be used after step 3 + +Hope this helps get you started. Let me know your progress! diff --git a/bindings/Android/SWORD/.gitignore b/bindings/Android/SWORD/.gitignore new file mode 100644 index 0000000..39fb081 --- /dev/null +++ b/bindings/Android/SWORD/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/bindings/Android/SWORD/.idea/codeStyleSettings.xml b/bindings/Android/SWORD/.idea/codeStyleSettings.xml new file mode 100644 index 0000000..719bb8b --- /dev/null +++ b/bindings/Android/SWORD/.idea/codeStyleSettings.xml @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectCodeStyleSettingsManager"> + <option name="PER_PROJECT_SETTINGS"> + <value> + <option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" /> + <option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" /> + <option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND"> + <value /> + </option> + <option name="IMPORT_LAYOUT_TABLE"> + <value> + <package name="android" withSubpackages="true" static="false" /> + <emptyLine /> + <package name="com" withSubpackages="true" static="false" /> + <emptyLine /> + <package name="junit" withSubpackages="true" static="false" /> + <emptyLine /> + <package name="net" withSubpackages="true" static="false" /> + <emptyLine /> + <package name="org" withSubpackages="true" static="false" /> + <emptyLine /> + <package name="java" withSubpackages="true" static="false" /> + <emptyLine /> + <package name="javax" withSubpackages="true" static="false" /> + <emptyLine /> + <package name="" withSubpackages="true" static="false" /> + <emptyLine /> + <package name="" withSubpackages="true" static="true" /> + <emptyLine /> + </value> + </option> + <option name="RIGHT_MARGIN" value="100" /> + <AndroidXmlCodeStyleSettings> + <option name="USE_CUSTOM_SETTINGS" value="true" /> + </AndroidXmlCodeStyleSettings> + <Objective-C-extensions> + <file> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" /> + </file> + <class> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" /> + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" /> + </class> + <extensions> + <pair source="cpp" header="h" /> + <pair source="c" header="h" /> + </extensions> + </Objective-C-extensions> + <XML> + <option name="XML_KEEP_LINE_BREAKS" value="false" /> + <option name="XML_ALIGN_ATTRIBUTES" value="false" /> + <option name="XML_SPACE_INSIDE_EMPTY_TAG" value="true" /> + </XML> + <codeStyleSettings language="XML"> + <option name="FORCE_REARRANGE_MODE" value="1" /> + <indentOptions> + <option name="CONTINUATION_INDENT_SIZE" value="4" /> + </indentOptions> + <arrangement> + <rules> + <section> + <rule> + <match> + <AND> + <NAME>xmlns:android</NAME> + <XML_NAMESPACE>^$</XML_NAMESPACE> + </AND> + </match> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>xmlns:.*</NAME> + <XML_NAMESPACE>^$</XML_NAMESPACE> + </AND> + </match> + <order>BY_NAME</order> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*:id</NAME> + <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + </AND> + </match> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*:name</NAME> + <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + </AND> + </match> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>name</NAME> + <XML_NAMESPACE>^$</XML_NAMESPACE> + </AND> + </match> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>style</NAME> + <XML_NAMESPACE>^$</XML_NAMESPACE> + </AND> + </match> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*</NAME> + <XML_NAMESPACE>^$</XML_NAMESPACE> + </AND> + </match> + <order>BY_NAME</order> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*:layout_width</NAME> + <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + </AND> + </match> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*:layout_height</NAME> + <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + </AND> + </match> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*:layout_.*</NAME> + <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + </AND> + </match> + <order>BY_NAME</order> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*:width</NAME> + <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + </AND> + </match> + <order>BY_NAME</order> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*:height</NAME> + <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + </AND> + </match> + <order>BY_NAME</order> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*</NAME> + <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE> + </AND> + </match> + <order>BY_NAME</order> + </rule> + </section> + <section> + <rule> + <match> + <AND> + <NAME>.*</NAME> + <XML_NAMESPACE>.*</XML_NAMESPACE> + </AND> + </match> + <order>BY_NAME</order> + </rule> + </section> + </rules> + </arrangement> + </codeStyleSettings> + </value> + </option> + <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default (1)" /> + </component> +</project>
\ No newline at end of file diff --git a/bindings/Android/SWORD/.idea/compiler.xml b/bindings/Android/SWORD/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/bindings/Android/SWORD/.idea/compiler.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <resourceExtensions /> + <wildcardResourcePatterns> + <entry name="!?*.java" /> + <entry name="!?*.form" /> + <entry name="!?*.class" /> + <entry name="!?*.groovy" /> + <entry name="!?*.scala" /> + <entry name="!?*.flex" /> + <entry name="!?*.kt" /> + <entry name="!?*.clj" /> + <entry name="!?*.aj" /> + </wildcardResourcePatterns> + <annotationProcessing> + <profile default="true" name="Default" enabled="false"> + <processorPath useClasspath="true" /> + </profile> + </annotationProcessing> + </component> +</project>
\ No newline at end of file diff --git a/bindings/Android/SWORD/.idea/copyright/profiles_settings.xml b/bindings/Android/SWORD/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/bindings/Android/SWORD/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ +<component name="CopyrightManager"> + <settings default="" /> +</component>
\ No newline at end of file diff --git a/bindings/Android/SWORD/.idea/gradle.xml b/bindings/Android/SWORD/.idea/gradle.xml new file mode 100644 index 0000000..96b6a99 --- /dev/null +++ b/bindings/Android/SWORD/.idea/gradle.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="GradleSettings"> + <option name="linkedExternalProjectsSettings"> + <GradleProjectSettings> + <option name="distributionType" value="DEFAULT_WRAPPED" /> + <option name="externalProjectPath" value="$PROJECT_DIR$" /> + <option name="modules"> + <set> + <option value="/data/home/scribe/src/sword/bindings/Android/SWORD" /> + <option value="/data/home/scribe/src/sword/bindings/Android/SWORD/app" /> + </set> + </option> + <option name="resolveModulePerSourceSet" value="false" /> + </GradleProjectSettings> + </option> + </component> +</project>
\ No newline at end of file diff --git a/bindings/Android/SWORD/.idea/misc.xml b/bindings/Android/SWORD/.idea/misc.xml new file mode 100644 index 0000000..bac5576 --- /dev/null +++ b/bindings/Android/SWORD/.idea/misc.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="NullableNotNullManager"> + <option name="myDefaultNullable" value="android.support.annotation.Nullable" /> + <option name="myDefaultNotNull" value="android.support.annotation.NonNull" /> + <option name="myNullables"> + <value> + <list size="4"> + <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" /> + <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" /> + <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" /> + <item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" /> + </list> + </value> + </option> + <option name="myNotNulls"> + <value> + <list size="4"> + <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" /> + <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" /> + <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" /> + <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" /> + </list> + </value> + </option> + </component> + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK"> + <output url="file://$PROJECT_DIR$/build/classes" /> + </component> + <component name="ProjectType"> + <option name="id" value="Android" /> + </component> + <component name="SvnBranchConfigurationManager"> + <option name="mySupportsUserInfoFilter" value="true" /> + </component> + <component name="masterDetails"> + <states> + <state key="ProjectJDKs.UI"> + <settings> + <last-edited>Android API 24 Platform</last-edited> + <splitter-proportions> + <option name="proportions"> + <list> + <option value="0.2" /> + </list> + </option> + </splitter-proportions> + </settings> + </state> + </states> + </component> +</project>
\ No newline at end of file diff --git a/bindings/Android/SWORD/.idea/modules.xml b/bindings/Android/SWORD/.idea/modules.xml new file mode 100644 index 0000000..8baebac --- /dev/null +++ b/bindings/Android/SWORD/.idea/modules.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file:///data/home/scribe/src/sword/bindings/Android/SWORD/SWORD.iml" filepath="/data/home/scribe/src/sword/bindings/Android/SWORD/SWORD.iml" /> + <module fileurl="file:///data/home/scribe/src/sword/bindings/Android/SWORD/app/app.iml" filepath="/data/home/scribe/src/sword/bindings/Android/SWORD/app/app.iml" /> + </modules> + </component> +</project>
\ No newline at end of file diff --git a/bindings/Android/SWORD/.idea/runConfigurations.xml b/bindings/Android/SWORD/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/bindings/Android/SWORD/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="RunConfigurationProducerService"> + <option name="ignoredProducers"> + <set> + <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" /> + <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" /> + <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" /> + </set> + </option> + </component> +</project>
\ No newline at end of file diff --git a/bindings/Android/SWORD/.idea/vcs.xml b/bindings/Android/SWORD/.idea/vcs.xml new file mode 100644 index 0000000..45cf85c --- /dev/null +++ b/bindings/Android/SWORD/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="" vcs="svn" /> + </component> +</project>
\ No newline at end of file diff --git a/bindings/Android/SWORD/app/.gitignore b/bindings/Android/SWORD/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/bindings/Android/SWORD/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/bindings/Android/SWORD/app/CMakeLists.txt b/bindings/Android/SWORD/app/CMakeLists.txt new file mode 100644 index 0000000..d9625aa --- /dev/null +++ b/bindings/Android/SWORD/app/CMakeLists.txt @@ -0,0 +1,221 @@ +# For more information about using CMake with Android Studio, read the +# documentation: https://d.android.com/studio/projects/add-native-code.html + +# Sets the minimum version of CMake required to build the native library. + +cmake_minimum_required(VERSION 3.4.1) + +#SET(NDK_DEBUG 0) +SET(CMAKE_C_FLAGS "-D__unix__ ${CMAKE_C_FLAGS}") +SET(CMAKE_C_FLAGS "-D_FTPLIB_NO_COMPAT ${CMAKE_C_FLAGS}") + +SET(CMAKE_C_FLAGS "-Wno-invalid-source-encoding ${CMAKE_C_FLAGS}") + + +SET(CMAKE_C_FLAGS "-DOS_ANDROID ${CMAKE_C_FLAGS}") + +SET(CMAKE_C_FLAGS "-fvisibility=hidden ${CMAKE_C_FLAGS}") +SET(CMAKE_C_FLAGS "-DSTDC_HEADERS ${CMAKE_C_FLAGS}") +SET(CMAKE_C_FLAGS "-Dunix ${CMAKE_C_FLAGS}") +SET(CMAKE_C_FLAGS "-DANDROID ${CMAKE_C_FLAGS}") +SET(CMAKE_C_FLAGS "-DEXCLUDEBZIP2 ${CMAKE_C_FLAGS}") +SET(CMAKE_C_FLAGS "-DEXCLUDEXZ ${CMAKE_C_FLAGS}") +SET(CMAKE_C_FLAGS "-DEXCLUDEXZ ${CMAKE_C_FLAGS}") + +#SET(CMAKE_C_FLAGS " ${CMAKE_C_FLAGS}") +#SET(CMAKE_C_FLAGS " ${CMAKE_C_FLAGS}") + +# Creates and names a library, sets it as either STATIC +# or SHARED, and provides the relative paths to its source code. +# You can define multiple libraries, and CMake builds them for you. +# Gradle automatically packages shared libraries with your APK. + +SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") + +add_library( # Sets the name of the library. + sword + + # Sets the library as a shared library. + SHARED + + # Provides a relative path to your source file(s). + src/main/cpp/jni/swordstub.cpp + ../../../../src/utilfuns/swversion.cpp + ../../../../src/modules/comments/zcom/zcom.cpp + ../../../../src/modules/comments/zcom4/zcom4.cpp + ../../../../src/modules/comments/rawfiles/rawfiles.cpp + ../../../../src/modules/comments/rawcom4/rawcom4.cpp + ../../../../src/modules/comments/rawcom/rawcom.cpp + ../../../../src/modules/comments/swcom.cpp + ../../../../src/modules/comments/hrefcom/hrefcom.cpp + ../../../../src/modules/swmodule.cpp + ../../../../src/modules/tests/echomod.cpp + ../../../../src/modules/genbook/swgenbook.cpp + ../../../../src/modules/genbook/rawgenbook/rawgenbook.cpp + ../../../../src/modules/lexdict/swld.cpp + ../../../../src/modules/lexdict/rawld4/rawld4.cpp + ../../../../src/modules/lexdict/zld/zld.cpp + ../../../../src/modules/lexdict/rawld/rawld.cpp + ../../../../src/modules/texts/rawtext/rawtext.cpp + ../../../../src/modules/texts/rawtext4/rawtext4.cpp + ../../../../src/modules/texts/swtext.cpp + ../../../../src/modules/texts/ztext/ztext.cpp + ../../../../src/modules/texts/ztext4/ztext4.cpp + ../../../../src/modules/common/rawstr4.cpp + ../../../../src/modules/common/lzsscomprs.cpp + ../../../../src/modules/common/zipcomprs.cpp + ../../../../src/modules/common/rawverse4.cpp + ../../../../src/modules/common/swcipher.cpp + ../../../../src/modules/common/swcomprs.cpp + ../../../../src/modules/common/rawverse.cpp + ../../../../src/modules/common/sapphire.cpp + ../../../../src/modules/common/zstr.cpp + ../../../../src/modules/common/entriesblk.cpp + ../../../../src/modules/common/zverse.cpp + ../../../../src/modules/common/zverse4.cpp + ../../../../src/modules/common/rawstr.cpp + ../../../../src/modules/filters/gbfwordjs.cpp + ../../../../src/modules/filters/utf8latin1.cpp + ../../../../src/modules/filters/utf8greekaccents.cpp + ../../../../src/modules/filters/utf16utf8.cpp + ../../../../src/modules/filters/gbfwebif.cpp + ../../../../src/modules/filters/utf8transliterator.cpp + ../../../../src/modules/filters/gbfstrongs.cpp + ../../../../src/modules/filters/thmlhtmlhref.cpp + ../../../../src/modules/filters/thmlxhtml.cpp + ../../../../src/modules/filters/thmlgbf.cpp + ../../../../src/modules/filters/utf8utf16.cpp + ../../../../src/modules/filters/utf8cantillation.cpp + ../../../../src/modules/filters/utf8arshaping.cpp + ../../../../src/modules/filters/cipherfil.cpp + ../../../../src/modules/filters/thmlheadings.cpp + ../../../../src/modules/filters/thmlscripref.cpp + ../../../../src/modules/filters/latin1utf8.cpp + ../../../../src/modules/filters/gbfhtml.cpp + ../../../../src/modules/filters/thmlosis.cpp + ../../../../src/modules/filters/utf8nfkd.cpp + ../../../../src/modules/filters/thmlstrongs.cpp + ../../../../src/modules/filters/osisenum.cpp + ../../../../src/modules/filters/osisfootnotes.cpp + ../../../../src/modules/filters/osisglosses.cpp + ../../../../src/modules/filters/osisheadings.cpp + ../../../../src/modules/filters/osishtmlhref.cpp + ../../../../src/modules/filters/osislemma.cpp + ../../../../src/modules/filters/osismorph.cpp + ../../../../src/modules/filters/osismorphsegmentation.cpp + ../../../../src/modules/filters/osisosis.cpp + ../../../../src/modules/filters/osisplain.cpp + ../../../../src/modules/filters/osisredletterwords.cpp + ../../../../src/modules/filters/osisrtf.cpp + ../../../../src/modules/filters/osisscripref.cpp + ../../../../src/modules/filters/osisstrongs.cpp + ../../../../src/modules/filters/osisvariants.cpp + ../../../../src/modules/filters/osiswebif.cpp + ../../../../src/modules/filters/osiswordjs.cpp + ../../../../src/modules/filters/osisxhtml.cpp + ../../../../src/modules/filters/osisxlit.cpp + ../../../../src/modules/filters/osisreferencelinks.cpp + ../../../../src/modules/filters/thmlmorph.cpp + ../../../../src/modules/filters/gbfplain.cpp + ../../../../src/modules/filters/gbfhtmlhref.cpp + ../../../../src/modules/filters/gbfxhtml.cpp + ../../../../src/modules/filters/utf8html.cpp + ../../../../src/modules/filters/utf8nfc.cpp + ../../../../src/modules/filters/rtfhtml.cpp + ../../../../src/modules/filters/gbfredletterwords.cpp + ../../../../src/modules/filters/latin1utf16.cpp + ../../../../src/modules/filters/thmlhtml.cpp + ../../../../src/modules/filters/gbfthml.cpp + ../../../../src/modules/filters/teihtmlhref.cpp + ../../../../src/modules/filters/teixhtml.cpp + ../../../../src/modules/filters/gbfrtf.cpp + ../../../../src/modules/filters/gbfosis.cpp + ../../../../src/modules/filters/teirtf.cpp + ../../../../src/modules/filters/thmlwordjs.cpp + ../../../../src/modules/filters/papyriplain.cpp + ../../../../src/modules/filters/utf8bidireorder.cpp + ../../../../src/modules/filters/gbfheadings.cpp + ../../../../src/modules/filters/thmlrtf.cpp + ../../../../src/modules/filters/swoptfilter.cpp + ../../../../src/modules/filters/utf8arabicpoints.cpp + ../../../../src/modules/filters/unicodertf.cpp + ../../../../src/modules/filters/gbffootnotes.cpp + ../../../../src/modules/filters/greeklexattribs.cpp + ../../../../src/modules/filters/thmlfootnotes.cpp + ../../../../src/modules/filters/thmlplain.cpp + ../../../../src/modules/filters/utf8hebrewpoints.cpp + ../../../../src/modules/filters/thmlwebif.cpp + ../../../../src/modules/filters/thmlvariants.cpp + ../../../../src/modules/filters/thmllemma.cpp + ../../../../src/modules/filters/gbfmorph.cpp + ../../../../src/modules/filters/teiplain.cpp + ../../../../src/modules/filters/swbasicfilter.cpp + ../../../../src/modules/filters/scsuutf8.cpp + ../../../../src/modules/filters/gbflatex.cpp + ../../../../src/modules/filters/thmllatex.cpp + ../../../../src/modules/filters/teilatex.cpp + ../../../../src/modules/filters/osislatex.cpp + ../../../../src/mgr/stringmgr.cpp + ../../../../src/mgr/swmgr.cpp + ../../../../src/mgr/swsearchable.cpp + ../../../../src/mgr/localemgr.cpp + ../../../../src/mgr/swconfig.cpp + ../../../../src/mgr/markupfiltmgr.cpp + ../../../../src/mgr/encfiltmgr.cpp + ../../../../src/mgr/swfiltermgr.cpp + ../../../../src/mgr/swcacher.cpp + ../../../../src/mgr/installmgr.cpp + ../../../../src/mgr/swlocale.cpp + ../../../../src/mgr/filemgr.cpp + ../../../../src/mgr/versificationmgr.cpp + ../../../../src/mgr/remotetrans.cpp + ../../../../src/mgr/ftplibftpt.cpp + ../../../../src/utilfuns/swobject.cpp + ../../../../src/utilfuns/roman.cpp + ../../../../src/utilfuns/swbuf.cpp + ../../../../src/utilfuns/utilstr.cpp + ../../../../src/utilfuns/ftplib.c + ../../../../src/utilfuns/ftpparse.c + ../../../../src/utilfuns/url.cpp + ../../../../src/utilfuns/utilxml.cpp +# ../../../../src/utilfuns/regex.c + ../../../../src/keys/swkey.cpp + ../../../../src/keys/versetreekey.cpp + ../../../../src/keys/treekeyidx.cpp + ../../../../src/keys/versekey.cpp + ../../../../src/keys/strkey.cpp + ../../../../src/keys/treekey.cpp + ../../../../src/keys/listkey.cpp + ../../../../src/frontend/swdisp.cpp + ../../../../src/frontend/swlog.cpp + ../../../../src/utilfuns/zlib/untgz.c + + ) + +include_directories(../../../../include) +# Searches for a specified prebuilt library and stores the path as a +# variable. Because CMake includes system libraries in the search path by +# default, you only need to specify the name of the public NDK library +# you want to add. CMake verifies that the library exists before +# completing its build. + +find_library( # Sets the name of the path variable. + log-lib + + # Specifies the name of the NDK library that + # you want CMake to locate. + log) + +# Specifies libraries CMake should link to your target library. You +# can link multiple libraries, such as libraries you define in this +# build script, prebuilt third-party libraries, or system libraries. + +target_link_libraries( # Specifies the target library. + sword + + # Links the target library to the log library + # included in the NDK. + #${log-lib} + log + z + )
\ No newline at end of file diff --git a/bindings/Android/SWORD/app/build.gradle b/bindings/Android/SWORD/app/build.gradle new file mode 100644 index 0000000..38f6a6b --- /dev/null +++ b/bindings/Android/SWORD/app/build.gradle @@ -0,0 +1,41 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 25 + buildToolsVersion '26.0.2' + defaultConfig { + applicationId "org.crosswire.sword" + minSdkVersion 14 + targetSdkVersion 25 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + externalNativeBuild { + cmake { + cppFlags "-frtti -fexceptions" + } + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + externalNativeBuild { + cmake { + path "CMakeLists.txt" + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + exclude group: 'com.android.support', module: 'support-annotations' + }) + compile 'com.android.support:appcompat-v7:25.3.0' + compile 'com.android.support.constraint:constraint-layout:1.0.2' + compile 'com.android.support:design:25.3.0' + testCompile 'junit:junit:4.12' +} diff --git a/bindings/Android/SWORD/app/proguard-rules.pro b/bindings/Android/SWORD/app/proguard-rules.pro new file mode 100644 index 0000000..b7161c9 --- /dev/null +++ b/bindings/Android/SWORD/app/proguard-rules.pro @@ -0,0 +1,25 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /home/scribe/Android/Sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/bindings/Android/SWORD/app/src/androidTest/java/org/crosswire/sword/ExampleInstrumentedTest.java b/bindings/Android/SWORD/app/src/androidTest/java/org/crosswire/sword/ExampleInstrumentedTest.java new file mode 100644 index 0000000..88a21a1 --- /dev/null +++ b/bindings/Android/SWORD/app/src/androidTest/java/org/crosswire/sword/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package org.crosswire.sword; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumentation test, which will execute on an Android device. + * + * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("org.crosswire.sword", appContext.getPackageName()); + } +} diff --git a/bindings/Android/SWORD/app/src/main/AndroidManifest.xml b/bindings/Android/SWORD/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..8c5ed54 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/AndroidManifest.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.crosswire.sword"> + + <application + android:allowBackup="true" + android:icon="@mipmap/ic_launcher" + android:label="@string/app_name" + android:roundIcon="@mipmap/ic_launcher_round" + android:supportsRtl="true" + android:theme="@style/AppTheme"> + <activity + android:name="org.crosswire.android.bishop.MainActivity" + android:label="@string/title_activity_main"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/bindings/Android/SWORD/app/src/main/cpp/frontend b/bindings/Android/SWORD/app/src/main/cpp/frontend new file mode 120000 index 0000000..0c85939 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/cpp/frontend @@ -0,0 +1 @@ +../../../../../../../src/frontend
\ No newline at end of file diff --git a/bindings/Android/SWORD/app/src/main/cpp/jni b/bindings/Android/SWORD/app/src/main/cpp/jni new file mode 120000 index 0000000..2042a86 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/cpp/jni @@ -0,0 +1 @@ +../../../../../../java-jni/jni/
\ No newline at end of file diff --git a/bindings/Android/SWORD/app/src/main/cpp/keys b/bindings/Android/SWORD/app/src/main/cpp/keys new file mode 120000 index 0000000..82c5ec9 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/cpp/keys @@ -0,0 +1 @@ +../../../../../../../src/keys
\ No newline at end of file diff --git a/bindings/Android/SWORD/app/src/main/cpp/mgr b/bindings/Android/SWORD/app/src/main/cpp/mgr new file mode 120000 index 0000000..ff01498 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/cpp/mgr @@ -0,0 +1 @@ +../../../../../../../src/mgr
\ No newline at end of file diff --git a/bindings/Android/SWORD/app/src/main/cpp/modules b/bindings/Android/SWORD/app/src/main/cpp/modules new file mode 120000 index 0000000..5ce3fc2 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/cpp/modules @@ -0,0 +1 @@ +../../../../../../../src/modules
\ No newline at end of file diff --git a/bindings/Android/SWORD/app/src/main/cpp/utilfuns b/bindings/Android/SWORD/app/src/main/cpp/utilfuns new file mode 120000 index 0000000..f9cd74a --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/cpp/utilfuns @@ -0,0 +1 @@ +../../../../../../../src/utilfuns
\ No newline at end of file diff --git a/bindings/Android/SWORD/app/src/main/java/org/crosswire/android/bishop/MainActivity.java b/bindings/Android/SWORD/app/src/main/java/org/crosswire/android/bishop/MainActivity.java new file mode 100644 index 0000000..e6626a4 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/java/org/crosswire/android/bishop/MainActivity.java @@ -0,0 +1,121 @@ +package org.crosswire.android.bishop; + +import android.app.Activity; + +import android.app.ActionBar; +import android.app.Fragment; +import android.app.FragmentManager; +import android.content.Context; +import android.os.Build; +import android.os.Bundle; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.support.v4.widget.DrawerLayout; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +import org.crosswire.sword.R; + +public class MainActivity extends Activity + implements NavigationDrawerFragment.NavigationDrawerCallbacks { + + /** + * Fragment managing the behaviors, interactions and presentation of the navigation drawer. + */ + private NavigationDrawerFragment mNavigationDrawerFragment; + + /** + * Used to store the last screen title. For use in {@link #restoreActionBar()}. + */ + private CharSequence mTitle; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + mNavigationDrawerFragment = (NavigationDrawerFragment) + getFragmentManager().findFragmentById(R.id.navigation_drawer); + mTitle = getTitle(); + + // Set up the drawer. + mNavigationDrawerFragment.setUp( + R.id.navigation_drawer, + (DrawerLayout) findViewById(R.id.drawer_layout)); + } + + @Override + public void onNavigationDrawerItemSelected(int position) { + // update the main content by replacing fragments + FragmentManager fragmentManager = getFragmentManager(); + fragmentManager.beginTransaction() + .replace(R.id.container, PlaceholderFragment.newInstance(position + 1)) + .commit(); + } + + public void onSectionAttached(int number) { + switch (number) { + case 1: + mTitle = getString(R.string.title_section1); + break; + case 2: + mTitle = getString(R.string.title_section2); + break; + case 3: + mTitle = getString(R.string.title_section3); + break; + } + } + + public void restoreActionBar() { + ActionBar actionBar = getActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setTitle(mTitle); + } + + /** + * A placeholder fragment containing a simple view. + */ + public static class PlaceholderFragment extends Fragment { + /** + * The fragment argument representing the section number for this + * fragment. + */ + private static final String ARG_SECTION_NUMBER = "section_number"; + + public PlaceholderFragment() { + } + + /** + * Returns a new instance of this fragment for the given section + * number. + */ + public static PlaceholderFragment newInstance(int sectionNumber) { + PlaceholderFragment fragment = new PlaceholderFragment(); + Bundle args = new Bundle(); + args.putInt(ARG_SECTION_NUMBER, sectionNumber); + fragment.setArguments(args); + return fragment; + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_main, container, false); + return rootView; + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + ((MainActivity) activity).onSectionAttached( + getArguments().getInt(ARG_SECTION_NUMBER)); + } + } + +} diff --git a/bindings/Android/SWORD/app/src/main/java/org/crosswire/android/bishop/NavigationDrawerFragment.java b/bindings/Android/SWORD/app/src/main/java/org/crosswire/android/bishop/NavigationDrawerFragment.java new file mode 100644 index 0000000..29bac37 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/java/org/crosswire/android/bishop/NavigationDrawerFragment.java @@ -0,0 +1,284 @@ +package org.crosswire.android.bishop; + + +import android.app.Activity; +import android.app.ActionBar; +import android.app.Fragment; +import android.support.v4.app.ActionBarDrawerToggle; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.content.SharedPreferences; +import android.content.res.Configuration; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.Toast; + +import org.crosswire.sword.R; + +/** + * Fragment used for managing interactions for and presentation of a navigation drawer. + * See the <a href="https://developer.android.com/design/patterns/navigation-drawer.html#Interaction"> + * design guidelines</a> for a complete explanation of the behaviors implemented here. + */ +public class NavigationDrawerFragment extends Fragment { + + /** + * Remember the position of the selected item. + */ + private static final String STATE_SELECTED_POSITION = "selected_navigation_drawer_position"; + + /** + * Per the design guidelines, you should show the drawer on launch until the user manually + * expands it. This shared preference tracks this. + */ + private static final String PREF_USER_LEARNED_DRAWER = "navigation_drawer_learned"; + + /** + * A pointer to the current callbacks instance (the Activity). + */ + private NavigationDrawerCallbacks mCallbacks; + + /** + * Helper component that ties the action bar to the navigation drawer. + */ + private ActionBarDrawerToggle mDrawerToggle; + + private DrawerLayout mDrawerLayout; + private ListView mDrawerListView; + private View mFragmentContainerView; + + private int mCurrentSelectedPosition = 0; + private boolean mFromSavedInstanceState; + private boolean mUserLearnedDrawer; + + public NavigationDrawerFragment() { + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Read in the flag indicating whether or not the user has demonstrated awareness of the + // drawer. See PREF_USER_LEARNED_DRAWER for details. + SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity()); + mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false); + + if (savedInstanceState != null) { + mCurrentSelectedPosition = savedInstanceState.getInt(STATE_SELECTED_POSITION); + mFromSavedInstanceState = true; + } + + // Select either the default item (0) or the last selected item. + selectItem(mCurrentSelectedPosition); + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + // Indicate that this fragment would like to influence the set of actions in the action bar. + setHasOptionsMenu(true); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + mDrawerListView = (ListView) inflater.inflate( + R.layout.drawer_main, container, false); + mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView<?> parent, View view, int position, long id) { + selectItem(position); + } + }); + mDrawerListView.setAdapter(new ArrayAdapter<String>( + getActionBar().getThemedContext(), + android.R.layout.simple_list_item_activated_1, + android.R.id.text1, + new String[]{ + getString(R.string.title_section1), + getString(R.string.title_section2), + getString(R.string.title_section3), + })); + mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); + return mDrawerListView; + } + + public boolean isDrawerOpen() { + return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(mFragmentContainerView); + } + + /** + * Users of this fragment must call this method to set up the navigation drawer interactions. + * + * @param fragmentId The android:id of this fragment in its activity's layout. + * @param drawerLayout The DrawerLayout containing this fragment's UI. + */ + public void setUp(int fragmentId, DrawerLayout drawerLayout) { + mFragmentContainerView = getActivity().findViewById(fragmentId); + mDrawerLayout = drawerLayout; + + // set a custom shadow that overlays the main content when the drawer opens + mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); + // set up the drawer's list view with items and click listener + + ActionBar actionBar = getActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setHomeButtonEnabled(true); + + // ActionBarDrawerToggle ties together the the proper interactions + // between the navigation drawer and the action bar app icon. + mDrawerToggle = new ActionBarDrawerToggle( + getActivity(), /* host Activity */ + mDrawerLayout, /* DrawerLayout object */ + R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ + R.string.navigation_drawer_open, /* "open drawer" description for accessibility */ + R.string.navigation_drawer_close /* "close drawer" description for accessibility */ + ) { + @Override + public void onDrawerClosed(View drawerView) { + super.onDrawerClosed(drawerView); + if (!isAdded()) { + return; + } + + getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() + } + + @Override + public void onDrawerOpened(View drawerView) { + super.onDrawerOpened(drawerView); + if (!isAdded()) { + return; + } + + if (!mUserLearnedDrawer) { + // The user manually opened the drawer; store this flag to prevent auto-showing + // the navigation drawer automatically in the future. + mUserLearnedDrawer = true; + SharedPreferences sp = PreferenceManager + .getDefaultSharedPreferences(getActivity()); + sp.edit().putBoolean(PREF_USER_LEARNED_DRAWER, true).apply(); + } + + getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() + } + }; + + // If the user hasn't 'learned' about the drawer, open it to introduce them to the drawer, + // per the navigation drawer design guidelines. + if (!mUserLearnedDrawer && !mFromSavedInstanceState) { + mDrawerLayout.openDrawer(mFragmentContainerView); + } + + // Defer code dependent on restoration of previous instance state. + mDrawerLayout.post(new Runnable() { + @Override + public void run() { + mDrawerToggle.syncState(); + } + }); + + mDrawerLayout.setDrawerListener(mDrawerToggle); + } + + private void selectItem(int position) { + mCurrentSelectedPosition = position; + if (mDrawerListView != null) { + mDrawerListView.setItemChecked(position, true); + } + if (mDrawerLayout != null) { + mDrawerLayout.closeDrawer(mFragmentContainerView); + } + if (mCallbacks != null) { + mCallbacks.onNavigationDrawerItemSelected(position); + } + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + try { + mCallbacks = (NavigationDrawerCallbacks) activity; + } catch (ClassCastException e) { + throw new ClassCastException("Activity must implement NavigationDrawerCallbacks."); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mCallbacks = null; + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putInt(STATE_SELECTED_POSITION, mCurrentSelectedPosition); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + // Forward the new configuration the drawer toggle component. + mDrawerToggle.onConfigurationChanged(newConfig); + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + // If the drawer is open, show the global app actions in the action bar. See also + // showGlobalContextActionBar, which controls the top-left area of the action bar. + if (mDrawerLayout != null && isDrawerOpen()) { + inflater.inflate(R.menu.global, menu); + showGlobalContextActionBar(); + } + super.onCreateOptionsMenu(menu, inflater); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (mDrawerToggle.onOptionsItemSelected(item)) { + return true; + } + + if (item.getItemId() == R.id.action_example) { + Toast.makeText(getActivity(), "Example action.", Toast.LENGTH_SHORT).show(); + return true; + } + + return super.onOptionsItemSelected(item); + } + + /** + * Per the navigation drawer design guidelines, updates the action bar to show the global app + * 'context', rather than just what's in the current screen. + */ + private void showGlobalContextActionBar() { + ActionBar actionBar = getActionBar(); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + actionBar.setTitle(R.string.app_name); + } + + private ActionBar getActionBar() { + return getActivity().getActionBar(); + } + + /** + * Callbacks interface that all activities using this fragment must implement. + */ + public static interface NavigationDrawerCallbacks { + /** + * Called when an item in the navigation drawer is selected. + */ + void onNavigationDrawerItemSelected(int position); + } +} diff --git a/bindings/Android/SWORD/app/src/main/java/org/crosswire/android/sword/AndroidMgr.java b/bindings/Android/SWORD/app/src/main/java/org/crosswire/android/sword/AndroidMgr.java new file mode 100644 index 0000000..61392e6 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/java/org/crosswire/android/sword/AndroidMgr.java @@ -0,0 +1,45 @@ +/****************************************************************************** + * + * AndroidMgr.java - + * + * $Id: SWMgr.java 2833 2013-06-29 06:40:28Z chrislit $ + * + * Copyright 2009-2013 CrossWire Bible Society (http://www.crosswire.org) + * CrossWire Bible Society + * P. O. Box 2528 + * Tempe, AZ 85280-2528 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation version 2. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + */ + +package org.crosswire.android.sword; + +import android.app.Application; +import android.content.Context; + +public class AndroidMgr extends SWMgr { + + private Application app; + + public AndroidMgr(Application app) { + super(false); + this.app = app; + reInit(); + } + + @Override + public String getStorageBasePath() { + Context context = app.getApplicationContext(); + return context.getFilesDir().getAbsolutePath(); + } +} + + diff --git a/bindings/Android/SWORD/app/src/main/res/drawable-hdpi/drawer_shadow.9.png b/bindings/Android/SWORD/app/src/main/res/drawable-hdpi/drawer_shadow.9.png Binary files differnew file mode 100644 index 0000000..236bff5 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/drawable-hdpi/drawer_shadow.9.png diff --git a/bindings/Android/SWORD/app/src/main/res/drawable-hdpi/ic_drawer.png b/bindings/Android/SWORD/app/src/main/res/drawable-hdpi/ic_drawer.png Binary files differnew file mode 100644 index 0000000..c59f601 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/drawable-hdpi/ic_drawer.png diff --git a/bindings/Android/SWORD/app/src/main/res/drawable-mdpi/drawer_shadow.9.png b/bindings/Android/SWORD/app/src/main/res/drawable-mdpi/drawer_shadow.9.png Binary files differnew file mode 100644 index 0000000..ffe3a28 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/drawable-mdpi/drawer_shadow.9.png diff --git a/bindings/Android/SWORD/app/src/main/res/drawable-mdpi/ic_drawer.png b/bindings/Android/SWORD/app/src/main/res/drawable-mdpi/ic_drawer.png Binary files differnew file mode 100644 index 0000000..1ed2c56 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/drawable-mdpi/ic_drawer.png diff --git a/bindings/Android/SWORD/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png b/bindings/Android/SWORD/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png Binary files differnew file mode 100644 index 0000000..fabe9d9 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png diff --git a/bindings/Android/SWORD/app/src/main/res/drawable-xhdpi/ic_drawer.png b/bindings/Android/SWORD/app/src/main/res/drawable-xhdpi/ic_drawer.png Binary files differnew file mode 100644 index 0000000..a5fa74d --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/drawable-xhdpi/ic_drawer.png diff --git a/bindings/Android/SWORD/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png b/bindings/Android/SWORD/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png Binary files differnew file mode 100644 index 0000000..b91e9d7 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png diff --git a/bindings/Android/SWORD/app/src/main/res/drawable-xxhdpi/ic_drawer.png b/bindings/Android/SWORD/app/src/main/res/drawable-xxhdpi/ic_drawer.png Binary files differnew file mode 100644 index 0000000..9c4685d --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/drawable-xxhdpi/ic_drawer.png diff --git a/bindings/Android/SWORD/app/src/main/res/layout/activity_main.xml b/bindings/Android/SWORD/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..0c3c3cc --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,26 @@ +<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. --> +<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/drawer_layout" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context="org.crosswire.android.bishop.MainActivity"> + + <!-- As the main content view, the view below consumes the entire + space available using match_parent in both dimensions. --> + <FrameLayout + android:id="@+id/container" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + + <!-- The drawer is given a fixed width in dp and extends the full height of + the container. --> + <fragment + android:id="@+id/navigation_drawer" + android:name="org.crosswire.android.bishop.NavigationDrawerFragment" + android:layout_width="@dimen/navigation_drawer_width" + android:layout_height="match_parent" + android:layout_gravity="start" + tools:layout="@layout/drawer_main" /> + +</android.support.v4.widget.DrawerLayout> diff --git a/bindings/Android/SWORD/app/src/main/res/layout/drawer_main.xml b/bindings/Android/SWORD/app/src/main/res/layout/drawer_main.xml new file mode 100644 index 0000000..7a02f93 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/layout/drawer_main.xml @@ -0,0 +1,9 @@ +<ListView xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="#cccc" + android:choiceMode="singleChoice" + android:divider="@android:color/transparent" + android:dividerHeight="0dp" + tools:context="org.crosswire.android.bishop.NavigationDrawerFragment" /> diff --git a/bindings/Android/SWORD/app/src/main/res/layout/fragment_main.xml b/bindings/Android/SWORD/app/src/main/res/layout/fragment_main.xml new file mode 100644 index 0000000..3f80d4e --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/layout/fragment_main.xml @@ -0,0 +1,16 @@ +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingBottom="@dimen/activity_vertical_margin" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + tools:context="org.crosswire.android.bishop.MainActivity$PlaceholderFragment"> + + <TextView + android:id="@+id/section_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" /> + +</RelativeLayout> diff --git a/bindings/Android/SWORD/app/src/main/res/menu/global.xml b/bindings/Android/SWORD/app/src/main/res/menu/global.xml new file mode 100644 index 0000000..e3f1dfa --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/menu/global.xml @@ -0,0 +1,7 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android"> + <item + android:id="@+id/action_settings" + android:orderInCategory="100" + android:showAsAction="never" + android:title="@string/action_settings" /> +</menu> diff --git a/bindings/Android/SWORD/app/src/main/res/menu/main.xml b/bindings/Android/SWORD/app/src/main/res/menu/main.xml new file mode 100644 index 0000000..037dc19 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/menu/main.xml @@ -0,0 +1,13 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + tools:context="org.crosswire.android.bishop.MainActivity"> + <item + android:id="@+id/action_example" + android:showAsAction="withText|ifRoom" + android:title="@string/action_example" /> + <item + android:id="@+id/action_settings" + android:orderInCategory="100" + android:showAsAction="never" + android:title="@string/action_settings" /> +</menu> diff --git a/bindings/Android/SWORD/app/src/main/res/menu/menu_swordtest.xml b/bindings/Android/SWORD/app/src/main/res/menu/menu_swordtest.xml new file mode 100644 index 0000000..7cb68bd --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/menu/menu_swordtest.xml @@ -0,0 +1,7 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + tools:context="org.crosswire.sword.SWORDTestActivity"> + <item android:id="@+id/action_settings" android:orderInCategory="100" + android:title="@string/action_settings" app:showAsAction="never" /> +</menu> diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-hdpi/ic_launcher.png b/bindings/Android/SWORD/app/src/main/res/mipmap-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..cde69bc --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/bindings/Android/SWORD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000..9a078e3 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-mdpi/ic_launcher.png b/bindings/Android/SWORD/app/src/main/res/mipmap-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..c133a0c --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/bindings/Android/SWORD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000..efc028a --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/bindings/Android/SWORD/app/src/main/res/mipmap-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..bfa42f0 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/bindings/Android/SWORD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000..3af2608 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/bindings/Android/SWORD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..324e72c --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/bindings/Android/SWORD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000..9bec2e6 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/bindings/Android/SWORD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..aee44e1 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/bindings/Android/SWORD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/bindings/Android/SWORD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 0000000..34947cd --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/bindings/Android/SWORD/app/src/main/res/values-w820dp/dimens.xml b/bindings/Android/SWORD/app/src/main/res/values-w820dp/dimens.xml new file mode 100644 index 0000000..63fc816 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/values-w820dp/dimens.xml @@ -0,0 +1,6 @@ +<resources> + <!-- Example customization of dimensions originally defined in res/values/dimens.xml + (such as screen margins) for screens with more than 820dp of available width. This + would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> + <dimen name="activity_horizontal_margin">64dp</dimen> +</resources> diff --git a/bindings/Android/SWORD/app/src/main/res/values/colors.xml b/bindings/Android/SWORD/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..3ab3e9c --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <color name="colorPrimary">#3F51B5</color> + <color name="colorPrimaryDark">#303F9F</color> + <color name="colorAccent">#FF4081</color> +</resources> diff --git a/bindings/Android/SWORD/app/src/main/res/values/dimens.xml b/bindings/Android/SWORD/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..d1c4b97 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/values/dimens.xml @@ -0,0 +1,10 @@ +<resources> + <dimen name="fab_margin">16dp</dimen> + <!-- Default screen margins, per the Android Design guidelines. --> + <dimen name="activity_horizontal_margin">16dp</dimen> + <dimen name="activity_vertical_margin">16dp</dimen> + + <!-- Per the design guidelines, navigation drawers should be between 240dp and 320dp: + https://developer.android.com/design/patterns/navigation-drawer.html --> + <dimen name="navigation_drawer_width">240dp</dimen> +</resources> diff --git a/bindings/Android/SWORD/app/src/main/res/values/strings.xml b/bindings/Android/SWORD/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..c92ade9 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/values/strings.xml @@ -0,0 +1,14 @@ +<resources> + <string name="app_name">SWORD</string> + <string name="action_settings">Settings</string> + <string name="title_activity_main">MainActivity</string> + + <string name="title_section1">Section 1</string> + <string name="title_section2">Section 2</string> + <string name="title_section3">Section 3</string> + + <string name="navigation_drawer_open">Open navigation drawer</string> + <string name="navigation_drawer_close">Close navigation drawer</string> + + <string name="action_example">Example action</string> +</resources> diff --git a/bindings/Android/SWORD/app/src/main/res/values/styles.xml b/bindings/Android/SWORD/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..3f48db4 --- /dev/null +++ b/bindings/Android/SWORD/app/src/main/res/values/styles.xml @@ -0,0 +1,17 @@ +<resources> + + <!-- Base application theme. --> + <style name="AppTheme" parent="Theme.AppCompat"> + <!-- Customize your theme here. --> + <item name="colorPrimary">@color/colorPrimary</item> + <item name="colorPrimaryDark">@color/colorPrimaryDark</item> + <item name="colorAccent">@color/colorAccent</item> + </style> + <style name="AppTheme.NoActionBar"> + <item name="windowActionBar">false</item> + <item name="windowNoTitle">true</item> + </style> + <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> + <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> + +</resources> diff --git a/bindings/Android/SWORD/app/src/test/java/org/crosswire/sword/ExampleUnitTest.java b/bindings/Android/SWORD/app/src/test/java/org/crosswire/sword/ExampleUnitTest.java new file mode 100644 index 0000000..5d70b42 --- /dev/null +++ b/bindings/Android/SWORD/app/src/test/java/org/crosswire/sword/ExampleUnitTest.java @@ -0,0 +1,17 @@ +package org.crosswire.sword; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +}
\ No newline at end of file diff --git a/bindings/Android/SWORD/build.gradle b/bindings/Android/SWORD/build.gradle new file mode 100644 index 0000000..c33a638 --- /dev/null +++ b/bindings/Android/SWORD/build.gradle @@ -0,0 +1,23 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.0.0' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/bindings/Android/SWORD/gradle.properties b/bindings/Android/SWORD/gradle.properties new file mode 100644 index 0000000..aac7c9b --- /dev/null +++ b/bindings/Android/SWORD/gradle.properties @@ -0,0 +1,17 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true diff --git a/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.jar b/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.jar Binary files differnew file mode 100644 index 0000000..13372ae --- /dev/null +++ b/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.jar diff --git a/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.properties b/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..cb0e548 --- /dev/null +++ b/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Oct 27 12:46:11 MST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip diff --git a/bindings/Android/SWORD/gradlew b/bindings/Android/SWORD/gradlew new file mode 100755 index 0000000..9d82f78 --- /dev/null +++ b/bindings/Android/SWORD/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/bindings/Android/SWORD/gradlew.bat b/bindings/Android/SWORD/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/bindings/Android/SWORD/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/bindings/Android/SWORD/settings.gradle b/bindings/Android/SWORD/settings.gradle new file mode 100644 index 0000000..e7b4def --- /dev/null +++ b/bindings/Android/SWORD/settings.gradle @@ -0,0 +1 @@ +include ':app' diff --git a/bindings/corba/omniorbcpp/Makefile b/bindings/corba/omniorbcpp/Makefile index 5385fb5..24e1220 100644 --- a/bindings/corba/omniorbcpp/Makefile +++ b/bindings/corba/omniorbcpp/Makefile @@ -19,6 +19,8 @@ LIBS += -L/usr/lib64 #CXXFLAGS += -g -O0 #CFLAGS += -g -O0 #LDFLAGS += -g -O0 +CXXFLAGS += -O3 +CFLAGS += -O3 #----------------------------------------------------------------------------- diff --git a/bindings/corba/omniorbcpp/swordorb-impl.cpp b/bindings/corba/omniorbcpp/swordorb-impl.cpp index 7f26c14..01cd169 100644 --- a/bindings/corba/omniorbcpp/swordorb-impl.cpp +++ b/bindings/corba/omniorbcpp/swordorb-impl.cpp @@ -2,7 +2,7 @@ * * swordorb-impl.cpp - omniorb bindings * - * $Id: swordorb-impl.cpp 3284 2014-12-03 06:13:54Z greg.hellings $ + * $Id: swordorb-impl.cpp 3256 2014-09-15 20:03:26Z scribe $ * * Copyright 2009-2013 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society @@ -243,7 +243,7 @@ swordorb::StringList* swordorb_SWModule_i::getKeyChildren(){ sword::VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key); if (vkey) { - retVal->length(8); + retVal->length(10); SWBuf num; num.appendFormatted("%d", vkey->getTestament()); (*retVal)[0] = CORBA::string_dup(num.c_str()); @@ -264,6 +264,8 @@ swordorb::StringList* swordorb_SWModule_i::getKeyChildren(){ (*retVal)[5] = CORBA::string_dup(num.c_str()); (*retVal)[6] = CORBA::string_dup(vkey->getBookName()); (*retVal)[7] = CORBA::string_dup(vkey->getOSISRef()); + (*retVal)[8] = CORBA::string_dup(vkey->getShortText()); + (*retVal)[9] = CORBA::string_dup(vkey->getBookAbbrev()); } else { TreeKeyIdx *tkey = SWDYNAMIC_CAST(TreeKeyIdx, key); diff --git a/bindings/corba/orbitcpp/webmgr.hpp b/bindings/corba/orbitcpp/webmgr.hpp index 048882c..05fa569 100644 --- a/bindings/corba/orbitcpp/webmgr.hpp +++ b/bindings/corba/orbitcpp/webmgr.hpp @@ -2,7 +2,7 @@ * * webmgr.cpp - * - * $Id: webmgr.hpp 2833 2013-06-29 06:40:28Z chrislit $ + * $Id: webmgr.hpp 3548 2017-12-10 05:11:38Z scribe $ * * Copyright 2005-2013 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society @@ -25,6 +25,7 @@ #include <swmgr.h> #include <swmodule.h> +#include <filemgr.h> #include <swfilter.h> #include <markupfiltmgr.h> #include <osiswordjs.h> @@ -41,9 +42,13 @@ class WebMgr : public SWMgr { SWModule *defaultHebLex; SWModule *defaultGreekParse; SWModule *defaultHebParse; + char *extraConf; public: - WebMgr(SWConfig *sysConf) : SWMgr(0, sysConf, false, new MarkupFilterMgr(FMT_WEBIF)) { + WebMgr(const char *path, const char *extraConfPath = 0) : SWMgr(path, false, new MarkupFilterMgr(FMT_WEBIF)) { init(); if (extraConfPath) stdstr(&extraConf, extraConfPath); } + WebMgr(SWConfig *sysConf) : SWMgr(0, sysConf, false, new MarkupFilterMgr(FMT_WEBIF)) { init(); } + void init() { + extraConf = 0; defaultGreekLex = 0; defaultHebLex = 0; defaultGreekParse = 0; @@ -52,7 +57,7 @@ public: osisWordJS = new OSISWordJS(); thmlWordJS = new ThMLWordJS(); gbfWordJS = new GBFWordJS(); - Load(); + load(); osisWordJS->setDefaultModules(defaultGreekLex, defaultHebLex, defaultGreekParse, defaultHebParse); thmlWordJS->setDefaultModules(defaultGreekLex, defaultHebLex, defaultGreekParse, defaultHebParse); gbfWordJS->setDefaultModules(defaultGreekLex, defaultHebLex, defaultGreekParse, defaultHebParse); @@ -66,10 +71,22 @@ public: delete osisWordJS; delete thmlWordJS; delete gbfWordJS; + delete extraConf; } + void createAllModules(bool multiMod) { - void AddGlobalOptions(SWModule *module, ConfigEntMap §ion, ConfigEntMap::iterator start, ConfigEntMap::iterator end) { + if (extraConf) { + bool exists = FileMgr::existsFile(extraConf); + if (exists) { + SWConfig addConfig(extraConf); + this->config->augment(addConfig); + } + } + SWMgr::createAllModules(multiMod); + } + + void addGlobalOptionFilters(SWModule *module, ConfigEntMap §ion) { // ThML word stuff needs to process before strongs strip if (module->getMarkup() == FMT_THML) { @@ -81,7 +98,7 @@ public: } // add other module filters - SWMgr::AddGlobalOptions(module, section, start, end); + SWMgr::addGlobalOptionFilters(module, section); // add our special filters if (module->getConfig().has("Feature", "GreekDef")) { diff --git a/bindings/cordova/Makefile b/bindings/cordova/Makefile new file mode 100644 index 0000000..209287a --- /dev/null +++ b/bindings/cordova/Makefile @@ -0,0 +1,10 @@ +all: + @echo + @echo "native binary component is built from ../Android/" + @echo + +clean: + # these are from ../Android + rm -rf org.crosswire.sword.cordova.SWORD/libs/android/* + rm org.crosswire.sword.cordova.SWORD/src/android/AndroidMgr.java org.crosswire.sword.cordova.SWORD/src/android/InstallMgr.java org.crosswire.sword.cordova.SWORD/src/android/SWMgr.java org.crosswire.sword.cordova.SWORD/src/android/SWModule.java + diff --git a/bindings/cordova/README b/bindings/cordova/README new file mode 100644 index 0000000..c59b5c3 --- /dev/null +++ b/bindings/cordova/README @@ -0,0 +1,5 @@ +This folder contains a cordova plugin which is based on the +../Android bindings which is based on the java-jni/ bindings. + +Follow the README in the ../java-jni/ bindings folder. + diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/LICENSE b/bindings/cordova/org.crosswire.sword.cordova.SWORD/LICENSE new file mode 100644 index 0000000..7a4a3ea --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License.
\ No newline at end of file diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/README.md b/bindings/cordova/org.crosswire.sword.cordova.SWORD/README.md new file mode 100644 index 0000000..5158f6f --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/README.md @@ -0,0 +1,22 @@ +<!--- + license: Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +# org.apache.cordova.device + +Plugin documentation: [doc/index.md](doc/index.md) diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/RELEASENOTES.md b/bindings/cordova/org.crosswire.sword.cordova.SWORD/RELEASENOTES.md new file mode 100644 index 0000000..a2f41dd --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/RELEASENOTES.md @@ -0,0 +1,57 @@ +<!-- +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +--> +# Release Notes + +### 0.2.1 (Sept 5, 2013) +* removed extraneous print statement +* [CB-4432] copyright notice change + +### 0.2.3 (Sept 25, 2013) +* CB-4889 bumping&resetting version +* [windows8] commandProxy has moved +* [BlackBerry10] removed uneeded permission tags in plugin.xml +* CB-4889 renaming org.apache.cordova.core.device to org.apache.cordova.device +* Rename CHANGELOG.md -> RELEASENOTES.md +* updated to use commandProxy for ffos +* add firefoxos support +* [CB-4752] Incremented plugin version on dev branch. + +### 0.2.4 (Oct 28, 2013) +* CB-5128: added repo + issue tag in plugin.xml for device plugin +* CB-5085 device.cordova returning wrong value +* [CB-4915] Incremented plugin version on dev branch. + +### 0.2.5 (Dec 4, 2013) +* CB-5316 Spell Cordova as a brand unless it's a command or script +* [ubuntu] use cordova/exec/proxy +* add ubuntu platform +* Modify Device.platform logic to use amazon-fireos as the platform for Amazon Devices +* 1. Added amazon-fireos platform. 2. Change to use cordova-amazon-fireos as the platform if user agent contains 'cordova-amazon-fireos' + +### 0.2.6 (Jan 02, 2014) +* CB-5658 Add doc/index.md for Device plugin +* CB-5504 Moving Telephony Logic out of Device + +### 0.2.7 (Jan 07, 2014) +* CB-5737 Fix exception on close caused by left over telephony code from CB-5504 + +### 0.2.8 (Feb 05, 2014) +* Tizen support added diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/doc/index.md b/bindings/cordova/org.crosswire.sword.cordova.SWORD/doc/index.md new file mode 100644 index 0000000..9e5c677 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/doc/index.md @@ -0,0 +1,213 @@ +<!--- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +# org.apache.cordova.device + +This plugin defines a global `device` object, which describes the device's hardware and software. +Although the object is in the global scope, it is not available until after the `deviceready` event. + + document.addEventListener("deviceready", onDeviceReady, false); + function onDeviceReady() { + console.log(device.cordova); + } + +## Installation + + cordova plugin add org.apache.cordova.device + +## Properties + +- device.cordova +- device.model +- device.name +- device.platform +- device.uuid +- device.version + +## device.cordova + +Get the version of Cordova running on the device. + +### Supported Platforms + +- Amazon Fire OS +- Android +- BlackBerry 10 +- Firefox OS +- iOS +- Tizen +- Windows Phone 7 and 8 +- Windows 8 + +## device.model + +The `device.model` returns the name of the device's model or +product. The value is set by the device manufacturer and may be +different across versions of the same product. + +### Supported Platforms + +- Android +- BlackBerry 10 +- iOS +- Tizen +- Windows Phone 7 and 8 +- Windows 8 + +### Quick Example + + // Android: Nexus One returns "Passion" (Nexus One code name) + // Motorola Droid returns "voles" + // BlackBerry: Torch 9800 returns "9800" + // iOS: for the iPad Mini, returns iPad2,5; iPhone 5 is iPhone 5,1. See http://theiphonewiki.com/wiki/index.php?title=Models + // + var model = device.model; + +### Android Quirks + +- Gets the [product name](http://developer.android.com/reference/android/os/Build.html#PRODUCT) instead of the [model name](http://developer.android.com/reference/android/os/Build.html#MODEL), which is often the production code name. For example, the Nexus One returns `Passion`, and Motorola Droid returns `voles`. + +### Tizen Quirks + +- Returns the device model assigned by the vendor, for example, `TIZEN` + +### Windows Phone 7 and 8 Quirks + +- Returns the device model specified by the manufacturer. For example, the Samsung Focus returns `SGH-i917`. + +## device.name + +__WARNING__: `device.name` is deprecated as of version 2.3.0. Use `device.model` instead. + +## device.platform + +Get the device's operating system name. + + var string = device.platform; + +### Supported Platforms + +- Android +- BlackBerry 10 +- Firefox OS +- iOS +- Tizen +- Windows Phone 7 and 8 +- Windows 8 + +### Quick Example + + // Depending on the device, a few examples are: + // - "Android" + // - "BlackBerry 10" + // - "iOS" + // - "WinCE" + // - "Tizen" + var devicePlatform = device.platform; + +### Windows Phone 7 Quirks + +Windows Phone 7 devices report the platform as `WinCE`. + +### Windows Phone 8 Quirks + +Windows Phone 8 devices report the platform as `Win32NT`. + +## device.uuid + +Get the device's Universally Unique Identifier ([UUID](http://en.wikipedia.org/wiki/Universally_Unique_Identifier)). + + var string = device.uuid; + +### Description + +The details of how a UUID is generated are determined by the device manufacturer and are specific to the device's platform or model. + +### Supported Platforms + +- Android +- BlackBerry 10 +- iOS +- Tizen +- Windows Phone 7 and 8 +- Windows 8 + +### Quick Example + + // Android: Returns a random 64-bit integer (as a string, again!) + // The integer is generated on the device's first boot + // + // BlackBerry: Returns the PIN number of the device + // This is a nine-digit unique integer (as a string, though!) + // + // iPhone: (Paraphrased from the UIDevice Class documentation) + // Returns a string of hash values created from multiple hardware identifies. + // It is guaranteed to be unique for every device and can't be tied + // to the user account. + // Windows Phone 7 : Returns a hash of device+current user, + // if the user is not defined, a guid is generated and will persist until the app is uninstalled + // Tizen: returns the device IMEI (International Mobile Equipment Identity or IMEI is a number + // unique to every GSM and UMTS mobile phone. + var deviceID = device.uuid; + +### iOS Quirk + +The `uuid` on iOS is not unique to a device, but varies for each +application, for each installation. It changes if you delete and +re-install the app, and possibly also when you upgrade iOS, or even +upgrade the app per version (apparent in iOS 5.1). The `uuid` is not +a reliable value. + +### Windows Phone 7 and 8 Quirks + +The `uuid` for Windows Phone 7 requires the permission +`ID_CAP_IDENTITY_DEVICE`. Microsoft will likely deprecate this +property soon. If the capability is not available, the application +generates a persistent guid that is maintained for the duration of the +application's installation on the device. + +## device.version + +Get the operating system version. + + var string = device.version; + +### Supported Platforms + +- Android 2.1+ +- BlackBerry 10 +- iOS +- Tizen +- Windows Phone 7 and 8 +- Windows 8 + +### Quick Example + + // Android: Froyo OS would return "2.2" + // Eclair OS would return "2.1", "2.0.1", or "2.0" + // Version can also return update level "2.1-update1" + // + // BlackBerry: Torch 9800 using OS 6.0 would return "6.0.0.600" + // + // iPhone: iOS 3.2 returns "3.2" + // + // Windows Phone 7: returns current OS version number, ex. on Mango returns 7.10.7720 + // Tizen: returns "TIZEN_20120425_2" + var deviceVersion = device.version; + diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/package.json b/bindings/cordova/org.crosswire.sword.cordova.SWORD/package.json new file mode 100644 index 0000000..3be0b9f --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/package.json @@ -0,0 +1,28 @@ +{ + "name": "SWORD", + "version": "0.0.1", + "description": "The SWORD Project Plugin", + "cordova": { + "id": "org.crosswire.sword.cordova.SWORD", + "platforms": [ + "android", + "amazon-fireos", + "ios" + ] + }, + "repository": { + "type": "git", + "url": "https://crosswire.org/svn/sword" + }, + "keywords": [ + "cordova", + "sword", + "Bible", + "ecosystem:cordova", + "cordova-android", + "cordova-ios", + "cordova-amazon-fireos" + ], + "author": "CrossWire Bible Society", + "license": "GNU 2.0" +} diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/plugin.xml b/bindings/cordova/org.crosswire.sword.cordova.SWORD/plugin.xml new file mode 100644 index 0000000..33d5c40 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/plugin.xml @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" + xmlns:rim="http://www.blackberry.com/ns/widgets" + xmlns:android="http://schemas.android.com/apk/res/android" + id="org.crosswire.sword.cordova.SWORD" + version="0.0.1"> + <name>SWORD</name> + <description>The SWORD Project Plugin</description> + <license>GNU 2.0</license> + <keywords>cordova,sword,Bible</keywords> + <repo>https://crosswire.org/svn/sword</repo> + <issue>http://crosswire.org/tracker</issue> + + <js-module src="www/SWORD.js" name="SWORD"> + <clobbers target="SWORD" /> + </js-module> + + <!-- firefoxos + <platform name="firefoxos"> + <config-file target="config.xml" parent="/*"> + <feature name="Device"> + <param name="firefoxos-package" value="Device" /> + </feature> + </config-file> + + <js-module src="src/firefoxos/DeviceProxy.js" name="DeviceProxy"> + <runs /> + </js-module> + </platform> + --> + <!-- tizen + <platform name="tizen"> + <js-module src="src/tizen/DeviceProxy.js" name="DeviceProxy"> + <runs /> + </js-module> + </platform> + --> + <!-- android --> + <platform name="android"> + <config-file target="res/xml/config.xml" parent="/*"> + <feature name="SWORD" > + <param name="android-package" value="org.crosswire.sword.cordova.SWORD"/> + </feature> + </config-file> + <config-file target="AndroidManifest.xml" parent="/manifest"> + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> + </config-file> + + <source-file src="src/android/SWORD.java" target-dir="src/org/crosswire/sword/cordova" /> + <source-file src="src/android/SWMgr.java" target-dir="src/org/crosswire/android/sword" /> + <source-file src="src/android/AndroidMgr.java" target-dir="src/org/crosswire/android/sword" /> + <source-file src="src/android/SWModule.java" target-dir="src/org/crosswire/android/sword" /> + <source-file src="src/android/InstallMgr.java" target-dir="src/org/crosswire/android/sword" /> + <source-file src="libs/android/armeabi/libsword.so" target-dir="libs/armeabi" /> + <source-file src="libs/android/arm64-v8a/libsword.so" target-dir="libs/arm64-v8a" /> + <source-file src="libs/android/x86/libsword.so" target-dir="libs/x86" /> + <source-file src="libs/android/mips64/libsword.so" target-dir="libs/mips64" /> + <source-file src="libs/android/mips/libsword.so" target-dir="libs/mips" /> + <source-file src="libs/android/armeabi-v7a/libsword.so" target-dir="libs/armeabi-v7a" /> + <source-file src="libs/android/x86_64/libsword.so" target-dir="libs/x86_64" /> + </platform> + + <!-- amazon-fireos --> + <platform name="amazon-fireos"> + <config-file target="res/xml/config.xml" parent="/*"> + <feature name="SWORD" > + <param name="android-package" value="org.crosswire.sword.cordova"/> + </feature> + </config-file> + + <source-file src="src/android/SWORD.java" target-dir="src/org/crosswire/sword/cordova" /> + <source-file src="src/android/SWMgr.java" target-dir="src/org/crosswire/android/sword" /> + <source-file src="src/android/AndroidMgr.java" target-dir="src/org/crosswire/android/sword" /> + <source-file src="src/android/SWModule.java" target-dir="src/org/crosswire/android/sword" /> + <source-file src="src/android/InstallMgr.java" target-dir="src/org/crosswire/android/sword" /> + <source-file src="libs/android/armeabi/libsword.so" target-dir="libs/armeabi" /> + <source-file src="libs/android/arm64-v8a/libsword.so" target-dir="libs/arm64-v8a" /> + <source-file src="libs/android/x86/libsword.so" target-dir="libs/x86" /> + <source-file src="libs/android/mips64/libsword.so" target-dir="libs/mips64" /> + <source-file src="libs/android/mips/libsword.so" target-dir="libs/mips" /> + <source-file src="libs/android/armeabi-v7a/libsword.so" target-dir="libs/armeabi-v7a" /> + <source-file src="libs/android/x86_64/libsword.so" target-dir="libs/x86_64" /> + </platform> + + <!-- ubuntu + <platform name="ubuntu"> + <header-file src="src/ubuntu/device.h" /> + <source-file src="src/ubuntu/device.cpp" /> + <js-module src="src/ubuntu/device.js" name="DeviceProxy"> + <merges target="device" /> + </js-module> + </platform> + --> + <!-- ios --> + <platform name="ios"> + <config-file target="config.xml" parent="/*"> + <feature name="SWORD"> + <param name="ios-package" value="SWORD" /> + </feature> + </config-file> + <header-file src="src/ios/flatapi.h" /> + <header-file src="src/ios/defs.h" /> + <header-file src="src/ios/SWORD-Bridging-Header.h" /> + <source-file src="src/ios/SWORD.swift" /> + <source-file src="libs/ios/libSWORD.a" framework="true" /> + <source-file src="libs/ios/libcurl.a" framework="true" /> + <framework src="libstdc++.dylib" /> + <framework src="libcurl.dylib" /> + + <dependency id="cordova-plugin-add-swift-support" /> + +<!-- <source-file src="lib/ios/libSWORD.a" framework="true" /> --> + </platform> + + <!-- blackberry10 + <platform name="blackberry10"> + <source-file src="src/blackberry10/index.js" target-dir="Device" /> + <config-file target="www/config.xml" parent="/widget"> + <feature name="Device" value="Device"/> + </config-file> + <config-file target="www/config.xml" parent="/widget/rim:permissions"> + <rim:permit>read_device_identifying_information</rim:permit> + </config-file> + </platform> + --> + <!-- wp7 + <platform name="wp7"> + <config-file target="config.xml" parent="/*"> + <feature name="Device"> + <param name="wp-package" value="Device"/> + </feature> + </config-file> + + <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities"> + <Capability Name="ID_CAP_IDENTITY_DEVICE" /> + </config-file> + + <source-file src="src/wp/Device.cs" /> + </platform> + --> + <!-- wp8 + <platform name="wp8"> + <config-file target="config.xml" parent="/*"> + <feature name="Device"> + <param name="wp-package" value="Device"/> + </feature> + </config-file> + + <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities"> + <Capability Name="ID_CAP_IDENTITY_DEVICE" /> + </config-file> + + <source-file src="src/wp/Device.cs" /> + </platform> + --> + <!-- windows8 + <platform name="windows8"> + <js-module src="src/windows8/DeviceProxy.js" name="DeviceProxy"> + <merges target="" /> + </js-module> + </platform> + --> +</plugin> diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/android/SWORD.java b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/android/SWORD.java new file mode 100644 index 0000000..88c4119 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/android/SWORD.java @@ -0,0 +1,660 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +*/ +package org.crosswire.sword.cordova; + +import java.util.TimeZone; +import java.util.Vector; +import java.util.Map; +import java.util.HashMap; + +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; + +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.PluginResult; +import org.apache.cordova.CordovaInterface; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import org.crosswire.android.sword.SWMgr; +import org.crosswire.android.sword.AndroidMgr; +import org.crosswire.android.sword.SWModule; +import org.crosswire.android.sword.InstallMgr; + +import android.provider.Settings; +import android.util.Log; +import android.content.Intent; +import android.app.Activity; + +public class SWORD extends CordovaPlugin { + public static final String TAG = "SWORD"; + public static SWMgr mgr = null; + public static InstallMgr installMgr = null; + private CallbackContext installReporterContext = null; + private CallbackContext searchReporterContext = null; + private CallbackContext renderChapterContext = null; + private CallbackContext sendContext = null; + + /** + * Constructor. + */ + public SWORD() { + } + + /** + * Sets the context of the Command. This can then be used to do things like + * get file paths associated with the Activity. + * + * @param cordova The context of the main Activity. + * @param webView The CordovaWebView Cordova is running in. + */ + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + super.initialize(cordova, webView); + mgr = new AndroidMgr(cordova.getActivity().getApplication()); + installMgr = new InstallMgr(); + installReporterContext = null; + searchReporterContext = null; + renderChapterContext = null; + } + + /** + * Executes the request and returns PluginResult. + * + * @param action The action to execute. + * @param args JSONArry of arguments for the plugin. + * @param callbackContext The callback id used when calling back into JavaScript. + * @return True if the action was valid, false if not. + */ + public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException { + if (action.equals("initSWORD")) { + JSONObject r = new JSONObject(); + r.put("version", mgr.version()); + callbackContext.success(r); + } + else if (action.equals("echo")) { + echo(callbackContext, args.getString(0)); + } + else if (action.equals("InstallMgr_setUserDisclaimerConfirmed")) { + installMgr.setUserDisclaimerConfirmed(); + callbackContext.success(); + } + else if (action.equals("InstallMgr_syncConfig")) { + cordova.getThreadPool().execute(new Runnable() { + @Override + public void run() { + installMgr.syncConfig(); + installMgr.reInit(); + callbackContext.success(); + } + }); + } + else if (action.equals("InstallMgr_getRemoteSources")) { + JSONArray r = new JSONArray(); + String sources[] = installMgr.getRemoteSources(); + for (String s : sources) { + r.put(s); + } + callbackContext.success(r); + } + else if (action.equals("InstallMgr_refreshRemoteSource")) { + final String repo = args.getString(0); + cordova.getThreadPool().execute(new Runnable() { + @Override + public void run() { + installMgr.refreshRemoteSource(repo); + callbackContext.success(); + } + }); + } + else if (action.equals("InstallMgr_getRemoteModInfoList")) { + JSONArray r = new JSONArray(); + for (SWMgr.ModInfo mi : installMgr.getRemoteModInfoList(args.getString(0))) { + JSONObject m = new JSONObject(); + m.put("name", mi.name); + m.put("description", mi.description); + m.put("category", mi.category); + m.put("language", mi.language); + m.put("version", mi.version); + m.put("delta", mi.delta); + r.put(m); + } + callbackContext.success(r); + } + else if (action.equals("InstallMgr_remoteInstallModule")) { + this.installReporterContext = callbackContext; + final String repo = args.getString(0); + final String modName = args.getString(1); + cordova.getThreadPool().execute(new Runnable() { + @Override + public void run() { + + installMgr.remoteInstallModule(repo, modName, new InstallMgr.InstallProgressReporter() { + public void update(long totalBytes, long completedBytes) { + /* + // callback({ status : preStatus|update|complete, totalBytes : n, completedBytes : n, message : displayable }); + */ + try { + + JSONObject m = new JSONObject(); + m.put("status", "update"); + m.put("totalBytes", totalBytes); + m.put("completedBytes", completedBytes); + if (installReporterContext != null) { + PluginResult result = new PluginResult(PluginResult.Status.OK, m); + result.setKeepCallback(true); + installReporterContext.sendPluginResult(result); + } + } + catch (Exception e) { e.printStackTrace(); } + } + public void preStatus(long totalBytes, long completedBytes, String message) { + try { + JSONObject m = new JSONObject(); + m.put("status", ("Complete".equals(message)) ? "complete" : "preStatus"); + m.put("totalBytes", totalBytes); + m.put("completedBytes", completedBytes); + m.put("message", message); + if (installReporterContext != null) { + PluginResult result = new PluginResult(PluginResult.Status.OK, m); + result.setKeepCallback(!"Complete".equals(message)); + installReporterContext.sendPluginResult(result); + } + if ("Complete".equals(message)) { + // let's be sure we see our new module + mgr.reInit(); + // and clear out context + installReporterContext = null; + } + } + catch (Exception e) { e.printStackTrace(); } + } + }); + + } + }); + + PluginResult result = new PluginResult(PluginResult.Status.OK); + result.setKeepCallback(true); + callbackContext.sendPluginResult(result); + } + else if (action.equals("InstallMgr_uninstallModule")) { + installMgr.uninstallModule(args.getString(0)); + callbackContext.success(); + } + else if (action.equals("SWMgr_getExtraConfigSections")) { + JSONArray r = new JSONArray(); + for (String s : mgr.getExtraConfigSections()) { + r.put(s); + } + callbackContext.success(r); + } + else if (action.equals("SWMgr_getExtraConfigKeys")) { + JSONArray r = new JSONArray(); + for (String s : mgr.getExtraConfigKeys(args.getString(0))) { + r.put(s); + } + callbackContext.success(r); + } + else if (action.equals("SWMgr_getExtraConfigValue")) { + callbackContext.success(mgr.getExtraConfigValue(args.getString(0), args.getString(1))); + } + else if (action.equals("SWMgr_setExtraConfigValue")) { + mgr.setExtraConfigValue(args.getString(0), args.getString(1), args.getString(2)); + callbackContext.success(); + } + else if (action.equals("SWMgr_addExtraConfig")) { + JSONArray r = new JSONArray(); + for (String s : mgr.addExtraConfig(args.getString(0))) { + r.put(s); + } + callbackContext.success(r); + } + else if (action.equals("SWMgr_getModInfoList")) { + JSONArray r = new JSONArray(); + for (SWMgr.ModInfo mi : mgr.getModInfoList()) { + JSONObject m = new JSONObject(); + m.put("name", mi.name); + m.put("description", mi.description); + m.put("category", mi.category); + m.put("language", mi.language); + m.put("version", mi.version); + m.put("delta", mi.delta); + r.put(m); + } + callbackContext.success(r); + } + else if (action.equals("SWMgr_getModuleByName")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + // didn't find module is not an error + if (mod == null) { callbackContext.success(); return true; } + + JSONObject m = new JSONObject(); + m.put("name", mod.getName()); + m.put("description", mod.getDescription()); + m.put("category", mod.getCategory()); + m.put("direction", mod.getConfigEntry("Direction")); + m.put("language", mod.getConfigEntry("Lang")); + m.put("font", mod.getConfigEntry("Font")); + m.put("shortCopyright", mod.getConfigEntry("ShortCopyright")); + m.put("shortPromo", mod.getConfigEntry("ShortPromo")); + callbackContext.success(m); + } + else if (action.equals("SWModule_setKeyText")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + mod.setKeyText(args.getString(1)); + callbackContext.success(); + } + else if (action.equals("SWModule_getKeyText")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + callbackContext.success(mod.getKeyText()); + } + else if (action.equals("SWModule_search")) { + this.searchReporterContext = callbackContext; + final SWModule mod = mgr.getModuleByName(args.getString(0)); + final String expression = args.getString(1); + final int searchType = args.getInt(2); + final long flags = args.getLong(3); + final String scope = JSONObject.NULL.equals(args.getString(4)) || "null".equals(args.getString(4)) ? null : args.getString(4); + cordova.getThreadPool().execute(new Runnable() { + @Override + public void run() { + + SWModule.SearchHit[] results = mod.search(expression, searchType, flags, scope, new SWModule.SearchProgressReporter() { + public void progressReport(int percent) { + try { + JSONObject m = new JSONObject(); + m.put("status", "update"); + m.put("percent", percent); + if (searchReporterContext != null) { + PluginResult result = new PluginResult(PluginResult.Status.OK, m); + result.setKeepCallback(true); + searchReporterContext.sendPluginResult(result); + } + } + catch (Exception e) { e.printStackTrace(); } + } + }); + try { + JSONObject m = new JSONObject(); + m.put("status", "complete"); + m.put("percent", 100); + JSONArray r = new JSONArray(); + for (SWModule.SearchHit s : results) { + JSONObject re = new JSONObject(); + re.put("key", s.key); + re.put("score", s.score); + r.put(re); + } + m.put("results", r); + if (searchReporterContext != null) { + PluginResult result = new PluginResult(PluginResult.Status.OK, m); + result.setKeepCallback(false); + searchReporterContext.sendPluginResult(result); + } + } + catch (Exception e) { e.printStackTrace(); } + searchReporterContext = null; + } + }); + + PluginResult result = new PluginResult(PluginResult.Status.OK); + result.setKeepCallback(true); + callbackContext.sendPluginResult(result); + } + else if (action.equals("SWModule_getRenderChapter")) { + this.renderChapterContext = callbackContext; + + final SWModule masterMod = mgr.getModuleByName(args.getString(0)); + final SWModule mod = mgr.getModuleByName(args.getString(1)); + if (masterMod == null) { callbackContext.error("couldn't find master module: " + args.getString(0)); return true; } + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(1)); return true; } + + cordova.getThreadPool().execute(new Runnable() { + @Override + public void run() { + + JSONArray r = new JSONArray(); + try { + r = getRenderChapter(masterMod, mod); + } catch (JSONException e) { e.printStackTrace(); } + PluginResult result = new PluginResult(PluginResult.Status.OK, r); + result.setKeepCallback(false); + if (renderChapterContext != null) { + renderChapterContext.sendPluginResult(result); + renderChapterContext = null; + } + } + }); + + PluginResult result = new PluginResult(PluginResult.Status.NO_RESULT); + result.setKeepCallback(true); + callbackContext.sendPluginResult(result); + } + else if (action.equals("SWMgr_registerBibleSyncListener")) { + final CallbackContext bibleSyncListener = callbackContext; + + cordova.getThreadPool().execute(new Runnable() { + @Override + public void run() { + mgr.registerBibleSyncListener(new SWMgr.BibleSyncListener() { + public void messageReceived(String message) { + PluginResult result = new PluginResult(PluginResult.Status.OK, message); + result.setKeepCallback(true); + bibleSyncListener.sendPluginResult(result); + } + }); + } + }); + + PluginResult result = new PluginResult(PluginResult.Status.NO_RESULT); + result.setKeepCallback(true); + callbackContext.sendPluginResult(result); + } + else if (action.equals("SWMgr_setJavascript")) { + boolean val = args.getBoolean(0); + mgr.setJavascript(val); + callbackContext.success(); + } + else if (action.equals("SWMgr_sendBibleSyncMessage")) { + String osisRef = args.getString(0); + mgr.sendBibleSyncMessage(osisRef); + callbackContext.success(); + } + else if (action.equals("SWModule_getRenderText")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + callbackContext.success(mod.getRenderText()); + } + else if (action.equals("SWModule_sendText")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + this.sendContext = callbackContext; + sendVerse(mod, new String[] { mod.getKeyText() }, cordova, this); + PluginResult result = new PluginResult(PluginResult.Status.NO_RESULT); + result.setKeepCallback(true); + callbackContext.sendPluginResult(result); + } + else if (action.equals("SWModule_getRenderHeader")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + callbackContext.success(mod.getRenderHeader()); + } + else if (action.equals("SWModule_getKeyChildren")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + JSONArray r = new JSONArray(); + for (String k : mod.getKeyChildren()) { + r.put(k); + } + callbackContext.success(r); + } + else if (action.equals("SWModule_getConfigEntry")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + callbackContext.success(mod.getConfigEntry(args.getString(1))); + } + else if (action.equals("SWModule_getEntryAttribute")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + JSONArray r = new JSONArray(); + for (String k : mod.getEntryAttribute(args.getString(1), args.getString(2), args.getString(3), args.getBoolean(4))) { + r.put(k); + } + callbackContext.success(r); + } + else if (action.equals("SWModule_popError")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + callbackContext.success((int)mod.error()); + } + else if (action.equals("SWModule_next")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + mod.next(); + callbackContext.success(); + } + else if (action.equals("SWModule_previous")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + mod.previous(); + callbackContext.success(); + } + else if (action.equals("SWModule_begin")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + mod.begin(); + callbackContext.success(); + } + else if (action.equals("SWModule_getVerseKey")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + callbackContext.success(getVerseKey(mod.getKeyChildren())); + } + else if (action.equals("SWModule_getBookNames")) { + SWModule mod = mgr.getModuleByName(args.getString(0)); + if (mod == null) { callbackContext.error("couldn't find module: " + args.getString(0)); return true; } + JSONArray r = new JSONArray(); + for (String b : getBookNames(mod)) { + r.put(b); + } + callbackContext.success(r); + } + else if (action.equals("HTTPUtils_makeRequest")) { + final CallbackContext makeRequestContext = callbackContext; + + final String url = args.getString(0); + final String postData = args.getString(1); + final int method = args.getInt(2); +Log.d(TAG, "makeRequest(url: " + url + ", postData: " + postData + ", method: " + method); + + cordova.getThreadPool().execute(new Runnable() { + @Override + public void run() { + String response = makeRequest(url, postData, method, null); + PluginResult result = new PluginResult(PluginResult.Status.OK, response); + result.setKeepCallback(false); + makeRequestContext.sendPluginResult(result); + } + }); + + PluginResult result = new PluginResult(PluginResult.Status.NO_RESULT); + result.setKeepCallback(true); + callbackContext.sendPluginResult(result); + } + else return false; + + return true; + } + + JSONObject getVerseKey(String keyChildren[]) throws JSONException { + JSONObject retVal = new JSONObject(); + if (keyChildren != null && keyChildren.length > 9) { + retVal.put("testament", Integer.parseInt(keyChildren[SWModule.VERSEKEY_TESTAMENT])); + retVal.put("book", Integer.parseInt(keyChildren[SWModule.VERSEKEY_BOOK])); + retVal.put("chapter", Integer.parseInt(keyChildren[SWModule.VERSEKEY_CHAPTER])); + retVal.put("verse", Integer.parseInt(keyChildren[SWModule.VERSEKEY_VERSE])); + retVal.put("chapterMax", Integer.parseInt(keyChildren[SWModule.VERSEKEY_CHAPTERMAX])); + retVal.put("verseMax", Integer.parseInt(keyChildren[SWModule.VERSEKEY_VERSEMAX])); + retVal.put("bookName", keyChildren[SWModule.VERSEKEY_BOOKNAME]); + retVal.put("osisRef", keyChildren[SWModule.VERSEKEY_OSISREF]); + retVal.put("shortText", keyChildren[SWModule.VERSEKEY_SHORTTEXT]); + retVal.put("bookAbbrev", keyChildren[SWModule.VERSEKEY_BOOKABBREV]); + } + return retVal; + } + + public JSONArray getRenderChapter(SWModule masterMod, SWModule mod) throws JSONException { + JSONArray r = new JSONArray(); + + // save our current keys so we can set our mods back when we're done + String saveMasterKey = masterMod.getKeyText(); + String saveKey = mod.getKeyText(); + + String currentKey[] = masterMod.getKeyChildren(); + + masterMod.setKeyText(currentKey[SWModule.VERSEKEY_BOOKABBREV]+"."+currentKey[SWModule.VERSEKEY_CHAPTER]+".1"); + + String [] verseKey = masterMod.getKeyChildren(); + while ( + masterMod.error() == 0 + && currentKey[SWModule.VERSEKEY_BOOK].equals(verseKey[SWModule.VERSEKEY_BOOK]) + && currentKey[SWModule.VERSEKEY_CHAPTER].equals(verseKey[SWModule.VERSEKEY_CHAPTER])) { + + mod.setKeyText(verseKey[SWModule.VERSEKEY_OSISREF]); + char error = mod.error(); + JSONObject v = new JSONObject(); + if (((int)error) == 0) { + v.put("verse", getVerseKey(mod.getKeyChildren())); + String preVerse = ""; + for (String h : mod.getEntryAttribute("Heading", "Preverse", "", true)) { + preVerse += h; + } + v.put("preVerse", preVerse); + v.put("text", mod.getRenderText()); + } + else { +/* null removes entry + v.put("verse", null); + v.put("preVerse", null); + v.put("text", null); +*/ + } + r.put(v); + masterMod.next(); + verseKey = masterMod.getKeyChildren(); + } + + masterMod.setKeyText(saveMasterKey); + mod.setKeyText(saveKey); + + return r; + } + + + public Vector<String> getBookNames(SWModule mod) { + Vector<String> books = new Vector<String>(); + for (mod.begin(); mod.error() == 0; mod.setKeyText("+book")) { + books.add(mod.getKeyChildren()[9]); + } + return books; + } + + //-------------------------------------------------------------------------- + // LOCAL METHODS + //-------------------------------------------------------------------------- + + public void echo(CallbackContext callbackContext, String message) { + if (message != null && message.length() > 0) { + callbackContext.success(message); + } + else { + callbackContext.error("expected 1 arg"); + } + } + + public static final int METHOD_GET = 0; + public static final int METHOD_POST = 1; + public static final String METHODS_TEXT[] = { "GET", "POST" }; + + public static String makeRequest(String url, String postData, int method, Map<String, String> headers) { + HttpURLConnection connection = null; + + Map<String, String> defaultHeaders = new HashMap<String, String>(); + defaultHeaders.put("Accept", "*/*"); +// defaultHeaders.put("Content-Type", "application/xml"); + defaultHeaders.put("Content-Type", "application/x-www-form-urlencoded"); + if (method != METHOD_GET && postData != null) defaultHeaders.put("Content-Length", Integer.toString(postData.length())); + + try { + if (headers != null) defaultHeaders.putAll(headers); + + if (method == METHOD_GET && postData != null && postData.length() > 0) { + // some sanity checks for appending GET params to URL + if (url.indexOf("?") < 0) if (!postData.startsWith("?")) url += "?"; + else if (!url.endsWith("&") && !postData.startsWith("&")) url += "&"; + + url += postData; + } + + connection = (HttpURLConnection) new URL(url).openConnection(); + connection.setRequestMethod(METHODS_TEXT[method]); + for (String k : defaultHeaders.keySet()) { + connection.setRequestProperty(k, defaultHeaders.get(k)); + } + if (method == METHOD_POST) { + connection.setDoOutput(true); + if (postData != null) { + DataOutputStream dos = new DataOutputStream(connection.getOutputStream()); + dos.writeBytes(postData); + dos.flush(); + dos.close(); + } + } + int responseCode = connection.getResponseCode(); + BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream())); + StringBuilder response = new StringBuilder(); + String line; + while ((line = br.readLine()) != null) { + response.append(line); + } + /* do something special if success code? + if (responseCode >= 200 && responseCode < 300) { + } + else throw new Exception("HTTP Response: " + responseCode); + */ + return response.toString(); + } + catch (Exception e) { e.printStackTrace(); } + return null; + } + public static void sendVerse(final SWModule mod, final String verse[], final CordovaInterface cordova, final CordovaPlugin plugin) { + cordova.getThreadPool().execute(new Runnable() { + public void run() { + String subject = mod.getKeyChildren()[SWModule.VERSEKEY_SHORTTEXT] + " (" + mod.getName() + ")"; + String message = mod.getStripText() + " --" +subject; + final Intent sendIntent = new Intent(Intent.ACTION_SEND); + sendIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); + + sendIntent.setType("text/plain"); + + sendIntent.putExtra(Intent.EXTRA_SUBJECT, subject); + sendIntent.putExtra(android.content.Intent.EXTRA_TEXT, message); + + cordova.startActivityForResult(plugin, Intent.createChooser(sendIntent, null), 1); + } + }); + } + + public void onActivityResult(int requestCode, int resultCode, Intent intent) { + switch (requestCode) { + case 1: + sendContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, resultCode == Activity.RESULT_OK)); + } + super.onActivityResult(requestCode, resultCode, intent); + } + +} diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/blackberry10/index.js b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/blackberry10/index.js new file mode 100644 index 0000000..639ac64 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/blackberry10/index.js @@ -0,0 +1,69 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +function getModelName () { + var modelName = window.qnx.webplatform.device.modelName; + //Pre 10.2 (meaning Z10 or Q10) + if (typeof modelName === "undefined") { + if (window.screen.height === 720 && window.screen.width === 720) { + if ( window.matchMedia("(-blackberry-display-technology: -blackberry-display-oled)").matches) { + modelName = "Q10"; + } else { + modelName = "Q5"; + } + } else if ((window.screen.height === 1280 && window.screen.width === 768) || + (window.screen.height === 768 && window.screen.width === 1280)) { + modelName = "Z10"; + } else { + modelName = window.qnx.webplatform.deviceName; + } + } + + return modelName; +} + +function getUUID () { + var uuid = ""; + try { + //Must surround by try catch because this will throw if the app is missing permissions + uuid = window.qnx.webplatform.device.devicePin; + } catch (e) { + //DO Nothing + } + return uuid; +} + +module.exports = { + getDeviceInfo: function (success, fail, args, env) { + var result = new PluginResult(args, env), + modelName = getModelName(), + uuid = getUUID(), + info = { + platform: "blackberry10", + version: window.qnx.webplatform.device.scmBundle, + model: modelName, + uuid: uuid, + cordova: "dev" + }; + + result.ok(info); + } +}; diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/firefoxos/DeviceProxy.js b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/firefoxos/DeviceProxy.js new file mode 100644 index 0000000..f37e761 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/firefoxos/DeviceProxy.js @@ -0,0 +1,39 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var firefoxos = require('cordova/platform'); +var cordova = require('cordova'); + +module.exports = { + getDeviceInfo: function(success, error) { + setTimeout(function () { + success({ + cordova: firefoxos.cordovaVersion, + platform: 'firefoxos', + model: null, + version: null, + uuid: null + }); + }, 0); + } +}; + +require("cordova/firefoxos/commandProxy").add("Device", module.exports); diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/CDVDevice.h b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/CDVDevice.h new file mode 100644 index 0000000..a146d88 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/CDVDevice.h @@ -0,0 +1,30 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ + +#import <UIKit/UIKit.h> +#import <Cordova/CDVPlugin.h> + +@interface CDVDevice : CDVPlugin +{} + ++ (NSString*)cordovaVersion; + +- (void)getDeviceInfo:(CDVInvokedUrlCommand*)command; + +@end diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/CDVDevice.m b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/CDVDevice.m new file mode 100644 index 0000000..7e18d92 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/CDVDevice.m @@ -0,0 +1,90 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ + +#include <sys/types.h> +#include <sys/sysctl.h> + +#import <Cordova/CDV.h> +#import "CDVDevice.h" + +@implementation UIDevice (ModelVersion) + +- (NSString*)modelVersion +{ + size_t size; + + sysctlbyname("hw.machine", NULL, &size, NULL, 0); + char* machine = malloc(size); + sysctlbyname("hw.machine", machine, &size, NULL, 0); + NSString* platform = [NSString stringWithUTF8String:machine]; + free(machine); + + return platform; +} + +@end + +@interface CDVDevice () {} +@end + +@implementation CDVDevice + +- (void)getDeviceInfo:(CDVInvokedUrlCommand*)command +{ + NSDictionary* deviceProperties = [self deviceProperties]; + CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:deviceProperties]; + + /* Settings.plist + * Read the optional Settings.plist file and push these user-defined settings down into the web application. + * This can be useful for supplying build-time configuration variables down to the app to change its behavior, + * such as specifying Full / Lite version, or localization (English vs German, for instance). + */ + // TODO: turn this into an iOS only plugin + NSDictionary* temp = [CDVViewController getBundlePlist:@"Settings"]; + + if ([temp respondsToSelector:@selector(JSONString)]) { + NSLog(@"Deprecation warning: window.Setting will be removed Aug 2013. Refer to https://issues.apache.org/jira/browse/CB-2433"); + NSString* js = [NSString stringWithFormat:@"window.Settings = %@;", [temp JSONString]]; + [self.commandDelegate evalJs:js]; + } + + [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; +} + +- (NSDictionary*)deviceProperties +{ + UIDevice* device = [UIDevice currentDevice]; + NSMutableDictionary* devProps = [NSMutableDictionary dictionaryWithCapacity:4]; + + [devProps setObject:[device modelVersion] forKey:@"model"]; + [devProps setObject:@"iOS" forKey:@"platform"]; + [devProps setObject:[device systemVersion] forKey:@"version"]; + [devProps setObject:[device uniqueAppInstanceIdentifier] forKey:@"uuid"]; + [devProps setObject:[[self class] cordovaVersion] forKey:@"cordova"]; + + NSDictionary* devReturn = [NSDictionary dictionaryWithDictionary:devProps]; + return devReturn; +} + ++ (NSString*)cordovaVersion +{ + return CDV_VERSION; +} + +@end diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/SWORD-Bridging-Header.h b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/SWORD-Bridging-Header.h new file mode 100644 index 0000000..234ef73 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/SWORD-Bridging-Header.h @@ -0,0 +1 @@ +#import "flatapi.h" diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/SWORD.swift b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/SWORD.swift new file mode 100644 index 0000000..1650725 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ios/SWORD.swift @@ -0,0 +1,805 @@ +import MessageUI + +var mySWORDPlugin:SWORD? = nil + +@objc(SWORD) class SWORD : CDVPlugin, MFMessageComposeViewControllerDelegate { + var mgr = 0; + var installMgr = 0 + var disclaimerConfirmed = false; + + @objc(initSWORD:) + func initSWORD(command: CDVInvokedUrlCommand) { + mgr = 0 + installMgr = 0 + disclaimerConfirmed = false + mySWORDPlugin = nil + VERSEKEY_BOOKABBREV = Int(org_crosswire_sword_SWModule_VERSEKEY_BOOKABBREV); + VERSEKEY_BOOK = Int(org_crosswire_sword_SWModule_VERSEKEY_BOOK); + VERSEKEY_CHAPTER = Int(org_crosswire_sword_SWModule_VERSEKEY_CHAPTER); + VERSEKEY_VERSE = Int(org_crosswire_sword_SWModule_VERSEKEY_VERSE); + VERSEKEY_TESTAMENT = Int(org_crosswire_sword_SWModule_VERSEKEY_TESTAMENT); + VERSEKEY_OSISREF = Int(org_crosswire_sword_SWModule_VERSEKEY_OSISREF); + VERSEKEY_CHAPMAX = Int(org_crosswire_sword_SWModule_VERSEKEY_CHAPMAX); + VERSEKEY_VERSEMAX = Int(org_crosswire_sword_SWModule_VERSEKEY_VERSEMAX); + VERSEKEY_BOOKNAME = Int(org_crosswire_sword_SWModule_VERSEKEY_BOOKNAME); + VERSEKEY_SHORTTEXT = Int(org_crosswire_sword_SWModule_VERSEKEY_SHORTTEXT); + + initMgr() + + let libswordVersion = String(cString: org_crosswire_sword_SWMgr_version(mgr)) + debugPrint("libswordVersion: " + libswordVersion) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "initSWORD; Version: " + libswordVersion), callbackId: command.callbackId) + } + + + func myToast(message: String) { + let toastController: UIAlertController = UIAlertController(title: "", message: message, preferredStyle: .alert) + self.viewController?.present(toastController, animated: true, completion: nil) + DispatchQueue.main.asyncAfter(deadline: .now() + 5) { + toastController.dismiss(animated: true, completion: nil) + } + } + + + func initMgr() { + if (mgr == 0) { + let baseDir = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path)! + "/sword"; + mgr = org_crosswire_sword_SWMgr_newWithPath(baseDir) +debugPrint("initMgr, mgr: " + String(describing: mgr)) + } + } + + + func reinitMgr() { + if (mgr != 0) { + org_crosswire_sword_SWMgr_delete(mgr) + } + mgr = 0 + initMgr() + } + + + func reinitInstall() { + if (installMgr != 0) { + org_crosswire_sword_InstallMgr_delete(installMgr) + } + installMgr = 0 + initInstall() + } + + func logError(message: String) { + org_crosswire_sword_SWlog_logError(message) + } + func logDebug(message: String) { + org_crosswire_sword_SWlog_logDebug(message) + } + func logWarning(message: String) { + org_crosswire_sword_SWlog_logWarning(message) + } + func logInformation(message: String) { + org_crosswire_sword_SWlog_logInformation(message) + } + func logTimedInformation(message: String) { + org_crosswire_sword_SWlog_logTimedInformation(message) + } + + + func initInstall() { + + if (installMgr == 0) { + logDebug(message: "initInstall: installMgr is null"); + let baseDir = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path)! + "/sword"; + installMgr = org_crosswire_sword_InstallMgr_new(baseDir, { (message: Optional<UnsafePointer<Int8>>, totalBytes: u_long, completedBytes: u_long) in + let msg = String(cString: message!) + if (msg == "update") { + let response = [ + "status": "update", + "totalBytes": totalBytes, + "completedBytes": completedBytes + ] as [String : Any] + if (mySWORDPlugin != nil && mySWORDPlugin!.callbackID != "") { + let result = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: response) + result?.setKeepCallbackAs(true) + mySWORDPlugin!.commandDelegate!.send(result, callbackId: mySWORDPlugin!.callbackID) + } + } + else { + let response = [ + "status": "preStatus", + "totalBytes": totalBytes, + "completedBytes": completedBytes, + "message": msg + ] as [String : Any] + if (mySWORDPlugin != nil && mySWORDPlugin!.callbackID != "") { + let result = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: response) + result?.setKeepCallbackAs(true) + mySWORDPlugin!.commandDelegate!.send(result, callbackId: mySWORDPlugin!.callbackID) + } + } + }) + if (disclaimerConfirmed) { + org_crosswire_sword_InstallMgr_setUserDisclaimerConfirmed(installMgr) + } + logDebug(message: "initInstall: instantiated InstallMgr with baseDir: \(baseDir)"); + } + } + + @objc(SWMgr_getModuleByName:) + func SWMgr_getModuleByName(command: CDVInvokedUrlCommand) { + + initMgr(); + + let modName = command.arguments[0] as? String ?? "" + let module = org_crosswire_sword_SWMgr_getModuleByName(mgr, modName) + + if (module == 0) { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK), callbackId: command.callbackId) + return + } + + let name = org_crosswire_sword_SWModule_getName(module) + let description = org_crosswire_sword_SWModule_getDescription(module) + let category = org_crosswire_sword_SWModule_getCategory(module) + let language = org_crosswire_sword_SWModule_getConfigEntry(module, "Lang") + let direction = org_crosswire_sword_SWModule_getConfigEntry(module, "Direction") + let font = org_crosswire_sword_SWModule_getConfigEntry(module, "Font") + let shortCopyright = org_crosswire_sword_SWModule_getConfigEntry(module, "ShortCopyright") + let shortPromo = org_crosswire_sword_SWModule_getConfigEntry(module, "ShortPromo") + + let response = [ + "name": name == nil ? "" : String(cString: name!), + "description": description == nil ? "" : String(cString: description!), + "category": category == nil ? "" : String(cString: category!), + "language": language == nil ? "" : String(cString: language!), + "direction": direction == nil ? "" : String(cString: direction!), + "font": font == nil ? "" : String(cString: font!), + "shortCopyright": shortCopyright == nil ? "" : String(cString: shortCopyright!), + "shortPromo": shortPromo == nil ? "" : String(cString: shortPromo!) + ] + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: response), callbackId: command.callbackId) + } + + + + @objc(SWMgr_addExtraConfig:) + func SWMgr_addExtraConfig(command: CDVInvokedUrlCommand) { + let blob = command.arguments[0] as? String ?? "" + let baseDir = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path)! + "/sword"; + let confPath = baseDir + "/extraConfig.conf"; + let retVal = getStringArray(buffer: org_crosswire_sword_SWConfig_augmentConfig(confPath, blob)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + + + @objc(SWMgr_setExtraConfigValue:) + func SWMgr_setExtraConfigValue(command: CDVInvokedUrlCommand) { + let section = command.arguments[0] as? String ?? "" + let key = command.arguments[1] as? String ?? "" + let val = command.arguments[2] as? String ?? "" + let baseDir = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path)! + "/sword"; + let confPath = baseDir + "/extraConfig.conf"; + org_crosswire_sword_SWConfig_setKeyValue(confPath, section, key, val) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "SWMgr_setExtraConfigValue"), callbackId: command.callbackId) + } + + + @objc(SWMgr_getExtraConfigValue:) + func SWMgr_getExtraConfigValue(command: CDVInvokedUrlCommand) { + let section = command.arguments[0] as? String ?? "" + let key = command.arguments[1] as? String ?? "" + let baseDir = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path)! + "/sword"; + let confPath = baseDir + "/extraConfig.conf"; + let retVal = String(cString:org_crosswire_sword_SWConfig_getKeyValue(confPath, section, key)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + + + @objc(SWMgr_getExtraConfigKeys:) + func SWMgr_getExtraConfigKeys(command: CDVInvokedUrlCommand) { + let section = command.arguments[0] as? String ?? "" + let baseDir = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path)! + "/sword"; + let confPath = baseDir + "/extraConfig.conf"; + let retVal = getStringArray(buffer: org_crosswire_sword_SWConfig_getSectionKeys(confPath, section)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + + + @objc(SWMgr_getExtraConfigSections:) + func SWMgr_getExtraConfigSections(command: CDVInvokedUrlCommand) { + let baseDir = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path)! + "/sword"; + let confPath = baseDir + "/extraConfig.conf"; + let retVal = getStringArray(buffer: org_crosswire_sword_SWConfig_getSections(confPath)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + + + @objc(echo:) + func echo(command: CDVInvokedUrlCommand) { + let msg = command.arguments[0] as? String ?? "" + myToast(message: msg) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: msg), callbackId: command.callbackId) + } + + + @objc(HTTPUtils_makeRequest:) + func HTTPUtils_makeRequest(command: CDVInvokedUrlCommand) { + var url = command.arguments[0] as? String ?? "" + let postData = command.arguments[1] as? String ?? "" + let method = command.arguments[2] as? Int ?? 1 + + if method == 1 { + url += "?" + postData + } + var request = URLRequest(url: URL(string: url)!) + request.httpMethod = method == 1 ? "GET" : "POST" + if method == 2 { + request.httpBody = postData.data(using: .utf8) + } + let session = URLSession.shared + session.dataTask(with: request) {data, response, err in + let pluginResult = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: String(data: data!, encoding: String.Encoding.utf8)) + pluginResult?.setKeepCallbackAs(false) + self.commandDelegate!.send(pluginResult, callbackId: command.callbackId) + }.resume() + + let pluginResult = CDVPluginResult(status: CDVCommandStatus_NO_RESULT) + pluginResult?.setKeepCallbackAs(true) + self.commandDelegate!.send(pluginResult, callbackId: command.callbackId) + } + + + @objc(SWModule_getBookNames:) + func SWModule_getBookNames(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + var retVal = [String]() + org_crosswire_sword_SWModule_begin(mod) + while (org_crosswire_sword_SWModule_popError(mod) == 0) { + retVal.append(getStringArray(buffer: org_crosswire_sword_SWModule_getKeyChildren(mod))[VERSEKEY_BOOKABBREV]) + org_crosswire_sword_SWModule_setKeyText(mod, "+book") + } + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + + + @objc(SWModule_getVerseKey:) + func SWModule_getVerseKey(command: CDVInvokedUrlCommand) { + initMgr() + let module = getModule(command: command) + if (module != 0) { + let retVal = getVerseKey(keyChildren: getStringArray(buffer: org_crosswire_sword_SWModule_getKeyChildren(module))) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + @objc(SWModule_begin:) + func SWModule_begin(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + org_crosswire_sword_SWModule_begin(mod) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "SWModule_begin"), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + @objc(SWModule_previous:) + func SWModule_previous(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + org_crosswire_sword_SWModule_previous(mod) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "SWModule_previous"), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + @objc(SWModule_next:) + func SWModule_next(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + org_crosswire_sword_SWModule_next(mod) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "SWModule_next"), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + @objc(SWModule_popError:) + func SWModule_popError(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + let error = Int(org_crosswire_sword_SWModule_popError(mod)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: error), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + @objc(SWModule_getEntryAttribute:) + func SWModule_getEntryAttribute(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + let retVal = getStringArray(buffer: org_crosswire_sword_SWModule_getEntryAttribute(mod, command.arguments[1] as? String ?? "", command.arguments[2] as? String ?? "", command.arguments[3] as? String ?? "", (command.arguments[4] as? Bool ?? false) ? 1 : 0)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + @objc(SWModule_getConfigEntry:) + func SWModule_getConfigEntry(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + let val = org_crosswire_sword_SWModule_getConfigEntry(mod, command.arguments[1] as? String ?? "") + let retVal = val == nil ? nil : String(cString: val!) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + @objc(SWModule_getKeyChildren:) + func SWModule_getKeyChildren(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + let retVal = getStringArray(buffer: org_crosswire_sword_SWModule_getKeyChildren(mod)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + @objc(SWModule_getRenderHeader:) + func SWModule_getRenderHeader(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + let header = String(cString: org_crosswire_sword_SWModule_getRenderHeader(mod)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: header), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) { + self.webView.inputViewController?.dismiss(animated: true, completion: { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK), callbackId: self.callbackID) + }) + } + + func sendVerse(module: Int, keyText: String) { + if MFMessageComposeViewController.canSendText() { + let controller = MFMessageComposeViewController() + let verseKey = getStringArray(buffer: org_crosswire_sword_SWModule_getKeyChildren(module)) + let modName = String(cString: org_crosswire_sword_SWModule_getName(module)) + let verseText = String(cString: org_crosswire_sword_SWModule_stripText(module)) + + + controller.body = verseText + " --" + verseKey[VERSEKEY_SHORTTEXT] + " (" + modName + ")" + controller.recipients = [""] + controller.messageComposeDelegate = self + self.webView.inputViewController?.present(controller, animated: true, completion: nil) + } + } + @objc(SWModule_sendText:) + func SWModule_sendText(command: CDVInvokedUrlCommand) { + initMgr() +// Switch this to use cordova social plugin + let mod = getModule(command: command) + if (mod != 0) { + mySWORDPlugin = self + callbackID = command.callbackId + let keyText = String(cString: org_crosswire_sword_SWModule_getKeyText(mod)) + sendVerse(module: mod, keyText: keyText) + let result = CDVPluginResult(status: CDVCommandStatus_NO_RESULT) + result?.setKeepCallbackAs(true) + self.commandDelegate!.send(result, callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + @objc(SWModule_getRenderText:) + func SWModule_getRenderText(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + let retVal = String(cString: org_crosswire_sword_SWModule_renderText(mod)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + @objc(SWMgr_registerBibleSyncListener:) + func SWMgr_registerBibleSyncListener(command: CDVInvokedUrlCommand) { + let pluginResult = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "SWMgr_registerBibleSyncListener") + self.commandDelegate!.send(pluginResult, callbackId: command.callbackId) + } + + + @objc(SWModule_getRenderChapter:) + func SWModule_getRenderChapter(command: CDVInvokedUrlCommand) { + initMgr() + +// DispatchQueue.global().async { + self.initMgr() + let masterMod = self.getModule(command: command, nameArgNumber: 0) + let mod = self.getModule(command: command, nameArgNumber: 1) + if (masterMod != 0 && mod != 0) { + let r = self.renderChapter(masterMod: masterMod, mod: mod) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: r), callbackId: command.callbackId) + } +// } +/* + var pluginResult = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "SWModule_getRenderChapter") + pluginResult?.setKeepCallbackAs(true) + self.commandDelegate!.send(pluginResult, callbackId: command.callbackId) +*/ + } + + var VERSEKEY_BOOK = Int(org_crosswire_sword_SWModule_VERSEKEY_BOOK); + var VERSEKEY_CHAPTER = Int(org_crosswire_sword_SWModule_VERSEKEY_CHAPTER); + var VERSEKEY_VERSE = Int(org_crosswire_sword_SWModule_VERSEKEY_VERSE); + var VERSEKEY_TESTAMENT = Int(org_crosswire_sword_SWModule_VERSEKEY_TESTAMENT); + var VERSEKEY_OSISREF = Int(org_crosswire_sword_SWModule_VERSEKEY_OSISREF); + var VERSEKEY_CHAPMAX = Int(org_crosswire_sword_SWModule_VERSEKEY_CHAPMAX); + var VERSEKEY_VERSEMAX = Int(org_crosswire_sword_SWModule_VERSEKEY_VERSEMAX); + var VERSEKEY_BOOKNAME = Int(org_crosswire_sword_SWModule_VERSEKEY_BOOKNAME); + var VERSEKEY_SHORTTEXT = Int(org_crosswire_sword_SWModule_VERSEKEY_SHORTTEXT); + var VERSEKEY_BOOKABBREV = Int(org_crosswire_sword_SWModule_VERSEKEY_BOOKABBREV); + + func renderChapter(masterMod: Int, mod: Int) -> [[String: Any]] { + let saveMasterKey = String(cString: org_crosswire_sword_SWModule_getKeyText(masterMod)) + let saveKey = String(cString: org_crosswire_sword_SWModule_getKeyText(mod)) + var r = [[String: Any]]() + var currentKey = getStringArray(buffer: org_crosswire_sword_SWModule_getKeyChildren(masterMod)) + let book = currentKey[VERSEKEY_BOOKABBREV] + let chapter = currentKey[VERSEKEY_CHAPTER] + org_crosswire_sword_SWModule_setKeyText(masterMod, book + "." + chapter + ".1") + var verseKey = getStringArray(buffer: org_crosswire_sword_SWModule_getKeyChildren(masterMod)) + while (org_crosswire_sword_SWModule_popError(masterMod) == 0 + && currentKey[VERSEKEY_BOOK] == verseKey[VERSEKEY_BOOK] + && currentKey[VERSEKEY_CHAPTER] == verseKey[VERSEKEY_CHAPTER] + ) { + org_crosswire_sword_SWModule_setKeyText(mod, verseKey[VERSEKEY_OSISREF]) + let error = org_crosswire_sword_SWModule_popError(mod) + var v = [String:Any]() + if (error == 0) { + v["verse"] = getVerseKey(keyChildren: getStringArray(buffer: org_crosswire_sword_SWModule_getKeyChildren(mod))) + var preVerse = "" + for i in getStringArray(buffer: org_crosswire_sword_SWModule_getEntryAttribute(mod, "Heading", "Preverse", "", 1)) { + preVerse += i + } + v["preVerse"] = preVerse + v["text"] = String(cString: org_crosswire_sword_SWModule_renderText(mod)) + } + else { + + } + r.append(v) + org_crosswire_sword_SWModule_next(masterMod) + verseKey = getStringArray(buffer: org_crosswire_sword_SWModule_getKeyChildren(masterMod)) + } + org_crosswire_sword_SWModule_setKeyText(masterMod, saveMasterKey) + org_crosswire_sword_SWModule_setKeyText(mod, saveKey) + + return r + + } + + func getVerseKey(keyChildren:[String]) -> [String:Any] { + var retVal = [String:Any]() + if (keyChildren.count > 9) { + retVal["testament"] = Int(keyChildren[VERSEKEY_TESTAMENT]); + retVal["book"] = Int(keyChildren[VERSEKEY_BOOK]); + retVal["chapter"] = Int(keyChildren[VERSEKEY_CHAPTER]); + retVal["verse"] = Int(keyChildren[VERSEKEY_VERSE]); + retVal["chapterMax"] = Int(keyChildren[VERSEKEY_CHAPMAX]); + retVal["verseMax"] = Int(keyChildren[VERSEKEY_VERSEMAX]); + retVal["bookName"] = keyChildren[VERSEKEY_BOOKNAME]; + retVal["osisRef"] = keyChildren[VERSEKEY_OSISREF]; + retVal["shortText"] = keyChildren[VERSEKEY_SHORTTEXT]; + retVal["bookAbbrev"] = keyChildren[VERSEKEY_BOOKABBREV]; + } + return retVal; + } + + + @objc(SWModule_search:) + func SWModule_search(command: CDVInvokedUrlCommand) { + initMgr() + let mod = getModule(command: command) + if (mod != 0) { + let expression = command.arguments[1] as? String ?? "" + let searchType = command.arguments[2] as? Int32 ?? 0 + let flags = command.arguments[3] as? Int ?? 0 + let scope = command.arguments.count < 5 ? nil : command.arguments[4] as? String ?? nil + callbackID = command.callbackId + DispatchQueue.global().async { + mySWORDPlugin = self + let buffer = org_crosswire_sword_SWModule_search(mod, expression, searchType, flags, scope, { (percent: Int32) in + let response = [ + "status": "update", + "percent": percent + ] as [String : Any] + if (mySWORDPlugin != nil && mySWORDPlugin!.callbackID != "") { + let result = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: response) + result?.setKeepCallbackAs(true) + mySWORDPlugin!.commandDelegate!.send(result, callbackId: mySWORDPlugin!.callbackID) + } + }); + + self.callbackID = "" + var response = [ + "status": "complete", + "percent": 100 + ] as [String : Any] + + //UnsafeMutablePointer<UnsafePointer<Int8>?>!) -> [String] { + var b = buffer + var count = 0 + while let i = b?.pointee { + if i.key == nil { + break + } + count = count + 1 + b = b?.advanced(by: 1) + } + let searchResults = UnsafeBufferPointer<org_crosswire_sword_SearchHit>(start: buffer, count: count); + var results = [[String:Any]]() + for i in searchResults { + let sr = [ + "key": String(cString: i.key), + "score": Int(i.score) + ] as [String : Any] + results.append(sr) + } + response["results"] = results + + let result = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: response) + result?.setKeepCallbackAs(false) + self.commandDelegate!.send(result, callbackId: command.callbackId) + } + + let result = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "SWModule_search") + result?.setKeepCallbackAs(true) + self.commandDelegate!.send(result, callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR), callbackId: command.callbackId) + } + } + + + func getModule(command: CDVInvokedUrlCommand, nameArgNumber: Int = 0) -> Int { + initMgr() + let modName = command.arguments[nameArgNumber] as? String ?? "" + let module = org_crosswire_sword_SWMgr_getModuleByName(mgr, modName) + if (module == 0) { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR, messageAs: "couldn't find module \(modName)"), callbackId: command.callbackId) + } + return module + } + + + @objc(SWModule_getKeyText:) + func SWModule_getKeyText(command: CDVInvokedUrlCommand) { + let module = getModule(command: command) + if (module != 0) { + let keyText = org_crosswire_sword_SWModule_getKeyText(module) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: keyText == nil ? "" : String(cString: keyText!)), callbackId: command.callbackId) + } + } + + + + @objc(SWModule_setKeyText:) + func SWModule_setKeyText(command: CDVInvokedUrlCommand) { + let module = getModule(command: command) + let keyText = command.arguments[1] as? String ?? "" + if (module != 0) { + org_crosswire_sword_SWModule_setKeyText(module, keyText) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "SWModule_setKeyText"), callbackId: command.callbackId) + } + } + + + @objc(InstallMgr_uninstallModule:) + func InstallMgr_uninstallModule(command: CDVInvokedUrlCommand) { + initInstall() + initMgr() + let retVal = org_crosswire_sword_InstallMgr_uninstallModule(installMgr, mgr, command.arguments[0] as? String ?? "") + if (retVal == 0) { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: retVal), callbackId: command.callbackId) + } + else { + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_ERROR, messageAs: retVal), callbackId: command.callbackId) + } + } + + var callbackID:String = "" + @objc(InstallMgr_remoteInstallModule:) + func InstallMgr_remoteInstallModule(command: CDVInvokedUrlCommand) { + initInstall() + initMgr() + let repo = command.arguments[0] as? String ?? "" + let modName = command.arguments[1] as? String ?? "" + callbackID = command.callbackId + DispatchQueue.global().async { + mySWORDPlugin = self + org_crosswire_sword_InstallMgr_remoteInstallModule(self.installMgr, self.mgr, repo, modName) + + self.reinitMgr() + self.callbackID = "" + let response = [ + "status": "complete", + "totalBytes": 0, + "completedBytes": 0, + "message": "Complete" + ] as [String : Any] + let result = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: response) + result?.setKeepCallbackAs(false) + self.commandDelegate!.send(result, callbackId: command.callbackId) + } + + let result = CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "InstallMgr_remoteInstallModule") + result?.setKeepCallbackAs(true) + self.commandDelegate!.send(result, callbackId: command.callbackId) + } + + + @objc(InstallMgr_getRemoteModInfoList:) + func InstallMgr_getRemoteModInfoList(command: CDVInvokedUrlCommand) { + initInstall() + initMgr() + let buffer = org_crosswire_sword_InstallMgr_getRemoteModInfoList(installMgr, mgr, command.arguments[0] as? String ?? "") + var count = 0 + var b = buffer + while let i = b?.pointee { + if (i.name == nil) { + break + } + count = count + 1 + b = b?.advanced(by: 1) + } + let modInfoList = Array(UnsafeBufferPointer<org_crosswire_sword_ModInfo>(start: buffer, count: count)); + var mods = [[AnyHashable : Any]]() + for i in modInfoList { + let modInfo = [ + "name": String(cString: i.name), + "description": String(cString: i.description), + "category": String(cString: i.category), + "language": String(cString: i.language), + "delta": String(cString: i.delta), + "version": String(cString: i.version) + ] as [AnyHashable : Any] + mods.append(modInfo) + } + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: mods), callbackId: command.callbackId) + } + + + @objc(InstallMgr_refreshRemoteSource:) + func InstallMgr_refreshRemoteSource(command: CDVInvokedUrlCommand) { + initInstall() + DispatchQueue.global().async { + mySWORDPlugin = self + self.callbackID = "" + org_crosswire_sword_InstallMgr_refreshRemoteSource(self.installMgr, command.arguments[0] as? String ?? "") + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "InstallMgr_refreshRemoteSource"), callbackId: command.callbackId) + } + } + + + func getStringArray(buffer: UnsafeMutablePointer<UnsafePointer<Int8>?>!) -> [String] { + var sources = [String]() + var b = buffer + while let i = b?.pointee { + sources.append(String(cString: i)) + b = b?.advanced(by: 1) + } + return sources + } + + + @objc(InstallMgr_getRemoteSources:) + func InstallMgr_getRemoteSources(command: CDVInvokedUrlCommand) { + initInstall() + let sources = getStringArray(buffer: org_crosswire_sword_InstallMgr_getRemoteSources(installMgr)) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: sources), callbackId: command.callbackId) + } + + + @objc(InstallMgr_syncConfig:) + func InstallMgr_syncConfig(command: CDVInvokedUrlCommand) { + + initInstall() + DispatchQueue.global().async { + self.callbackID = "" + mySWORDPlugin = self + org_crosswire_sword_InstallMgr_syncConfig(self.installMgr) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "InstallMgr_syncConfig"), callbackId: command.callbackId) + } + } + + + @objc(InstallMgr_setUserDisclaimerConfirmed:) + func InstallMgr_setUserDisclaimerConfirmed(command: CDVInvokedUrlCommand) { + initInstall() + org_crosswire_sword_InstallMgr_setUserDisclaimerConfirmed(installMgr) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "InstallMgr_setUserDisclaimerConfirmed"), callbackId: command.callbackId) + } + + + @objc(SWMgr_setJavascript:) + func SWMgr_setJavascript(command: CDVInvokedUrlCommand) { + initMgr() + org_crosswire_sword_SWMgr_setJavascript(mgr, command.arguments[0] as? Bool ?? true ? 1 : 0) + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: "SWMgr_setJavascript"), callbackId: command.callbackId) + } + + @objc(SWMgr_getModInfoList:) + func SWMgr_getModInfoList(command: CDVInvokedUrlCommand) { + initMgr() + let buffer = org_crosswire_sword_SWMgr_getModInfoList(mgr) + var b = buffer + var count = 0 + while let i = b?.pointee { + if i.name == nil { + break + } + b = b?.advanced(by: 1) + count = count + 1 + } + let modInfoList = Array(UnsafeBufferPointer<org_crosswire_sword_ModInfo>(start: buffer, count: count)); + + var mods = [[AnyHashable : Any]]() + for i in modInfoList { + let modInfo = [ + "name": String(cString: i.name), + "description": String(cString: i.description), + "category": String(cString: i.category), + "language": String(cString: i.language), + "delta": i.delta == nil ? "" : String(cString: i.delta), + "version": i.version == nil ? "" : String(cString: i.version) + ] as [AnyHashable : Any] + mods.append(modInfo) + } + self.commandDelegate!.send(CDVPluginResult(status: CDVCommandStatus_OK, messageAs: mods), callbackId: command.callbackId) + } +/* +SWMgr_registerBibleSyncListener +SWMgr_sendBibleSyncMessage +*/ +} diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/tizen/DeviceProxy.js b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/tizen/DeviceProxy.js new file mode 100644 index 0000000..2afc324 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/tizen/DeviceProxy.js @@ -0,0 +1,39 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var tizen = require('cordova/platform'); +var cordova = require('cordova'); + +module.exports = { + getDeviceInfo: function(success, error) { + setTimeout(function () { + success({ + cordova: tizen.cordovaVersion, + platform: 'tizen', + model: null, + version: null, + uuid: null + }); + }, 0); + } +}; + +require("cordova/tizen/commandProxy").add("Device", module.exports); diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ubuntu/device.cpp b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ubuntu/device.cpp new file mode 100644 index 0000000..eb5a012 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ubuntu/device.cpp @@ -0,0 +1,64 @@ +/* + * Copyright 2011 Wolfgang Koller - http://www.gofg.at/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <QDeviceInfo> +#include <QtSystemInfo> + +#include"device.h" + +#define CORDOVA "3.0.0" + +Device::Device(Cordova *cordova) : CPlugin(cordova) { +} + +static QString getOSName() { +#ifdef Q_OS_SYMBIAN + QString platform = "Symbian"; +#endif +#ifdef Q_OS_WIN + QString platform = "Windows"; +#endif +#ifdef Q_OS_WINCE + QString platform = "Windows CE"; +#endif +#ifdef Q_OS_LINUX + QString platform = "Linux"; +#endif + return platform; +} + +void Device::getInfo(int scId, int ecId) { + Q_UNUSED(ecId) + + QDeviceInfo systemDeviceInfo; + QDeviceInfo systemInfo; + + QString platform = getOSName(); + + QString uuid = systemDeviceInfo.uniqueDeviceID(); + if (uuid.isEmpty()) { + QString deviceDescription = systemInfo.imei(0) + ";" + systemInfo.manufacturer() + ";" + systemInfo.model() + ";" + systemInfo.productName() + ";" + platform; + QString user = qgetenv("USER"); + if (user.isEmpty()) { + user = qgetenv("USERNAME"); + if (user.isEmpty()) + user = QDir::homePath(); + } + uuid = QString(QCryptographicHash::hash((deviceDescription + ";" + user).toUtf8(), QCryptographicHash::Md5).toHex()); + } + + this->cb(scId, systemDeviceInfo.model(), CORDOVA, platform, uuid, systemInfo.version(QDeviceInfo::Os)); +} diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ubuntu/device.h b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ubuntu/device.h new file mode 100644 index 0000000..91cb937 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ubuntu/device.h @@ -0,0 +1,47 @@ +/* + * Copyright 2011 Wolfgang Koller - http://www.gofg.at/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef DEVICE_H_FDSAFAS +#define DEVICE_H_FDSAFAS + +#include <QtCore> + +#include <cplugin.h> + +class Device: public CPlugin { + Q_OBJECT +public: + explicit Device(Cordova *cordova); + + virtual const QString fullName() override { + return Device::fullID(); + } + + virtual const QString shortName() override { + return "Device"; + } + + static const QString fullID() { + return "com.cordova.Device"; + } + +signals: + +public slots: + void getInfo(int scId, int ecId); +}; + +#endif diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ubuntu/device.js b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ubuntu/device.js new file mode 100644 index 0000000..3adb110 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/ubuntu/device.js @@ -0,0 +1,34 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var cordova = require('cordova'); +var exec = require('cordova/exec'); + +module.exports = { + getInfo:function(win,fail,args) { + Cordova.exec(function (model, cordova, platform, uuid, version) { + win({name: name, model: model, cordova: cordova, + platform: platform, uuid: uuid, version: version}); + }, null, "com.cordova.Device", "getInfo", []); + } +}; + +require("cordova/exec/proxy").add("Device", module.exports); diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/windows8/DeviceProxy.js b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/windows8/DeviceProxy.js new file mode 100644 index 0000000..16145c0 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/windows8/DeviceProxy.js @@ -0,0 +1,50 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + + +var cordova = require('cordova'); +var utils = require('cordova/utils'); + +module.exports = { + + getDeviceInfo:function(win,fail,args) { + + // deviceId aka uuid, stored in Windows.Storage.ApplicationData.current.localSettings.values.deviceId + var deviceId; + + var localSettings = Windows.Storage.ApplicationData.current.localSettings; + + if (localSettings.values.deviceId) { + deviceId = localSettings.values.deviceId; + } + else { + deviceId = localSettings.values.deviceId = utils.createUUID(); + } + + setTimeout(function () { + win({ platform: "windows8", version: "8", uuid: deviceId, cordova: '0.0.0', model: window.clientInformation.platform }); + }, 0); + } + +}; + +require("cordova/windows8/commandProxy").add("Device", module.exports); + diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/wp/Device.cs b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/wp/Device.cs new file mode 100644 index 0000000..0d2576d --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/src/wp/Device.cs @@ -0,0 +1,135 @@ +/* + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +using System; +using System.Net; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Shapes; +using Microsoft.Phone.Info; +using System.IO.IsolatedStorage; +using System.Windows.Resources; +using System.IO; +using System.Diagnostics; + +namespace WPCordovaClassLib.Cordova.Commands +{ + public class Device : BaseCommand + { + public void getDeviceInfo(string notused) + { + + string res = String.Format("\"name\":\"{0}\",\"cordova\":\"{1}\",\"platform\":\"{2}\",\"uuid\":\"{3}\",\"version\":\"{4}\",\"model\":\"{5}\"", + this.name, + this.cordova, + this.platform, + this.uuid, + this.version, + this.model); + + + + res = "{" + res + "}"; + //Debug.WriteLine("Result::" + res); + DispatchCommandResult(new PluginResult(PluginResult.Status.OK, res)); + } + + public string model + { + get + { + return DeviceStatus.DeviceName; + //return String.Format("{0},{1},{2}", DeviceStatus.DeviceManufacturer, DeviceStatus.DeviceHardwareVersion, DeviceStatus.DeviceFirmwareVersion); + } + } + + public string name + { + get + { + return DeviceStatus.DeviceName; + + } + } + + public string cordova + { + get + { + // TODO: should be able to dynamically read the Cordova version from somewhere... + return "3.0.0"; + } + } + + public string platform + { + get + { + return Environment.OSVersion.Platform.ToString(); + } + } + + public string uuid + { + get + { + string returnVal = ""; + object id; + UserExtendedProperties.TryGetValue("ANID", out id); + + if (id != null) + { + returnVal = id.ToString().Substring(2, 32); + } + else + { + returnVal = "???unknown???"; + + using (IsolatedStorageFile appStorage = IsolatedStorageFile.GetUserStoreForApplication()) + { + try + { + IsolatedStorageFileStream fileStream = new IsolatedStorageFileStream("DeviceID.txt", FileMode.Open, FileAccess.Read, appStorage); + + using (StreamReader reader = new StreamReader(fileStream)) + { + returnVal = reader.ReadLine(); + } + } + catch (Exception /*ex*/) + { + + } + } + } + + return returnVal; + } + } + + public string version + { + get + { + return Environment.OSVersion.Version.ToString(); + } + } + + } +} diff --git a/bindings/cordova/org.crosswire.sword.cordova.SWORD/www/SWORD.js b/bindings/cordova/org.crosswire.sword.cordova.SWORD/www/SWORD.js new file mode 100644 index 0000000..3362359 --- /dev/null +++ b/bindings/cordova/org.crosswire.sword.cordova.SWORD/www/SWORD.js @@ -0,0 +1,414 @@ +var argscheck = require('cordova/argscheck'), + channel = require('cordova/channel'), + utils = require('cordova/utils'), + exec = require('cordova/exec'), + cordova = require('cordova'); + +channel.createSticky('onSWORDReady'); +// Tell cordova channel to wait on the CordovaInfoReady event +channel.waitForInitialization('onSWORDReady'); + + +function InstallMgr() { +} + +InstallMgr.prototype.setUserDisclaimerConfirmed = function(callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "InstallMgr_setUserDisclaimerConfirmed", [] + ); + return retVal; +} + +InstallMgr.prototype.syncConfig = function(callback, progressNotify) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "InstallMgr_syncConfig", [progressNotify] + ); + return retVal; +} + + +InstallMgr.prototype.getRemoteSources = function(callback) { + var retVal = []; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "InstallMgr_getRemoteSources", [] + ); + return retVal; +} + + +InstallMgr.prototype.refreshRemoteSource = function(sourceName, callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "InstallMgr_refreshRemoteSource", [sourceName] + ); + return retVal; +} + +InstallMgr.prototype.getRemoteModInfoList = function(sourceName, callback) { + var retVal = []; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "InstallMgr_getRemoteModInfoList", [sourceName] + ); + return retVal; +} + +// callback({ status : preStatus|update|complete, totalBytes : n, completedBytes : n, message : displayable }); +InstallMgr.prototype.remoteInstallModule = function(sourceName, modName, callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "InstallMgr_remoteInstallModule", [sourceName, modName] + ); + return retVal; +} + +InstallMgr.prototype.uninstallModule = function(modName, callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "InstallMgr_uninstallModule", [modName] + ); + return retVal; +} + +function SWModule(modInfo) { + this.name = modInfo.name; + this.description = modInfo.description; + this.category = modInfo.category; + this.direction = modInfo.direction; + this.language = modInfo.language; + this.font = modInfo.font; + this.shortCopyright = modInfo.shortCopyright; + this.shortPromo = modInfo.shortPromo; +} + +SWModule.prototype.SEARCHTYPE_REGEX = 1; +SWModule.prototype.SEARCHTYPE_PHRASE = -1; +SWModule.prototype.SEARCHTYPE_MULTIWORD = -2; +SWModule.prototype.SEARCHTYPE_ENTRYATTR = -3; +SWModule.prototype.SEARCHTYPE_LUCENE = -4; + +SWModule.prototype.SEARCHOPTION_ICASE = 2; + + +SWModule.prototype.setKeyText = function(keyText, callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_setKeyText", [this.name, keyText] + ); + return retVal; +} + +SWModule.prototype.search = function(expression, searchType, flags, scope, callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_search", [this.name, expression, searchType, flags, scope] + ); + return retVal; +} + +SWModule.prototype.getKeyText = function(callback) { + var retVal = null; + exec(callback?callback:function(m) { retVal = m; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_getKeyText", [this.name] + ); + return retVal; +} + +SWModule.prototype.getRenderText = function(callback) { + var retVal = null; + exec(callback?callback:function(m) { retVal = m; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_getRenderText", [this.name] + ); + return retVal; +} + +SWModule.prototype.shareVerse = function(callback) { + var retVal = null; + exec(callback?callback:function(m) { retVal = m; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_sendText", [this.name] + ); + return retVal; +} + +/* + * masterMod - SWModule to use for traversing chapter; null if self + * useful for parallel display with alternate v11ns + * + * returns [ { verse : verseKey, preVerse : 'text', text : 'text' }, ... } + */ +SWModule.prototype.getRenderChapter = function(masterMod, callback) { + var retVal = null; + if (!masterMod) masterMod = this; + exec(callback?callback:function(m) { retVal = m; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_getRenderChapter", [masterMod.name, this.name] + ); + return retVal; +} + +SWModule.prototype.getRenderHeader = function(callback) { + var retVal = null; + exec(callback?callback:function(m) { retVal = m; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_getRenderHeader", [this.name] + ); + return retVal; +} + +SWModule.prototype.getKeyChildren = function(callback) { + var retVal = []; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_getKeyChildren", [this.name] + ); + return retVal; +} + +SWModule.prototype.getVerseKey = function(callback) { + var retVal = {}; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_getVerseKey", [this.name] + ); + return retVal; +} + +SWModule.prototype.getConfigEntry = function(key, callback) { + var retVal = ''; + exec(callback?callback:function(m) { if (m) retVal = m; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_getConfigEntry", [this.name, key] + ); + return retVal; +} + + +SWModule.prototype.popError = function(callback) { + var retVal = 0; + exec(callback?callback:function(m) { retVal = m; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_popError", [this.name] + ); + return retVal; +} + +SWModule.prototype.getEntryAttribute = function(level1Key, level2Key, level3Key, isFiltered, callback) { + var retVal = []; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_getEntryAttribute", [this.name, level1Key, level2Key, level3Key, isFiltered] + ); + return retVal; +} + +SWModule.prototype.next = function(callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_next", [this.name] + ); + return retVal; +} + +SWModule.prototype.previous = function(callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_previous", [this.name] + ); + return retVal; +} + +SWModule.prototype.begin = function(callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_begin", [this.name] + ); + return retVal; +} + +SWModule.prototype.getBookNames = function(callback) { + var retVal = []; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWModule_getBookNames", [this.name] + ); + return retVal; +} + +function SWMgr() { +} + + +SWMgr.prototype.getModInfoList = function(callback) { + if (!this.hasOwnProperty('_lastModInfoList')) this._lastModInfoList = []; + exec(function(m) { if (m && m.length > 0) this._lastModInfoList = m; if (callback) callback(m); }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_getModInfoList", [] + ); + return this._lastModInfoList; +} + +SWMgr.prototype.getModuleByName = function(modName, callback) { + var mod = null; + exec(function(m) { if (m.name) mod = new SWModule(m); if (callback) callback(mod); }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_getModuleByName", [modName] + ); + return mod; +} + +SWMgr.prototype.getExtraConfigSections = function(callback) { + var retVal = []; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_getExtraConfigSections", [] + ); + return retVal; +} + +SWMgr.prototype.getExtraConfigKeys = function(section, callback) { + var retVal = []; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_getExtraConfigKeys", [section] + ); + return retVal; +} + +SWMgr.prototype.getExtraConfigValue = function(section, key, callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_getExtraConfigValue", [section, key] + ); + return retVal; +} + +SWMgr.prototype.setExtraConfigValue = function(section, key, value, callback) { + exec(callback?callback:function() {}, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_setExtraConfigValue", [section, key, value] + ); +} + +SWMgr.prototype.addExtraConfig = function(confBlob, callback) { + var retVal = null; + exec(callback?callback:function(r) { retVal = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_addExtraConfig", [confBlob] + ); + return retVal; +} + +SWMgr.prototype.registerBibleSyncListener = function(callback) { + exec(callback, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_registerBibleSyncListener", [] + ); +} + +SWMgr.prototype.sendBibleSyncMessage = function(osisRef, callback) { + exec(callback?callback:function() {}, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_sendBibleSyncMessage", [osisRef] + ); +} + +SWMgr.prototype.setJavascript = function(val, callback) { + exec(callback?callback:function() {}, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "SWMgr_setJavascript", [val] + ); +} + +function HTTPUtils() {} + +HTTPUtils.prototype.METHOD_GET = 0; +HTTPUtils.prototype.METHOD_POST = 1; + +HTTPUtils.prototype.makeRequest = function(url, postData, callback, method) { + var result = null; + if (!method) method = this.METHOD_POST; + exec(callback?callback:function(r) { if (r && r.length > 0) result = r; }, + function(err) { utils.alert('[ERROR] problem: ' + err); }, + "SWORD", "HTTPUtils_makeRequest", [url, postData, method] + ); + return result; +} + + + +/* + public native String getPrefixPath(); + public native String getConfigPath(); + public native void setGlobalOption(String option, String value); + public native String getGlobalOption(String option); + public native String getGlobalOptionTip(String option); + public native String filterText(String filterName, String text); + public native String[] getGlobalOptions(); + public native String[] getGlobalOptionValues(String option); + public native void setCipherKey(String modName, String key); + public native void setJavascript(boolean val); + public native String[] getAvailableLocales(); + public native void setDefaultLocale(String name); +*/ + + +/** + * This is the SWORD namespace and access to singleton SWMgr, InstallMgr, and HTTPUtils. + * @constructor + */ +function SWORD() { + + var me = this; + + this.available = false; + this.version = null; + + this.installMgr = new InstallMgr(); + this.mgr = new SWMgr(); + this.httpUtils = new HTTPUtils(); + + channel.onCordovaReady.subscribe(function() { + me.init(function(info) { + me.available = true; + me.version = info.version; + channel.onSWORDReady.fire(); + },function(e) { + me.available = false; + utils.alert("[ERROR] Error initializing SWORD: " + e); + }); + }); +} + + +SWORD.prototype.CATEGORY_BIBLES = "Biblical Texts"; +SWORD.prototype.CATEGORY_COMMENTARIES = "Commentaries"; +SWORD.prototype.CATEGORY_LEXDICTS = "Lexicons / Dictionaries"; +SWORD.prototype.CATEGORY_GENBOOKS = "Generic Books"; +SWORD.prototype.CATEGORY_DAILYDEVOS = "Daily Devotional"; + + +SWORD.prototype.init = function(successCallback, errorCallback) { + exec(successCallback, errorCallback, "SWORD", "initSWORD", []); +}; + + +module.exports = new SWORD(); + + diff --git a/bindings/csharp/NativeMethods.cs b/bindings/csharp/NativeMethods.cs index 6a3c911..6ea973b 100644 --- a/bindings/csharp/NativeMethods.cs +++ b/bindings/csharp/NativeMethods.cs @@ -33,6 +33,8 @@ namespace Sword public string Description; public string Category; public string Language; + public string Version; + public string Delta; }; [StructLayout(LayoutKind.Sequential)] @@ -73,53 +75,51 @@ namespace Sword public static class NativeMethods { + public const string DLLNAME = "libsword"; - - public const string DLLNAME = "libsword.so"; - - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr org_crosswire_sword_SWMgr_new(); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr org_crosswire_sword_SWMgr_newWithPath(string path); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr org_crosswire_sword_SWMgr_getModuleByName(IntPtr hSWMgr, string moduleName); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern void org_crosswire_sword_SWModule_setKeyText(IntPtr hSWModule, string key); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr org_crosswire_sword_SWModule_renderText(IntPtr hSWModule); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr org_crosswire_sword_SWModule_getRawEntry(IntPtr hSWModule); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr org_crosswire_sword_SWModule_getKeyText(IntPtr hSWModule); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern void org_crosswire_sword_SWMgr_delete(IntPtr hSWMgr); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr org_crosswire_sword_SWMgr_getModInfoList(IntPtr hSWMgr); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr org_crosswire_sword_SWModule_stripText(IntPtr hSWModule); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern void org_crosswire_sword_SWModule_setRawEntry(IntPtr hSWModule, string entryBuffer); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern void org_crosswire_sword_SWModule_terminateSearch(IntPtr hSWModule); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern char org_crosswire_sword_SWModule_popError(IntPtr hSWModule); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern long org_crosswire_sword_SWModule_getEntrySize(IntPtr hSWModule); - [DllImport(DLLNAME)] + [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr org_crosswire_sword_SWModule_getEntryAttribute(IntPtr hSWModule, string level1, string level2, string level3, char filteredBool); [DllImport(DLLNAME, CallingConvention = CallingConvention.Cdecl)] diff --git a/bindings/csharp/tests/ManagerTests.cs b/bindings/csharp/tests/ManagerTests.cs index 6f71b33..ec7d6cd 100644 --- a/bindings/csharp/tests/ManagerTests.cs +++ b/bindings/csharp/tests/ManagerTests.cs @@ -14,6 +14,7 @@ using System; using NUnit.Framework; using System.IO; +using System.Collections.Generic; using System.Linq; namespace Sword.Tests @@ -84,10 +85,20 @@ namespace Sword.Tests public void AvailableLocales_Get_DoesntCrash() { //act - var availableLocales = _manager.AvailableLocales.ToArray(); + string[] availableLocales = _manager.AvailableLocales.ToArray(); //Assert - Assert.That (availableLocales[0].Contains("en")); + Assert.That (availableLocales.Length > 0); + } + + [Test] + public void AvailableLocales_Get_ContainsEnglish() + { + //act + string[] availableLocales = _manager.AvailableLocales.ToArray(); + + //Assert + Assert.That (availableLocales.Any(locale => locale == "en")); } [Test] diff --git a/bindings/flatapi.cpp b/bindings/flatapi.cpp index aaec8df..b41303f 100644 --- a/bindings/flatapi.cpp +++ b/bindings/flatapi.cpp @@ -3,7 +3,7 @@ * flatapi.cpp - This file contains an api usable by non-C++ * environments * - * $Id: flatapi.cpp 3275 2014-12-03 05:56:54Z greg.hellings $ + * $Id: flatapi.cpp 3561 2018-01-07 06:45:42Z greg.hellings $ * * Copyright 2002-2014 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society @@ -33,6 +33,7 @@ #include <treekeyidx.h> #include <filemgr.h> #include <swbuf.h> +#include <swlog.h> #include <localemgr.h> #include <utilstr.h> #include "corba/orbitcpp/webmgr.hpp" @@ -91,51 +92,43 @@ void clearModInfoArray(org_crosswire_sword_ModInfo **modInfo) { struct pu { char last; - SWHANDLE progressReporter; - - void init(SWHANDLE pr) { progressReporter = pr; last = 0; } -/* - pu(JNIEnv *env, jobject pr) : env(env), progressReporter(pr), last(0) {} - JNIEnv *env; - jobject progressReporter; -*/ + org_crosswire_sword_SWModule_SearchCallback progressReporter; + void init(org_crosswire_sword_SWModule_SearchCallback pr) { progressReporter = pr; last = 0; } }; void percentUpdate(char percent, void *userData) { struct pu *p = (struct pu *)userData; if (percent != p->last) { + p->progressReporter((int)percent); p->last = percent; -/* - jclass cls = p->env->GetObjectClass(p->progressReporter); - jmethodID mid = p->env->GetMethodID(cls, "progressReport", "(I)V"); - if (mid != 0) { - p->env->CallVoidMethod(p->progressReporter, mid, (jint)percent); - } -*/ } } + class MyStatusReporter : public StatusReporter { public: - int last; - SWHANDLE statusReporter; + unsigned long last; + org_crosswire_sword_InstallMgr_StatusCallback statusReporter; MyStatusReporter() : last(0), statusReporter(0) {} - void init(SWHANDLE sr) { statusReporter = sr; last = 0; } - virtual void update(unsigned long totalBytes, unsigned long completedBytes) { - int p = (totalBytes > 0) ? (int)(74.0 * ((double)completedBytes / (double)totalBytes)) : 0; - for (;last < p; ++last) { - if (!last) { - SWBuf output; - output.setFormatted("[ File Bytes: %ld", totalBytes); - while (output.size() < 75) output += " "; - output += "]"; -// cout << output.c_str() << "\n "; - } -// cout << "-"; - } -// cout.flush(); + void init(org_crosswire_sword_InstallMgr_StatusCallback sr) { statusReporter = sr; last = 0xffffffff; } + + virtual void update(unsigned long totalBytes, unsigned long completedBytes) { + + if (!statusReporter) return; + + if (completedBytes != last) { + statusReporter("update", totalBytes, completedBytes); + last = completedBytes; + } } - virtual void preStatus(long totalBytes, long completedBytes, const char *message) { + + + virtual void preStatus(long totalBytes, long completedBytes, const char *message) { + + if (!statusReporter) return; + + statusReporter(message, totalBytes, completedBytes); +/* SWBuf output; output.setFormatted("[ Total Bytes: %ld; Completed Bytes: %ld", totalBytes, completedBytes); while (output.size() < 75) output += " "; @@ -145,7 +138,9 @@ public: // for (int i = 0; i < p; ++i) { cout << "="; } // cout << "\n\n" << message << "\n"; last = 0; +*/ } + }; class HandleSWModule { @@ -157,15 +152,12 @@ public: char *rawEntry; char *configEntry; struct pu peeuuu; - // making searchHits cache static saves memory only having a single - // outstanding copy, but also is not threadsafe. Remove static here - // and fix compiling bugs and add clearSearchHits() to d-tor to change - static org_crosswire_sword_SearchHit *searchHits; - static const char **entryAttributes; - static const char **parseKeyList; - static const char **keyChildren; - - HandleSWModule(SWModule *mod) { + org_crosswire_sword_SearchHit *searchHits; + const char **entryAttributes; + const char **parseKeyList; + const char **keyChildren; + + HandleSWModule(SWModule *mod) : searchHits(0), entryAttributes(0), parseKeyList(0), keyChildren(0) { this->mod = mod; this->renderBuf = 0; this->stripBuf = 0; @@ -179,9 +171,13 @@ public: delete [] renderHeader; delete [] rawEntry; delete [] configEntry; + clearSearchHits(); + clearEntryAttributes(); + clearParseKeyList(); + clearKeyChildren(); } - static void clearSearchHits() { + void clearSearchHits() { if (searchHits) { for (int i = 0; true; ++i) { if (searchHits[i].modName) { @@ -193,13 +189,13 @@ public: searchHits = 0; } } - static void clearEntryAttributes() { + void clearEntryAttributes() { clearStringArray(&entryAttributes); } - static void clearParseKeyList() { + void clearParseKeyList() { clearStringArray(&parseKeyList); } - static void clearKeyChildren() { + void clearKeyChildren() { clearStringArray(&keyChildren); } }; @@ -264,7 +260,7 @@ public: MyStatusReporter statusReporter; HandleInstMgr() : installMgr(0), modInfo(0) {} HandleInstMgr(InstallMgr *mgr) { - this->installMgr = installMgr; + this->installMgr = mgr; this->modInfo = 0; } @@ -294,10 +290,6 @@ public: }; -org_crosswire_sword_SearchHit *HandleSWModule::searchHits = 0; -const char **HandleSWModule::entryAttributes = 0; -const char **HandleSWModule::parseKeyList = 0; -const char **HandleSWModule::keyChildren = 0; const char **HandleSWMgr::globalOptions = 0; const char **HandleSWMgr::globalOptionValues = 0; @@ -305,14 +297,12 @@ const char **HandleSWMgr::availableLocales = 0; const char **HandleInstMgr::remoteSources = 0; +const char **tmpStringArrayRetVal = 0; +char *tmpStringRetVal = 0; + class InitStatics { public: InitStatics() { -// these are redundant with the static declarations above, but ??? doesn't hurt - HandleSWModule::searchHits = 0; - HandleSWModule::entryAttributes = 0; - HandleSWModule::parseKeyList = 0; - HandleSWModule::keyChildren = 0; HandleSWMgr::globalOptions = 0; HandleSWMgr::globalOptionValues = 0; @@ -321,15 +311,15 @@ public: HandleInstMgr::remoteSources = 0; } ~InitStatics() { - HandleSWModule::clearSearchHits(); - HandleSWModule::clearEntryAttributes(); - HandleSWModule::clearParseKeyList(); - HandleSWModule::clearKeyChildren(); HandleSWMgr::clearGlobalOptions(); HandleSWMgr::clearGlobalOptionValues(); HandleInstMgr::clearRemoteSources(); + + clearStringArray(&tmpStringArrayRetVal); + sword::stdstr(&tmpStringRetVal, (const char *)0); + } } _initStatics; @@ -337,7 +327,30 @@ public: } +// +// SWLog methods +// +// + +void SWDLLEXPORT org_crosswire_sword_SWlog_logError(const char *msg) { + SWLog::getSystemLog()->logError(msg); +} + +void SWDLLEXPORT org_crosswire_sword_SWlog_logDebug(const char *msg) { + SWLog::getSystemLog()->logDebug(msg); +} + +void SWDLLEXPORT org_crosswire_sword_SWlog_logWarning(const char *msg) { + SWLog::getSystemLog()->logWarning(msg); +} + +void SWDLLEXPORT org_crosswire_sword_SWlog_logInformation(const char *msg) { + SWLog::getSystemLog()->logInformation(msg); +} +void SWDLLEXPORT org_crosswire_sword_SWlog_logTimedInformation(const char *msg) { + SWLog::getSystemLog()->logTimedInformation(msg); +} // @@ -364,7 +377,7 @@ void SWDLLEXPORT org_crosswire_sword_SWModule_terminateSearch * Signature: (Ljava/lang/String;IJLjava/lang/String;Lorg/crosswire/android/sword/SWModule/SearchProgressReporter;)[Lorg/crosswire/android/sword/SWModule/SearchHit; */ const struct org_crosswire_sword_SearchHit * SWDLLEXPORT org_crosswire_sword_SWModule_search - (SWHANDLE hSWModule, const char *searchString, int searchType, long flags, const char *scope, SWHANDLE progressReporter) { + (SWHANDLE hSWModule, const char *searchString, int searchType, long flags, const char *scope, org_crosswire_sword_SWModule_SearchCallback progressReporter) { GETSWMODULE(hSWModule, 0); @@ -458,7 +471,7 @@ const char ** SWDLLEXPORT org_crosswire_sword_SWModule_getEntryAttribute sword::AttributeList::iterator i2Start, i2End; sword::AttributeValue::iterator i3Start, i3End; - if ((level1) && (*level1)) { + if ((level1) && (*level1) && *level1 != '-') { i1Start = entryAttribs.find(level1); i1End = i1Start; if (i1End != entryAttribs.end()) @@ -469,35 +482,54 @@ const char ** SWDLLEXPORT org_crosswire_sword_SWModule_getEntryAttribute i1End = entryAttribs.end(); } for (;i1Start != i1End; ++i1Start) { - if ((level2) && (*level2)) { - i2Start = i1Start->second.find(level2); - i2End = i2Start; - if (i2End != i1Start->second.end()) - ++i2End; + if (level1 && *level1 && *level1 == '-') { + results.push_back(i1Start->first); } else { - i2Start = i1Start->second.begin(); - i2End = i1Start->second.end(); - } - for (;i2Start != i2End; ++i2Start) { - if ((level3) && (*level3)) { - i3Start = i2Start->second.find(level3); - i3End = i3Start; - if (i3End != i2Start->second.end()) - ++i3End; + if (level2 && *level2 && *level2 != '-') { + i2Start = i1Start->second.find(level2); + i2End = i2Start; + if (i2End != i1Start->second.end()) + ++i2End; } else { - i3Start = i2Start->second.begin(); - i3End = i2Start->second.end(); + i2Start = i1Start->second.begin(); + i2End = i1Start->second.end(); } - for (;i3Start != i3End; ++i3Start) { - results.push_back(i3Start->second); + for (;i2Start != i2End; ++i2Start) { + if (level2 && *level2 && *level2 == '-') { + results.push_back(i2Start->first); + } + else { + // allow '-' to get all keys; allow '*' to get all key=value + if (level3 && *level3 && *level3 != '-' && *level3 != '*') { + i3Start = i2Start->second.find(level3); + i3End = i3Start; + if (i3End != i2Start->second.end()) + ++i3End; + } + else { + i3Start = i2Start->second.begin(); + i3End = i2Start->second.end(); + } + for (;i3Start != i3End; ++i3Start) { + if (level3 && *level3 && *level3 == '-') { + results.push_back(i3Start->first); + } + else if (level3 && *level3 && *level3 == '*') { + results.push_back(i3Start->first + "=" + i3Start->second); + } + else { + results.push_back(i3Start->second); + } + } + if (i3Start != i3End) + break; + } } - if (i3Start != i3End) + if (i2Start != i2End) break; } - if (i2Start != i2End) - break; } const char **retVal = (const char **)calloc(results.size()+1, sizeof(const char *)); @@ -644,7 +676,7 @@ const char ** SWDLLEXPORT org_crosswire_sword_SWModule_getKeyChildren sword::VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key); if (vkey) { - retVal = (const char **)calloc(9, sizeof(const char *)); + retVal = (const char **)calloc(11, sizeof(const char *)); SWBuf num; num.appendFormatted("%d", vkey->getTestament()); stdstr((char **)&(retVal[0]), num.c_str()); @@ -665,6 +697,8 @@ const char ** SWDLLEXPORT org_crosswire_sword_SWModule_getKeyChildren stdstr((char **)&(retVal[5]), num.c_str()); stdstr((char **)&(retVal[6]), vkey->getBookName()); stdstr((char **)&(retVal[7]), vkey->getOSISRef()); + stdstr((char **)&(retVal[8]), vkey->getShortText()); + stdstr((char **)&(retVal[9]), vkey->getBookAbbrev()); } else { TreeKeyIdx *tkey = SWDYNAMIC_CAST(TreeKeyIdx, key); @@ -941,6 +975,31 @@ SWHANDLE SWDLLEXPORT org_crosswire_sword_SWMgr_new() { return (SWHANDLE) new HandleSWMgr(new WebMgr(sysConf)); } +/* + * Class: org_crosswire_sword_SWMgr + * Method: new + * Signature: ()V + */ +SWHANDLE SWDLLEXPORT org_crosswire_sword_SWMgr_newWithPath(const char *path) { + SWBuf confPath = path; + if (!confPath.endsWith("/")) confPath.append('/'); + SWBuf modsd = confPath + "mods.d"; + // be sure we have at least some config file already out there + if (!FileMgr::existsFile(modsd.c_str())) { + modsd.append("/globals.conf"); + FileMgr::createParent(modsd.c_str()); + SWConfig config(modsd.c_str()); + config["Globals"]["HiAndroid"] = "weeee"; + config.save(); + } + SWBuf extraPath = confPath + "extraConfig.conf"; + bool exists = FileMgr::existsFile(extraPath.c_str()); +SWLog::getSystemLog()->logDebug("libsword: extraConfig %s at path: %s", exists?"Exists":"Absent", extraPath.c_str()); + +SWLog::getSystemLog()->logDebug("libsword: init() creating WebMgr using path: %s", path); + return (SWHANDLE) new HandleSWMgr(new WebMgr(confPath.c_str(), exists?extraPath.c_str():0)); +} + /* * Class: org_crosswire_sword_SWMgr @@ -996,10 +1055,10 @@ const struct org_crosswire_sword_ModInfo * SWDLLEXPORT org_crosswire_sword_SWMgr stdstr(&(milist[i].name), assureValidUTF8(module->getName())); stdstr(&(milist[i].description), assureValidUTF8(module->getDescription())); stdstr(&(milist[i].category), assureValidUTF8(type.c_str())); - stdstr(&(milist[i++].language), assureValidUTF8(module->getLanguage())); - stdstr(&(milist[i++].version), assureValidUTF8(version.c_str())); - stdstr(&(milist[i++].delta), ""); - if (i >= size) break; + stdstr(&(milist[i].language), assureValidUTF8(module->getLanguage())); + stdstr(&(milist[i].version), assureValidUTF8(version.c_str())); + stdstr(&(milist[i].delta), ""); + if (++i >= size) break; } } hmgr->modInfo = milist; @@ -1131,6 +1190,164 @@ const char ** SWDLLEXPORT org_crosswire_sword_SWMgr_getGlobalOptions return retVal; } + +/* + * Class: org_crosswire_sword_SWConfig + * Method: getSections + * Signature: ()[Ljava/lang/String; + */ +const char ** SWDLLEXPORT org_crosswire_sword_SWConfig_getSections + (const char *confPath) { + + clearStringArray(&tmpStringArrayRetVal); + int count = 0; + const char **retVal = 0; + bool exists = FileMgr::existsFile(confPath); +SWLog::getSystemLog()->logDebug("libsword: getConfigSections %s at path: %s", exists?"Exists":"Absent", confPath); + if (exists) { + SWConfig config(confPath); + SectionMap::const_iterator sit; + for (sit = config.getSections().begin(); sit != config.getSections().end(); ++sit) { + count++; + } + SWLog::getSystemLog()->logDebug("libsword: %d sections found in config", count); + retVal = (const char **)calloc(count+1, sizeof(const char *)); + count = 0; + for (sit = config.getSections().begin(); sit != config.getSections().end(); ++sit) { + stdstr((char **)&(retVal[count++]), assureValidUTF8(sit->first.c_str())); + } + } + else { + retVal = (const char **)calloc(1, sizeof(const char *)); + } + + tmpStringArrayRetVal = retVal; + return retVal; +} + + + +/* + * Class: org_crosswire_sword_SWConfig + * Method: getSectionKeys + * Signature: (Ljava/lang/String;)[Ljava/lang/String; + */ +const char ** SWDLLEXPORT org_crosswire_sword_SWConfig_getSectionKeys + (const char *confPath, const char *section) { + + clearStringArray(&tmpStringArrayRetVal); + int count = 0; + const char **retVal = 0; + bool exists = FileMgr::existsFile(confPath); + if (exists) { + SWConfig config(confPath); + SectionMap::const_iterator sit = config.getSections().find(section); + if (sit != config.getSections().end()) { + ConfigEntMap::const_iterator it; + for (it = sit->second.begin(); it != sit->second.end(); ++it) { + count++; + } + retVal = (const char **)calloc(count+1, sizeof(const char *)); + count = 0; + for (it = sit->second.begin(); it != sit->second.end(); ++it) { + stdstr((char **)&(retVal[count++]), assureValidUTF8(it->first.c_str())); + } + } + else { + retVal = (const char **)calloc(1, sizeof(const char *)); + } + } + else { + retVal = (const char **)calloc(1, sizeof(const char *)); + } + + tmpStringArrayRetVal = retVal; + return retVal; +} + + +/* + * Class: org_crosswire_sword_SWConfig + * Method: getKeyValue + * Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + */ +const char * SWDLLEXPORT org_crosswire_sword_SWConfig_getKeyValue + (const char *confPath, const char *section, const char *key) { + + stdstr(&tmpStringRetVal, 0); + bool exists = FileMgr::existsFile(confPath); + if (exists) { + SWConfig config(confPath); + SectionMap::const_iterator sit = config.getSections().find(section); + if (sit != config.getSections().end()) { + ConfigEntMap::const_iterator it = sit->second.find(key); + if (it != sit->second.end()) { + stdstr(&tmpStringRetVal, assureValidUTF8(it->second.c_str())); + } + } + } + + return tmpStringRetVal; +} + + +/* + * Class: org_crosswire_sword_SWConfig + * Method: setKeyValue + * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + */ +void SWDLLEXPORT org_crosswire_sword_SWConfig_setKeyValue + (const char *confPath, const char *section, const char *key, const char *value) { + + SWConfig config(confPath); + config[section][key] = value; + config.save(); +} + + +/* + * Class: org_crosswire_sword_SWConfig + * Method: augmentConfig + * Signature: (Ljava/lang/String;)[Ljava/lang/String; + */ +const char ** SWDLLEXPORT org_crosswire_sword_SWConfig_augmentConfig + (const char *confPath, const char *configBlob) { + + + clearStringArray(&tmpStringArrayRetVal); + const char **retVal = 0; + int count = 0; + + SWBuf myBlob = configBlob; + + SWConfig config(confPath); + + FileMgr::removeFile(confPath); + FileDesc *fd = FileMgr::getSystemFileMgr()->open(confPath, FileMgr::CREAT|FileMgr::WRONLY, FileMgr::IREAD|FileMgr::IWRITE); + fd->getFd(); + fd->write(myBlob.c_str(), myBlob.size()); + FileMgr::getSystemFileMgr()->close(fd); + + SWConfig newConfig(confPath); + + config.augment(newConfig); + config.save(); + + SectionMap::const_iterator sit; + for (sit = newConfig.getSections().begin(); sit != newConfig.getSections().end(); ++sit) { + count++; + } + retVal = (const char **)calloc(count+1, sizeof(const char *)); + count = 0; + for (sit = newConfig.getSections().begin(); sit != newConfig.getSections().end(); ++sit) { + stdstr((char **)&(retVal[count++]), assureValidUTF8(sit->first.c_str())); + } + + tmpStringArrayRetVal = retVal; + return retVal; +} + + /* * Class: org_crosswire_sword_SWMgr * Method: getGlobalOptionValues @@ -1254,7 +1471,7 @@ const char * SWDLLEXPORT org_crosswire_sword_SWMgr_translate * Signature: (Ljava/lang/String;Lorg/crosswire/android/sword/SWModule/SearchProgressReporter;)V */ SWHANDLE SWDLLEXPORT org_crosswire_sword_InstallMgr_new - (const char *baseDir, SWHANDLE statusReporter) { + (const char *baseDir, org_crosswire_sword_InstallMgr_StatusCallback statusReporter) { SWBuf confPath = SWBuf(baseDir) + "/InstallMgr.conf"; // be sure we have at least some config file already out there if (!FileMgr::existsFile(confPath.c_str())) { @@ -1263,7 +1480,7 @@ SWHANDLE SWDLLEXPORT org_crosswire_sword_InstallMgr_new SWConfig config(confPath.c_str()); config["General"]["PassiveFTP"] = "true"; - config.Save(); + config.save(); } HandleInstMgr *hinstmgr = new HandleInstMgr(); hinstmgr->statusReporter.init(statusReporter); @@ -1273,6 +1490,17 @@ SWHANDLE SWDLLEXPORT org_crosswire_sword_InstallMgr_new /* * Class: org_crosswire_sword_InstallMgr + * Method: delete + * Signature: ()V + */ +void SWDLLEXPORT org_crosswire_sword_InstallMgr_delete + (SWHANDLE hInstallMgr) { + HandleInstMgr *hinstMgr = (HandleInstMgr *)hInstallMgr; + if (hinstMgr) delete hinstMgr; +} + +/* + * Class: org_crosswire_sword_InstallMgr * Method: setUserDisclaimerConfirmed * Signature: ()V */ diff --git a/bindings/java-jni/Makefile b/bindings/java-jni/Makefile index 1fd3743..0059b0e 100644 --- a/bindings/java-jni/Makefile +++ b/bindings/java-jni/Makefile @@ -1,4 +1,5 @@ all: + cp ../corba/orbitcpp/webmgr.hpp jni/ mkdir -p classes javac -d classes src/org/crosswire/android/sword/*.java javah -d jni -classpath classes -jni org.crosswire.android.sword.SWMgr @@ -10,6 +11,8 @@ all: javap -s -classpath classes/ org.crosswire.android.sword.SWModule.SearchHit > SearchHit.txt javap -s -classpath classes/ org.crosswire.android.sword.SWModule.SearchProgressReporter > SearchProgressReporter.txt javap -s -classpath classes/ org.crosswire.android.sword.InstallMgr > InstallMgr.txt - cp src/org/crosswire/android/sword/*.java /home/scribe/src/bishop/src/org/crosswire/android/sword/ + cp src/org/crosswire/android/sword/*.java ../Android/SWORD/app/src/main/java/org/crosswire/android/sword/ +clean: + rm -rf classes jni/org_crosswire_android_sword_*.h *.txt diff --git a/bindings/java-jni/README b/bindings/java-jni/README index 80c256a..e4b89fb 100644 --- a/bindings/java-jni/README +++ b/bindings/java-jni/README @@ -1,27 +1,28 @@ -Android Build Instructions - -You'll need the Android NDK. - -Then link the sword/bindings/java-jni folder to your project's /jni folder. -I have a symlink: - -~/src/bishop/jni -> ~/src/sword/bindings/java-jni/jni/ - -~/src/sword is simply a checkout of the current sword svn repository. -(svn co https://crosswire.org/svn/sword/trunk ~/src/sword) - - -So, since my $HOME directly is /home/scribe, my configuration looks like this: - -/home/scribe/src/sword/ -/home/scribe/src/bishop/ -/home/scribe/android-ndk-r8e/ - -with: - -APP_PROJECT_PATH := $(call my-dir)/../../../src/bishop -APP_MODULES := sword swordcore -APP_PLATFORM := android-3 - +This folder contains java-jni bindings. They are 99% generic but have +some Android-specific code which should eventually be removed. This +includes setting a SWLog::setSystemLog(new AndroidLogger()) and an +org.crosswire.android.sword.* package. This was not changed to +org.crosswire.sword.* because there are conflicting SWMgr, et. al. +classes from the crosswire-java project and the CORBA bindings. +org.crosswire.jni.sword.* is an option but exposing the impl in the +package name is bad practice. More thought needed. + +A make in here should produce the JNI wrappers. +jni/swordstub.cpp is the jni implementation + +This make also copies the java src/ files to the ../Android binding folder. +The ../Android binding folder symlinks to the jni cpp file generated here. + +There is an Android Studio project there to build the native libs + +The steps to build all of this are usually: +1) make in this folder +2) build all in ../Android/SWORD Android Studio project +3) a make in the ../Android/ folder, which finally copies the binary libs + to the ../cordova/ bindings folder to produce a working cordova + plugin + +Android java bindings can be used after step 2 +cordova javascript bindings can be used after step 3 Hope this helps get you started. Let me know your progress! diff --git a/bindings/java-jni/jni/Android.mk b/bindings/java-jni/jni/Android.mk index 5d793a0..5ce1c3c 100644 --- a/bindings/java-jni/jni/Android.mk +++ b/bindings/java-jni/jni/Android.mk @@ -28,11 +28,17 @@ include $(CLEAR_VARS) LOCAL_MODULE := libswordcore LOCAL_C_INCLUDES := ../sword/include ../sword/include/internal/regex LOCAL_CFLAGS += -D__unix__ \ + -fvisibility=hidden \ -DSTDC_HEADERS \ -Dunix \ -D_FTPLIB_NO_COMPAT \ -DANDROID \ + -DEXCLUDEBZIP2 \ + -DEXCLUDEXZ \ -DOS_ANDROID + +#LOCAL_CFLAGS += -g + LOCAL_SRC_FILES := ../../../src/modules/comments/zcom/zcom.cpp \ ../../../src/modules/comments/rawfiles/rawfiles.cpp \ ../../../src/modules/comments/rawcom4/rawcom4.cpp \ @@ -54,8 +60,6 @@ LOCAL_SRC_FILES := ../../../src/modules/comments/zcom/zcom.cpp \ ../../../src/modules/common/rawstr4.cpp \ ../../../src/modules/common/lzsscomprs.cpp \ ../../../src/modules/common/zipcomprs.cpp \ -../../../src/modules/common/bz2comprs.cpp \ -../../../src/modules/common/xzcomprs.cpp \ ../../../src/modules/common/rawverse4.cpp \ ../../../src/modules/common/swcipher.cpp \ ../../../src/modules/common/swcomprs.cpp \ @@ -142,6 +146,10 @@ LOCAL_SRC_FILES := ../../../src/modules/comments/zcom/zcom.cpp \ ../../../src/modules/filters/teiplain.cpp \ ../../../src/modules/filters/swbasicfilter.cpp \ ../../../src/modules/filters/scsuutf8.cpp \ +../../../src/modules/filters/gbflatex.cpp \ +../../../src/modules/filters/thmllatex.cpp \ +../../../src/modules/filters/teilatex.cpp \ +../../../src/modules/filters/osislatex.cpp \ ../../../src/mgr/stringmgr.cpp \ ../../../src/mgr/swmgr.cpp \ ../../../src/mgr/swsearchable.cpp \ @@ -178,6 +186,15 @@ LOCAL_SRC_FILES := ../../../src/modules/comments/zcom/zcom.cpp \ ../../../src/frontend/swlog.cpp \ ../../../src/utilfuns/zlib/untgz.c +# add BibleSync +LOCAL_C_INCLUDES += ../biblesync/include +LOCAL_SRC_FILES += \ + ../../../../biblesync/src/biblesync.cc \ + ../../../../biblesync/src/ifaddrs.c + + +#../../../src/modules/common/bz2comprs.cpp \ +#../../../src/modules/common/xzcomprs.cpp \ #../../../../../sword/src/mgr/curlftpt.cpp \ #../../../../../sword/src/mgr/curlhttpt.cpp \ #../../../../../sword/src/utilfuns/win32/dirent.cpp \ @@ -194,6 +211,10 @@ include $(CLEAR_VARS) LOCAL_MODULE := libsword LOCAL_C_INCLUDES := ../sword/include ../sword/include/internal/regex + +# add BibleSync stuff +LOCAL_C_INCLUDES += ../biblesync/include + LOCAL_CFLAGS += -D__unix__ \ -Dunix \ -D_FTPLIB_NO_COMPAT \ diff --git a/bindings/java-jni/jni/org_crosswire_android_sword_InstallMgr.h b/bindings/java-jni/jni/org_crosswire_android_sword_InstallMgr.h deleted file mode 100644 index b80243b..0000000 --- a/bindings/java-jni/jni/org_crosswire_android_sword_InstallMgr.h +++ /dev/null @@ -1,85 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include <jni.h> -/* Header for class org_crosswire_android_sword_InstallMgr */ - -#ifndef _Included_org_crosswire_android_sword_InstallMgr -#define _Included_org_crosswire_android_sword_InstallMgr -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_crosswire_android_sword_InstallMgr - * Method: reInit - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_InstallMgr_reInit - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_InstallMgr - * Method: setUserDisclaimerConfirmed - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_InstallMgr_setUserDisclaimerConfirmed - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_InstallMgr - * Method: syncConfig - * Signature: ()I - */ -JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_syncConfig - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_InstallMgr - * Method: uninstallModule - * Signature: (Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_uninstallModule - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_InstallMgr - * Method: getRemoteSources - * Signature: ()[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_InstallMgr_getRemoteSources - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_InstallMgr - * Method: refreshRemoteSource - * Signature: (Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_refreshRemoteSource - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_InstallMgr - * Method: getRemoteModInfoList - * Signature: (Ljava/lang/String;)[Lorg/crosswire/android/sword/SWMgr/ModInfo; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_InstallMgr_getRemoteModInfoList - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_InstallMgr - * Method: remoteInstallModule - * Signature: (Ljava/lang/String;Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_remoteInstallModule - (JNIEnv *, jobject, jstring, jstring); - -/* - * Class: org_crosswire_android_sword_InstallMgr - * Method: getRemoteModuleByName - * Signature: (Ljava/lang/String;Ljava/lang/String;)Lorg/crosswire/android/sword/SWModule; - */ -JNIEXPORT jobject JNICALL Java_org_crosswire_android_sword_InstallMgr_getRemoteModuleByName - (JNIEnv *, jobject, jstring, jstring); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/bindings/java-jni/jni/org_crosswire_android_sword_SWMgr.h b/bindings/java-jni/jni/org_crosswire_android_sword_SWMgr.h deleted file mode 100644 index a95cf8e..0000000 --- a/bindings/java-jni/jni/org_crosswire_android_sword_SWMgr.h +++ /dev/null @@ -1,141 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include <jni.h> -/* Header for class org_crosswire_android_sword_SWMgr */ - -#ifndef _Included_org_crosswire_android_sword_SWMgr -#define _Included_org_crosswire_android_sword_SWMgr -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: version - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_version - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: reInit - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_reInit - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: getModInfoList - * Signature: ()[Lorg/crosswire/android/sword/SWMgr/ModInfo; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getModInfoList - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: getModuleByName - * Signature: (Ljava/lang/String;)Lorg/crosswire/android/sword/SWModule; - */ -JNIEXPORT jobject JNICALL Java_org_crosswire_android_sword_SWMgr_getModuleByName - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: getPrefixPath - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getPrefixPath - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: getConfigPath - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getConfigPath - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: setGlobalOption - * Signature: (Ljava/lang/String;Ljava/lang/String;)V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setGlobalOption - (JNIEnv *, jobject, jstring, jstring); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: getGlobalOption - * Signature: (Ljava/lang/String;)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOption - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: getGlobalOptionTip - * Signature: (Ljava/lang/String;)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOptionTip - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: filterText - * Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_filterText - (JNIEnv *, jobject, jstring, jstring); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: getGlobalOptions - * Signature: ()[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOptions - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: getGlobalOptionValues - * Signature: (Ljava/lang/String;)[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOptionValues - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: setCipherKey - * Signature: (Ljava/lang/String;Ljava/lang/String;)V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setCipherKey - (JNIEnv *, jobject, jstring, jstring); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: setJavascript - * Signature: (Z)V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setJavascript - (JNIEnv *, jobject, jboolean); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: getAvailableLocales - * Signature: ()[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getAvailableLocales - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWMgr - * Method: setDefaultLocale - * Signature: (Ljava/lang/String;)V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setDefaultLocale - (JNIEnv *, jobject, jstring); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/bindings/java-jni/jni/org_crosswire_android_sword_SWMgr_ModInfo.h b/bindings/java-jni/jni/org_crosswire_android_sword_SWMgr_ModInfo.h deleted file mode 100644 index f3b8fd6..0000000 --- a/bindings/java-jni/jni/org_crosswire_android_sword_SWMgr_ModInfo.h +++ /dev/null @@ -1,13 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include <jni.h> -/* Header for class org_crosswire_android_sword_SWMgr_ModInfo */ - -#ifndef _Included_org_crosswire_android_sword_SWMgr_ModInfo -#define _Included_org_crosswire_android_sword_SWMgr_ModInfo -#ifdef __cplusplus -extern "C" { -#endif -#ifdef __cplusplus -} -#endif -#endif diff --git a/bindings/java-jni/jni/org_crosswire_android_sword_SWMgr_SearchHit.h b/bindings/java-jni/jni/org_crosswire_android_sword_SWMgr_SearchHit.h deleted file mode 100644 index 062c579..0000000 --- a/bindings/java-jni/jni/org_crosswire_android_sword_SWMgr_SearchHit.h +++ /dev/null @@ -1,13 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include <jni.h> -/* Header for class org_crosswire_android_sword_SWMgr_SearchHit */ - -#ifndef _Included_org_crosswire_android_sword_SWMgr_SearchHit -#define _Included_org_crosswire_android_sword_SWMgr_SearchHit -#ifdef __cplusplus -extern "C" { -#endif -#ifdef __cplusplus -} -#endif -#endif diff --git a/bindings/java-jni/jni/org_crosswire_android_sword_SWModule.h b/bindings/java-jni/jni/org_crosswire_android_sword_SWModule.h deleted file mode 100644 index 15b1ad0..0000000 --- a/bindings/java-jni/jni/org_crosswire_android_sword_SWModule.h +++ /dev/null @@ -1,191 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include <jni.h> -/* Header for class org_crosswire_android_sword_SWModule */ - -#ifndef _Included_org_crosswire_android_sword_SWModule -#define _Included_org_crosswire_android_sword_SWModule -#ifdef __cplusplus -extern "C" { -#endif -#undef org_crosswire_android_sword_SWModule_SEARCHTYPE_REGEX -#define org_crosswire_android_sword_SWModule_SEARCHTYPE_REGEX 1L -#undef org_crosswire_android_sword_SWModule_SEARCHTYPE_PHRASE -#define org_crosswire_android_sword_SWModule_SEARCHTYPE_PHRASE -1L -#undef org_crosswire_android_sword_SWModule_SEARCHTYPE_MULTIWORD -#define org_crosswire_android_sword_SWModule_SEARCHTYPE_MULTIWORD -2L -#undef org_crosswire_android_sword_SWModule_SEARCHTYPE_ENTRYATTR -#define org_crosswire_android_sword_SWModule_SEARCHTYPE_ENTRYATTR -3L -#undef org_crosswire_android_sword_SWModule_SEARCHTYPE_LUCENE -#define org_crosswire_android_sword_SWModule_SEARCHTYPE_LUCENE -4L -/* - * Class: org_crosswire_android_sword_SWModule - * Method: terminateSearch - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_terminateSearch - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: search - * Signature: (Ljava/lang/String;IJLjava/lang/String;Lorg/crosswire/android/sword/SWModule/SearchProgressReporter;)[Lorg/crosswire/android/sword/SWModule/SearchHit; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search - (JNIEnv *, jobject, jstring, jint, jlong, jstring, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: error - * Signature: ()C - */ -JNIEXPORT jchar JNICALL Java_org_crosswire_android_sword_SWModule_error - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: getEntrySize - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_org_crosswire_android_sword_SWModule_getEntrySize - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: getEntryAttribute - * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getEntryAttribute - (JNIEnv *, jobject, jstring, jstring, jstring, jboolean); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: parseKeyList - * Signature: (Ljava/lang/String;)[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_parseKeyList - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: setKeyText - * Signature: (Ljava/lang/String;)V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_setKeyText - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: getKeyText - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getKeyText - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: hasKeyChildren - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_org_crosswire_android_sword_SWModule_hasKeyChildren - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: getKeyChildren - * Signature: ()[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getKeyChildren - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: getKeyParent - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getKeyParent - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: previous - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_previous - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: next - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_next - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: begin - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_begin - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: getStripText - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getStripText - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: getRenderText - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getRenderText - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: getRawEntry - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getRawEntry - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: setRawEntry - * Signature: (Ljava/lang/String;)V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_setRawEntry - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: getConfigEntry - * Signature: (Ljava/lang/String;)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getConfigEntry - (JNIEnv *, jobject, jstring); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: deleteSearchFramework - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_deleteSearchFramework - (JNIEnv *, jobject); - -/* - * Class: org_crosswire_android_sword_SWModule - * Method: hasSearchFramework - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_org_crosswire_android_sword_SWModule_hasSearchFramework - (JNIEnv *, jobject); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/bindings/java-jni/jni/org_crosswire_android_sword_SWModule_SearchHit.h b/bindings/java-jni/jni/org_crosswire_android_sword_SWModule_SearchHit.h deleted file mode 100644 index e79c8fd..0000000 --- a/bindings/java-jni/jni/org_crosswire_android_sword_SWModule_SearchHit.h +++ /dev/null @@ -1,13 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include <jni.h> -/* Header for class org_crosswire_android_sword_SWModule_SearchHit */ - -#ifndef _Included_org_crosswire_android_sword_SWModule_SearchHit -#define _Included_org_crosswire_android_sword_SWModule_SearchHit -#ifdef __cplusplus -extern "C" { -#endif -#ifdef __cplusplus -} -#endif -#endif diff --git a/bindings/java-jni/jni/org_crosswire_android_sword_SWModule_SearchProgressReporter.h b/bindings/java-jni/jni/org_crosswire_android_sword_SWModule_SearchProgressReporter.h deleted file mode 100644 index 1f7de09..0000000 --- a/bindings/java-jni/jni/org_crosswire_android_sword_SWModule_SearchProgressReporter.h +++ /dev/null @@ -1,13 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include <jni.h> -/* Header for class org_crosswire_android_sword_SWModule_SearchProgressReporter */ - -#ifndef _Included_org_crosswire_android_sword_SWModule_SearchProgressReporter -#define _Included_org_crosswire_android_sword_SWModule_SearchProgressReporter -#ifdef __cplusplus -extern "C" { -#endif -#ifdef __cplusplus -} -#endif -#endif diff --git a/bindings/java-jni/jni/swordstub.cpp b/bindings/java-jni/jni/swordstub.cpp index 435a3f1..8a53f34 100644 --- a/bindings/java-jni/jni/swordstub.cpp +++ b/bindings/java-jni/jni/swordstub.cpp @@ -2,7 +2,7 @@ * * swordstub.cpp - JNI bindings * - * $Id: swordstub.cpp 3184 2014-04-17 04:30:54Z greg.hellings $ + * $Id: swordstub.cpp 3524 2017-11-07 03:08:49Z scribe $ * * Copyright 2009-2013 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society @@ -37,6 +37,14 @@ #include <localemgr.h> #include <treekeyidx.h> #include <installmgr.h> +#include <remotetrans.h> +#include <rtfhtml.h> +//#include <android/native_activity.h> + + +#ifdef BIBLESYNC +#include <biblesync.hh> +#endif #include "webmgr.hpp" #include "org_crosswire_android_sword_SWMgr.h" @@ -50,10 +58,69 @@ using std::vector; using namespace sword; - +namespace { WebMgr *mgr = 0; InstallMgr *installMgr = 0; +#ifdef BIBLESYNC +BibleSync *bibleSync = 0; +using std::string; +jobject bibleSyncListener = 0; +JNIEnv *bibleSyncListenerEnv = 0; +#endif +static SWBuf STORAGE_BASE; +static char *SWORD_PATH = "/sdcard/sword"; +static char *AND_BIBLE_MODULES_PATH = "/sdcard/Android/data/net.bible.android.activity/files"; +//ANativeActivity *_activity; + +class InstallStatusReporter : public StatusReporter { +public: + JNIEnv *env; + jobject callback; + unsigned long last; + + InstallStatusReporter() : env(0), callback(0), last(0) { + } + + void init(JNIEnv *env, jobject callback) { + this->env = env; + this->callback = callback; + last = 0xffffffff; + } + + virtual void update(unsigned long totalBytes, unsigned long completedBytes) { + + // assert we have a callback + if (!callback) return; + + if (completedBytes != last) { + last = completedBytes; + jclass cls = env->GetObjectClass(callback); + jmethodID mid = env->GetMethodID(cls, "update", "(JJ)V"); + if (mid != 0) { + env->CallVoidMethod(callback, mid, (jlong)totalBytes, (jlong)completedBytes); + } + env->DeleteLocalRef(cls); + } + } + + virtual void preStatus(long totalBytes, long completedBytes, const char *message) { + + // assert we have a callback + if (!callback) return; + + jclass cls = env->GetObjectClass(callback); + jmethodID mid = env->GetMethodID(cls, "preStatus", "(JJLjava/lang/String;)V"); + if (mid != 0) { + jstring msg = env->NewStringUTF(assureValidUTF8((const char *)message)); + env->CallVoidMethod(callback, mid, (jlong)totalBytes, (jlong)completedBytes, msg); + env->DeleteLocalRef(msg); + } + env->DeleteLocalRef(cls); + } +} *installStatusReporter = 0; +bool disclaimerConfirmed = false; + class AndroidLogger : public SWLog { vector<int> levelMapping; public: @@ -73,50 +140,140 @@ public: }; -static void init() { +static void init(JNIEnv *env) { if (!mgr) { SWLog::setSystemLog(new AndroidLogger()); SWLog::getSystemLog()->setLogLevel(SWLog::LOG_DEBUG); - SWBuf baseDir = "/sdcard/sword"; +SWLog::getSystemLog()->logDebug("libsword: init() begin"); + SWBuf baseDir = SWORD_PATH; SWBuf confPath = baseDir + "/mods.d/globals.conf"; // be sure we have at least some config file already out there if (!FileMgr::existsFile(confPath.c_str())) { + SWLog::getSystemLog()->logDebug("libsword: init() sword config not found, attempting to create parent of: %s", confPath.c_str()); + FileMgr::createParent(confPath.c_str()); + remove(confPath.c_str()); + + SWLog::getSystemLog()->logDebug("libsword: init() saving basic: %s", confPath.c_str()); + SWConfig config(confPath.c_str()); + config["Globals"]["HiAndroid"] = "weeee"; + config.save(); + } + if (!FileMgr::existsFile(confPath.c_str())) { + baseDir = STORAGE_BASE; + confPath = baseDir + "/mods.d/globals.conf"; +SWLog::getSystemLog()->logDebug("libsword: init() sword config STILL not found, attempting to create parent of: %s", confPath.c_str()); FileMgr::createParent(confPath.c_str()); remove(confPath.c_str()); +SWLog::getSystemLog()->logDebug("libsword: init() saving basic: %s", confPath.c_str()); SWConfig config(confPath.c_str()); config["Globals"]["HiAndroid"] = "weeee"; - config.Save(); + config.save(); } - mgr = new WebMgr("/sdcard/sword"); + confPath = STORAGE_BASE + "/extraConfig.conf"; + bool exists = FileMgr::existsFile(confPath.c_str()); +SWLog::getSystemLog()->logDebug("libsword: extraConfig %s at path: %s", exists?"Exists":"Absent", confPath.c_str()); + +SWLog::getSystemLog()->logDebug("libsword: init() creating WebMgr using path: %s", baseDir.c_str()); + mgr = new WebMgr(baseDir, exists?confPath.c_str():0); + +SWLog::getSystemLog()->logDebug("libsword: init() augmenting modules from: %s", AND_BIBLE_MODULES_PATH); + // for And Bible modules + mgr->augmentModules(AND_BIBLE_MODULES_PATH, true); } } +static void initInstall(JNIEnv *env, jobject progressReporter = 0) { -static void initInstall() { - + if (!installStatusReporter) { + installStatusReporter = new InstallStatusReporter(); + } + installStatusReporter->init(env, progressReporter); if (!installMgr) { - SWBuf baseDir = "/sdcard/sword/InstallMgr"; +SWLog::getSystemLog()->logDebug("initInstall: installMgr is null"); + SWBuf baseDir = SWORD_PATH; + baseDir += "/InstallMgr"; SWBuf confPath = baseDir + "/InstallMgr.conf"; // be sure we have at least some config file already out there +SWLog::getSystemLog()->logDebug("initInstall: confPath: %s", confPath.c_str()); if (!FileMgr::existsFile(confPath.c_str())) { + SWLog::getSystemLog()->logDebug("initInstall: file doesn't exist: %s", confPath.c_str()); FileMgr::createParent(confPath.c_str()); - remove(confPath.c_str()); - SWConfig config(confPath.c_str()); config["General"]["PassiveFTP"] = "true"; - config.Save(); + config.save(); + } + if (!FileMgr::existsFile(confPath.c_str())) { + baseDir = STORAGE_BASE; + confPath = baseDir + "/InstallMgr.conf"; + SWLog::getSystemLog()->logDebug("initInstall: file STILL doesn't exist, attempting to create parent of: %s", confPath.c_str()); + FileMgr::createParent(confPath.c_str()); + SWConfig config(confPath.c_str()); + config["General"]["PassiveFTP"] = "true"; + config.save(); + } + installMgr = new InstallMgr(baseDir, installStatusReporter); + if (disclaimerConfirmed) installMgr->setUserDisclaimerConfirmed(true); +SWLog::getSystemLog()->logDebug("initInstall: instantiated InstallMgr with baseDir: %s", baseDir.c_str()); + } +} + +#ifdef BIBLESYNC +void bibleSyncCallback(char cmd, string bible, string ref, string alt, string group, string domain, string info, string dump) { +SWLog::getSystemLog()->logDebug("bibleSync callback msg: %c; bible: %s; ref: %s; alt: %s; group: %s; domain: %s; info: %s; dump: %s", cmd, bible.c_str(), ref.c_str(), alt.c_str(), group.c_str(), domain.c_str(), info.c_str(), dump.c_str()); + if (::bibleSyncListener) { +SWLog::getSystemLog()->logDebug("bibleSync listener is true"); + jclass cls = bibleSyncListenerEnv->GetObjectClass(::bibleSyncListener); + jmethodID mid = bibleSyncListenerEnv->GetMethodID(cls, "messageReceived", "(Ljava/lang/String;)V"); +SWLog::getSystemLog()->logDebug("bibleSync listener mid: %ld", mid); + if (mid) { +SWLog::getSystemLog()->logDebug("bibleSync listener mid is available"); + switch(cmd) { + // error + case 'E': + // mismatch + case 'M': + // new speaker + case 'S': + // dead speaker + case 'D': + // announce + case 'A': + break; + // navigation + case 'N': +SWLog::getSystemLog()->logDebug("bibleSync Nav Received: %s", ref.c_str()); + jstring msg = bibleSyncListenerEnv->NewStringUTF(ref.c_str()); + bibleSyncListenerEnv->CallVoidMethod(::bibleSyncListener, mid, msg); + bibleSyncListenerEnv->DeleteLocalRef(msg); + break; + } } - installMgr = new InstallMgr(baseDir); +SWLog::getSystemLog()->logDebug("bibleSync listener deleting local ref to cls"); + bibleSyncListenerEnv->DeleteLocalRef(cls); + } +} +#endif + + +static void initBibleSync() { +#ifdef BIBLESYNC + if (!bibleSync) { +SWLog::getSystemLog()->logDebug("bibleSync initializing c-tor"); + bibleSync = new BibleSync("SWORD", (const char *)SWVersion().currentVersion, "SwordUser"); +SWLog::getSystemLog()->logDebug("bibleSync initializing setMode"); + bibleSync->setMode(BSP_MODE_PERSONAL, bibleSyncCallback, "passphrase"); } +#endif } +} JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_version - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWVersion v; return env->NewStringUTF(v.currentVersion); @@ -129,7 +286,15 @@ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_version * Signature: ()V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_reInit - (JNIEnv *, jobject) { + (JNIEnv *env, jobject me) { + + jclass swmgrClass = env->GetObjectClass(me); + jmethodID getStorageBasePath = env->GetMethodID(swmgrClass, "getStorageBasePath", "()Ljava/lang/String;"); + jstring basePathJS = (jstring)env->CallObjectMethod(me, getStorageBasePath, NULL); + + const char *basePath = (basePathJS?env->GetStringUTFChars(basePathJS, NULL):0); + STORAGE_BASE = basePath; + SWLog::getSystemLog()->logDebug("setting STORAGE_BASE to: %s", STORAGE_BASE.c_str()); delete mgr; mgr = 0; @@ -137,26 +302,26 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_reInit JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getPrefixPath - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); return env->NewStringUTF(mgr->prefixPath); } JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getConfigPath - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); return env->NewStringUTF(mgr->configPath); } JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getModInfoList - (JNIEnv *env, jobject) { + (JNIEnv *env, jobject) { - init(); + init(env); int size = 0; for (sword::ModMap::iterator it = mgr->Modules.begin(); it != mgr->Modules.end(); ++it) { @@ -211,15 +376,15 @@ SWLog::getSystemLog()->logDebug("getModInfoList returning %d length array\n", si * Signature: (Ljava/lang/String;)Lorg/crosswire/android/sword/SWModule; */ JNIEXPORT jobject JNICALL Java_org_crosswire_android_sword_SWMgr_getModuleByName - (JNIEnv *env, jobject me, jstring modNameJS) { + (JNIEnv *env, jobject me, jstring modNameJS) { - init(); + init(env); jobject retVal = 0; - const char *modName = env->GetStringUTFChars(modNameJS, NULL); + const char *modName = env->GetStringUTFChars(modNameJS, NULL); sword::SWModule *module = mgr->getModule(modName); - env->ReleaseStringUTFChars(modNameJS, modName); + env->ReleaseStringUTFChars(modNameJS, modName); if (module) { SWBuf type = module->getType(); @@ -242,17 +407,17 @@ JNIEXPORT jobject JNICALL Java_org_crosswire_android_sword_SWMgr_getModuleByName * Signature: (Ljava/lang/String;Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setGlobalOption - (JNIEnv *env, jobject me, jstring optionJS, jstring valueJS) { + (JNIEnv *env, jobject me, jstring optionJS, jstring valueJS) { - init(); + init(env); - const char *option = env->GetStringUTFChars(optionJS, NULL); - const char *value = env->GetStringUTFChars(valueJS, NULL); + const char *option = env->GetStringUTFChars(optionJS, NULL); + const char *value = env->GetStringUTFChars(valueJS, NULL); mgr->setGlobalOption(option, value); - env->ReleaseStringUTFChars(valueJS, value); - env->ReleaseStringUTFChars(optionJS, option); + env->ReleaseStringUTFChars(valueJS, value); + env->ReleaseStringUTFChars(optionJS, option); } @@ -262,15 +427,15 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setGlobalOption * Signature: (Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOption - (JNIEnv *env, jobject me, jstring optionJS) { + (JNIEnv *env, jobject me, jstring optionJS) { - init(); + init(env); - const char *option = env->GetStringUTFChars(optionJS, NULL); + const char *option = env->GetStringUTFChars(optionJS, NULL); SWBuf value = mgr->getGlobalOption(option); - env->ReleaseStringUTFChars(optionJS, option); + env->ReleaseStringUTFChars(optionJS, option); return env->NewStringUTF(assureValidUTF8(value)); } @@ -282,15 +447,15 @@ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOption * Signature: (Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOptionTip - (JNIEnv *env, jobject me, jstring optionJS) { + (JNIEnv *env, jobject me, jstring optionJS) { - init(); + init(env); - const char *option = env->GetStringUTFChars(optionJS, NULL); + const char *option = env->GetStringUTFChars(optionJS, NULL); SWBuf value = mgr->getGlobalOptionTip(option); - env->ReleaseStringUTFChars(optionJS, option); + env->ReleaseStringUTFChars(optionJS, option); return env->NewStringUTF(assureValidUTF8(value)); } @@ -302,20 +467,20 @@ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOption * Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_filterText - (JNIEnv *env, jobject me, jstring filterNameJS, jstring textJS) { + (JNIEnv *env, jobject me, jstring filterNameJS, jstring textJS) { - init(); + init(env); - const char *filterName = env->GetStringUTFChars(filterNameJS, NULL); - const char *text = env->GetStringUTFChars(textJS, NULL); + const char *filterName = env->GetStringUTFChars(filterNameJS, NULL); + const char *text = env->GetStringUTFChars(textJS, NULL); SWBuf buf = text; // hmmm, in the future, provide a param to specify filter value maybe? mgr->setGlobalOption("Greek Accents", "Off"); char errStatus = mgr->filterText(filterName, buf); - env->ReleaseStringUTFChars(textJS, text); - env->ReleaseStringUTFChars(filterNameJS, filterName); + env->ReleaseStringUTFChars(textJS, text); + env->ReleaseStringUTFChars(filterNameJS, filterName); return env->NewStringUTF(assureValidUTF8(buf)); } @@ -327,9 +492,9 @@ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_filterText * Signature: ()[Ljava/lang/String; */ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOptions - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); sword::StringList options = mgr->getGlobalOptions(); int count = 0; @@ -351,19 +516,239 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalO /* * Class: org_crosswire_android_sword_SWMgr + * Method: getExtraConfigSections + * Signature: ()[Ljava/lang/String; + */ +JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getExtraConfigSections + (JNIEnv *env, jobject me) { + + init(env); + + SWBuf baseDir = STORAGE_BASE; + SWBuf confPath = baseDir + "/extraConfig.conf"; + int count = 0; + bool exists = FileMgr::existsFile(confPath.c_str()); + jclass clazzString = env->FindClass("java/lang/String"); + jobjectArray ret; + SWLog::getSystemLog()->logDebug("libsword: extraConfig %s at path: %s", exists?"Exists":"Absent", confPath.c_str()); + if (exists) { + SWConfig config(confPath.c_str()); + SectionMap::const_iterator sit; + for (sit = config.getSections().begin(); sit != config.getSections().end(); ++sit) { + count++; + } + SWLog::getSystemLog()->logDebug("libsword: %d sections found in extraConfig", count); + ret = (jobjectArray) env->NewObjectArray(count, clazzString, NULL); + count = 0; + for (sit = config.getSections().begin(); sit != config.getSections().end(); ++sit) { + env->SetObjectArrayElement(ret, count++, env->NewStringUTF(assureValidUTF8(sit->first.c_str()))); + } + } + else { + ret = (jobjectArray) env->NewObjectArray(0, clazzString, NULL); + } + + return ret; +} + + +/* + * Class: org_crosswire_android_sword_SWMgr + * Method: getExtraConfigKeys + * Signature: (Ljava/lang/String;)[Ljava/lang/String; + */ +JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getExtraConfigKeys + (JNIEnv *env, jobject me, jstring section) { + + init(env); + + const char *s = env->GetStringUTFChars(section, NULL); + + SWBuf mySection = s; + + env->ReleaseStringUTFChars(section, s); + + SWBuf baseDir = STORAGE_BASE; + SWBuf confPath = baseDir + "/extraConfig.conf"; + int count = 0; + bool exists = FileMgr::existsFile(confPath.c_str()); + jclass clazzString = env->FindClass("java/lang/String"); + jobjectArray ret; + if (exists) { + SWConfig config(confPath.c_str()); + SectionMap::const_iterator sit = config.getSections().find(mySection.c_str()); + if (sit != config.getSections().end()) { + ConfigEntMap::const_iterator it; + for (it = sit->second.begin(); it != sit->second.end(); ++it) { + count++; + } + ret = (jobjectArray) env->NewObjectArray(count, clazzString, NULL); + count = 0; + for (it = sit->second.begin(); it != sit->second.end(); ++it) { + env->SetObjectArrayElement(ret, count++, + env->NewStringUTF(assureValidUTF8(it->first.c_str()))); + } + } + else { + ret = (jobjectArray) env->NewObjectArray(0, clazzString, NULL); + } + } + else { + ret = (jobjectArray) env->NewObjectArray(0, clazzString, NULL); + } + + return ret; +} + + +/* + * Class: org_crosswire_android_sword_SWMgr + * Method: getExtraConfigValue + * Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_getExtraConfigValue + (JNIEnv *env, jobject me, jstring section, jstring key) { + + init(env); + + const char *s = env->GetStringUTFChars(section, NULL); + + SWBuf mySection = s; + + env->ReleaseStringUTFChars(section, s); + + const char *k = env->GetStringUTFChars(key, NULL); + + SWBuf myKey = k; + + env->ReleaseStringUTFChars(key, k); + + jstring ret = 0; + + SWBuf baseDir = STORAGE_BASE; + SWBuf confPath = baseDir + "/extraConfig.conf"; + bool exists = FileMgr::existsFile(confPath.c_str()); + if (exists) { + SWConfig config(confPath.c_str()); + SectionMap::const_iterator sit = config.getSections().find(mySection.c_str()); + if (sit != config.getSections().end()) { + ConfigEntMap::const_iterator it = sit->second.find(myKey.c_str()); + if (it != sit->second.end()) { + ret = env->NewStringUTF(assureValidUTF8(it->second.c_str())); + } + } + } + + return ret; +} + + +/* + * Class: org_crosswire_android_sword_SWMgr + * Method: setExtraConfigValue + * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setExtraConfigValue + (JNIEnv *env, jobject me, jstring section, jstring key, jstring value) { + + init(env); + + const char *s = env->GetStringUTFChars(section, NULL); + + SWBuf mySection = s; + + env->ReleaseStringUTFChars(section, s); + + const char *k = env->GetStringUTFChars(key, NULL); + + SWBuf myKey = k; + + env->ReleaseStringUTFChars(key, k); + + const char *v = env->GetStringUTFChars(value, NULL); + + SWBuf myValue = v; + + env->ReleaseStringUTFChars(value, v); + + SWBuf baseDir = STORAGE_BASE; + SWBuf confPath = baseDir + "/extraConfig.conf"; + SWConfig config(confPath.c_str()); + config[mySection][myKey] = myValue; + config.save(); + + Java_org_crosswire_android_sword_SWMgr_reInit(env, me); + +} + + +/* + * Class: org_crosswire_android_sword_SWMgr + * Method: addExtraConfig + * Signature: (Ljava/lang/String;)[Ljava/lang/String; + */ +JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_addExtraConfig + (JNIEnv *env, jobject me, jstring blob) { + + init(env); + + const char *b = env->GetStringUTFChars(blob, NULL); + + SWBuf myBlob = b; + + env->ReleaseStringUTFChars(blob, b); + + jobjectArray ret; + + int count = 0; + jclass clazzString = env->FindClass("java/lang/String"); + + SWBuf baseDir = STORAGE_BASE; + SWBuf tmpConfPath = baseDir + "/tmpConfig.conf"; + FileMgr::removeFile(tmpConfPath.c_str()); + FileDesc *fd = FileMgr::getSystemFileMgr()->open(tmpConfPath.c_str(), FileMgr::CREAT|FileMgr::WRONLY, FileMgr::IREAD|FileMgr::IWRITE); + fd->getFd(); + fd->write(myBlob.c_str(), myBlob.size()); + FileMgr::getSystemFileMgr()->close(fd); + + SWConfig newConfig(tmpConfPath.c_str()); + FileMgr::removeFile(tmpConfPath.c_str()); + SectionMap::const_iterator sit; + for (sit = newConfig.getSections().begin(); sit != newConfig.getSections().end(); ++sit) { + count++; + } + ret = (jobjectArray) env->NewObjectArray(count, clazzString, NULL); + count = 0; + for (sit = newConfig.getSections().begin(); sit != newConfig.getSections().end(); ++sit) { + env->SetObjectArrayElement(ret, count++, env->NewStringUTF(assureValidUTF8(sit->first.c_str()))); + } + + SWBuf confPath = baseDir + "/extraConfig.conf"; + SWConfig config(confPath.c_str()); + config.augment(newConfig); + config.save(); + + Java_org_crosswire_android_sword_SWMgr_reInit(env, me); + + return ret; +} + + +/* + * Class: org_crosswire_android_sword_SWMgr * Method: getGlobalOptionValues * Signature: (Ljava/lang/String;)[Ljava/lang/String; */ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalOptionValues - (JNIEnv *env, jobject me, jstring optionJS) { + (JNIEnv *env, jobject me, jstring optionJS) { - init(); + init(env); - const char *option = env->GetStringUTFChars(optionJS, NULL); + const char *option = env->GetStringUTFChars(optionJS, NULL); sword::StringList options = mgr->getGlobalOptionValues(option); - env->ReleaseStringUTFChars(optionJS, option); + env->ReleaseStringUTFChars(optionJS, option); int count = 0; for (sword::StringList::iterator it = options.begin(); it != options.end(); ++it) { @@ -387,17 +772,17 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getGlobalO * Signature: (Ljava/lang/String;Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setCipherKey - (JNIEnv *env, jobject me , jstring modNameJS, jstring keyJS) { + (JNIEnv *env, jobject me , jstring modNameJS, jstring keyJS) { - init(); + init(env); - const char *modName = env->GetStringUTFChars(modNameJS, NULL); - const char *key = env->GetStringUTFChars(keyJS, NULL); + const char *modName = env->GetStringUTFChars(modNameJS, NULL); + const char *key = env->GetStringUTFChars(keyJS, NULL); mgr->setCipherKey(modName, key); - env->ReleaseStringUTFChars(keyJS, key); - env->ReleaseStringUTFChars(modNameJS, modName); + env->ReleaseStringUTFChars(keyJS, key); + env->ReleaseStringUTFChars(modNameJS, modName); } @@ -407,9 +792,9 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setCipherKey * Signature: (Z)V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setJavascript - (JNIEnv *env, jobject me, jboolean val) { + (JNIEnv *env, jobject me, jboolean val) { - init(); + init(env); mgr->setJavascript(val == JNI_TRUE); } @@ -421,9 +806,9 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setJavascript * Signature: ()[Ljava/lang/String; */ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getAvailableLocales - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); sword::StringList localeNames = LocaleMgr::getSystemLocaleMgr()->getAvailableLocales(); int count = 0; @@ -448,15 +833,15 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWMgr_getAvailab * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setDefaultLocale - (JNIEnv *env, jobject me, jstring localeNameJS) { + (JNIEnv *env, jobject me, jstring localeNameJS) { - init(); + init(env); - const char *localeName = env->GetStringUTFChars(localeNameJS, NULL); + const char *localeName = env->GetStringUTFChars(localeNameJS, NULL); LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName(localeName); - env->ReleaseStringUTFChars(localeNameJS, localeName); + env->ReleaseStringUTFChars(localeNameJS, localeName); } @@ -464,9 +849,10 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_setDefaultLocale // SWModule methods ---------------------------------------------------------------------------------- -SWModule *getModule(JNIEnv *env, jobject me) { +SWModule *getModule + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = 0; jclass clazzSWModule = env->FindClass("org/crosswire/android/sword/SWModule"); @@ -474,10 +860,10 @@ SWModule *getModule(JNIEnv *env, jobject me) { jfieldID sourceFieldID = env->GetFieldID(clazzSWModule, "remoteSourceName", "Ljava/lang/String;"); jstring modNameJS = (jstring)env->GetObjectField(me, fieldID); jstring sourceNameJS = (jstring)env->GetObjectField(me, sourceFieldID); - const char *modName = (modNameJS?env->GetStringUTFChars(modNameJS, NULL):0); - const char *sourceName = (sourceNameJS?env->GetStringUTFChars(sourceNameJS, NULL):0); + const char *modName = (modNameJS?env->GetStringUTFChars(modNameJS, NULL):0); + const char *sourceName = (sourceNameJS?env->GetStringUTFChars(sourceNameJS, NULL):0); if (sourceName && *sourceName) { - initInstall(); + initInstall(env); InstallSourceMap::iterator source = installMgr->sources.find(sourceName); if (source == installMgr->sources.end()) { SWMgr *mgr = source->second->getMgr(); @@ -485,8 +871,8 @@ SWModule *getModule(JNIEnv *env, jobject me) { } } else module = mgr->getModule(modName); - if (modName) env->ReleaseStringUTFChars(modNameJS, modName); - if (sourceName) env->ReleaseStringUTFChars(sourceNameJS, sourceName); + if (modName) env->ReleaseStringUTFChars(modNameJS, modName); + if (sourceName) env->ReleaseStringUTFChars(sourceNameJS, sourceName); return module; } @@ -496,9 +882,9 @@ SWModule *getModule(JNIEnv *env, jobject me) { * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_setKeyText - (JNIEnv *env, jobject me, jstring keyTextJS) { + (JNIEnv *env, jobject me, jstring keyTextJS) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -509,7 +895,9 @@ SWLog::getSystemLog()->logDebug("setKeyText(%s, %s)", module->getName(), keyText sword::VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key); if (vkey && (*keyText=='+' ||*keyText=='-')) { if (!stricmp(keyText+1, "book")) { - vkey->setBook(vkey->getBook() + ((*keyText=='+')?1:-1)); + int newBook = vkey->getBook() + ((*keyText=='+')?1:-1); +SWLog::getSystemLog()->logDebug("setting book to %d", newBook); + vkey->setBook(newBook); env->ReleaseStringUTFChars(keyTextJS, keyText); return; } @@ -532,9 +920,9 @@ SWLog::getSystemLog()->logDebug("setKeyText(%s, %s)", module->getName(), keyText * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getKeyText - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -552,9 +940,9 @@ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getKeyText * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getRenderText - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -568,13 +956,33 @@ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getRenderTex /* * Class: org_crosswire_android_sword_SWModule + * Method: getRenderHeader + * Signature: ()Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getRenderHeader + (JNIEnv *env, jobject me) { + + init(env); + + SWModule *module = getModule(env, me); + + jstring retVal = 0; + if (module) { + retVal = env->NewStringUTF(assureValidUTF8(((const char *)(module->getRenderHeader() ? module->getRenderHeader():"")))); + } + return retVal; +} + + +/* + * Class: org_crosswire_android_sword_SWModule * Method: terminateSearch * Signature: ()V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_terminateSearch - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -590,13 +998,14 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_terminateSearch * Signature: ()C */ JNIEXPORT jchar JNICALL Java_org_crosswire_android_sword_SWModule_error - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); - return (module) ? module->popError() : -99; + int error = (module) ? module->popError() : -99; + return error; } @@ -606,9 +1015,9 @@ JNIEXPORT jchar JNICALL Java_org_crosswire_android_sword_SWModule_error * Signature: ()J */ JNIEXPORT jlong JNICALL Java_org_crosswire_android_sword_SWModule_getEntrySize - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -622,9 +1031,9 @@ JNIEXPORT jlong JNICALL Java_org_crosswire_android_sword_SWModule_getEntrySize * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)[Ljava/lang/String; */ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getEntryAttribute - (JNIEnv *env, jobject me, jstring level1JS, jstring level2JS, jstring level3JS, jboolean filteredJS) { + (JNIEnv *env, jobject me, jstring level1JS, jstring level2JS, jstring level3JS, jboolean filteredJS) { - init(); + init(env); const char *level1 = env->GetStringUTFChars(level1JS, NULL); const char *level2 = env->GetStringUTFChars(level2JS, NULL); @@ -646,7 +1055,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getEntr sword::AttributeList::iterator i2Start, i2End; sword::AttributeValue::iterator i3Start, i3End; - if ((level1) && (*level1)) { + if ((level1) && (*level1) && *level1 != '-') { i1Start = entryAttribs.find(level1); i1End = i1Start; if (i1End != entryAttribs.end()) @@ -657,35 +1066,54 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getEntr i1End = entryAttribs.end(); } for (;i1Start != i1End; ++i1Start) { - if ((level2) && (*level2)) { - i2Start = i1Start->second.find(level2); - i2End = i2Start; - if (i2End != i1Start->second.end()) - ++i2End; + if (level1 && *level1 && *level1 == '-') { + results.push_back(i1Start->first); } else { - i2Start = i1Start->second.begin(); - i2End = i1Start->second.end(); - } - for (;i2Start != i2End; ++i2Start) { - if ((level3) && (*level3)) { - i3Start = i2Start->second.find(level3); - i3End = i3Start; - if (i3End != i2Start->second.end()) - ++i3End; + if (level2 && *level2 && *level2 != '-') { + i2Start = i1Start->second.find(level2); + i2End = i2Start; + if (i2End != i1Start->second.end()) + ++i2End; } else { - i3Start = i2Start->second.begin(); - i3End = i2Start->second.end(); + i2Start = i1Start->second.begin(); + i2End = i1Start->second.end(); } - for (;i3Start != i3End; ++i3Start) { - results.push_back(i3Start->second); + for (;i2Start != i2End; ++i2Start) { + if (level2 && *level2 && *level2 == '-') { + results.push_back(i2Start->first); + } + else { + // allow '-' to get all keys; allow '*' to get all key=value + if (level3 && *level3 && *level3 != '-' && *level3 != '*') { + i3Start = i2Start->second.find(level3); + i3End = i3Start; + if (i3End != i2Start->second.end()) + ++i3End; + } + else { + i3Start = i2Start->second.begin(); + i3End = i2Start->second.end(); + } + for (;i3Start != i3End; ++i3Start) { + if (level3 && *level3 && *level3 == '-') { + results.push_back(i3Start->first); + } + else if (level3 && *level3 && *level3 == '*') { + results.push_back(i3Start->first + "=" + i3Start->second); + } + else { + results.push_back(i3Start->second); + } + } + if (i3Start != i3End) + break; + } } - if (i3Start != i3End) + if (i2Start != i2End) break; } - if (i2Start != i2End) - break; } ret = (jobjectArray) env->NewObjectArray(results.size(), clazzString, NULL); @@ -716,9 +1144,9 @@ SWLog::getSystemLog()->logDebug("getEntryAttributes: size returned: %d", results * Signature: (Ljava/lang/String;)[Ljava/lang/String; */ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_parseKeyList - (JNIEnv *env, jobject me, jstring keyListTextJS) { + (JNIEnv *env, jobject me, jstring keyListTextJS) { - init(); + init(env); const char *keyListText = env->GetStringUTFChars(keyListTextJS, NULL); @@ -761,9 +1189,9 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_parseKe * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_org_crosswire_android_sword_SWModule_hasKeyChildren - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -786,9 +1214,9 @@ JNIEXPORT jboolean JNICALL Java_org_crosswire_android_sword_SWModule_hasKeyChild * Signature: ()[Ljava/lang/String; */ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getKeyChildren - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); jclass clazzString = env->FindClass("java/lang/String"); @@ -802,7 +1230,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getKeyC sword::VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key); if (vkey) { - ret = (jobjectArray) env->NewObjectArray(7, clazzString, NULL); + ret = (jobjectArray) env->NewObjectArray(10, clazzString, NULL); SWBuf num; num.appendFormatted("%d", vkey->getTestament()); env->SetObjectArrayElement(ret, 0, env->NewStringUTF(assureValidUTF8(num.c_str()))); @@ -822,6 +1250,9 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getKeyC num.appendFormatted("%d", vkey->getVerseMax()); env->SetObjectArrayElement(ret, 5, env->NewStringUTF(assureValidUTF8(num.c_str()))); env->SetObjectArrayElement(ret, 6, env->NewStringUTF(assureValidUTF8(vkey->getBookName()))); + env->SetObjectArrayElement(ret, 7, env->NewStringUTF(assureValidUTF8(vkey->getOSISRef()))); + env->SetObjectArrayElement(ret, 8, env->NewStringUTF(assureValidUTF8(vkey->getShortText()))); + env->SetObjectArrayElement(ret, 9, env->NewStringUTF(assureValidUTF8(vkey->getBookAbbrev()))); } else { TreeKeyIdx *tkey = SWDYNAMIC_CAST(TreeKeyIdx, key); @@ -844,8 +1275,8 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getKeyC } } } - return ret; } + return ret; } @@ -855,9 +1286,9 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_getKeyC * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getKeyParent - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWBuf retVal = ""; @@ -885,9 +1316,9 @@ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getKeyParent * Signature: ()V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_previous - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -904,9 +1335,9 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_previous * Signature: ()V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_next - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -923,9 +1354,9 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_next * Signature: ()V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_begin - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -942,9 +1373,9 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_begin * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getStripText - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWBuf retVal = ""; @@ -965,9 +1396,9 @@ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getStripText * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getRawEntry - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWBuf retVal = ""; @@ -988,9 +1419,9 @@ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getRawEntry * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_setRawEntry - (JNIEnv *env, jobject me, jstring newEntryTextJS) { + (JNIEnv *env, jobject me, jstring newEntryTextJS) { - init(); + init(env); const char *newEntryText = env->GetStringUTFChars(newEntryTextJS, NULL); @@ -1005,34 +1436,15 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_setRawEntry } -jstring newBigString(JNIEnv *env, const char *buf) { - SWBuf str = assureValidUTF8(buf); - jclass stringClass = env->FindClass("java/lang/String"); - jmethodID ctorID = env->GetMethodID(stringClass, "<init>", "([B)V"); - - jstring result; -SWLog::getSystemLog()->logDebug("newBigString: making byte array size: %d", str.size()); - jbyteArray bytes = env->NewByteArray(str.size()); -SWLog::getSystemLog()->logDebug("newBigString: setting array region"); - - env->SetByteArrayRegion(bytes, 0, str.size(), (jbyte *)str.c_str()); -SWLog::getSystemLog()->logDebug("newBigString: newing string"); - result = (jstring)env->NewObject(stringClass, ctorID, bytes); - env->DeleteLocalRef(bytes); -SWLog::getSystemLog()->logDebug("newBigString: returning"); - return result; -} - - /* * Class: org_crosswire_android_sword_SWModule * Method: getConfigEntry * Signature: (Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getConfigEntry - (JNIEnv *env, jobject me, jstring configKeyJS) { + (JNIEnv *env, jobject me, jstring configKeyJS) { - init(); + init(env); jstring retVal = 0; @@ -1043,8 +1455,12 @@ SWLog::getSystemLog()->logDebug("getConfigEntry(%s)\n", configKey); SWModule *module = getModule(env, me); if (module) { - SWBuf about = module->getConfigEntry(configKey); - SWBuf assuredBuf = assureValidUTF8(about.c_str()); + SWBuf confValue = module->getConfigEntry(configKey); + // special processing if we're requesting About-- kindof cheese + if (!strcmp("About", configKey)) { + RTFHTML().processText(confValue); + } + SWBuf assuredBuf = assureValidUTF8(confValue.c_str()); retVal = env->NewStringUTF(assuredBuf.c_str()); } @@ -1060,9 +1476,9 @@ SWLog::getSystemLog()->logDebug("getConfigEntry(%s)\n", configKey); * Signature: ()V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_deleteSearchFramework - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -1079,9 +1495,9 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_deleteSearchFra * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_org_crosswire_android_sword_SWModule_hasSearchFramework - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - init(); + init(env); SWModule *module = getModule(env, me); @@ -1101,6 +1517,9 @@ struct pu { void percentUpdate(char percent, void *userData) { struct pu *p = (struct pu *)userData; + // assert we've actually been given a progressReporter + if (!p->progressReporter) return; + if (percent != p->last) { p->last = percent; jclass cls = p->env->GetObjectClass(p->progressReporter); @@ -1108,6 +1527,7 @@ void percentUpdate(char percent, void *userData) { if (mid != 0) { p->env->CallVoidMethod(p->progressReporter, mid, (jint)percent); } + p->env->DeleteLocalRef(cls); } } @@ -1118,14 +1538,14 @@ void percentUpdate(char percent, void *userData) { * Signature: (Ljava/lang/String;IJLjava/lang/String;Lorg/crosswire/android/sword/SWModule/SearchProgressReporter;)[Lorg/crosswire/android/sword/SWModule/SearchHit; */ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search - (JNIEnv *env, jobject me, jstring expressionJS, jint srchType, jlong flags, jstring scopeJS, jobject progressReporter) { + (JNIEnv *env, jobject me, jstring expressionJS, jint srchType, jlong flags, jstring scopeJS, jobject progressReporter) { - init(); + init(env); const int MAX_RETURN_COUNT = 999999; const char *expression = env->GetStringUTFChars(expressionJS, NULL); - const char *scope = env->GetStringUTFChars(scopeJS, NULL); + const char *scope = scopeJS ? env->GetStringUTFChars(scopeJS, NULL) : 0; jclass clazzSearchHit = env->FindClass("org/crosswire/android/sword/SWModule$SearchHit"); jobjectArray ret = 0; @@ -1133,7 +1553,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search SWModule *module = getModule(env, me); // TODO: remove this from the stack - struct pu peeuuu(env, progressReporter); + pu *peeuuu = new pu(env, progressReporter); if (module) { sword::ListKey lscope; @@ -1148,10 +1568,12 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search } *parser = module->getKeyText(); lscope = parser->parseVerseList(scope, *parser, true); - result = module->search(expression, srchType, flags, &lscope, 0, &percentUpdate, &peeuuu); + result = module->search(expression, srchType, flags, &lscope, 0, &percentUpdate, peeuuu); delete parser; } - else result = module->search(expression, srchType, flags, 0, 0, &percentUpdate, &peeuuu); + else result = module->search(expression, srchType, flags, 0, 0, &percentUpdate, peeuuu); + + delete peeuuu; int count = 0; for (result = sword::TOP; !result.popError(); result++) count++; @@ -1187,7 +1609,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search env->DeleteLocalRef(modName); } - env->ReleaseStringUTFChars(scopeJS, scope); + if (scope) env->ReleaseStringUTFChars(scopeJS, scope); env->ReleaseStringUTFChars(expressionJS, expression); return (ret) ? ret : (jobjectArray) env->NewObjectArray(0, clazzSearchHit, NULL); @@ -1204,7 +1626,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search * Signature: ()V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_InstallMgr_reInit - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { delete installMgr; installMgr = 0; @@ -1217,9 +1639,9 @@ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_InstallMgr_reInit * Signature: ()I */ JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_syncConfig - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - initInstall(); + initInstall(env); return installMgr->refreshRemoteSourceConfiguration(); } @@ -1231,10 +1653,10 @@ JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_syncConfig * Signature: (Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_uninstallModule - (JNIEnv *env, jobject me, jstring modNameJS) { + (JNIEnv *env, jobject me, jstring modNameJS) { - init(); - initInstall(); + init(env); + initInstall(env); const char *modName = env->GetStringUTFChars(modNameJS, NULL); @@ -1260,9 +1682,9 @@ SWLog::getSystemLog()->logDebug("uninstallModule %s\n", modName); * Signature: ()[Ljava/lang/String; */ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_InstallMgr_getRemoteSources - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - initInstall(); + initInstall(env); jclass clazzString = env->FindClass("java/lang/String"); jobjectArray ret; @@ -1271,6 +1693,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_InstallMgr_getRe for (InstallSourceMap::iterator it = installMgr->sources.begin(); it != installMgr->sources.end(); ++it) { count++; } +SWLog::getSystemLog()->logDebug("getRemoteSources: count: %d\n", count); ret = (jobjectArray) env->NewObjectArray(count, clazzString, NULL); count = 0; for (InstallSourceMap::iterator it = installMgr->sources.begin(); it != installMgr->sources.end(); ++it) { @@ -1287,9 +1710,9 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_InstallMgr_getRe * Signature: (Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_refreshRemoteSource - (JNIEnv *env, jobject me, jstring sourceNameJS) { + (JNIEnv *env, jobject me, jstring sourceNameJS) { - initInstall(); + initInstall(env); const char *sourceName = env->GetStringUTFChars(sourceNameJS, NULL); @@ -1310,11 +1733,11 @@ JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_refreshRemote * Signature: (Ljava/lang/String;)[Lorg/crosswire/android/sword/SWMgr/ModInfo; */ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_InstallMgr_getRemoteModInfoList - (JNIEnv *env, jobject me, jstring sourceNameJS) { + (JNIEnv *env, jobject me, jstring sourceNameJS) { SWLog::getSystemLog()->logDebug("getRemoteModInfoList\n"); - init(); - initInstall(); + init(env); + initInstall(env); const char *sourceName = env->GetStringUTFChars(sourceNameJS, NULL); SWLog::getSystemLog()->logDebug("sourceName: %s\n", sourceName); @@ -1378,16 +1801,16 @@ SWLog::getSystemLog()->logDebug("remoteListModules returning %d length array\n", return ret; } - /* * Class: org_crosswire_android_sword_InstallMgr * Method: remoteInstallModule * Signature: (Ljava/lang/String;Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_remoteInstallModule - (JNIEnv *env, jobject me, jstring sourceNameJS, jstring modNameJS) { + (JNIEnv *env, jobject me, jstring sourceNameJS, jstring modNameJS, jobject progressReporter) { - initInstall(); + init(env); + initInstall(env, progressReporter); const char *sourceName = env->GetStringUTFChars(sourceNameJS, NULL); SWLog::getSystemLog()->logDebug("remoteInstallModule: sourceName: %s\n", sourceName); @@ -1415,6 +1838,17 @@ SWLog::getSystemLog()->logDebug("remoteInstallModule: modName: %s\n", modName); int error = installMgr->installModule(mgr, 0, module->getName(), is); + if (progressReporter) { + jclass cls = env->GetObjectClass(progressReporter); + jmethodID mid = env->GetMethodID(cls, "preStatus", "(JJLjava/lang/String;)V"); + if (mid != 0) { + jstring msg = env->NewStringUTF("Complete"); + env->CallVoidMethod(progressReporter, mid, (jlong)0, (jlong)0, msg); + env->DeleteLocalRef(msg); + } + env->DeleteLocalRef(cls); + } + return error; } @@ -1425,11 +1859,11 @@ SWLog::getSystemLog()->logDebug("remoteInstallModule: modName: %s\n", modName); * Signature: (Ljava/lang/String;Ljava/lang/String;)Lorg/crosswire/android/sword/SWModule; */ JNIEXPORT jobject JNICALL Java_org_crosswire_android_sword_InstallMgr_getRemoteModuleByName - (JNIEnv *env, jobject me, jstring sourceNameJS, jstring modNameJS) { + (JNIEnv *env, jobject me, jstring sourceNameJS, jstring modNameJS) { jobject retVal = 0; - initInstall(); + initInstall(env); const char *sourceName = env->GetStringUTFChars(sourceNameJS, NULL); SWLog::getSystemLog()->logDebug("getRemoteModuleByName: sourceName: %s\n", sourceName); @@ -1443,9 +1877,9 @@ SWLog::getSystemLog()->logDebug("Couldn't find remote source [%s]\n", sourceName SWMgr *mgr = source->second->getMgr(); - const char *modName = env->GetStringUTFChars(modNameJS, NULL); + const char *modName = env->GetStringUTFChars(modNameJS, NULL); sword::SWModule *module = mgr->getModule(modName); - env->ReleaseStringUTFChars(modNameJS, modName); + env->ReleaseStringUTFChars(modNameJS, modName); if (module) { SWBuf type = module->getType(); @@ -1471,10 +1905,56 @@ SWLog::getSystemLog()->logDebug("Couldn't find remote source [%s]\n", sourceName * Signature: ()V */ JNIEXPORT void JNICALL Java_org_crosswire_android_sword_InstallMgr_setUserDisclaimerConfirmed - (JNIEnv *env, jobject me) { + (JNIEnv *env, jobject me) { - initInstall(); + initInstall(env); + disclaimerConfirmed = true; installMgr->setUserDisclaimerConfirmed(true); } + +/* + * Class: org_crosswire_android_sword_SWMgr + * Method: sendBibleSyncMessage + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_sendBibleSyncMessage + (JNIEnv *env, jobject me, jstring osisRefJS) { + + initBibleSync(); + const char *osisRef = env->GetStringUTFChars(osisRefJS, NULL); + +#ifdef BIBLESYNC + BibleSync_xmit_status retval = bibleSync->Transmit(BSP_SYNC, "Bible", osisRef); +#endif + + env->ReleaseStringUTFChars(osisRefJS, osisRef); +} + + +/* + * NOTE: this method blocks and should be called in a new thread + * Class: org_crosswire_android_sword_SWMgr + * Method: registerBibleSyncListener + * Signature: (Ljava/lang/Object;)V + */ +JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_registerBibleSyncListener + (JNIEnv *env, jobject me, jobject bibleSyncListener) { + +#ifdef BIBLESYNC +SWLog::getSystemLog()->logDebug("registerBibleSyncListener"); + ::bibleSyncListener = bibleSyncListener; + ::bibleSyncListenerEnv = env; +SWLog::getSystemLog()->logDebug("registerBibleSyncListener - calling init"); + initBibleSync(); +SWLog::getSystemLog()->logDebug("registerBibleSyncListener - starting while listener"); + while(::bibleSyncListener) { +SWLog::getSystemLog()->logDebug("bibleSyncListener - while loop iteration"); + BibleSync::Receive(bibleSync); +SWLog::getSystemLog()->logDebug("bibleSyncListener - sleeping for 2 seconds"); + sleep(2); + } +#endif +} + diff --git a/bindings/java-jni/jni/webmgr.hpp b/bindings/java-jni/jni/webmgr.hpp deleted file mode 100644 index e70adbf..0000000 --- a/bindings/java-jni/jni/webmgr.hpp +++ /dev/null @@ -1,120 +0,0 @@ -/****************************************************************************** - * - * webmgr.cpp - - * - * $Id: webmgr.hpp 2894 2013-07-16 04:38:43Z scribe $ - * - * Copyright 2009-2013 CrossWire Bible Society (http://www.crosswire.org) - * CrossWire Bible Society - * P. O. Box 2528 - * Tempe, AZ 85280-2528 - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation version 2. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - */ - -#ifndef WEBMGR_HPP -#define WEBMGR_HPP - -#include <swmgr.h> -#include <swmodule.h> -#include <swfilter.h> -#include <markupfiltmgr.h> -#include <osiswordjs.h> -#include <thmlwordjs.h> -#include <gbfwordjs.h> - -using namespace sword; - -class WebMgr : public SWMgr { - OSISWordJS *osisWordJS; - ThMLWordJS *thmlWordJS; - GBFWordJS *gbfWordJS; - SWModule *defaultGreekLex; - SWModule *defaultHebLex; - SWModule *defaultGreekParse; - SWModule *defaultHebParse; - -public: -// WebMgr(SWConfig *sysConf) : SWMgr(0, sysConf, false, new MarkupFilterMgr(FMT_WEBIF)) { - WebMgr(const char *path) : SWMgr(path, false, new MarkupFilterMgr(FMT_WEBIF)) { - defaultGreekLex = 0; - defaultHebLex = 0; - defaultGreekParse = 0; - defaultHebParse = 0; - - osisWordJS = new OSISWordJS(); - thmlWordJS = new ThMLWordJS(); - gbfWordJS = new GBFWordJS(); - Load(); - osisWordJS->setDefaultModules(defaultGreekLex, defaultHebLex, defaultGreekParse, defaultHebParse); - thmlWordJS->setDefaultModules(defaultGreekLex, defaultHebLex, defaultGreekParse, defaultHebParse); - gbfWordJS->setDefaultModules(defaultGreekLex, defaultHebLex, defaultGreekParse, defaultHebParse); - osisWordJS->setMgr(this); - thmlWordJS->setMgr(this); - gbfWordJS->setMgr(this); - setGlobalOption("Textual Variants", "Primary Reading"); - } - - ~WebMgr() { - delete osisWordJS; - delete thmlWordJS; - delete gbfWordJS; - } - - - void AddGlobalOptions(SWModule *module, ConfigEntMap §ion, ConfigEntMap::iterator start, ConfigEntMap::iterator end) { - - // ThML word stuff needs to process before strongs strip - if (module->getMarkup() == FMT_THML) { - module->addOptionFilter(thmlWordJS); - } - - if (module->getMarkup() == FMT_GBF) { - module->addOptionFilter(gbfWordJS); - } - - // add other module filters - SWMgr::AddGlobalOptions(module, section, start, end); - - // add our special filters - if (module->getConfig().has("Feature", "GreekDef")) { - defaultGreekLex = module; - } - if (module->getConfig().has("Feature", "HebrewDef")) { - defaultHebLex = module; - } - if (module->getConfig().has("Feature", "GreekParse")) { - defaultGreekParse = module; - } - if (module->getConfig().has("Feature", "HebrewParse")) { - defaultHebParse = module; - } - if (module->getConfig().has("GlobalOptionFilter", "ThMLVariants")) { - OptionFilterMap::iterator it = optionFilters.find("ThMLVariants"); - if (it != optionFilters.end()) { - module->addOptionFilter((*it).second); // add filter to module and option as a valid option - } - } - - if (module->getMarkup() == FMT_OSIS) { - module->addOptionFilter(osisWordJS); - } - } - - - void setJavascript(bool val) { - osisWordJS->setOptionValue((val)?"On":"Off"); - thmlWordJS->setOptionValue((val)?"On":"Off"); - gbfWordJS->setOptionValue((val)?"On":"Off"); - } -}; - -#endif diff --git a/bindings/java-jni/src/org/crosswire/android/sword/InstallMgr.java b/bindings/java-jni/src/org/crosswire/android/sword/InstallMgr.java index 3edbd58..b1b5b0a 100644 --- a/bindings/java-jni/src/org/crosswire/android/sword/InstallMgr.java +++ b/bindings/java-jni/src/org/crosswire/android/sword/InstallMgr.java @@ -2,7 +2,7 @@ * * InstallMgr.java - * - * $Id: InstallMgr.java 2833 2013-06-29 06:40:28Z chrislit $ + * $Id: InstallMgr.java 3229 2014-05-09 09:32:36Z scribe $ * * Copyright 2009-2013 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society @@ -23,6 +23,11 @@ package org.crosswire.android.sword; public class InstallMgr { + + public static interface InstallProgressReporter { + public void update(long totalBytes, long completedBytes); + public void preStatus(long totalBytes, long completedBytes, String message); + } public native void reInit(); @@ -32,7 +37,8 @@ public class InstallMgr { public native String [] getRemoteSources(); public native int refreshRemoteSource(String sourceName); public native SWMgr.ModInfo [] getRemoteModInfoList(String sourceName); - public native int remoteInstallModule(String sourceName, String modName); + public native int remoteInstallModule(String sourceName, String modName, InstallProgressReporter progressReporter); + public int remoteInstallModule(String sourceName, String modName) { return remoteInstallModule(sourceName, modName, null); } public native SWModule getRemoteModuleByName(String source, String name); } diff --git a/bindings/java-jni/src/org/crosswire/android/sword/SWMgr.java b/bindings/java-jni/src/org/crosswire/android/sword/SWMgr.java index 2ae2e01..a77ef8b 100644 --- a/bindings/java-jni/src/org/crosswire/android/sword/SWMgr.java +++ b/bindings/java-jni/src/org/crosswire/android/sword/SWMgr.java @@ -2,7 +2,7 @@ * * SWMgr.java - * - * $Id: SWMgr.java 2833 2013-06-29 06:40:28Z chrislit $ + * $Id: SWMgr.java 3515 2017-11-01 11:38:09Z scribe $ * * Copyright 2009-2013 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society @@ -37,6 +37,12 @@ public class SWMgr { public String delta; } + public SWMgr() { + reInit(); + } + public SWMgr(boolean init) { + if (init) reInit(); + } public native String version(); public native void reInit(); @@ -55,6 +61,31 @@ public class SWMgr { public native void setJavascript(boolean val); public native String[] getAvailableLocales(); public native void setDefaultLocale(String name); + + /** + * add a conf snippet to extraConfig. This is useful for adding a config section + * sent from a module unlock key app. + * @param blob + * @return an array of section names which were contained in the blob + */ + public native String[] addExtraConfig(String blob); + public native void setExtraConfigValue(String section, String key, String value); + public native String[] getExtraConfigSections(); + public native String[] getExtraConfigKeys(String section); + public native String getExtraConfigValue(String section, String key); + + public static interface BibleSyncListener { + public void messageReceived(String osisRef); + } + public native void sendBibleSyncMessage(String osisRef); + public native void registerBibleSyncListener(BibleSyncListener listener); + public String getStorageBasePath() { + return "."; +/* + Context context = app.getApplicationContext(); + return context.getFilesDir().getAbsolutePath(); +*/ + } } diff --git a/bindings/java-jni/src/org/crosswire/android/sword/SWModule.java b/bindings/java-jni/src/org/crosswire/android/sword/SWModule.java index c7d4707..238bf28 100644 --- a/bindings/java-jni/src/org/crosswire/android/sword/SWModule.java +++ b/bindings/java-jni/src/org/crosswire/android/sword/SWModule.java @@ -2,7 +2,7 @@ * * SWModule.java - * - * $Id: SWModule.java 2833 2013-06-29 06:40:28Z chrislit $ + * $Id: SWModule.java 3237 2014-05-22 08:02:06Z scribe $ * * Copyright 2009-2013 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society @@ -38,6 +38,17 @@ public class SWModule { public static final int SEARCHTYPE_ENTRYATTR = -3; public static final int SEARCHTYPE_LUCENE = -4; + public static final int VERSEKEY_TESTAMENT = 0; + public static final int VERSEKEY_BOOK = 1; + public static final int VERSEKEY_CHAPTER = 2; + public static final int VERSEKEY_VERSE = 3; + public static final int VERSEKEY_CHAPTERMAX = 4; + public static final int VERSEKEY_VERSEMAX = 5; + public static final int VERSEKEY_BOOKNAME = 6; + public static final int VERSEKEY_OSISREF = 7; + public static final int VERSEKEY_SHORTTEXT = 8; + public static final int VERSEKEY_BOOKABBREV = 9; + private SWModule() {} // don't allow allocation, instead use factory method SWMgr.getModuleByName to retrieve an instance public static class SearchHit { @@ -78,6 +89,7 @@ public class SWModule { public native void next(); public native void begin(); public native String getStripText(); + public native String getRenderHeader(); public native String getRenderText(); public native String getRawEntry(); public native void setRawEntry(String entryBuffer); diff --git a/bindings/objc/LongRunningTests/Info.plist b/bindings/objc/LongRunningTests/Info.plist new file mode 100644 index 0000000..ba72822 --- /dev/null +++ b/bindings/objc/LongRunningTests/Info.plist @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleExecutable</key> + <string>$(EXECUTABLE_NAME)</string> + <key>CFBundleIdentifier</key> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundlePackageType</key> + <string>BNDL</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1</string> +</dict> +</plist> diff --git a/bindings/objc/Makefile b/bindings/objc/Makefile new file mode 100644 index 0000000..c74e120 --- /dev/null +++ b/bindings/objc/Makefile @@ -0,0 +1,21 @@ +# +# First enter dependencies/ and run make +# +# Then open this project ObjCSword.xcodeproj with xcode, select Product|Scheme|SWORD (note all caps) +# Build +# +# Then come here and type make +# + +all: deploycordova + +deploycordova: + mkdir -p ../cordova/org.crosswire.sword.cordova.SWORD/libs/ios/ + cp ./dependencies/curl/lib/libcurl.a ../cordova/org.crosswire.sword.cordova.SWORD/libs/ios/ +# cp ./Build/Debug-iphonesimulator/libSWORD.a ../cordova/org.crosswire.sword.cordova.SWORD/libs/ios/ +# cp ./Build/Debug-iphoneos/libSWORD.a ../cordova/org.crosswire.sword.cordova.SWORD/libs/ios/ + cp SWORD/Release-universal/libSWORD.a ../cordova/org.crosswire.sword.cordova.SWORD/libs/ios/ + cp ../../include/defs.h ../../include/flatapi.h ../cordova/org.crosswire.sword.cordova.SWORD/src/ios/ + + + diff --git a/bindings/objc/ObjCSword.h b/bindings/objc/ObjCSword.h index 5f2f5ce..f96009b 100644 --- a/bindings/objc/ObjCSword.h +++ b/bindings/objc/ObjCSword.h @@ -26,6 +26,9 @@ #import <ObjCSword/SwordInstallSourceManager.h> #import <ObjCSword/SwordModuleTextEntry.h> #import <ObjCSword/SwordModuleTreeEntry.h> +#import <ObjCSword/SwordFilter.h> #import <ObjCSword/VerseEnumerator.h> #import <ObjCSword/Configuration.h> #import <ObjCSword/OSXConfiguration.h> +#import <ObjCSword/FilterProviderFactory.h> +#import <ObjCSword/DefaultFilterProvider.h> diff --git a/bindings/objc/ObjCSword.xcodeproj/project.pbxproj b/bindings/objc/ObjCSword.xcodeproj/project.pbxproj index 8598424..58e6b0d 100644 --- a/bindings/objc/ObjCSword.xcodeproj/project.pbxproj +++ b/bindings/objc/ObjCSword.xcodeproj/project.pbxproj @@ -13,7 +13,6 @@ buildPhases = ( ); dependencies = ( - A9D271FF14D7193A00DA8926 /* PBXTargetDependency */, A9D2720114D7194E00DA8926 /* PBXTargetDependency */, A9D2720314D7194E00DA8926 /* PBXTargetDependency */, A9D2720514D7194E00DA8926 /* PBXTargetDependency */, @@ -37,14 +36,540 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 0A011DA71FB4142500778C2B /* sword.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A011D9E1FB4142500778C2B /* sword.framework */; }; + 0A011DAC1FB4142500778C2B /* SWORDTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A011DAB1FB4142500778C2B /* SWORDTests.m */; }; + 0A011DB51FB4149000778C2B /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67401C6BCD9600EB1A49 /* adler32.c */; }; + 0A011DB61FB4149000778C2B /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67411C6BCD9600EB1A49 /* compress.c */; }; + 0A011DB71FB4149000778C2B /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67421C6BCD9600EB1A49 /* crc32.c */; }; + 0A011DB81FB4149000778C2B /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67441C6BCD9600EB1A49 /* deflate.c */; }; + 0A011DB91FB4149000778C2B /* gzclose.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67461C6BCD9600EB1A49 /* gzclose.c */; }; + 0A011DBA1FB4149000778C2B /* gzlib.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67481C6BCD9600EB1A49 /* gzlib.c */; }; + 0A011DBB1FB4149000778C2B /* gzread.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67491C6BCD9600EB1A49 /* gzread.c */; }; + 0A011DBC1FB4149000778C2B /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB674A1C6BCD9600EB1A49 /* gzwrite.c */; }; + 0A011DBD1FB4149000778C2B /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB674B1C6BCD9600EB1A49 /* infback.c */; }; + 0A011DBE1FB4149000778C2B /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB674C1C6BCD9600EB1A49 /* inffast.c */; }; + 0A011DBF1FB4149000778C2B /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB674F1C6BCD9600EB1A49 /* inflate.c */; }; + 0A011DC01FB4149000778C2B /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67511C6BCD9600EB1A49 /* inftrees.c */; }; + 0A011DC11FB4149000778C2B /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67531C6BCD9600EB1A49 /* trees.c */; }; + 0A011DC21FB4149000778C2B /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67551C6BCD9600EB1A49 /* uncompr.c */; }; + 0A011DC31FB4149000778C2B /* untgz.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67561C6BCD9600EB1A49 /* untgz.c */; }; + 0A011DC41FB4149000778C2B /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67591C6BCD9600EB1A49 /* zutil.c */; }; + 0A011DC51FB4149000778C2B /* ftplib.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D013EE98B30094E3FE /* ftplib.c */; }; + 0A011DC61FB4149000778C2B /* ftpparse.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D113EE98B30094E3FE /* ftpparse.c */; }; + 0A011DC71FB4149000778C2B /* roman.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D513EE98B30094E3FE /* roman.cpp */; }; + 0A011DC81FB4149000778C2B /* swbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D613EE98B30094E3FE /* swbuf.cpp */; }; + 0A011DC91FB4149000778C2B /* swobject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D713EE98B30094E3FE /* swobject.cpp */; }; + 0A011DCA1FB4149000778C2B /* swversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D913EE98B30094E3FE /* swversion.cpp */; }; + 0A011DCB1FB4149000778C2B /* url.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8DA13EE98B30094E3FE /* url.cpp */; }; + 0A011DCC1FB4149000778C2B /* utilstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8DB13EE98B30094E3FE /* utilstr.cpp */; }; + 0A011DCD1FB4149000778C2B /* utilxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8DC13EE98B30094E3FE /* utilxml.cpp */; }; + 0A011DCE1FB414A900778C2B /* remotetrans.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2351176AF188008D714B /* remotetrans.cpp */; }; + 0A011DCF1FB414A900778C2B /* versificationmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A91C8B66175233F3008702B9 /* versificationmgr.cpp */; }; + 0A011DD01FB414A900778C2B /* curlftpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81813EE98B30094E3FE /* curlftpt.cpp */; }; + 0A011DD11FB414A900778C2B /* curlhttpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81913EE98B30094E3FE /* curlhttpt.cpp */; }; + 0A011DD21FB414A900778C2B /* encfiltmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81A13EE98B30094E3FE /* encfiltmgr.cpp */; }; + 0A011DD31FB414A900778C2B /* filemgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81B13EE98B30094E3FE /* filemgr.cpp */; }; + 0A011DD41FB414A900778C2B /* ftplibftpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81C13EE98B30094E3FE /* ftplibftpt.cpp */; }; + 0A011DD51FB414A900778C2B /* installmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81E13EE98B30094E3FE /* installmgr.cpp */; }; + 0A011DD61FB414A900778C2B /* localemgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81F13EE98B30094E3FE /* localemgr.cpp */; }; + 0A011DD71FB414A900778C2B /* markupfiltmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82213EE98B30094E3FE /* markupfiltmgr.cpp */; }; + 0A011DD81FB414A900778C2B /* stringmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82313EE98B30094E3FE /* stringmgr.cpp */; }; + 0A011DD91FB414A900778C2B /* swcacher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82413EE98B30094E3FE /* swcacher.cpp */; }; + 0A011DDA1FB414A900778C2B /* swconfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82513EE98B30094E3FE /* swconfig.cpp */; }; + 0A011DDB1FB414A900778C2B /* swfiltermgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82613EE98B30094E3FE /* swfiltermgr.cpp */; }; + 0A011DDC1FB414A900778C2B /* swlocale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82713EE98B30094E3FE /* swlocale.cpp */; }; + 0A011DDD1FB414A900778C2B /* swmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82813EE98B30094E3FE /* swmgr.cpp */; }; + 0A011DDE1FB414A900778C2B /* swsearchable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82913EE98B30094E3FE /* swsearchable.cpp */; }; + 0A011DDF1FB414B200778C2B /* listkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A80913EE98B30094E3FE /* listkey.cpp */; }; + 0A011DE01FB414B200778C2B /* strkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81013EE98B30094E3FE /* strkey.cpp */; }; + 0A011DE11FB414B200778C2B /* swkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81113EE98B30094E3FE /* swkey.cpp */; }; + 0A011DE21FB414B200778C2B /* treekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81213EE98B30094E3FE /* treekey.cpp */; }; + 0A011DE31FB414B200778C2B /* treekeyidx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81313EE98B30094E3FE /* treekeyidx.cpp */; }; + 0A011DE41FB414B200778C2B /* versekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81413EE98B30094E3FE /* versekey.cpp */; }; + 0A011DE51FB414B200778C2B /* versetreekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81513EE98B30094E3FE /* versetreekey.cpp */; }; + 0A011DE61FB414BE00778C2B /* swdisp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A80113EE98B30094E3FE /* swdisp.cpp */; }; + 0A011DE71FB414BE00778C2B /* swlog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A80213EE98B30094E3FE /* swlog.cpp */; }; + 0A1F169A1FBB70E300E0AEFA /* flatapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0A1F16991FBB70E200E0AEFA /* flatapi.cpp */; }; + 0A1F169B1FBB70ED00E0AEFA /* flatapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0A1F16991FBB70E200E0AEFA /* flatapi.cpp */; }; + 0A1F16A41FBB755B00E0AEFA /* SWORD.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A1F16A31FBB755B00E0AEFA /* SWORD.m */; }; + 0A1F16A51FBB755B00E0AEFA /* SWORD.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0A1F16A21FBB755B00E0AEFA /* SWORD.h */; }; + 0A1F16A91FBB75AB00E0AEFA /* flatapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0A1F16991FBB70E200E0AEFA /* flatapi.cpp */; }; + 0A1F16AA1FBB75D600E0AEFA /* swdisp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A80113EE98B30094E3FE /* swdisp.cpp */; }; + 0A1F16AB1FBB75D600E0AEFA /* swlog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A80213EE98B30094E3FE /* swlog.cpp */; }; + 0A1F16AC1FBB75D600E0AEFA /* listkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A80913EE98B30094E3FE /* listkey.cpp */; }; + 0A1F16AD1FBB75D600E0AEFA /* strkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81013EE98B30094E3FE /* strkey.cpp */; }; + 0A1F16AE1FBB75D600E0AEFA /* swkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81113EE98B30094E3FE /* swkey.cpp */; }; + 0A1F16AF1FBB75D600E0AEFA /* treekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81213EE98B30094E3FE /* treekey.cpp */; }; + 0A1F16B01FBB75D600E0AEFA /* treekeyidx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81313EE98B30094E3FE /* treekeyidx.cpp */; }; + 0A1F16B11FBB75D600E0AEFA /* versekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81413EE98B30094E3FE /* versekey.cpp */; }; + 0A1F16B21FBB75D600E0AEFA /* versetreekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81513EE98B30094E3FE /* versetreekey.cpp */; }; + 0A1F16B31FBB75D600E0AEFA /* remotetrans.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2351176AF188008D714B /* remotetrans.cpp */; }; + 0A1F16B41FBB75D600E0AEFA /* versificationmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A91C8B66175233F3008702B9 /* versificationmgr.cpp */; }; + 0A1F16B51FBB75D600E0AEFA /* curlftpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81813EE98B30094E3FE /* curlftpt.cpp */; }; + 0A1F16B61FBB75D600E0AEFA /* curlhttpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81913EE98B30094E3FE /* curlhttpt.cpp */; }; + 0A1F16B71FBB75D600E0AEFA /* encfiltmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81A13EE98B30094E3FE /* encfiltmgr.cpp */; }; + 0A1F16B81FBB75D600E0AEFA /* filemgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81B13EE98B30094E3FE /* filemgr.cpp */; }; + 0A1F16B91FBB75D600E0AEFA /* ftplibftpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81C13EE98B30094E3FE /* ftplibftpt.cpp */; }; + 0A1F16BA1FBB75D600E0AEFA /* installmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81E13EE98B30094E3FE /* installmgr.cpp */; }; + 0A1F16BB1FBB75D600E0AEFA /* localemgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81F13EE98B30094E3FE /* localemgr.cpp */; }; + 0A1F16BC1FBB75D600E0AEFA /* markupfiltmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82213EE98B30094E3FE /* markupfiltmgr.cpp */; }; + 0A1F16BD1FBB75D600E0AEFA /* stringmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82313EE98B30094E3FE /* stringmgr.cpp */; }; + 0A1F16BE1FBB75D600E0AEFA /* swcacher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82413EE98B30094E3FE /* swcacher.cpp */; }; + 0A1F16BF1FBB75D600E0AEFA /* swconfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82513EE98B30094E3FE /* swconfig.cpp */; }; + 0A1F16C01FBB75D600E0AEFA /* swfiltermgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82613EE98B30094E3FE /* swfiltermgr.cpp */; }; + 0A1F16C11FBB75D600E0AEFA /* swlocale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82713EE98B30094E3FE /* swlocale.cpp */; }; + 0A1F16C21FBB75D600E0AEFA /* swmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82813EE98B30094E3FE /* swmgr.cpp */; }; + 0A1F16C31FBB75D600E0AEFA /* swsearchable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82913EE98B30094E3FE /* swsearchable.cpp */; }; + 0A1F16C41FBB762D00E0AEFA /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67401C6BCD9600EB1A49 /* adler32.c */; }; + 0A1F16C51FBB762D00E0AEFA /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67411C6BCD9600EB1A49 /* compress.c */; }; + 0A1F16C61FBB762D00E0AEFA /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67421C6BCD9600EB1A49 /* crc32.c */; }; + 0A1F16C71FBB762D00E0AEFA /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67441C6BCD9600EB1A49 /* deflate.c */; }; + 0A1F16C81FBB762D00E0AEFA /* gzclose.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67461C6BCD9600EB1A49 /* gzclose.c */; }; + 0A1F16C91FBB762D00E0AEFA /* gzlib.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67481C6BCD9600EB1A49 /* gzlib.c */; }; + 0A1F16CA1FBB762D00E0AEFA /* gzread.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67491C6BCD9600EB1A49 /* gzread.c */; }; + 0A1F16CB1FBB762D00E0AEFA /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB674A1C6BCD9600EB1A49 /* gzwrite.c */; }; + 0A1F16CC1FBB762D00E0AEFA /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB674B1C6BCD9600EB1A49 /* infback.c */; }; + 0A1F16CD1FBB762D00E0AEFA /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB674C1C6BCD9600EB1A49 /* inffast.c */; }; + 0A1F16CE1FBB762D00E0AEFA /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB674F1C6BCD9600EB1A49 /* inflate.c */; }; + 0A1F16CF1FBB762D00E0AEFA /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67511C6BCD9600EB1A49 /* inftrees.c */; }; + 0A1F16D01FBB762D00E0AEFA /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67531C6BCD9600EB1A49 /* trees.c */; }; + 0A1F16D11FBB762D00E0AEFA /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67551C6BCD9600EB1A49 /* uncompr.c */; }; + 0A1F16D21FBB762D00E0AEFA /* untgz.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67561C6BCD9600EB1A49 /* untgz.c */; }; + 0A1F16D31FBB762D00E0AEFA /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BB67591C6BCD9600EB1A49 /* zutil.c */; }; + 0A1F16D41FBB762D00E0AEFA /* ftplib.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D013EE98B30094E3FE /* ftplib.c */; }; + 0A1F16D51FBB762D00E0AEFA /* ftpparse.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D113EE98B30094E3FE /* ftpparse.c */; }; + 0A1F16D61FBB762D00E0AEFA /* roman.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D513EE98B30094E3FE /* roman.cpp */; }; + 0A1F16D71FBB762D00E0AEFA /* swbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D613EE98B30094E3FE /* swbuf.cpp */; }; + 0A1F16D81FBB762D00E0AEFA /* swobject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D713EE98B30094E3FE /* swobject.cpp */; }; + 0A1F16D91FBB762D00E0AEFA /* swversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D913EE98B30094E3FE /* swversion.cpp */; }; + 0A1F16DA1FBB762D00E0AEFA /* url.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8DA13EE98B30094E3FE /* url.cpp */; }; + 0A1F16DB1FBB762D00E0AEFA /* utilstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8DB13EE98B30094E3FE /* utilstr.cpp */; }; + 0A1F16DC1FBB762D00E0AEFA /* utilxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8DC13EE98B30094E3FE /* utilxml.cpp */; }; + 0A1F16DD1FBB765A00E0AEFA /* rawgenbook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8A713EE98B30094E3FE /* rawgenbook.cpp */; }; + 0A1F16DE1FBB765A00E0AEFA /* swgenbook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8A813EE98B30094E3FE /* swgenbook.cpp */; }; + 0A1F16DF1FBB765A00E0AEFA /* rawld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8AF13EE98B30094E3FE /* rawld.cpp */; }; + 0A1F16E01FBB765A00E0AEFA /* rawld4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8B313EE98B30094E3FE /* rawld4.cpp */; }; + 0A1F16E11FBB765A00E0AEFA /* swld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8B413EE98B30094E3FE /* swld.cpp */; }; + 0A1F16E21FBB765A00E0AEFA /* zld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8B813EE98B30094E3FE /* zld.cpp */; }; + 0A1F16E31FBB765A00E0AEFA /* swmodule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8BC13EE98B30094E3FE /* swmodule.cpp */; }; + 0A1F16E41FBB765A00E0AEFA /* rawtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8C613EE98B30094E3FE /* rawtext.cpp */; }; + 0A1F16E51FBB765A00E0AEFA /* rawtext4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8C913EE98B30094E3FE /* rawtext4.cpp */; }; + 0A1F16E61FBB765A00E0AEFA /* swtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8CA13EE98B30094E3FE /* swtext.cpp */; }; + 0A1F16E71FBB765A00E0AEFA /* ztext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8CE13EE98B30094E3FE /* ztext.cpp */; }; + 0A1F16E81FBB765A00E0AEFA /* ztext4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982038819A09BC000DD808C /* ztext4.cpp */; }; + 0A1F16E91FBB768100E0AEFA /* scsuutf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982039D19A0A5FA00DD808C /* scsuutf8.cpp */; }; + 0A1F16EA1FBB768100E0AEFA /* utf8scsu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982039E19A0A5FA00DD808C /* utf8scsu.cpp */; }; + 0A1F16EB1FBB768100E0AEFA /* gbflatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037919A09B7800DD808C /* gbflatex.cpp */; }; + 0A1F16EC1FBB768100E0AEFA /* osislatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037A19A09B7800DD808C /* osislatex.cpp */; }; + 0A1F16ED1FBB768100E0AEFA /* osisxlit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037B19A09B7800DD808C /* osisxlit.cpp */; }; + 0A1F16EE1FBB768100E0AEFA /* teilatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037C19A09B7800DD808C /* teilatex.cpp */; }; + 0A1F16EF1FBB768100E0AEFA /* thmllatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037D19A09B7800DD808C /* thmllatex.cpp */; }; + 0A1F16F01FBB768100E0AEFA /* osisenum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2353176AF19C008D714B /* osisenum.cpp */; }; + 0A1F16F11FBB768100E0AEFA /* osisglosses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2354176AF19C008D714B /* osisglosses.cpp */; }; + 0A1F16F21FBB768100E0AEFA /* osisreferencelinks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2355176AF19C008D714B /* osisreferencelinks.cpp */; }; + 0A1F16F31FBB768100E0AEFA /* teixhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9E9C5ED16806A2B00ECEB39 /* teixhtml.cpp */; }; + 0A1F16F41FBB768100E0AEFA /* cipherfil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85513EE98B30094E3FE /* cipherfil.cpp */; }; + 0A1F16F51FBB768100E0AEFA /* gbffootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85613EE98B30094E3FE /* gbffootnotes.cpp */; }; + 0A1F16F61FBB768100E0AEFA /* gbfheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85713EE98B30094E3FE /* gbfheadings.cpp */; }; + 0A1F16F71FBB768100E0AEFA /* gbfhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85813EE98B30094E3FE /* gbfhtml.cpp */; }; + 0A1F16F81FBB768100E0AEFA /* gbfhtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85913EE98B30094E3FE /* gbfhtmlhref.cpp */; }; + 0A1F16F91FBB768100E0AEFA /* gbfmorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85A13EE98B30094E3FE /* gbfmorph.cpp */; }; + 0A1F16FA1FBB768100E0AEFA /* gbfosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85B13EE98B30094E3FE /* gbfosis.cpp */; }; + 0A1F16FB1FBB768100E0AEFA /* gbfplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85C13EE98B30094E3FE /* gbfplain.cpp */; }; + 0A1F16FC1FBB768100E0AEFA /* gbfredletterwords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85D13EE98B30094E3FE /* gbfredletterwords.cpp */; }; + 0A1F16FD1FBB768100E0AEFA /* gbfrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85E13EE98B30094E3FE /* gbfrtf.cpp */; }; + 0A1F16FE1FBB768100E0AEFA /* gbfstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85F13EE98B30094E3FE /* gbfstrongs.cpp */; }; + 0A1F16FF1FBB768100E0AEFA /* gbfthml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86013EE98B30094E3FE /* gbfthml.cpp */; }; + 0A1F17001FBB768100E0AEFA /* gbfwebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86113EE98B30094E3FE /* gbfwebif.cpp */; }; + 0A1F17011FBB768100E0AEFA /* gbfwordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86213EE98B30094E3FE /* gbfwordjs.cpp */; }; + 0A1F17021FBB768100E0AEFA /* gbfxhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86313EE98B30094E3FE /* gbfxhtml.cpp */; }; + 0A1F17031FBB768100E0AEFA /* greeklexattribs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86413EE98B30094E3FE /* greeklexattribs.cpp */; }; + 0A1F17041FBB768100E0AEFA /* latin1utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86513EE98B30094E3FE /* latin1utf16.cpp */; }; + 0A1F17051FBB768100E0AEFA /* latin1utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86613EE98B30094E3FE /* latin1utf8.cpp */; }; + 0A1F17061FBB768100E0AEFA /* osisfootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86913EE98B30094E3FE /* osisfootnotes.cpp */; }; + 0A1F17071FBB768100E0AEFA /* osisheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86A13EE98B30094E3FE /* osisheadings.cpp */; }; + 0A1F17081FBB768100E0AEFA /* osishtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86B13EE98B30094E3FE /* osishtmlhref.cpp */; }; + 0A1F17091FBB768100E0AEFA /* osislemma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86C13EE98B30094E3FE /* osislemma.cpp */; }; + 0A1F170A1FBB768100E0AEFA /* osismorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86D13EE98B30094E3FE /* osismorph.cpp */; }; + 0A1F170B1FBB768100E0AEFA /* osismorphsegmentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86E13EE98B30094E3FE /* osismorphsegmentation.cpp */; }; + 0A1F170C1FBB768100E0AEFA /* osisosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86F13EE98B30094E3FE /* osisosis.cpp */; }; + 0A1F170D1FBB768100E0AEFA /* osisplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87013EE98B30094E3FE /* osisplain.cpp */; }; + 0A1F170E1FBB768100E0AEFA /* osisredletterwords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87113EE98B30094E3FE /* osisredletterwords.cpp */; }; + 0A1F170F1FBB768100E0AEFA /* osisrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87213EE98B30094E3FE /* osisrtf.cpp */; }; + 0A1F17101FBB768100E0AEFA /* osisscripref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87413EE98B30094E3FE /* osisscripref.cpp */; }; + 0A1F17111FBB768100E0AEFA /* osisstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87513EE98B30094E3FE /* osisstrongs.cpp */; }; + 0A1F17121FBB768100E0AEFA /* osisvariants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87613EE98B30094E3FE /* osisvariants.cpp */; }; + 0A1F17131FBB768100E0AEFA /* osiswebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87713EE98B30094E3FE /* osiswebif.cpp */; }; + 0A1F17141FBB768100E0AEFA /* osiswordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87813EE98B30094E3FE /* osiswordjs.cpp */; }; + 0A1F17151FBB768100E0AEFA /* osisxhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87913EE98B30094E3FE /* osisxhtml.cpp */; }; + 0A1F17161FBB768100E0AEFA /* papyriplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87A13EE98B30094E3FE /* papyriplain.cpp */; }; + 0A1F17171FBB768100E0AEFA /* rtfhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87D13EE98B30094E3FE /* rtfhtml.cpp */; }; + 0A1F17181FBB768100E0AEFA /* swbasicfilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87E13EE98B30094E3FE /* swbasicfilter.cpp */; }; + 0A1F17191FBB768100E0AEFA /* swoptfilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87F13EE98B30094E3FE /* swoptfilter.cpp */; }; + 0A1F171A1FBB768100E0AEFA /* teihtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88013EE98B30094E3FE /* teihtmlhref.cpp */; }; + 0A1F171B1FBB768100E0AEFA /* teiplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88113EE98B30094E3FE /* teiplain.cpp */; }; + 0A1F171C1FBB768100E0AEFA /* teirtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88213EE98B30094E3FE /* teirtf.cpp */; }; + 0A1F171D1FBB768100E0AEFA /* thmlfootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88313EE98B30094E3FE /* thmlfootnotes.cpp */; }; + 0A1F171E1FBB768100E0AEFA /* thmlgbf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88413EE98B30094E3FE /* thmlgbf.cpp */; }; + 0A1F171F1FBB768100E0AEFA /* thmlheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88513EE98B30094E3FE /* thmlheadings.cpp */; }; + 0A1F17201FBB768100E0AEFA /* thmlhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88613EE98B30094E3FE /* thmlhtml.cpp */; }; + 0A1F17211FBB768100E0AEFA /* thmlhtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88713EE98B30094E3FE /* thmlhtmlhref.cpp */; }; + 0A1F17221FBB768100E0AEFA /* thmllemma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88813EE98B30094E3FE /* thmllemma.cpp */; }; + 0A1F17231FBB768100E0AEFA /* thmlmorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88913EE98B30094E3FE /* thmlmorph.cpp */; }; + 0A1F17241FBB768100E0AEFA /* thmlosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88A13EE98B30094E3FE /* thmlosis.cpp */; }; + 0A1F17251FBB768100E0AEFA /* thmlplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88B13EE98B30094E3FE /* thmlplain.cpp */; }; + 0A1F17261FBB768100E0AEFA /* thmlrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88C13EE98B30094E3FE /* thmlrtf.cpp */; }; + 0A1F17271FBB768100E0AEFA /* thmlscripref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88D13EE98B30094E3FE /* thmlscripref.cpp */; }; + 0A1F17281FBB768100E0AEFA /* thmlstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88E13EE98B30094E3FE /* thmlstrongs.cpp */; }; + 0A1F17291FBB768100E0AEFA /* thmlvariants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88F13EE98B30094E3FE /* thmlvariants.cpp */; }; + 0A1F172A1FBB768100E0AEFA /* thmlwebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89013EE98B30094E3FE /* thmlwebif.cpp */; }; + 0A1F172B1FBB768100E0AEFA /* thmlwordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89113EE98B30094E3FE /* thmlwordjs.cpp */; }; + 0A1F172C1FBB768100E0AEFA /* thmlxhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89213EE98B30094E3FE /* thmlxhtml.cpp */; }; + 0A1F172D1FBB768100E0AEFA /* unicodertf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89313EE98B30094E3FE /* unicodertf.cpp */; }; + 0A1F172E1FBB768100E0AEFA /* utf16utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89413EE98B30094E3FE /* utf16utf8.cpp */; }; + 0A1F172F1FBB768100E0AEFA /* utf8arabicpoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89513EE98B30094E3FE /* utf8arabicpoints.cpp */; }; + 0A1F17301FBB768100E0AEFA /* utf8arshaping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89613EE98B30094E3FE /* utf8arshaping.cpp */; }; + 0A1F17311FBB768100E0AEFA /* utf8bidireorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89713EE98B30094E3FE /* utf8bidireorder.cpp */; }; + 0A1F17321FBB768100E0AEFA /* utf8cantillation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89813EE98B30094E3FE /* utf8cantillation.cpp */; }; + 0A1F17331FBB768100E0AEFA /* utf8greekaccents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89913EE98B30094E3FE /* utf8greekaccents.cpp */; }; + 0A1F17341FBB768100E0AEFA /* utf8hebrewpoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89A13EE98B30094E3FE /* utf8hebrewpoints.cpp */; }; + 0A1F17351FBB768100E0AEFA /* utf8html.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89B13EE98B30094E3FE /* utf8html.cpp */; }; + 0A1F17361FBB768100E0AEFA /* utf8latin1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89C13EE98B30094E3FE /* utf8latin1.cpp */; }; + 0A1F17371FBB768100E0AEFA /* utf8nfc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89D13EE98B30094E3FE /* utf8nfc.cpp */; }; + 0A1F17381FBB768100E0AEFA /* utf8nfkd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89E13EE98B30094E3FE /* utf8nfkd.cpp */; }; + 0A1F17391FBB768100E0AEFA /* utf8transliterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89F13EE98B30094E3FE /* utf8transliterator.cpp */; }; + 0A1F173A1FBB768100E0AEFA /* utf8utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8A013EE98B30094E3FE /* utf8utf16.cpp */; }; + 0A1F173B1FBB76A700E0AEFA /* hrefcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82E13EE98B30094E3FE /* hrefcom.cpp */; }; + 0A1F173C1FBB76A700E0AEFA /* rawcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83613EE98B30094E3FE /* rawcom.cpp */; }; + 0A1F173D1FBB76A700E0AEFA /* rawcom4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83913EE98B30094E3FE /* rawcom4.cpp */; }; + 0A1F173E1FBB76A700E0AEFA /* rawfiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83D13EE98B30094E3FE /* rawfiles.cpp */; }; + 0A1F173F1FBB76A700E0AEFA /* swcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83E13EE98B30094E3FE /* swcom.cpp */; }; + 0A1F17401FBB76A700E0AEFA /* zcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84213EE98B30094E3FE /* zcom.cpp */; }; + 0A1F17411FBB76A700E0AEFA /* zcom4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037319A09AE500DD808C /* zcom4.cpp */; }; + 0A1F17421FBB76A700E0AEFA /* bz2comprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A999FF3917951C8900E65919 /* bz2comprs.cpp */; }; + 0A1F17431FBB76A700E0AEFA /* entriesblk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84513EE98B30094E3FE /* entriesblk.cpp */; }; + 0A1F17441FBB76A700E0AEFA /* lzsscomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84613EE98B30094E3FE /* lzsscomprs.cpp */; }; + 0A1F17451FBB76A700E0AEFA /* rawstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84913EE98B30094E3FE /* rawstr.cpp */; }; + 0A1F17461FBB76A700E0AEFA /* rawstr4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84A13EE98B30094E3FE /* rawstr4.cpp */; }; + 0A1F17471FBB76A700E0AEFA /* rawverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84B13EE98B30094E3FE /* rawverse.cpp */; }; + 0A1F17481FBB76A700E0AEFA /* rawverse4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84C13EE98B30094E3FE /* rawverse4.cpp */; }; + 0A1F17491FBB76A700E0AEFA /* sapphire.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84D13EE98B30094E3FE /* sapphire.cpp */; }; + 0A1F174A1FBB76A700E0AEFA /* swcipher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84E13EE98B30094E3FE /* swcipher.cpp */; }; + 0A1F174B1FBB76A700E0AEFA /* swcomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84F13EE98B30094E3FE /* swcomprs.cpp */; }; + 0A1F174C1FBB76A700E0AEFA /* zipcomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85113EE98B30094E3FE /* zipcomprs.cpp */; }; + 0A1F174D1FBB76A700E0AEFA /* zstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85213EE98B30094E3FE /* zstr.cpp */; }; + 0A1F174E1FBB76A700E0AEFA /* zverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85313EE98B30094E3FE /* zverse.cpp */; }; + 0A1F174F1FBB76A700E0AEFA /* zverse4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037719A09B5C00DD808C /* zverse4.cpp */; }; + 0A58878C1FB41DCF00F7DAA3 /* entriesblk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84513EE98B30094E3FE /* entriesblk.cpp */; }; + 0A58878D1FB41DCF00F7DAA3 /* lzsscomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84613EE98B30094E3FE /* lzsscomprs.cpp */; }; + 0A58878E1FB41DCF00F7DAA3 /* rawstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84913EE98B30094E3FE /* rawstr.cpp */; }; + 0A58878F1FB41DCF00F7DAA3 /* rawstr4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84A13EE98B30094E3FE /* rawstr4.cpp */; }; + 0A5887901FB41DCF00F7DAA3 /* rawverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84B13EE98B30094E3FE /* rawverse.cpp */; }; + 0A5887911FB41DCF00F7DAA3 /* rawverse4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84C13EE98B30094E3FE /* rawverse4.cpp */; }; + 0A5887921FB41DCF00F7DAA3 /* sapphire.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84D13EE98B30094E3FE /* sapphire.cpp */; }; + 0A5887931FB41DCF00F7DAA3 /* swcipher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84E13EE98B30094E3FE /* swcipher.cpp */; }; + 0A5887941FB41DCF00F7DAA3 /* swcomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84F13EE98B30094E3FE /* swcomprs.cpp */; }; + 0A5887951FB41DCF00F7DAA3 /* zipcomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85113EE98B30094E3FE /* zipcomprs.cpp */; }; + 0A5887961FB41DCF00F7DAA3 /* zstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85213EE98B30094E3FE /* zstr.cpp */; }; + 0A5887971FB41DCF00F7DAA3 /* zverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85313EE98B30094E3FE /* zverse.cpp */; }; + 0A5887981FB41DCF00F7DAA3 /* zverse4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037719A09B5C00DD808C /* zverse4.cpp */; }; + 0A5887991FB41DED00F7DAA3 /* hrefcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82E13EE98B30094E3FE /* hrefcom.cpp */; }; + 0A58879A1FB41DED00F7DAA3 /* rawcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83613EE98B30094E3FE /* rawcom.cpp */; }; + 0A58879B1FB41DED00F7DAA3 /* rawcom4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83913EE98B30094E3FE /* rawcom4.cpp */; }; + 0A58879C1FB41DED00F7DAA3 /* rawfiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83D13EE98B30094E3FE /* rawfiles.cpp */; }; + 0A58879D1FB41DED00F7DAA3 /* swcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83E13EE98B30094E3FE /* swcom.cpp */; }; + 0A58879E1FB41DED00F7DAA3 /* zcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84213EE98B30094E3FE /* zcom.cpp */; }; + 0A58879F1FB41DED00F7DAA3 /* zcom4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037319A09AE500DD808C /* zcom4.cpp */; }; + 0A5887A01FB41E1500F7DAA3 /* scsuutf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982039D19A0A5FA00DD808C /* scsuutf8.cpp */; }; + 0A5887A11FB41E1500F7DAA3 /* utf8scsu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982039E19A0A5FA00DD808C /* utf8scsu.cpp */; }; + 0A5887A21FB41E1500F7DAA3 /* gbflatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037919A09B7800DD808C /* gbflatex.cpp */; }; + 0A5887A31FB41E1500F7DAA3 /* osislatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037A19A09B7800DD808C /* osislatex.cpp */; }; + 0A5887A41FB41E1500F7DAA3 /* osisxlit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037B19A09B7800DD808C /* osisxlit.cpp */; }; + 0A5887A51FB41E1500F7DAA3 /* teilatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037C19A09B7800DD808C /* teilatex.cpp */; }; + 0A5887A61FB41E1500F7DAA3 /* thmllatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982037D19A09B7800DD808C /* thmllatex.cpp */; }; + 0A5887A71FB41E1500F7DAA3 /* osisenum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2353176AF19C008D714B /* osisenum.cpp */; }; + 0A5887A81FB41E1500F7DAA3 /* osisglosses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2354176AF19C008D714B /* osisglosses.cpp */; }; + 0A5887A91FB41E1500F7DAA3 /* osisreferencelinks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2355176AF19C008D714B /* osisreferencelinks.cpp */; }; + 0A5887AA1FB41E1500F7DAA3 /* teixhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9E9C5ED16806A2B00ECEB39 /* teixhtml.cpp */; }; + 0A5887AB1FB41E1500F7DAA3 /* cipherfil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85513EE98B30094E3FE /* cipherfil.cpp */; }; + 0A5887AC1FB41E1500F7DAA3 /* gbffootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85613EE98B30094E3FE /* gbffootnotes.cpp */; }; + 0A5887AD1FB41E1500F7DAA3 /* gbfheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85713EE98B30094E3FE /* gbfheadings.cpp */; }; + 0A5887AE1FB41E1500F7DAA3 /* gbfhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85813EE98B30094E3FE /* gbfhtml.cpp */; }; + 0A5887AF1FB41E1500F7DAA3 /* gbfhtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85913EE98B30094E3FE /* gbfhtmlhref.cpp */; }; + 0A5887B01FB41E1500F7DAA3 /* gbfmorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85A13EE98B30094E3FE /* gbfmorph.cpp */; }; + 0A5887B11FB41E1500F7DAA3 /* gbfosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85B13EE98B30094E3FE /* gbfosis.cpp */; }; + 0A5887B21FB41E1500F7DAA3 /* gbfplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85C13EE98B30094E3FE /* gbfplain.cpp */; }; + 0A5887B31FB41E1500F7DAA3 /* gbfredletterwords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85D13EE98B30094E3FE /* gbfredletterwords.cpp */; }; + 0A5887B41FB41E1500F7DAA3 /* gbfrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85E13EE98B30094E3FE /* gbfrtf.cpp */; }; + 0A5887B51FB41E1500F7DAA3 /* gbfstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85F13EE98B30094E3FE /* gbfstrongs.cpp */; }; + 0A5887B61FB41E1500F7DAA3 /* gbfthml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86013EE98B30094E3FE /* gbfthml.cpp */; }; + 0A5887B71FB41E1500F7DAA3 /* gbfwebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86113EE98B30094E3FE /* gbfwebif.cpp */; }; + 0A5887B81FB41E1500F7DAA3 /* gbfwordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86213EE98B30094E3FE /* gbfwordjs.cpp */; }; + 0A5887B91FB41E1500F7DAA3 /* gbfxhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86313EE98B30094E3FE /* gbfxhtml.cpp */; }; + 0A5887BA1FB41E1500F7DAA3 /* greeklexattribs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86413EE98B30094E3FE /* greeklexattribs.cpp */; }; + 0A5887BB1FB41E1500F7DAA3 /* latin1utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86513EE98B30094E3FE /* latin1utf16.cpp */; }; + 0A5887BC1FB41E1500F7DAA3 /* latin1utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86613EE98B30094E3FE /* latin1utf8.cpp */; }; + 0A5887BD1FB41E1500F7DAA3 /* osisfootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86913EE98B30094E3FE /* osisfootnotes.cpp */; }; + 0A5887BE1FB41E1500F7DAA3 /* osisheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86A13EE98B30094E3FE /* osisheadings.cpp */; }; + 0A5887BF1FB41E1500F7DAA3 /* osishtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86B13EE98B30094E3FE /* osishtmlhref.cpp */; }; + 0A5887C01FB41E1500F7DAA3 /* osislemma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86C13EE98B30094E3FE /* osislemma.cpp */; }; + 0A5887C11FB41E1500F7DAA3 /* osismorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86D13EE98B30094E3FE /* osismorph.cpp */; }; + 0A5887C21FB41E1500F7DAA3 /* osismorphsegmentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86E13EE98B30094E3FE /* osismorphsegmentation.cpp */; }; + 0A5887C31FB41E1500F7DAA3 /* osisosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86F13EE98B30094E3FE /* osisosis.cpp */; }; + 0A5887C41FB41E1500F7DAA3 /* osisplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87013EE98B30094E3FE /* osisplain.cpp */; }; + 0A5887C51FB41E1500F7DAA3 /* osisredletterwords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87113EE98B30094E3FE /* osisredletterwords.cpp */; }; + 0A5887C61FB41E1500F7DAA3 /* osisrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87213EE98B30094E3FE /* osisrtf.cpp */; }; + 0A5887C71FB41E1500F7DAA3 /* osisscripref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87413EE98B30094E3FE /* osisscripref.cpp */; }; + 0A5887C81FB41E1500F7DAA3 /* osisstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87513EE98B30094E3FE /* osisstrongs.cpp */; }; + 0A5887C91FB41E1500F7DAA3 /* osisvariants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87613EE98B30094E3FE /* osisvariants.cpp */; }; + 0A5887CA1FB41E1500F7DAA3 /* osiswebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87713EE98B30094E3FE /* osiswebif.cpp */; }; + 0A5887CB1FB41E1500F7DAA3 /* osiswordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87813EE98B30094E3FE /* osiswordjs.cpp */; }; + 0A5887CC1FB41E1500F7DAA3 /* osisxhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87913EE98B30094E3FE /* osisxhtml.cpp */; }; + 0A5887CD1FB41E1500F7DAA3 /* papyriplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87A13EE98B30094E3FE /* papyriplain.cpp */; }; + 0A5887CE1FB41E1500F7DAA3 /* rtfhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87D13EE98B30094E3FE /* rtfhtml.cpp */; }; + 0A5887CF1FB41E1500F7DAA3 /* swbasicfilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87E13EE98B30094E3FE /* swbasicfilter.cpp */; }; + 0A5887D01FB41E1500F7DAA3 /* swoptfilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87F13EE98B30094E3FE /* swoptfilter.cpp */; }; + 0A5887D11FB41E1500F7DAA3 /* teihtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88013EE98B30094E3FE /* teihtmlhref.cpp */; }; + 0A5887D21FB41E1500F7DAA3 /* teiplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88113EE98B30094E3FE /* teiplain.cpp */; }; + 0A5887D31FB41E1500F7DAA3 /* teirtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88213EE98B30094E3FE /* teirtf.cpp */; }; + 0A5887D41FB41E1500F7DAA3 /* thmlfootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88313EE98B30094E3FE /* thmlfootnotes.cpp */; }; + 0A5887D51FB41E1500F7DAA3 /* thmlgbf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88413EE98B30094E3FE /* thmlgbf.cpp */; }; + 0A5887D61FB41E1500F7DAA3 /* thmlheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88513EE98B30094E3FE /* thmlheadings.cpp */; }; + 0A5887D71FB41E1500F7DAA3 /* thmlhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88613EE98B30094E3FE /* thmlhtml.cpp */; }; + 0A5887D81FB41E1500F7DAA3 /* thmlhtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88713EE98B30094E3FE /* thmlhtmlhref.cpp */; }; + 0A5887D91FB41E1500F7DAA3 /* thmllemma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88813EE98B30094E3FE /* thmllemma.cpp */; }; + 0A5887DA1FB41E1500F7DAA3 /* thmlmorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88913EE98B30094E3FE /* thmlmorph.cpp */; }; + 0A5887DB1FB41E1500F7DAA3 /* thmlosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88A13EE98B30094E3FE /* thmlosis.cpp */; }; + 0A5887DC1FB41E1500F7DAA3 /* thmlplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88B13EE98B30094E3FE /* thmlplain.cpp */; }; + 0A5887DD1FB41E1500F7DAA3 /* thmlrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88C13EE98B30094E3FE /* thmlrtf.cpp */; }; + 0A5887DE1FB41E1500F7DAA3 /* thmlscripref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88D13EE98B30094E3FE /* thmlscripref.cpp */; }; + 0A5887DF1FB41E1500F7DAA3 /* thmlstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88E13EE98B30094E3FE /* thmlstrongs.cpp */; }; + 0A5887E01FB41E1500F7DAA3 /* thmlvariants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88F13EE98B30094E3FE /* thmlvariants.cpp */; }; + 0A5887E11FB41E1500F7DAA3 /* thmlwebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89013EE98B30094E3FE /* thmlwebif.cpp */; }; + 0A5887E21FB41E1500F7DAA3 /* thmlwordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89113EE98B30094E3FE /* thmlwordjs.cpp */; }; + 0A5887E31FB41E1500F7DAA3 /* thmlxhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89213EE98B30094E3FE /* thmlxhtml.cpp */; }; + 0A5887E41FB41E1500F7DAA3 /* unicodertf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89313EE98B30094E3FE /* unicodertf.cpp */; }; + 0A5887E51FB41E1500F7DAA3 /* utf16utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89413EE98B30094E3FE /* utf16utf8.cpp */; }; + 0A5887E61FB41E1500F7DAA3 /* utf8arabicpoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89513EE98B30094E3FE /* utf8arabicpoints.cpp */; }; + 0A5887E71FB41E1500F7DAA3 /* utf8arshaping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89613EE98B30094E3FE /* utf8arshaping.cpp */; }; + 0A5887E81FB41E1500F7DAA3 /* utf8bidireorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89713EE98B30094E3FE /* utf8bidireorder.cpp */; }; + 0A5887E91FB41E1500F7DAA3 /* utf8cantillation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89813EE98B30094E3FE /* utf8cantillation.cpp */; }; + 0A5887EA1FB41E1500F7DAA3 /* utf8greekaccents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89913EE98B30094E3FE /* utf8greekaccents.cpp */; }; + 0A5887EB1FB41E1500F7DAA3 /* utf8hebrewpoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89A13EE98B30094E3FE /* utf8hebrewpoints.cpp */; }; + 0A5887EC1FB41E1500F7DAA3 /* utf8html.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89B13EE98B30094E3FE /* utf8html.cpp */; }; + 0A5887ED1FB41E1500F7DAA3 /* utf8latin1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89C13EE98B30094E3FE /* utf8latin1.cpp */; }; + 0A5887EE1FB41E1500F7DAA3 /* utf8nfc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89D13EE98B30094E3FE /* utf8nfc.cpp */; }; + 0A5887EF1FB41E1500F7DAA3 /* utf8nfkd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89E13EE98B30094E3FE /* utf8nfkd.cpp */; }; + 0A5887F01FB41E1500F7DAA3 /* utf8transliterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89F13EE98B30094E3FE /* utf8transliterator.cpp */; }; + 0A5887F11FB41E1500F7DAA3 /* utf8utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8A013EE98B30094E3FE /* utf8utf16.cpp */; }; + 0A5887F21FB41E5800F7DAA3 /* rawgenbook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8A713EE98B30094E3FE /* rawgenbook.cpp */; }; + 0A5887F31FB41E5800F7DAA3 /* swgenbook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8A813EE98B30094E3FE /* swgenbook.cpp */; }; + 0A5887F41FB41E5800F7DAA3 /* rawld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8AF13EE98B30094E3FE /* rawld.cpp */; }; + 0A5887F51FB41E5800F7DAA3 /* rawld4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8B313EE98B30094E3FE /* rawld4.cpp */; }; + 0A5887F61FB41E5800F7DAA3 /* swld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8B413EE98B30094E3FE /* swld.cpp */; }; + 0A5887F71FB41E5800F7DAA3 /* zld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8B813EE98B30094E3FE /* zld.cpp */; }; + 0A5887F81FB41E5800F7DAA3 /* swmodule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8BC13EE98B30094E3FE /* swmodule.cpp */; }; + 0A5887F91FB41E5800F7DAA3 /* rawtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8C613EE98B30094E3FE /* rawtext.cpp */; }; + 0A5887FA1FB41E5800F7DAA3 /* rawtext4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8C913EE98B30094E3FE /* rawtext4.cpp */; }; + 0A5887FB1FB41E5800F7DAA3 /* swtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8CA13EE98B30094E3FE /* swtext.cpp */; }; + 0A5887FC1FB41E5800F7DAA3 /* ztext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8CE13EE98B30094E3FE /* ztext.cpp */; }; + 0A5887FD1FB41E5800F7DAA3 /* ztext4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A982038819A09BC000DD808C /* ztext4.cpp */; }; + 0A5888051FB44ABE00F7DAA3 /* canon_calvin.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A94A351DCB21AB00F69260 /* canon_calvin.h */; }; + 0A5888061FB44ABE00F7DAA3 /* canon_darbyfr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A94A361DCB21AB00F69260 /* canon_darbyfr.h */; }; + 0A5888071FB44ABE00F7DAA3 /* canon_segond.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A94A371DCB21AB00F69260 /* canon_segond.h */; }; + 0A5888081FB44ABE00F7DAA3 /* bz2comprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1291C19DF144D005BCBC1 /* bz2comprs.h */; }; + 0A5888091FB44ABE00F7DAA3 /* canon.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1291D19DF144D005BCBC1 /* canon.h */; }; + 0A58880A1FB44ABE00F7DAA3 /* canon_abbrevs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1291E19DF144D005BCBC1 /* canon_abbrevs.h */; }; + 0A58880B1FB44ABE00F7DAA3 /* canon_catholic.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1291F19DF144D005BCBC1 /* canon_catholic.h */; }; + 0A58880C1FB44ABE00F7DAA3 /* canon_catholic2.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292019DF144D005BCBC1 /* canon_catholic2.h */; }; + 0A58880D1FB44ABE00F7DAA3 /* canon_german.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292119DF144D005BCBC1 /* canon_german.h */; }; + 0A58880E1FB44ABE00F7DAA3 /* canon_kjva.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292219DF144D005BCBC1 /* canon_kjva.h */; }; + 0A58880F1FB44ABE00F7DAA3 /* canon_leningrad.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292319DF144D005BCBC1 /* canon_leningrad.h */; }; + 0A5888101FB44ABE00F7DAA3 /* canon_luther.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292419DF144D005BCBC1 /* canon_luther.h */; }; + 0A5888111FB44ABE00F7DAA3 /* canon_lxx.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292519DF144D005BCBC1 /* canon_lxx.h */; }; + 0A5888121FB44ABE00F7DAA3 /* canon_mt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292619DF144D005BCBC1 /* canon_mt.h */; }; + 0A5888131FB44ABE00F7DAA3 /* canon_nrsv.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292719DF144D005BCBC1 /* canon_nrsv.h */; }; + 0A5888141FB44ABE00F7DAA3 /* canon_nrsva.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292819DF144D005BCBC1 /* canon_nrsva.h */; }; + 0A5888151FB44ABE00F7DAA3 /* canon_null.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292919DF144D005BCBC1 /* canon_null.h */; }; + 0A5888161FB44ABE00F7DAA3 /* canon_orthodox.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292A19DF144D005BCBC1 /* canon_orthodox.h */; }; + 0A5888171FB44ABE00F7DAA3 /* canon_synodal.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292B19DF144D005BCBC1 /* canon_synodal.h */; }; + 0A5888181FB44ABE00F7DAA3 /* canon_synodalprot.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292C19DF144D005BCBC1 /* canon_synodalprot.h */; }; + 0A5888191FB44ABE00F7DAA3 /* canon_vulg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292D19DF144D005BCBC1 /* canon_vulg.h */; }; + 0A58881A1FB44ABE00F7DAA3 /* cipherfil.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292E19DF144D005BCBC1 /* cipherfil.h */; }; + 0A58881B1FB44ABE00F7DAA3 /* curlftpt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293019DF144D005BCBC1 /* curlftpt.h */; }; + 0A58881C1FB44ABE00F7DAA3 /* curlhttpt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293119DF144D005BCBC1 /* curlhttpt.h */; }; + 0A58881D1FB44ABE00F7DAA3 /* defs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293219DF144D005BCBC1 /* defs.h */; }; + 0A58881E1FB44ABE00F7DAA3 /* echomod.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293319DF144D005BCBC1 /* echomod.h */; }; + 0A58881F1FB44ABE00F7DAA3 /* encfiltmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293419DF144D005BCBC1 /* encfiltmgr.h */; }; + 0A5888201FB44ABE00F7DAA3 /* entriesblk.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293519DF144D005BCBC1 /* entriesblk.h */; }; + 0A5888211FB44ABE00F7DAA3 /* femain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293619DF144D005BCBC1 /* femain.h */; }; + 0A5888221FB44ABE00F7DAA3 /* filemgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293719DF144D005BCBC1 /* filemgr.h */; }; + 0A5888231FB44ABE00F7DAA3 /* flatapi.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293819DF144D005BCBC1 /* flatapi.h */; }; + 0A5888241FB44ABE00F7DAA3 /* ftplib.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293919DF144D005BCBC1 /* ftplib.h */; }; + 0A5888251FB44ABE00F7DAA3 /* ftplibftpt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293A19DF144D005BCBC1 /* ftplibftpt.h */; }; + 0A5888261FB44ABE00F7DAA3 /* ftpparse.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293B19DF144D005BCBC1 /* ftpparse.h */; }; + 0A5888271FB44ABE00F7DAA3 /* gbffootnotes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293C19DF144D005BCBC1 /* gbffootnotes.h */; }; + 0A5888281FB44ABE00F7DAA3 /* gbfheadings.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293D19DF144D005BCBC1 /* gbfheadings.h */; }; + 0A5888291FB44ABE00F7DAA3 /* gbfhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293E19DF144D005BCBC1 /* gbfhtml.h */; }; + 0A58882A1FB44ABE00F7DAA3 /* gbfhtmlhref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293F19DF144D005BCBC1 /* gbfhtmlhref.h */; }; + 0A58882B1FB44ABE00F7DAA3 /* gbflatex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294019DF144D005BCBC1 /* gbflatex.h */; }; + 0A58882C1FB44ABE00F7DAA3 /* gbfmorph.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294119DF144D005BCBC1 /* gbfmorph.h */; }; + 0A58882D1FB44ABE00F7DAA3 /* gbfosis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294219DF144D005BCBC1 /* gbfosis.h */; }; + 0A58882E1FB44ABE00F7DAA3 /* gbfplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294319DF144D005BCBC1 /* gbfplain.h */; }; + 0A58882F1FB44ABE00F7DAA3 /* gbfredletterwords.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294419DF144D005BCBC1 /* gbfredletterwords.h */; }; + 0A5888301FB44ABE00F7DAA3 /* gbfrtf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294519DF144D005BCBC1 /* gbfrtf.h */; }; + 0A5888311FB44ABE00F7DAA3 /* gbfstrongs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294619DF144D005BCBC1 /* gbfstrongs.h */; }; + 0A5888321FB44ABE00F7DAA3 /* gbfthml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294719DF144D005BCBC1 /* gbfthml.h */; }; + 0A5888331FB44ABE00F7DAA3 /* gbfwebif.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294819DF144D005BCBC1 /* gbfwebif.h */; }; + 0A5888341FB44ABE00F7DAA3 /* gbfwordjs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294919DF144D005BCBC1 /* gbfwordjs.h */; }; + 0A5888351FB44ABE00F7DAA3 /* gbfxhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294A19DF144D005BCBC1 /* gbfxhtml.h */; }; + 0A5888361FB44ABE00F7DAA3 /* greeklexattribs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294B19DF144D005BCBC1 /* greeklexattribs.h */; }; + 0A5888371FB44ABE00F7DAA3 /* hebrewmcim.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294C19DF144D005BCBC1 /* hebrewmcim.h */; }; + 0A5888381FB44ABE00F7DAA3 /* hrefcom.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294D19DF144D005BCBC1 /* hrefcom.h */; }; + 0A5888391FB44ABE00F7DAA3 /* installmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294E19DF144D005BCBC1 /* installmgr.h */; }; + 0A58883A1FB44ABE00F7DAA3 /* latin1utf16.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295219DF144D005BCBC1 /* latin1utf16.h */; }; + 0A58883B1FB44ABE00F7DAA3 /* latin1utf8.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295319DF144D005BCBC1 /* latin1utf8.h */; }; + 0A58883C1FB44ABE00F7DAA3 /* listkey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295419DF144D005BCBC1 /* listkey.h */; }; + 0A58883D1FB44ABE00F7DAA3 /* localemgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295519DF144D005BCBC1 /* localemgr.h */; }; + 0A58883E1FB44ABE00F7DAA3 /* lzsscomprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295619DF144D005BCBC1 /* lzsscomprs.h */; }; + 0A58883F1FB44ABE00F7DAA3 /* markupfiltmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295919DF144D005BCBC1 /* markupfiltmgr.h */; }; + 0A5888401FB44ABE00F7DAA3 /* multimapwdef.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295A19DF144D005BCBC1 /* multimapwdef.h */; }; + 0A5888411FB44ABE00F7DAA3 /* nullim.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295B19DF144D005BCBC1 /* nullim.h */; }; + 0A5888421FB44ABE00F7DAA3 /* osisenum.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295C19DF144D005BCBC1 /* osisenum.h */; }; + 0A5888431FB44ABE00F7DAA3 /* osisfootnotes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295D19DF144D005BCBC1 /* osisfootnotes.h */; }; + 0A5888441FB44ABE00F7DAA3 /* osisglosses.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295E19DF144D005BCBC1 /* osisglosses.h */; }; + 0A5888451FB44ABE00F7DAA3 /* osisheadings.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295F19DF144D005BCBC1 /* osisheadings.h */; }; + 0A5888461FB44ABE00F7DAA3 /* osishtmlhref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296019DF144D005BCBC1 /* osishtmlhref.h */; }; + 0A5888471FB44ABE00F7DAA3 /* osislatex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296119DF144D005BCBC1 /* osislatex.h */; }; + 0A5888481FB44ABE00F7DAA3 /* osislemma.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296219DF144D005BCBC1 /* osislemma.h */; }; + 0A5888491FB44ABE00F7DAA3 /* osismorph.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296319DF144D005BCBC1 /* osismorph.h */; }; + 0A58884A1FB44ABE00F7DAA3 /* osismorphsegmentation.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296419DF144D005BCBC1 /* osismorphsegmentation.h */; }; + 0A58884B1FB44ABE00F7DAA3 /* osisosis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296519DF144D005BCBC1 /* osisosis.h */; }; + 0A58884C1FB44ABE00F7DAA3 /* osisplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296619DF144D005BCBC1 /* osisplain.h */; }; + 0A58884D1FB44ABE00F7DAA3 /* osisredletterwords.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296719DF144D005BCBC1 /* osisredletterwords.h */; }; + 0A58884E1FB44ABE00F7DAA3 /* osisreferencelinks.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296819DF144D005BCBC1 /* osisreferencelinks.h */; }; + 0A58884F1FB44ABE00F7DAA3 /* osisrtf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296919DF144D005BCBC1 /* osisrtf.h */; }; + 0A5888501FB44ABE00F7DAA3 /* osisscripref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296A19DF144D005BCBC1 /* osisscripref.h */; }; + 0A5888511FB44ABE00F7DAA3 /* osisstrongs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296B19DF144D005BCBC1 /* osisstrongs.h */; }; + 0A5888521FB44ABE00F7DAA3 /* osisvariants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296C19DF144D005BCBC1 /* osisvariants.h */; }; + 0A5888531FB44ABE00F7DAA3 /* osiswebif.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296D19DF144D005BCBC1 /* osiswebif.h */; }; + 0A5888541FB44ABE00F7DAA3 /* osiswordjs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296E19DF144D005BCBC1 /* osiswordjs.h */; }; + 0A5888551FB44ABE00F7DAA3 /* osisxhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296F19DF144D005BCBC1 /* osisxhtml.h */; }; + 0A5888561FB44ABE00F7DAA3 /* osisxlit.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297019DF144D005BCBC1 /* osisxlit.h */; }; + 0A5888571FB44ABE00F7DAA3 /* papyriplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297119DF144D005BCBC1 /* papyriplain.h */; }; + 0A5888581FB44ABE00F7DAA3 /* rawcom.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297219DF144D005BCBC1 /* rawcom.h */; }; + 0A5888591FB44ABE00F7DAA3 /* rawcom4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297319DF144D005BCBC1 /* rawcom4.h */; }; + 0A58885A1FB44ABE00F7DAA3 /* rawfiles.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297419DF144D005BCBC1 /* rawfiles.h */; }; + 0A58885B1FB44ABE00F7DAA3 /* rawgenbook.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297519DF144D005BCBC1 /* rawgenbook.h */; }; + 0A58885C1FB44ABE00F7DAA3 /* rawld.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297619DF144D005BCBC1 /* rawld.h */; }; + 0A58885D1FB44ABE00F7DAA3 /* rawld4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297719DF144D005BCBC1 /* rawld4.h */; }; + 0A58885E1FB44ABE00F7DAA3 /* rawstr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297819DF144D005BCBC1 /* rawstr.h */; }; + 0A58885F1FB44ABE00F7DAA3 /* rawstr4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297919DF144D005BCBC1 /* rawstr4.h */; }; + 0A5888601FB44ABE00F7DAA3 /* rawtext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297A19DF144D005BCBC1 /* rawtext.h */; }; + 0A5888611FB44ABE00F7DAA3 /* rawtext4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297B19DF144D005BCBC1 /* rawtext4.h */; }; + 0A5888621FB44ABE00F7DAA3 /* rawverse.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297C19DF144D005BCBC1 /* rawverse.h */; }; + 0A5888631FB44ABE00F7DAA3 /* rawverse4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297D19DF144D005BCBC1 /* rawverse4.h */; }; + 0A5888641FB44ABE00F7DAA3 /* remotetrans.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297E19DF144D005BCBC1 /* remotetrans.h */; }; + 0A5888651FB44ABE00F7DAA3 /* roman.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297F19DF144D005BCBC1 /* roman.h */; }; + 0A5888661FB44ABE00F7DAA3 /* rtfhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298019DF144D005BCBC1 /* rtfhtml.h */; }; + 0A5888671FB44ABE00F7DAA3 /* sapphire.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298119DF144D005BCBC1 /* sapphire.h */; }; + 0A5888681FB44ABE00F7DAA3 /* scsuutf8.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298219DF144D005BCBC1 /* scsuutf8.h */; }; + 0A5888691FB44ABE00F7DAA3 /* stringmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298419DF144D005BCBC1 /* stringmgr.h */; }; + 0A58886A1FB44ABE00F7DAA3 /* strkey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298519DF144D005BCBC1 /* strkey.h */; }; + 0A58886B1FB44ABE00F7DAA3 /* swbasicfilter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298619DF144D005BCBC1 /* swbasicfilter.h */; }; + 0A58886C1FB44ABE00F7DAA3 /* swbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298719DF144D005BCBC1 /* swbuf.h */; }; + 0A58886D1FB44ABE00F7DAA3 /* swcacher.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298819DF144D005BCBC1 /* swcacher.h */; }; + 0A58886E1FB44ABE00F7DAA3 /* swcipher.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298919DF144D005BCBC1 /* swcipher.h */; }; + 0A58886F1FB44ABE00F7DAA3 /* swcom.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298A19DF144D005BCBC1 /* swcom.h */; }; + 0A5888701FB44ABE00F7DAA3 /* swcomprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298B19DF144D005BCBC1 /* swcomprs.h */; }; + 0A5888711FB44ABE00F7DAA3 /* swconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298C19DF144D005BCBC1 /* swconfig.h */; }; + 0A5888721FB44ABE00F7DAA3 /* swdisp.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298D19DF144D005BCBC1 /* swdisp.h */; }; + 0A5888731FB44ABE00F7DAA3 /* swfilter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298E19DF144D005BCBC1 /* swfilter.h */; }; + 0A5888741FB44ABE00F7DAA3 /* swfiltermgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298F19DF144D005BCBC1 /* swfiltermgr.h */; }; + 0A5888751FB44ABE00F7DAA3 /* swgenbook.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299019DF144D005BCBC1 /* swgenbook.h */; }; + 0A5888761FB44ABE00F7DAA3 /* swinputmeth.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299119DF144D005BCBC1 /* swinputmeth.h */; }; + 0A5888771FB44ABE00F7DAA3 /* swkey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299219DF144D005BCBC1 /* swkey.h */; }; + 0A5888781FB44ABE00F7DAA3 /* swld.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299319DF144D005BCBC1 /* swld.h */; }; + 0A5888791FB44ABE00F7DAA3 /* swlocale.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299419DF144D005BCBC1 /* swlocale.h */; }; + 0A58887A1FB44ABE00F7DAA3 /* swlog.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299519DF144D005BCBC1 /* swlog.h */; }; + 0A58887B1FB44ABE00F7DAA3 /* swmacs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299619DF144D005BCBC1 /* swmacs.h */; }; + 0A58887C1FB44ABE00F7DAA3 /* swmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299719DF144D005BCBC1 /* swmgr.h */; }; + 0A58887D1FB44ABE00F7DAA3 /* swmodule.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299819DF144D005BCBC1 /* swmodule.h */; }; + 0A58887E1FB44ABE00F7DAA3 /* swobject.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299919DF144D005BCBC1 /* swobject.h */; }; + 0A58887F1FB44ABE00F7DAA3 /* swoptfilter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299A19DF144D005BCBC1 /* swoptfilter.h */; }; + 0A5888801FB44ABF00F7DAA3 /* swsearchable.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299C19DF144D005BCBC1 /* swsearchable.h */; }; + 0A5888811FB44ABF00F7DAA3 /* swtext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299D19DF144D005BCBC1 /* swtext.h */; }; + 0A5888821FB44ABF00F7DAA3 /* swversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299E19DF144D005BCBC1 /* swversion.h */; }; + 0A5888831FB44ABF00F7DAA3 /* sysdata.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A019DF144D005BCBC1 /* sysdata.h */; }; + 0A5888841FB44ABF00F7DAA3 /* teihtmlhref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A119DF144D005BCBC1 /* teihtmlhref.h */; }; + 0A5888851FB44ABF00F7DAA3 /* teilatex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A219DF144D005BCBC1 /* teilatex.h */; }; + 0A5888861FB44ABF00F7DAA3 /* teiplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A319DF144D005BCBC1 /* teiplain.h */; }; + 0A5888871FB44ABF00F7DAA3 /* teirtf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A419DF144D005BCBC1 /* teirtf.h */; }; + 0A5888881FB44ABF00F7DAA3 /* teixhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A519DF144D005BCBC1 /* teixhtml.h */; }; + 0A5888891FB44ABF00F7DAA3 /* thmlfootnotes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A619DF144D005BCBC1 /* thmlfootnotes.h */; }; + 0A58888A1FB44ABF00F7DAA3 /* thmlgbf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A719DF144D005BCBC1 /* thmlgbf.h */; }; + 0A58888B1FB44ABF00F7DAA3 /* thmlheadings.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A819DF144D005BCBC1 /* thmlheadings.h */; }; + 0A58888C1FB44ABF00F7DAA3 /* thmlhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A919DF144D005BCBC1 /* thmlhtml.h */; }; + 0A58888D1FB44ABF00F7DAA3 /* thmlhtmlhref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AA19DF144D005BCBC1 /* thmlhtmlhref.h */; }; + 0A58888E1FB44ABF00F7DAA3 /* thmllatex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AB19DF144D005BCBC1 /* thmllatex.h */; }; + 0A58888F1FB44ABF00F7DAA3 /* thmllemma.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AC19DF144D005BCBC1 /* thmllemma.h */; }; + 0A5888901FB44ABF00F7DAA3 /* thmlmorph.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AD19DF144D005BCBC1 /* thmlmorph.h */; }; + 0A5888911FB44ABF00F7DAA3 /* thmlosis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AE19DF144D005BCBC1 /* thmlosis.h */; }; + 0A5888921FB44ABF00F7DAA3 /* thmlplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AF19DF144D005BCBC1 /* thmlplain.h */; }; + 0A5888931FB44ABF00F7DAA3 /* thmlrtf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B019DF144D005BCBC1 /* thmlrtf.h */; }; + 0A5888941FB44ABF00F7DAA3 /* thmlscripref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B119DF144D005BCBC1 /* thmlscripref.h */; }; + 0A5888951FB44ABF00F7DAA3 /* thmlstrongs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B219DF144D005BCBC1 /* thmlstrongs.h */; }; + 0A5888961FB44ABF00F7DAA3 /* thmlvariants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B319DF144D005BCBC1 /* thmlvariants.h */; }; + 0A5888971FB44ABF00F7DAA3 /* thmlwebif.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B419DF144D005BCBC1 /* thmlwebif.h */; }; + 0A5888981FB44ABF00F7DAA3 /* thmlwordjs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B519DF144D005BCBC1 /* thmlwordjs.h */; }; + 0A5888991FB44ABF00F7DAA3 /* thmlxhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B619DF144D005BCBC1 /* thmlxhtml.h */; }; + 0A58889A1FB44ABF00F7DAA3 /* treekey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B719DF144D005BCBC1 /* treekey.h */; }; + 0A58889B1FB44ABF00F7DAA3 /* treekeyidx.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B819DF144D005BCBC1 /* treekeyidx.h */; }; + 0A58889C1FB44ABF00F7DAA3 /* unicodertf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B919DF144D005BCBC1 /* unicodertf.h */; }; + 0A58889D1FB44ABF00F7DAA3 /* untgz.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BA19DF144D005BCBC1 /* untgz.h */; }; + 0A58889E1FB44ABF00F7DAA3 /* url.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BB19DF144D005BCBC1 /* url.h */; }; + 0A58889F1FB44ABF00F7DAA3 /* utf16utf8.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BC19DF144D005BCBC1 /* utf16utf8.h */; }; + 0A5888A01FB44ABF00F7DAA3 /* utf8arabicpoints.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BD19DF144D005BCBC1 /* utf8arabicpoints.h */; }; + 0A5888A11FB44ABF00F7DAA3 /* utf8arshaping.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BE19DF144D005BCBC1 /* utf8arshaping.h */; }; + 0A5888A21FB44ABF00F7DAA3 /* utf8bidireorder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BF19DF144D005BCBC1 /* utf8bidireorder.h */; }; + 0A5888A31FB44ABF00F7DAA3 /* utf8cantillation.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C019DF144D005BCBC1 /* utf8cantillation.h */; }; + 0A5888A41FB44ABF00F7DAA3 /* utf8greekaccents.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C119DF144D005BCBC1 /* utf8greekaccents.h */; }; + 0A5888A51FB44ABF00F7DAA3 /* utf8hebrewpoints.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C219DF144D005BCBC1 /* utf8hebrewpoints.h */; }; + 0A5888A61FB44ABF00F7DAA3 /* utf8html.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C319DF144D005BCBC1 /* utf8html.h */; }; + 0A5888A71FB44ABF00F7DAA3 /* utf8latin1.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C419DF144D005BCBC1 /* utf8latin1.h */; }; + 0A5888A81FB44ABF00F7DAA3 /* utf8nfc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C519DF144D005BCBC1 /* utf8nfc.h */; }; + 0A5888A91FB44ABF00F7DAA3 /* utf8nfkd.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C619DF144D005BCBC1 /* utf8nfkd.h */; }; + 0A5888AA1FB44ABF00F7DAA3 /* utf8scsu.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C719DF144D005BCBC1 /* utf8scsu.h */; }; + 0A5888AB1FB44ABF00F7DAA3 /* utf8transliterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C819DF144D005BCBC1 /* utf8transliterator.h */; }; + 0A5888AC1FB44ABF00F7DAA3 /* utf8utf16.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C919DF144D005BCBC1 /* utf8utf16.h */; }; + 0A5888AD1FB44ABF00F7DAA3 /* utilstr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CA19DF144D005BCBC1 /* utilstr.h */; }; + 0A5888AE1FB44ABF00F7DAA3 /* utilxml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CB19DF144D005BCBC1 /* utilxml.h */; }; + 0A5888AF1FB44ABF00F7DAA3 /* versekey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CC19DF144D005BCBC1 /* versekey.h */; }; + 0A5888B01FB44ABF00F7DAA3 /* versetreekey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CD19DF144D005BCBC1 /* versetreekey.h */; }; + 0A5888B11FB44ABF00F7DAA3 /* versificationmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CE19DF144D005BCBC1 /* versificationmgr.h */; }; + 0A5888B21FB44ABF00F7DAA3 /* xzcomprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CF19DF144D005BCBC1 /* xzcomprs.h */; }; + 0A5888B31FB44ABF00F7DAA3 /* zcom.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D019DF144D005BCBC1 /* zcom.h */; }; + 0A5888B41FB44ABF00F7DAA3 /* zcom4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D119DF144D005BCBC1 /* zcom4.h */; }; + 0A5888B51FB44ABF00F7DAA3 /* zconf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D219DF144D005BCBC1 /* zconf.h */; }; + 0A5888B61FB44ABF00F7DAA3 /* zipcomprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D319DF144D005BCBC1 /* zipcomprs.h */; }; + 0A5888B71FB44ABF00F7DAA3 /* zld.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D419DF144D005BCBC1 /* zld.h */; }; + 0A5888B81FB44ABF00F7DAA3 /* zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D519DF144D005BCBC1 /* zlib.h */; }; + 0A5888B91FB44ABF00F7DAA3 /* zstr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D619DF144D005BCBC1 /* zstr.h */; }; + 0A5888BA1FB44ABF00F7DAA3 /* ztext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D719DF144D005BCBC1 /* ztext.h */; }; + 0A5888BB1FB44ABF00F7DAA3 /* ztext4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D819DF144D005BCBC1 /* ztext4.h */; }; + 0A5888BC1FB44ABF00F7DAA3 /* zverse.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D919DF144D005BCBC1 /* zverse.h */; }; + 0A5888BD1FB44ABF00F7DAA3 /* zverse4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129DA19DF144D005BCBC1 /* zverse4.h */; }; + 0A5888BE1FB44ACC00F7DAA3 /* regex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295119DF144D005BCBC1 /* regex.h */; }; + 0AA1DD361FB46FD00082E131 /* sword.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AA1DD341FB46FD00082E131 /* sword.m */; }; + 0AA1DD371FB46FD00082E131 /* sword.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AA1DD351FB46FD00082E131 /* sword.h */; }; 8C92C31DC92DF0671FCEB5B3 /* SwordFilter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8C92CC111DC521DE0C054C60 /* SwordFilter.mm */; }; 8C92CC7B68FDCDFFFB8B4A31 /* DefaultFilterProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8C92C0124F354F4CB4F294F9 /* DefaultFilterProvider.mm */; }; + 8C92CC9CEC8A341B902C53E2 /* SwordInstallSourceManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C92C0CA467F3114A1DC89DD /* SwordInstallSourceManagerTest.m */; }; 8C92CE0B19FBB659FB8F8B71 /* FilterProviderFactory.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8C92C25F57CB01957B086256 /* FilterProviderFactory.mm */; }; 8C92CE39E231FF9CAAB5308B /* SwordUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C92C291C40A77060C12A21B /* SwordUtil.m */; }; 8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; }; 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; A917AF2616B1BE38006367FC /* Tests-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = A917AF2516B1BE38006367FC /* Tests-Info.plist */; }; - A91C8B6817523609008702B9 /* versificationmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A91C8B66175233F3008702B9 /* versificationmgr.cpp */; }; A929619C16B1BA240094E5BE /* SwordBibleTextEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = A929619616B1BA240094E5BE /* SwordBibleTextEntry.m */; }; A929619D16B1BA240094E5BE /* SwordKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A929619716B1BA240094E5BE /* SwordKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; A929619E16B1BA240094E5BE /* SwordKey.mm in Sources */ = {isa = PBXBuildFile; fileRef = A929619816B1BA240094E5BE /* SwordKey.mm */; }; @@ -81,358 +606,243 @@ A94EAC30117B28920018B06F /* SwordVerseManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC08117B28920018B06F /* SwordVerseManager.mm */; }; A94EAC31117B28920018B06F /* VerseEnumerator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EAC09117B28920018B06F /* VerseEnumerator.h */; settings = {ATTRIBUTES = (Public, ); }; }; A94EAC32117B28920018B06F /* VerseEnumerator.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC0A117B28920018B06F /* VerseEnumerator.mm */; }; - A954ABCB13EE9E460094E3FE /* AnalysisHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A9E413EE9A2B0094E3FE /* AnalysisHeader.cpp */; }; - A954ABCC13EE9E460094E3FE /* Analyzers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A9E613EE9A2B0094E3FE /* Analyzers.cpp */; }; - A954ABCD13EE9E470094E3FE /* StandardAnalyzer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A9E913EE9A2B0094E3FE /* StandardAnalyzer.cpp */; }; - A954ABCE13EE9E470094E3FE /* StandardFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A9EB13EE9A2B0094E3FE /* StandardFilter.cpp */; }; - A954ABCF13EE9E470094E3FE /* StandardTokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A9ED13EE9A2B0094E3FE /* StandardTokenizer.cpp */; }; - A954ABD013EE9E470094E3FE /* gunichartables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A9F913EE9A2B0094E3FE /* gunichartables.cpp */; }; - A954ABD113EE9E470094E3FE /* repl_lltot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A9FE13EE9A2B0094E3FE /* repl_lltot.cpp */; }; - A954ABD213EE9E470094E3FE /* repl_tcscasecmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA0013EE9A2B0094E3FE /* repl_tcscasecmp.cpp */; }; - A954ABD313EE9E470094E3FE /* repl_tcslwr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA0113EE9A2B0094E3FE /* repl_tcslwr.cpp */; }; - A954ABD413EE9E470094E3FE /* repl_tcstod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA0213EE9A2B0094E3FE /* repl_tcstod.cpp */; }; - A954ABD513EE9E470094E3FE /* repl_tcstoll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA0313EE9A2B0094E3FE /* repl_tcstoll.cpp */; }; - A954ABD613EE9E470094E3FE /* repl_tprintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA0413EE9A2B0094E3FE /* repl_tprintf.cpp */; }; - A954ABD713EE9E470094E3FE /* threads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA0813EE9A2B0094E3FE /* threads.cpp */; }; - A954ABD813EE9E470094E3FE /* utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA0913EE9A2B0094E3FE /* utf8.cpp */; }; - A954ABD913EE9E470094E3FE /* condition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA0B13EE9A2B0094E3FE /* condition.cpp */; }; - A954ABDA13EE9E470094E3FE /* error.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA0D13EE9A2B0094E3FE /* error.cpp */; }; - A954ABDB13EE9E470094E3FE /* memtracking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA1113EE9A2B0094E3FE /* memtracking.cpp */; }; - A954ABDC13EE9E470094E3FE /* DateField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA1313EE9A2B0094E3FE /* DateField.cpp */; }; - A954ABDD13EE9E470094E3FE /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA1513EE9A2B0094E3FE /* Document.cpp */; }; - A954ABDE13EE9E470094E3FE /* Field.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA1713EE9A2B0094E3FE /* Field.cpp */; }; - A954ABDF13EE9E470094E3FE /* CompoundFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA1A13EE9A2B0094E3FE /* CompoundFile.cpp */; }; - A954ABE013EE9E470094E3FE /* DocumentWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA1C13EE9A2B0094E3FE /* DocumentWriter.cpp */; }; - A954ABE113EE9E470094E3FE /* FieldInfos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA1F13EE9A2B0094E3FE /* FieldInfos.cpp */; }; - A954ABE213EE9E470094E3FE /* FieldsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA2113EE9A2B0094E3FE /* FieldsReader.cpp */; }; - A954ABE313EE9E470094E3FE /* FieldsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA2313EE9A2B0094E3FE /* FieldsWriter.cpp */; }; - A954ABE413EE9E470094E3FE /* IndexModifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA2513EE9A2B0094E3FE /* IndexModifier.cpp */; }; - A954ABE513EE9E470094E3FE /* IndexReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA2713EE9A2B0094E3FE /* IndexReader.cpp */; }; - A954ABE613EE9E470094E3FE /* IndexWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA2913EE9A2B0094E3FE /* IndexWriter.cpp */; }; - A954ABE713EE9E470094E3FE /* MultiReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA2B13EE9A2B0094E3FE /* MultiReader.cpp */; }; - A954ABE813EE9E470094E3FE /* SegmentInfos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA2E13EE9A2B0094E3FE /* SegmentInfos.cpp */; }; - A954ABE913EE9E470094E3FE /* SegmentMergeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3013EE9A2B0094E3FE /* SegmentMergeInfo.cpp */; }; - A954ABEA13EE9E470094E3FE /* SegmentMergeQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3213EE9A2B0094E3FE /* SegmentMergeQueue.cpp */; }; - A954ABEB13EE9E470094E3FE /* SegmentMerger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3413EE9A2B0094E3FE /* SegmentMerger.cpp */; }; - A954ABEC13EE9E470094E3FE /* SegmentReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3613EE9A2B0094E3FE /* SegmentReader.cpp */; }; - A954ABED13EE9E470094E3FE /* SegmentTermDocs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3713EE9A2B0094E3FE /* SegmentTermDocs.cpp */; }; - A954ABEE13EE9E470094E3FE /* SegmentTermEnum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3813EE9A2B0094E3FE /* SegmentTermEnum.cpp */; }; - A954ABEF13EE9E470094E3FE /* SegmentTermPositions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3A13EE9A2B0094E3FE /* SegmentTermPositions.cpp */; }; - A954ABF013EE9E470094E3FE /* SegmentTermVector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3B13EE9A2B0094E3FE /* SegmentTermVector.cpp */; }; - A954ABF113EE9E470094E3FE /* Term.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3C13EE9A2B0094E3FE /* Term.cpp */; }; - A954ABF213EE9E470094E3FE /* TermInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA3E13EE9A2B0094E3FE /* TermInfo.cpp */; }; - A954ABF313EE9E470094E3FE /* TermInfosReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA4013EE9A2B0094E3FE /* TermInfosReader.cpp */; }; - A954ABF413EE9E470094E3FE /* TermInfosWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA4213EE9A2B0094E3FE /* TermInfosWriter.cpp */; }; - A954ABF513EE9E470094E3FE /* TermVectorReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA4613EE9A2B0094E3FE /* TermVectorReader.cpp */; }; - A954ABF613EE9E470094E3FE /* TermVectorWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA4713EE9A2B0094E3FE /* TermVectorWriter.cpp */; }; - A954ABF713EE9E470094E3FE /* Lexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA4A13EE9A2B0094E3FE /* Lexer.cpp */; }; - A954ABF813EE9E470094E3FE /* MultiFieldQueryParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA4C13EE9A2B0094E3FE /* MultiFieldQueryParser.cpp */; }; - A954ABF913EE9E470094E3FE /* QueryParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA4E13EE9A2B0094E3FE /* QueryParser.cpp */; }; - A954ABFA13EE9E470094E3FE /* QueryParserBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA5013EE9A2B0094E3FE /* QueryParserBase.cpp */; }; - A954ABFB13EE9E470094E3FE /* QueryToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA5213EE9A2B0094E3FE /* QueryToken.cpp */; }; - A954ABFC13EE9E470094E3FE /* TokenList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA5413EE9A2B0094E3FE /* TokenList.cpp */; }; - A954ABFD13EE9E470094E3FE /* BooleanQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA5813EE9A2B0094E3FE /* BooleanQuery.cpp */; }; - A954ABFE13EE9E470094E3FE /* BooleanScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA5A13EE9A2B0094E3FE /* BooleanScorer.cpp */; }; - A954ABFF13EE9E470094E3FE /* CachingWrapperFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA5C13EE9A2B0094E3FE /* CachingWrapperFilter.cpp */; }; - A954AC0013EE9E470094E3FE /* ChainedFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA5E13EE9A2B0094E3FE /* ChainedFilter.cpp */; }; - A954AC0113EE9E470094E3FE /* ConjunctionScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA6113EE9A2B0094E3FE /* ConjunctionScorer.cpp */; }; - A954AC0213EE9E470094E3FE /* DateFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA6313EE9A2B0094E3FE /* DateFilter.cpp */; }; - A954AC0313EE9E470094E3FE /* ExactPhraseScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA6513EE9A2B0094E3FE /* ExactPhraseScorer.cpp */; }; - A954AC0413EE9E470094E3FE /* Explanation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA6713EE9A2B0094E3FE /* Explanation.cpp */; }; - A954AC0513EE9E470094E3FE /* FieldCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA6913EE9A2B0094E3FE /* FieldCache.cpp */; }; - A954AC0613EE9E470094E3FE /* FieldCacheImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA6B13EE9A2B0094E3FE /* FieldCacheImpl.cpp */; }; - A954AC0713EE9E470094E3FE /* FieldDocSortedHitQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA6E13EE9A2B0094E3FE /* FieldDocSortedHitQueue.cpp */; }; - A954AC0813EE9E470094E3FE /* FieldSortedHitQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA7013EE9A2B0094E3FE /* FieldSortedHitQueue.cpp */; }; - A954AC0913EE9E470094E3FE /* FilteredTermEnum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA7313EE9A2B0094E3FE /* FilteredTermEnum.cpp */; }; - A954AC0A13EE9E470094E3FE /* FuzzyQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA7513EE9A2B0094E3FE /* FuzzyQuery.cpp */; }; - A954AC0B13EE9E470094E3FE /* HitQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA7713EE9A2B0094E3FE /* HitQueue.cpp */; }; - A954AC0C13EE9E470094E3FE /* Hits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA7913EE9A2B0094E3FE /* Hits.cpp */; }; - A954AC0D13EE9E470094E3FE /* IndexSearcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA7A13EE9A2B0094E3FE /* IndexSearcher.cpp */; }; - A954AC0E13EE9E470094E3FE /* MultiSearcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA7C13EE9A2B0094E3FE /* MultiSearcher.cpp */; }; - A954AC0F13EE9E470094E3FE /* MultiTermQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA7E13EE9A2B0094E3FE /* MultiTermQuery.cpp */; }; - A954AC1013EE9E470094E3FE /* PhrasePositions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA8013EE9A2B0094E3FE /* PhrasePositions.cpp */; }; - A954AC1113EE9E470094E3FE /* PhraseQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA8213EE9A2B0094E3FE /* PhraseQuery.cpp */; }; - A954AC1213EE9E470094E3FE /* PhraseScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA8513EE9A2B0094E3FE /* PhraseScorer.cpp */; }; - A954AC1313EE9E470094E3FE /* PrefixQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA8713EE9A2B0094E3FE /* PrefixQuery.cpp */; }; - A954AC1413EE9E470094E3FE /* QueryFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA8913EE9A2B0094E3FE /* QueryFilter.cpp */; }; - A954AC1513EE9E470094E3FE /* RangeFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA8B13EE9A2B0094E3FE /* RangeFilter.cpp */; }; - A954AC1613EE9E470094E3FE /* RangeQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA8D13EE9A2B0094E3FE /* RangeQuery.cpp */; }; - A954AC1713EE9E470094E3FE /* SearchHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA9013EE9A2B0094E3FE /* SearchHeader.cpp */; }; - A954AC1813EE9E470094E3FE /* Similarity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA9213EE9A2B0094E3FE /* Similarity.cpp */; }; - A954AC1913EE9E470094E3FE /* SloppyPhraseScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA9413EE9A2B0094E3FE /* SloppyPhraseScorer.cpp */; }; - A954AC1A13EE9E470094E3FE /* Sort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA9613EE9A2B0094E3FE /* Sort.cpp */; }; - A954AC1B13EE9E470094E3FE /* TermQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA9813EE9A2B0094E3FE /* TermQuery.cpp */; }; - A954AC1C13EE9E470094E3FE /* TermScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA9A13EE9A2B0094E3FE /* TermScorer.cpp */; }; - A954AC1D13EE9E470094E3FE /* WildcardQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA9C13EE9A2B0094E3FE /* WildcardQuery.cpp */; }; - A954AC1E13EE9E470094E3FE /* WildcardTermEnum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AA9E13EE9A2B0094E3FE /* WildcardTermEnum.cpp */; }; - A954AC1F13EE9E470094E3FE /* StdHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAA013EE9A2B0094E3FE /* StdHeader.cpp */; }; - A954AC2013EE9E470094E3FE /* FSDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAA413EE9A2B0094E3FE /* FSDirectory.cpp */; }; - A954AC2113EE9E470094E3FE /* IndexInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAA613EE9A2B0094E3FE /* IndexInput.cpp */; }; - A954AC2213EE9E470094E3FE /* IndexOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAA813EE9A2B0094E3FE /* IndexOutput.cpp */; }; - A954AC2313EE9E470094E3FE /* Lock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAAB13EE9A2B0094E3FE /* Lock.cpp */; }; - A954AC2413EE9E470094E3FE /* MMapInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAAD13EE9A2B0094E3FE /* MMapInput.cpp */; }; - A954AC2513EE9E470094E3FE /* RAMDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAAF13EE9A2B0094E3FE /* RAMDirectory.cpp */; }; - A954AC2613EE9E470094E3FE /* TransactionalRAMDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAB113EE9A2B0094E3FE /* TransactionalRAMDirectory.cpp */; }; - A954AC2713EE9E470094E3FE /* BitSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAB513EE9A2B0094E3FE /* BitSet.cpp */; }; - A954AC2813EE9E470094E3FE /* dirent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAB813EE9A2B0094E3FE /* dirent.cpp */; }; - A954AC2913EE9E470094E3FE /* Equators.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AABA13EE9A2B0094E3FE /* Equators.cpp */; }; - A954AC2A13EE9E470094E3FE /* FastCharStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AABC13EE9A2B0094E3FE /* FastCharStream.cpp */; }; - A954AC2B13EE9E470094E3FE /* fileinputstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AABE13EE9A2B0094E3FE /* fileinputstream.cpp */; }; - A954AC2C13EE9E470094E3FE /* MD5Digester.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAC313EE9A2B0094E3FE /* MD5Digester.cpp */; }; - A954AC2D13EE9E470094E3FE /* Misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAC513EE9A2B0094E3FE /* Misc.cpp */; }; - A954AC2E13EE9E470094E3FE /* Reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAC813EE9A2B0094E3FE /* Reader.cpp */; }; - A954AC2F13EE9E470094E3FE /* StringBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AACB13EE9A2B0094E3FE /* StringBuffer.cpp */; }; - A954AC3013EE9E470094E3FE /* StringIntern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AACD13EE9A2B0094E3FE /* StringIntern.cpp */; }; - A954AC3113EE9E470094E3FE /* ThreadLocal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954AAD113EE9A2B0094E3FE /* ThreadLocal.cpp */; }; - A954AC3313EE9F620094E3FE /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954AC3213EE9F620094E3FE /* libcurl.dylib */; }; - A954AC3713EE9FA10094E3FE /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954AC3413EE9FA10094E3FE /* libicucore.dylib */; }; - A954AC3813EE9FA10094E3FE /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954AC3513EE9FA10094E3FE /* libstdc++.dylib */; }; - A954AC3913EE9FA10094E3FE /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954AC3613EE9FA10094E3FE /* libz.dylib */; }; - A954AC3A13EEA0C10094E3FE /* swdisp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A80113EE98B30094E3FE /* swdisp.cpp */; }; - A954AC3B13EEA0C10094E3FE /* swlog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A80213EE98B30094E3FE /* swlog.cpp */; }; - A954AC3C13EEA0C10094E3FE /* listkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A80913EE98B30094E3FE /* listkey.cpp */; }; - A954AC3D13EEA0C10094E3FE /* strkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81013EE98B30094E3FE /* strkey.cpp */; }; - A954AC3E13EEA0C10094E3FE /* swkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81113EE98B30094E3FE /* swkey.cpp */; }; - A954AC3F13EEA0C10094E3FE /* treekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81213EE98B30094E3FE /* treekey.cpp */; }; - A954AC4013EEA0C10094E3FE /* treekeyidx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81313EE98B30094E3FE /* treekeyidx.cpp */; }; - A954AC4113EEA0C10094E3FE /* versekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81413EE98B30094E3FE /* versekey.cpp */; }; - A954AC4213EEA0C10094E3FE /* versetreekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81513EE98B30094E3FE /* versetreekey.cpp */; }; - A954AC4313EEA0C10094E3FE /* curlftpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81813EE98B30094E3FE /* curlftpt.cpp */; }; - A954AC4413EEA0C10094E3FE /* curlhttpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81913EE98B30094E3FE /* curlhttpt.cpp */; }; - A954AC4513EEA0C10094E3FE /* encfiltmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81A13EE98B30094E3FE /* encfiltmgr.cpp */; }; - A954AC4613EEA0C10094E3FE /* filemgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81B13EE98B30094E3FE /* filemgr.cpp */; }; - A954AC4713EEA0C10094E3FE /* ftplibftpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81C13EE98B30094E3FE /* ftplibftpt.cpp */; }; - A954AC4913EEA0C10094E3FE /* installmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81E13EE98B30094E3FE /* installmgr.cpp */; }; - A954AC4A13EEA0C10094E3FE /* localemgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A81F13EE98B30094E3FE /* localemgr.cpp */; }; - A954AC4B13EEA0C10094E3FE /* markupfiltmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82213EE98B30094E3FE /* markupfiltmgr.cpp */; }; - A954AC4C13EEA0C10094E3FE /* stringmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82313EE98B30094E3FE /* stringmgr.cpp */; }; - A954AC4D13EEA0C10094E3FE /* swcacher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82413EE98B30094E3FE /* swcacher.cpp */; }; - A954AC4E13EEA0C10094E3FE /* swconfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82513EE98B30094E3FE /* swconfig.cpp */; }; - A954AC4F13EEA0C10094E3FE /* swfiltermgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82613EE98B30094E3FE /* swfiltermgr.cpp */; }; - A954AC5013EEA0C10094E3FE /* swlocale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82713EE98B30094E3FE /* swlocale.cpp */; }; - A954AC5113EEA0C10094E3FE /* swmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82813EE98B30094E3FE /* swmgr.cpp */; }; - A954AC5213EEA0C10094E3FE /* swsearchable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82913EE98B30094E3FE /* swsearchable.cpp */; }; - A954AC5413EEA0C10094E3FE /* hrefcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A82E13EE98B30094E3FE /* hrefcom.cpp */; }; - A954AC5513EEA0C10094E3FE /* rawcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83613EE98B30094E3FE /* rawcom.cpp */; }; - A954AC5613EEA0C10094E3FE /* rawcom4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83913EE98B30094E3FE /* rawcom4.cpp */; }; - A954AC5713EEA0C10094E3FE /* rawfiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83D13EE98B30094E3FE /* rawfiles.cpp */; }; - A954AC5813EEA0C10094E3FE /* swcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A83E13EE98B30094E3FE /* swcom.cpp */; }; - A954AC5913EEA0C10094E3FE /* zcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84213EE98B30094E3FE /* zcom.cpp */; }; - A954AC5A13EEA0C10094E3FE /* entriesblk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84513EE98B30094E3FE /* entriesblk.cpp */; }; - A954AC5B13EEA0C10094E3FE /* lzsscomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84613EE98B30094E3FE /* lzsscomprs.cpp */; }; - A954AC5C13EEA0C10094E3FE /* rawstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84913EE98B30094E3FE /* rawstr.cpp */; }; - A954AC5D13EEA0C10094E3FE /* rawstr4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84A13EE98B30094E3FE /* rawstr4.cpp */; }; - A954AC5E13EEA0C10094E3FE /* rawverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84B13EE98B30094E3FE /* rawverse.cpp */; }; - A954AC5F13EEA0C10094E3FE /* rawverse4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84C13EE98B30094E3FE /* rawverse4.cpp */; }; - A954AC6013EEA0C10094E3FE /* sapphire.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84D13EE98B30094E3FE /* sapphire.cpp */; }; - A954AC6113EEA0C10094E3FE /* swcipher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84E13EE98B30094E3FE /* swcipher.cpp */; }; - A954AC6213EEA0C10094E3FE /* swcomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A84F13EE98B30094E3FE /* swcomprs.cpp */; }; - A954AC6313EEA0C10094E3FE /* zipcomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85113EE98B30094E3FE /* zipcomprs.cpp */; }; - A954AC6413EEA0C10094E3FE /* zstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85213EE98B30094E3FE /* zstr.cpp */; }; - A954AC6513EEA0C10094E3FE /* zverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85313EE98B30094E3FE /* zverse.cpp */; }; - A954AC6613EEA0C10094E3FE /* cipherfil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85513EE98B30094E3FE /* cipherfil.cpp */; }; - A954AC6713EEA0C10094E3FE /* gbffootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85613EE98B30094E3FE /* gbffootnotes.cpp */; }; - A954AC6813EEA0C10094E3FE /* gbfheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85713EE98B30094E3FE /* gbfheadings.cpp */; }; - A954AC6913EEA0C10094E3FE /* gbfhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85813EE98B30094E3FE /* gbfhtml.cpp */; }; - A954AC6A13EEA0C10094E3FE /* gbfhtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85913EE98B30094E3FE /* gbfhtmlhref.cpp */; }; - A954AC6B13EEA0C10094E3FE /* gbfmorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85A13EE98B30094E3FE /* gbfmorph.cpp */; }; - A954AC6C13EEA0C10094E3FE /* gbfosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85B13EE98B30094E3FE /* gbfosis.cpp */; }; - A954AC6D13EEA0C10094E3FE /* gbfplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85C13EE98B30094E3FE /* gbfplain.cpp */; }; - A954AC6E13EEA0C10094E3FE /* gbfredletterwords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85D13EE98B30094E3FE /* gbfredletterwords.cpp */; }; - A954AC6F13EEA0C10094E3FE /* gbfrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85E13EE98B30094E3FE /* gbfrtf.cpp */; }; - A954AC7013EEA0C10094E3FE /* gbfstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A85F13EE98B30094E3FE /* gbfstrongs.cpp */; }; - A954AC7113EEA0C10094E3FE /* gbfthml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86013EE98B30094E3FE /* gbfthml.cpp */; }; - A954AC7213EEA0C10094E3FE /* gbfwebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86113EE98B30094E3FE /* gbfwebif.cpp */; }; - A954AC7313EEA0C10094E3FE /* gbfwordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86213EE98B30094E3FE /* gbfwordjs.cpp */; }; - A954AC7413EEA0C10094E3FE /* gbfxhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86313EE98B30094E3FE /* gbfxhtml.cpp */; }; - A954AC7513EEA0C10094E3FE /* greeklexattribs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86413EE98B30094E3FE /* greeklexattribs.cpp */; }; - A954AC7613EEA0C10094E3FE /* latin1utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86513EE98B30094E3FE /* latin1utf16.cpp */; }; - A954AC7713EEA0C10094E3FE /* latin1utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86613EE98B30094E3FE /* latin1utf8.cpp */; }; - A954AC7813EEA0C10094E3FE /* osisfootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86913EE98B30094E3FE /* osisfootnotes.cpp */; }; - A954AC7913EEA0C10094E3FE /* osisheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86A13EE98B30094E3FE /* osisheadings.cpp */; }; - A954AC7A13EEA0C10094E3FE /* osishtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86B13EE98B30094E3FE /* osishtmlhref.cpp */; }; - A954AC7B13EEA0C10094E3FE /* osislemma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86C13EE98B30094E3FE /* osislemma.cpp */; }; - A954AC7C13EEA0C10094E3FE /* osismorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86D13EE98B30094E3FE /* osismorph.cpp */; }; - A954AC7D13EEA0C10094E3FE /* osismorphsegmentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86E13EE98B30094E3FE /* osismorphsegmentation.cpp */; }; - A954AC7E13EEA0C10094E3FE /* osisosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A86F13EE98B30094E3FE /* osisosis.cpp */; }; - A954AC7F13EEA0C10094E3FE /* osisplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87013EE98B30094E3FE /* osisplain.cpp */; }; - A954AC8013EEA0C10094E3FE /* osisredletterwords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87113EE98B30094E3FE /* osisredletterwords.cpp */; }; - A954AC8113EEA0C10094E3FE /* osisrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87213EE98B30094E3FE /* osisrtf.cpp */; }; - A954AC8313EEA0C10094E3FE /* osisscripref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87413EE98B30094E3FE /* osisscripref.cpp */; }; - A954AC8413EEA0C10094E3FE /* osisstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87513EE98B30094E3FE /* osisstrongs.cpp */; }; - A954AC8513EEA0C10094E3FE /* osisvariants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87613EE98B30094E3FE /* osisvariants.cpp */; }; - A954AC8613EEA0C10094E3FE /* osiswebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87713EE98B30094E3FE /* osiswebif.cpp */; }; - A954AC8713EEA0C10094E3FE /* osiswordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87813EE98B30094E3FE /* osiswordjs.cpp */; }; - A954AC8813EEA0C10094E3FE /* osisxhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87913EE98B30094E3FE /* osisxhtml.cpp */; }; - A954AC8913EEA0C10094E3FE /* papyriplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87A13EE98B30094E3FE /* papyriplain.cpp */; }; - A954AC8C13EEA0C10094E3FE /* rtfhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87D13EE98B30094E3FE /* rtfhtml.cpp */; }; - A954AC8D13EEA0C10094E3FE /* swbasicfilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87E13EE98B30094E3FE /* swbasicfilter.cpp */; }; - A954AC8E13EEA0C10094E3FE /* swoptfilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A87F13EE98B30094E3FE /* swoptfilter.cpp */; }; - A954AC8F13EEA0C10094E3FE /* teihtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88013EE98B30094E3FE /* teihtmlhref.cpp */; }; - A954AC9013EEA0C10094E3FE /* teiplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88113EE98B30094E3FE /* teiplain.cpp */; }; - A954AC9113EEA0C10094E3FE /* teirtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88213EE98B30094E3FE /* teirtf.cpp */; }; - A954AC9213EEA0C10094E3FE /* thmlfootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88313EE98B30094E3FE /* thmlfootnotes.cpp */; }; - A954AC9313EEA0C10094E3FE /* thmlgbf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88413EE98B30094E3FE /* thmlgbf.cpp */; }; - A954AC9413EEA0C10094E3FE /* thmlheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88513EE98B30094E3FE /* thmlheadings.cpp */; }; - A954AC9513EEA0C10094E3FE /* thmlhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88613EE98B30094E3FE /* thmlhtml.cpp */; }; - A954AC9613EEA0C10094E3FE /* thmlhtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88713EE98B30094E3FE /* thmlhtmlhref.cpp */; }; - A954AC9713EEA0C10094E3FE /* thmllemma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88813EE98B30094E3FE /* thmllemma.cpp */; }; - A954AC9813EEA0C10094E3FE /* thmlmorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88913EE98B30094E3FE /* thmlmorph.cpp */; }; - A954AC9913EEA0C10094E3FE /* thmlosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88A13EE98B30094E3FE /* thmlosis.cpp */; }; - A954AC9A13EEA0C10094E3FE /* thmlplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88B13EE98B30094E3FE /* thmlplain.cpp */; }; - A954AC9B13EEA0C10094E3FE /* thmlrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88C13EE98B30094E3FE /* thmlrtf.cpp */; }; - A954AC9C13EEA0C10094E3FE /* thmlscripref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88D13EE98B30094E3FE /* thmlscripref.cpp */; }; - A954AC9D13EEA0C10094E3FE /* thmlstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88E13EE98B30094E3FE /* thmlstrongs.cpp */; }; - A954AC9E13EEA0C10094E3FE /* thmlvariants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A88F13EE98B30094E3FE /* thmlvariants.cpp */; }; - A954AC9F13EEA0C10094E3FE /* thmlwebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89013EE98B30094E3FE /* thmlwebif.cpp */; }; - A954ACA013EEA0C10094E3FE /* thmlwordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89113EE98B30094E3FE /* thmlwordjs.cpp */; }; - A954ACA113EEA0C10094E3FE /* thmlxhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89213EE98B30094E3FE /* thmlxhtml.cpp */; }; - A954ACA213EEA0C10094E3FE /* unicodertf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89313EE98B30094E3FE /* unicodertf.cpp */; }; - A954ACA313EEA0C10094E3FE /* utf16utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89413EE98B30094E3FE /* utf16utf8.cpp */; }; - A954ACA413EEA0C10094E3FE /* utf8arabicpoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89513EE98B30094E3FE /* utf8arabicpoints.cpp */; }; - A954ACA513EEA0C10094E3FE /* utf8arshaping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89613EE98B30094E3FE /* utf8arshaping.cpp */; }; - A954ACA613EEA0C10094E3FE /* utf8bidireorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89713EE98B30094E3FE /* utf8bidireorder.cpp */; }; - A954ACA713EEA0C10094E3FE /* utf8cantillation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89813EE98B30094E3FE /* utf8cantillation.cpp */; }; - A954ACA813EEA0C10094E3FE /* utf8greekaccents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89913EE98B30094E3FE /* utf8greekaccents.cpp */; }; - A954ACA913EEA0C10094E3FE /* utf8hebrewpoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89A13EE98B30094E3FE /* utf8hebrewpoints.cpp */; }; - A954ACAA13EEA0C10094E3FE /* utf8html.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89B13EE98B30094E3FE /* utf8html.cpp */; }; - A954ACAB13EEA0C10094E3FE /* utf8latin1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89C13EE98B30094E3FE /* utf8latin1.cpp */; }; - A954ACAC13EEA0C10094E3FE /* utf8nfc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89D13EE98B30094E3FE /* utf8nfc.cpp */; }; - A954ACAD13EEA0C10094E3FE /* utf8nfkd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89E13EE98B30094E3FE /* utf8nfkd.cpp */; }; - A954ACAE13EEA0C10094E3FE /* utf8transliterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A89F13EE98B30094E3FE /* utf8transliterator.cpp */; }; - A954ACAF13EEA0C10094E3FE /* utf8utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8A013EE98B30094E3FE /* utf8utf16.cpp */; }; - A954ACB013EEA0C10094E3FE /* rawgenbook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8A713EE98B30094E3FE /* rawgenbook.cpp */; }; - A954ACB113EEA0C10094E3FE /* swgenbook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8A813EE98B30094E3FE /* swgenbook.cpp */; }; - A954ACB213EEA0C10094E3FE /* rawld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8AF13EE98B30094E3FE /* rawld.cpp */; }; - A954ACB313EEA0C10094E3FE /* rawld4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8B313EE98B30094E3FE /* rawld4.cpp */; }; - A954ACB413EEA0C10094E3FE /* swld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8B413EE98B30094E3FE /* swld.cpp */; }; - A954ACB513EEA0C10094E3FE /* zld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8B813EE98B30094E3FE /* zld.cpp */; }; - A954ACB613EEA0C10094E3FE /* swmodule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8BC13EE98B30094E3FE /* swmodule.cpp */; }; - A954ACB713EEA0C10094E3FE /* rawtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8C613EE98B30094E3FE /* rawtext.cpp */; }; - A954ACB813EEA0C10094E3FE /* rawtext4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8C913EE98B30094E3FE /* rawtext4.cpp */; }; - A954ACB913EEA0C10094E3FE /* swtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8CA13EE98B30094E3FE /* swtext.cpp */; }; - A954ACBA13EEA0C10094E3FE /* ztext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8CE13EE98B30094E3FE /* ztext.cpp */; }; - A954ACBB13EEA0C10094E3FE /* roman.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D513EE98B30094E3FE /* roman.cpp */; }; - A954ACBC13EEA0C10094E3FE /* swbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D613EE98B30094E3FE /* swbuf.cpp */; }; - A954ACBD13EEA0C10094E3FE /* swobject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D713EE98B30094E3FE /* swobject.cpp */; }; - A954ACBF13EEA0C10094E3FE /* swversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D913EE98B30094E3FE /* swversion.cpp */; }; - A954ACC013EEA0C10094E3FE /* url.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8DA13EE98B30094E3FE /* url.cpp */; }; - A954ACC113EEA0C10094E3FE /* utilstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8DB13EE98B30094E3FE /* utilstr.cpp */; }; - A954ACC213EEA0C10094E3FE /* utilxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A954A8DC13EE98B30094E3FE /* utilxml.cpp */; }; - A954ACCA13EEA5340094E3FE /* ftplib.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D013EE98B30094E3FE /* ftplib.c */; }; - A954ACCB13EEA5340094E3FE /* ftpparse.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8D113EE98B30094E3FE /* ftpparse.c */; }; - A954ACCD13EEA5340094E3FE /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8E113EE98B30094E3FE /* adler32.c */; }; - A954ACCE13EEA5340094E3FE /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8E213EE98B30094E3FE /* compress.c */; }; - A954ACCF13EEA5340094E3FE /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8E313EE98B30094E3FE /* crc32.c */; }; - A954ACD013EEA5340094E3FE /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8E413EE98B30094E3FE /* deflate.c */; }; - A954ACD413EEA5340094E3FE /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8EB13EE98B30094E3FE /* inffast.c */; }; - A954ACD513EEA5340094E3FE /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8EE13EE98B30094E3FE /* inflate.c */; }; - A954ACD613EEA5340094E3FE /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8EF13EE98B30094E3FE /* inftrees.c */; }; - A954ACD913EEA5340094E3FE /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8F413EE98B30094E3FE /* trees.c */; }; - A954ACDA13EEA5340094E3FE /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8F613EE98B30094E3FE /* uncompr.c */; }; - A954ACDB13EEA5340094E3FE /* untgz.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8F713EE98B30094E3FE /* untgz.c */; }; - A954ACDC13EEA5340094E3FE /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A954A8F813EE98B30094E3FE /* zutil.c */; }; - A954ACDD13EEA6780094E3FE /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; - A967FB5616806B16004ED73C /* teixhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9E9C5ED16806A2B00ECEB39 /* teixhtml.cpp */; }; - A96C2359176AFA3C008D714B /* remotetrans.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2351176AF188008D714B /* remotetrans.cpp */; }; - A96C235A176AFA3C008D714B /* osisenum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2353176AF19C008D714B /* osisenum.cpp */; }; - A96C235B176AFA3C008D714B /* osisglosses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2354176AF19C008D714B /* osisglosses.cpp */; }; - A96C235C176AFA3C008D714B /* osisxlit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2355176AF19C008D714B /* osisxlit.cpp */; }; - A96C235C176AFA3C008D714B /* osisreferencelinks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A96C2355176AF19C008D714B /* osisreferencelinks.cpp */; }; - A96C235D176AFA3C008D714B /* gzclose.c in Sources */ = {isa = PBXBuildFile; fileRef = A96C233E176AF139008D714B /* gzclose.c */; }; - A96C235E176AFA3C008D714B /* gzlib.c in Sources */ = {isa = PBXBuildFile; fileRef = A96C2340176AF139008D714B /* gzlib.c */; }; - A96C235F176AFA3C008D714B /* gzread.c in Sources */ = {isa = PBXBuildFile; fileRef = A96C2341176AF139008D714B /* gzread.c */; }; - A96C2360176AFA3C008D714B /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = A96C2342176AF139008D714B /* gzwrite.c */; }; - A96C2361176AFA3C008D714B /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = A96C2343176AF139008D714B /* infback.c */; }; + A968BE4D19DFF832002C9B78 /* SwordBibleTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A968BE4C19DFF832002C9B78 /* SwordBibleTest.swift */; }; + A969DC7B1DA1289100C8E976 /* SwordLocaleManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A969DC7A1DA1289100C8E976 /* SwordLocaleManagerTest.swift */; }; A975EAC511C77862007C1532 /* ObjCSword.h in Headers */ = {isa = PBXBuildFile; fileRef = A975EAC411C77862007C1532 /* ObjCSword.h */; settings = {ATTRIBUTES = (Public, ); }; }; A975EEE511C79308007C1532 /* mod2osis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDAC11C7925C007C1532 /* mod2osis.cpp */; }; - A999FF3F17951CCE00E65919 /* bz2comprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A999FF3917951C8900E65919 /* bz2comprs.cpp */; }; - A999FF4017951CCE00E65919 /* xzcomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A999FF3A17951C8900E65919 /* xzcomprs.cpp */; }; - A999FF4117951CCE00E65919 /* scsuutf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A999FF3D17951CA000E65919 /* scsuutf8.cpp */; }; + A995E6241C876E8900843E13 /* TestModules in Resources */ = {isa = PBXBuildFile; fileRef = A995E6231C876E8900843E13 /* TestModules */; }; + A995E6271C877DD000843E13 /* SwordManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A995E6261C877DD000843E13 /* SwordManagerTest.m */; }; + A9A127A519DE93A0005BCBC1 /* SwordUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C92C7B2EB245D47FEB5E3B0 /* SwordUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9A127A619DE93A0005BCBC1 /* FilterProviderFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C92C72ADACB017A434CD268 /* FilterProviderFactory.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9A127A719DE93A0005BCBC1 /* DefaultFilterProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C92C980D4DE32C7AB93159D /* DefaultFilterProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9A127A819DE93A0005BCBC1 /* SwordFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C92C02A5C86E1C75ED1CEF4 /* SwordFilter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9A129DB19DF144D005BCBC1 /* bz2comprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1291C19DF144D005BCBC1 /* bz2comprs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129DC19DF144D005BCBC1 /* canon.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1291D19DF144D005BCBC1 /* canon.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129DD19DF144D005BCBC1 /* canon_abbrevs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1291E19DF144D005BCBC1 /* canon_abbrevs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129DE19DF144D005BCBC1 /* canon_catholic.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1291F19DF144D005BCBC1 /* canon_catholic.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129DF19DF144D005BCBC1 /* canon_catholic2.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292019DF144D005BCBC1 /* canon_catholic2.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E019DF144D005BCBC1 /* canon_german.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292119DF144D005BCBC1 /* canon_german.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E119DF144D005BCBC1 /* canon_kjva.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292219DF144D005BCBC1 /* canon_kjva.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E219DF144D005BCBC1 /* canon_leningrad.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292319DF144D005BCBC1 /* canon_leningrad.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E319DF144D005BCBC1 /* canon_luther.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292419DF144D005BCBC1 /* canon_luther.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E419DF144D005BCBC1 /* canon_lxx.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292519DF144D005BCBC1 /* canon_lxx.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E519DF144D005BCBC1 /* canon_mt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292619DF144D005BCBC1 /* canon_mt.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E619DF144D005BCBC1 /* canon_nrsv.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292719DF144D005BCBC1 /* canon_nrsv.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E719DF144D005BCBC1 /* canon_nrsva.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292819DF144D005BCBC1 /* canon_nrsva.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E819DF144D005BCBC1 /* canon_null.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292919DF144D005BCBC1 /* canon_null.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129E919DF144D005BCBC1 /* canon_orthodox.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292A19DF144D005BCBC1 /* canon_orthodox.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129EA19DF144D005BCBC1 /* canon_synodal.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292B19DF144D005BCBC1 /* canon_synodal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129EB19DF144D005BCBC1 /* canon_synodalprot.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292C19DF144D005BCBC1 /* canon_synodalprot.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129EC19DF144D005BCBC1 /* canon_vulg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292D19DF144D005BCBC1 /* canon_vulg.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129ED19DF144D005BCBC1 /* cipherfil.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1292E19DF144D005BCBC1 /* cipherfil.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129EF19DF144D005BCBC1 /* curlftpt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293019DF144D005BCBC1 /* curlftpt.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F019DF144D005BCBC1 /* curlhttpt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293119DF144D005BCBC1 /* curlhttpt.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F119DF144D005BCBC1 /* defs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293219DF144D005BCBC1 /* defs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F219DF144D005BCBC1 /* echomod.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293319DF144D005BCBC1 /* echomod.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F319DF144D005BCBC1 /* encfiltmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293419DF144D005BCBC1 /* encfiltmgr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F419DF144D005BCBC1 /* entriesblk.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293519DF144D005BCBC1 /* entriesblk.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F519DF144E005BCBC1 /* femain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293619DF144D005BCBC1 /* femain.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F619DF144E005BCBC1 /* filemgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293719DF144D005BCBC1 /* filemgr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F719DF144E005BCBC1 /* flatapi.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293819DF144D005BCBC1 /* flatapi.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F819DF144E005BCBC1 /* ftplib.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293919DF144D005BCBC1 /* ftplib.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129F919DF144E005BCBC1 /* ftplibftpt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293A19DF144D005BCBC1 /* ftplibftpt.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129FA19DF144E005BCBC1 /* ftpparse.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293B19DF144D005BCBC1 /* ftpparse.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129FB19DF144E005BCBC1 /* gbffootnotes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293C19DF144D005BCBC1 /* gbffootnotes.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129FC19DF144E005BCBC1 /* gbfheadings.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293D19DF144D005BCBC1 /* gbfheadings.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129FD19DF144E005BCBC1 /* gbfhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293E19DF144D005BCBC1 /* gbfhtml.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129FE19DF144E005BCBC1 /* gbfhtmlhref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1293F19DF144D005BCBC1 /* gbfhtmlhref.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A129FF19DF144E005BCBC1 /* gbflatex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294019DF144D005BCBC1 /* gbflatex.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0019DF144E005BCBC1 /* gbfmorph.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294119DF144D005BCBC1 /* gbfmorph.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0119DF144E005BCBC1 /* gbfosis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294219DF144D005BCBC1 /* gbfosis.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0219DF144E005BCBC1 /* gbfplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294319DF144D005BCBC1 /* gbfplain.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0319DF144E005BCBC1 /* gbfredletterwords.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294419DF144D005BCBC1 /* gbfredletterwords.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0419DF144E005BCBC1 /* gbfrtf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294519DF144D005BCBC1 /* gbfrtf.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0519DF144E005BCBC1 /* gbfstrongs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294619DF144D005BCBC1 /* gbfstrongs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0619DF144E005BCBC1 /* gbfthml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294719DF144D005BCBC1 /* gbfthml.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0719DF144E005BCBC1 /* gbfwebif.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294819DF144D005BCBC1 /* gbfwebif.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0819DF144E005BCBC1 /* gbfwordjs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294919DF144D005BCBC1 /* gbfwordjs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0919DF144E005BCBC1 /* gbfxhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294A19DF144D005BCBC1 /* gbfxhtml.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0A19DF144E005BCBC1 /* greeklexattribs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294B19DF144D005BCBC1 /* greeklexattribs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0B19DF144E005BCBC1 /* hebrewmcim.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294C19DF144D005BCBC1 /* hebrewmcim.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0C19DF144F005BCBC1 /* hrefcom.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294D19DF144D005BCBC1 /* hrefcom.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0D19DF144F005BCBC1 /* installmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1294E19DF144D005BCBC1 /* installmgr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0E19DF144F005BCBC1 /* regex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295119DF144D005BCBC1 /* regex.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A0F19DF144F005BCBC1 /* latin1utf16.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295219DF144D005BCBC1 /* latin1utf16.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1019DF144F005BCBC1 /* latin1utf8.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295319DF144D005BCBC1 /* latin1utf8.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1119DF144F005BCBC1 /* listkey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295419DF144D005BCBC1 /* listkey.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1219DF144F005BCBC1 /* localemgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295519DF144D005BCBC1 /* localemgr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1319DF144F005BCBC1 /* lzsscomprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295619DF144D005BCBC1 /* lzsscomprs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1619DF144F005BCBC1 /* markupfiltmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295919DF144D005BCBC1 /* markupfiltmgr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1719DF144F005BCBC1 /* multimapwdef.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295A19DF144D005BCBC1 /* multimapwdef.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1819DF144F005BCBC1 /* nullim.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295B19DF144D005BCBC1 /* nullim.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1919DF144F005BCBC1 /* osisenum.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295C19DF144D005BCBC1 /* osisenum.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1A19DF144F005BCBC1 /* osisfootnotes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295D19DF144D005BCBC1 /* osisfootnotes.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1B19DF144F005BCBC1 /* osisglosses.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295E19DF144D005BCBC1 /* osisglosses.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1C19DF144F005BCBC1 /* osisheadings.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1295F19DF144D005BCBC1 /* osisheadings.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1D19DF1450005BCBC1 /* osishtmlhref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296019DF144D005BCBC1 /* osishtmlhref.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1E19DF1450005BCBC1 /* osislatex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296119DF144D005BCBC1 /* osislatex.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A1F19DF1450005BCBC1 /* osislemma.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296219DF144D005BCBC1 /* osislemma.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2019DF1450005BCBC1 /* osismorph.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296319DF144D005BCBC1 /* osismorph.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2119DF1450005BCBC1 /* osismorphsegmentation.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296419DF144D005BCBC1 /* osismorphsegmentation.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2219DF1450005BCBC1 /* osisosis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296519DF144D005BCBC1 /* osisosis.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2319DF1450005BCBC1 /* osisplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296619DF144D005BCBC1 /* osisplain.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2419DF1450005BCBC1 /* osisredletterwords.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296719DF144D005BCBC1 /* osisredletterwords.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2519DF1450005BCBC1 /* osisreferencelinks.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296819DF144D005BCBC1 /* osisreferencelinks.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2619DF1450005BCBC1 /* osisrtf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296919DF144D005BCBC1 /* osisrtf.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2719DF1450005BCBC1 /* osisscripref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296A19DF144D005BCBC1 /* osisscripref.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2819DF1450005BCBC1 /* osisstrongs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296B19DF144D005BCBC1 /* osisstrongs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2919DF1450005BCBC1 /* osisvariants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296C19DF144D005BCBC1 /* osisvariants.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2A19DF1451005BCBC1 /* osiswebif.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296D19DF144D005BCBC1 /* osiswebif.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2B19DF1451005BCBC1 /* osiswordjs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296E19DF144D005BCBC1 /* osiswordjs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2C19DF1451005BCBC1 /* osisxhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1296F19DF144D005BCBC1 /* osisxhtml.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2D19DF1451005BCBC1 /* osisxlit.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297019DF144D005BCBC1 /* osisxlit.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2E19DF1451005BCBC1 /* papyriplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297119DF144D005BCBC1 /* papyriplain.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A2F19DF1451005BCBC1 /* rawcom.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297219DF144D005BCBC1 /* rawcom.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3019DF1451005BCBC1 /* rawcom4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297319DF144D005BCBC1 /* rawcom4.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3119DF1451005BCBC1 /* rawfiles.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297419DF144D005BCBC1 /* rawfiles.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3219DF1451005BCBC1 /* rawgenbook.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297519DF144D005BCBC1 /* rawgenbook.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3319DF1451005BCBC1 /* rawld.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297619DF144D005BCBC1 /* rawld.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3419DF1451005BCBC1 /* rawld4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297719DF144D005BCBC1 /* rawld4.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3519DF1452005BCBC1 /* rawstr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297819DF144D005BCBC1 /* rawstr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3619DF1452005BCBC1 /* rawstr4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297919DF144D005BCBC1 /* rawstr4.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3719DF1452005BCBC1 /* rawtext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297A19DF144D005BCBC1 /* rawtext.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3819DF1452005BCBC1 /* rawtext4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297B19DF144D005BCBC1 /* rawtext4.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3919DF1452005BCBC1 /* rawverse.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297C19DF144D005BCBC1 /* rawverse.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3A19DF1452005BCBC1 /* rawverse4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297D19DF144D005BCBC1 /* rawverse4.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3B19DF1452005BCBC1 /* remotetrans.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297E19DF144D005BCBC1 /* remotetrans.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3C19DF1452005BCBC1 /* roman.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1297F19DF144D005BCBC1 /* roman.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3D19DF1452005BCBC1 /* rtfhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298019DF144D005BCBC1 /* rtfhtml.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3E19DF1452005BCBC1 /* sapphire.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298119DF144D005BCBC1 /* sapphire.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A3F19DF1453005BCBC1 /* scsuutf8.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298219DF144D005BCBC1 /* scsuutf8.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4119DF1453005BCBC1 /* stringmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298419DF144D005BCBC1 /* stringmgr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4219DF1453005BCBC1 /* strkey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298519DF144D005BCBC1 /* strkey.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4319DF1453005BCBC1 /* swbasicfilter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298619DF144D005BCBC1 /* swbasicfilter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4419DF1453005BCBC1 /* swbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298719DF144D005BCBC1 /* swbuf.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4519DF1453005BCBC1 /* swcacher.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298819DF144D005BCBC1 /* swcacher.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4619DF1453005BCBC1 /* swcipher.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298919DF144D005BCBC1 /* swcipher.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4719DF1453005BCBC1 /* swcom.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298A19DF144D005BCBC1 /* swcom.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4819DF1454005BCBC1 /* swcomprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298B19DF144D005BCBC1 /* swcomprs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4919DF1454005BCBC1 /* swconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298C19DF144D005BCBC1 /* swconfig.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4A19DF1454005BCBC1 /* swdisp.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298D19DF144D005BCBC1 /* swdisp.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4B19DF1454005BCBC1 /* swfilter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298E19DF144D005BCBC1 /* swfilter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4C19DF1454005BCBC1 /* swfiltermgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1298F19DF144D005BCBC1 /* swfiltermgr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4D19DF1454005BCBC1 /* swgenbook.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299019DF144D005BCBC1 /* swgenbook.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4E19DF1454005BCBC1 /* swinputmeth.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299119DF144D005BCBC1 /* swinputmeth.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A4F19DF1454005BCBC1 /* swkey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299219DF144D005BCBC1 /* swkey.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5019DF1455005BCBC1 /* swld.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299319DF144D005BCBC1 /* swld.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5119DF1455005BCBC1 /* swlocale.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299419DF144D005BCBC1 /* swlocale.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5219DF1455005BCBC1 /* swlog.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299519DF144D005BCBC1 /* swlog.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5319DF1455005BCBC1 /* swmacs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299619DF144D005BCBC1 /* swmacs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5419DF1455005BCBC1 /* swmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299719DF144D005BCBC1 /* swmgr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5519DF1455005BCBC1 /* swmodule.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299819DF144D005BCBC1 /* swmodule.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5619DF1455005BCBC1 /* swobject.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299919DF144D005BCBC1 /* swobject.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5719DF1455005BCBC1 /* swoptfilter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299A19DF144D005BCBC1 /* swoptfilter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5919DF1456005BCBC1 /* swsearchable.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299C19DF144D005BCBC1 /* swsearchable.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5A19DF1456005BCBC1 /* swtext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299D19DF144D005BCBC1 /* swtext.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5B19DF1456005BCBC1 /* swversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A1299E19DF144D005BCBC1 /* swversion.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5D19DF1456005BCBC1 /* sysdata.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A019DF144D005BCBC1 /* sysdata.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5E19DF1456005BCBC1 /* teihtmlhref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A119DF144D005BCBC1 /* teihtmlhref.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A5F19DF1456005BCBC1 /* teilatex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A219DF144D005BCBC1 /* teilatex.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6019DF1457005BCBC1 /* teiplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A319DF144D005BCBC1 /* teiplain.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6119DF1457005BCBC1 /* teirtf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A419DF144D005BCBC1 /* teirtf.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6219DF1457005BCBC1 /* teixhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A519DF144D005BCBC1 /* teixhtml.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6319DF1457005BCBC1 /* thmlfootnotes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A619DF144D005BCBC1 /* thmlfootnotes.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6419DF1457005BCBC1 /* thmlgbf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A719DF144D005BCBC1 /* thmlgbf.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6519DF1457005BCBC1 /* thmlheadings.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A819DF144D005BCBC1 /* thmlheadings.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6619DF1457005BCBC1 /* thmlhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129A919DF144D005BCBC1 /* thmlhtml.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6719DF1458005BCBC1 /* thmlhtmlhref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AA19DF144D005BCBC1 /* thmlhtmlhref.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6819DF1458005BCBC1 /* thmllatex.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AB19DF144D005BCBC1 /* thmllatex.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6919DF1458005BCBC1 /* thmllemma.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AC19DF144D005BCBC1 /* thmllemma.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6A19DF1458005BCBC1 /* thmlmorph.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AD19DF144D005BCBC1 /* thmlmorph.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6B19DF1458005BCBC1 /* thmlosis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AE19DF144D005BCBC1 /* thmlosis.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6C19DF1458005BCBC1 /* thmlplain.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129AF19DF144D005BCBC1 /* thmlplain.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6D19DF1458005BCBC1 /* thmlrtf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B019DF144D005BCBC1 /* thmlrtf.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6E19DF1459005BCBC1 /* thmlscripref.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B119DF144D005BCBC1 /* thmlscripref.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A6F19DF1459005BCBC1 /* thmlstrongs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B219DF144D005BCBC1 /* thmlstrongs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7019DF1459005BCBC1 /* thmlvariants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B319DF144D005BCBC1 /* thmlvariants.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7119DF1459005BCBC1 /* thmlwebif.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B419DF144D005BCBC1 /* thmlwebif.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7219DF1459005BCBC1 /* thmlwordjs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B519DF144D005BCBC1 /* thmlwordjs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7319DF1459005BCBC1 /* thmlxhtml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B619DF144D005BCBC1 /* thmlxhtml.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7419DF145A005BCBC1 /* treekey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B719DF144D005BCBC1 /* treekey.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7519DF145A005BCBC1 /* treekeyidx.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B819DF144D005BCBC1 /* treekeyidx.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7619DF145A005BCBC1 /* unicodertf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129B919DF144D005BCBC1 /* unicodertf.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7719DF145A005BCBC1 /* untgz.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BA19DF144D005BCBC1 /* untgz.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7819DF145A005BCBC1 /* url.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BB19DF144D005BCBC1 /* url.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7919DF145A005BCBC1 /* utf16utf8.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BC19DF144D005BCBC1 /* utf16utf8.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7A19DF145B005BCBC1 /* utf8arabicpoints.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BD19DF144D005BCBC1 /* utf8arabicpoints.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7B19DF145B005BCBC1 /* utf8arshaping.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BE19DF144D005BCBC1 /* utf8arshaping.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7C19DF145B005BCBC1 /* utf8bidireorder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129BF19DF144D005BCBC1 /* utf8bidireorder.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7D19DF145B005BCBC1 /* utf8cantillation.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C019DF144D005BCBC1 /* utf8cantillation.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7E19DF145B005BCBC1 /* utf8greekaccents.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C119DF144D005BCBC1 /* utf8greekaccents.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A7F19DF145C005BCBC1 /* utf8hebrewpoints.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C219DF144D005BCBC1 /* utf8hebrewpoints.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8019DF145C005BCBC1 /* utf8html.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C319DF144D005BCBC1 /* utf8html.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8119DF145C005BCBC1 /* utf8latin1.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C419DF144D005BCBC1 /* utf8latin1.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8219DF145C005BCBC1 /* utf8nfc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C519DF144D005BCBC1 /* utf8nfc.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8319DF145C005BCBC1 /* utf8nfkd.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C619DF144D005BCBC1 /* utf8nfkd.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8419DF145C005BCBC1 /* utf8scsu.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C719DF144D005BCBC1 /* utf8scsu.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8519DF145D005BCBC1 /* utf8transliterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C819DF144D005BCBC1 /* utf8transliterator.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8619DF145D005BCBC1 /* utf8utf16.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129C919DF144D005BCBC1 /* utf8utf16.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8719DF145D005BCBC1 /* utilstr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CA19DF144D005BCBC1 /* utilstr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8819DF145D005BCBC1 /* utilxml.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CB19DF144D005BCBC1 /* utilxml.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8919DF145D005BCBC1 /* versekey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CC19DF144D005BCBC1 /* versekey.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8A19DF145E005BCBC1 /* versetreekey.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CD19DF144D005BCBC1 /* versetreekey.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8B19DF145E005BCBC1 /* versificationmgr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CE19DF144D005BCBC1 /* versificationmgr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8C19DF145E005BCBC1 /* xzcomprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129CF19DF144D005BCBC1 /* xzcomprs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8D19DF145E005BCBC1 /* zcom.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D019DF144D005BCBC1 /* zcom.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8E19DF145E005BCBC1 /* zcom4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D119DF144D005BCBC1 /* zcom4.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A8F19DF145F005BCBC1 /* zconf.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D219DF144D005BCBC1 /* zconf.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A9019DF145F005BCBC1 /* zipcomprs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D319DF144D005BCBC1 /* zipcomprs.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A9119DF145F005BCBC1 /* zld.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D419DF144D005BCBC1 /* zld.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A9219DF145F005BCBC1 /* zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D519DF144D005BCBC1 /* zlib.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A9319DF145F005BCBC1 /* zstr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D619DF144D005BCBC1 /* zstr.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A9419DF1460005BCBC1 /* ztext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D719DF144D005BCBC1 /* ztext.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A9519DF1460005BCBC1 /* ztext4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D819DF144D005BCBC1 /* ztext4.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A9619DF1460005BCBC1 /* zverse.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129D919DF144D005BCBC1 /* zverse.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A9A12A9719DF1460005BCBC1 /* zverse4.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A129DA19DF144D005BCBC1 /* zverse4.h */; settings = {ATTRIBUTES = (Private, ); }; }; A9A2C17D118D9D3D0002873D /* Notifications.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A2C17C118D9D3D0002873D /* Notifications.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A9A7EEAF14D5D4C300B76B6A /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; A9A7EEBE14D5D64C00B76B6A /* osis2mod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDB111C7925C007C1532 /* osis2mod.cpp */; }; - A9A7EEBF14D5D65900B76B6A /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; - A9BDFA621207F9870067ED5B /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2818D11C43BD400803CB5 /* SenTestingKit.framework */; }; - A9BDFA631207F9870067ED5B /* ObjCSword.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */; }; - A9BDFA661207F9870067ED5B /* SwordManagerTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A964658011C663E200640FAC /* SwordManagerTest.h */; }; - A9BDFA671207F9870067ED5B /* SwordModuleTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A918B8E211C6697400024D84 /* SwordModuleTest.h */; }; - A9BDFA7C1207FA2F0067ED5B /* SwordModuleLongRunTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A9BDFA7A1207FA2F0067ED5B /* SwordModuleLongRunTest.h */; }; - A9BDFA7D1207FA2F0067ED5B /* SwordModuleLongRunTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9BDFA7B1207FA2F0067ED5B /* SwordModuleLongRunTest.mm */; }; - A9BFB0A513EDF51100032679 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9BFB0A413EDF51000032679 /* SenTestingKit.framework */; }; + A9A94A381DCB21AB00F69260 /* canon_calvin.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A94A351DCB21AB00F69260 /* canon_calvin.h */; }; + A9A94A391DCB21AB00F69260 /* canon_darbyfr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A94A361DCB21AB00F69260 /* canon_darbyfr.h */; }; + A9A94A3A1DCB21AB00F69260 /* canon_segond.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A94A371DCB21AB00F69260 /* canon_segond.h */; }; A9BFB0A713EDF51100032679 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9BFB0A613EDF51100032679 /* Cocoa.framework */; }; - A9BFB0BC13EDF5C900032679 /* SwordManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A964658111C663E200640FAC /* SwordManagerTest.m */; }; A9BFB0BD13EDF5C900032679 /* SwordModuleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A918B8E311C6697400024D84 /* SwordModuleTest.m */; }; A9BFB0BE13EDF5C900032679 /* SwordListKeyTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A9BDFA771207F9F00067ED5B /* SwordListKeyTest.m */; }; - A9BFB0BF13EDF5D500032679 /* ObjCSword.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */; }; + A9BFB0BF13EDF5D500032679 /* SWORD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* SWORD.framework */; }; A9C2856F11C446B700803CB5 /* Configuration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2856D11C446B700803CB5 /* Configuration.h */; settings = {ATTRIBUTES = (Public, ); }; }; A9C2857311C4471400803CB5 /* OSXConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2857111C4471400803CB5 /* OSXConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; A9C2857411C4471400803CB5 /* OSXConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A9C2857211C4471400803CB5 /* OSXConfiguration.m */; }; A9C2858311C44A0A00803CB5 /* Configuration.m in Sources */ = {isa = PBXBuildFile; fileRef = A9C2858211C44A0A00803CB5 /* Configuration.m */; }; - A9D2714A14D717D800DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; A9D2715014D717F600DA8926 /* imp2gbs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975ED9811C7925C007C1532 /* imp2gbs.cpp */; }; - A9D2715714D717FD00DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; A9D2715D14D7180F00DA8926 /* imp2ld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975ED9911C7925C007C1532 /* imp2ld.cpp */; }; - A9D2716414D7181200DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; A9D2716A14D7182100DA8926 /* imp2vs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975ED9A11C7925C007C1532 /* imp2vs.cpp */; }; - A9D2717114D7182300DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; A9D2717714D7183700DA8926 /* installmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975ED9B11C7925C007C1532 /* installmgr.cpp */; }; - A9D2717E14D7183B00DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; A9D2718414D7184E00DA8926 /* mod2imp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDAB11C7925C007C1532 /* mod2imp.cpp */; }; - A9D2718B14D7185800DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; A9D2719114D7186800DA8926 /* mod2vpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDAD11C7925C007C1532 /* mod2vpl.cpp */; }; - A9D2719814D7186A00DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; A9D2719E14D7187A00DA8926 /* mod2zmod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDAE11C7925C007C1532 /* mod2zmod.cpp */; }; - A9D271A514D7187E00DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; A9D271AB14D7189100DA8926 /* step2vpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDB811C7925C007C1532 /* step2vpl.cpp */; }; - A9D271B214D7189300DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; A9D271B814D718A300DA8926 /* stepdump.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDB911C7925C007C1532 /* stepdump.cpp */; }; - A9D271BF14D718A400DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; A9D271C514D718B700DA8926 /* tei2mod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDBB11C7925C007C1532 /* tei2mod.cpp */; }; - A9D271CC14D718B800DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; A9D271D214D718C600DA8926 /* vpl2mod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDD811C7925C007C1532 /* vpl2mod.cpp */; }; - A9D271D914D718C800DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; A9D271DF14D718DE00DA8926 /* vs2osisref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDD911C7925C007C1532 /* vs2osisref.cpp */; }; - A9D271E614D718DF00DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; A9D271EC14D718F400DA8926 /* vs2osisreftxt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDDA11C7925C007C1532 /* vs2osisreftxt.cpp */; }; - A9D271F314D718F500DA8926 /* libsword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; A9D271F914D7190400DA8926 /* xml2gbs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDDB11C7925C007C1532 /* xml2gbs.cpp */; }; A9D4360511C4FE97007AFE83 /* SwordModule+Index.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D4360311C4FE97007AFE83 /* SwordModule+Index.h */; settings = {ATTRIBUTES = (Public, ); }; }; A9D4360611C4FE97007AFE83 /* SwordModule+Index.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9D4360411C4FE97007AFE83 /* SwordModule+Index.mm */; }; A9D4382311C52947007AFE83 /* locales.d in Resources */ = {isa = PBXBuildFile; fileRef = A9D437CE11C52947007AFE83 /* locales.d */; }; - A9D9FA0B13EEE5CF00EA9DEB /* libsword.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A954ABC313EE9AB00094E3FE /* libsword.dylib */; }; + A9D8FD3819E2EC730055700C /* introtest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D8FD2C19E2EC0E0055700C /* introtest.cpp */; }; + A9EE8A9119E286E500CFFE6A /* SWORD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* SWORD.framework */; }; + A9EE8A9719E2877500CFFE6A /* SwordModuleLongRunTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9BDFA7B1207FA2F0067ED5B /* SwordModuleLongRunTest.mm */; }; A9EF1416120595650078A27C /* SwordLocaleManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9EF1414120595650078A27C /* SwordLocaleManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; A9EF1417120595650078A27C /* SwordLocaleManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9EF1415120595650078A27C /* SwordLocaleManager.mm */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - A954ABC913EE9D0F0094E3FE /* PBXContainerItemProxy */ = { + 0A011DA81FB4142500778C2B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9A7EEAD14D5D4BB00B76B6A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9A7EEC014D5D66400B76B6A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9BDFA5C1207F9870067ED5B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8DC2EF4F0486A6940098B216; - remoteInfo = ObjCSword; + remoteGlobalIDString = 0A011D9D1FB4142500778C2B; + remoteInfo = SWORD; }; A9BFB0BA13EDF5B600032679 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -441,111 +851,6 @@ remoteGlobalIDString = 8DC2EF4F0486A6940098B216; remoteInfo = ObjCSword; }; - A9D2714614D717D800DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D2715314D717FD00DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D2716014D7181200DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D2716D14D7182300DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D2717A14D7183B00DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D2718714D7185800DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D2719414D7186A00DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D271A114D7187E00DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D271AE14D7189300DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D271BB14D718A400DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D271C814D718B800DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D271D514D718C800DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D271E214D718DF00DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D271EF14D718F500DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; - A9D271FE14D7193A00DA8926 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A954ABC213EE9AB00094E3FE; - remoteInfo = sword; - }; A9D2720014D7194E00DA8926 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; @@ -658,16 +963,32 @@ remoteGlobalIDString = A9D271ED14D718F500DA8926; remoteInfo = xml2gbs; }; + A9EE8A9219E286E500CFFE6A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8DC2EF4F0486A6940098B216; + remoteInfo = ObjCSword; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ + 0A1F169E1FBB755B00E0AEFA /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + 0A1F16A51FBB755B00E0AEFA /* SWORD.h in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; A9A5050211C75C4B00EB6EA5 /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - A9D9FA0B13EEE5CF00EA9DEB /* libsword.dylib in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -677,10 +998,22 @@ 0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; 0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; 089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; + 0A011D9E1FB4142500778C2B /* sword.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = sword.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0A011DA11FB4142500778C2B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; + 0A011DA61FB4142500778C2B /* SWORDTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SWORDTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 0A011DAB1FB4142500778C2B /* SWORDTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SWORDTests.m; sourceTree = "<group>"; }; + 0A011DAD1FB4142500778C2B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; + 0A1F16991FBB70E200E0AEFA /* flatapi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = flatapi.cpp; path = ../flatapi.cpp; sourceTree = "<group>"; }; + 0A1F16A01FBB755B00E0AEFA /* libSWORD.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSWORD.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 0A1F16A21FBB755B00E0AEFA /* SWORD.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SWORD.h; sourceTree = "<group>"; }; + 0A1F16A31FBB755B00E0AEFA /* SWORD.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SWORD.m; sourceTree = "<group>"; }; + 0AA1DD341FB46FD00082E131 /* sword.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = sword.m; sourceTree = "<group>"; }; + 0AA1DD351FB46FD00082E131 /* sword.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sword.h; sourceTree = "<group>"; }; 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; 32DBCF5E0370ADEE00C91783 /* ObjCSword_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjCSword_Prefix.pch; sourceTree = "<group>"; }; 8C92C0124F354F4CB4F294F9 /* DefaultFilterProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = DefaultFilterProvider.mm; path = src/DefaultFilterProvider.mm; sourceTree = "<group>"; }; 8C92C02A5C86E1C75ED1CEF4 /* SwordFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordFilter.h; path = src/SwordFilter.h; sourceTree = "<group>"; }; + 8C92C0CA467F3114A1DC89DD /* SwordInstallSourceManagerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SwordInstallSourceManagerTest.m; sourceTree = "<group>"; }; 8C92C25F57CB01957B086256 /* FilterProviderFactory.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = FilterProviderFactory.mm; path = src/FilterProviderFactory.mm; sourceTree = "<group>"; }; 8C92C291C40A77060C12A21B /* SwordUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordUtil.m; path = src/SwordUtil.m; sourceTree = "<group>"; }; 8C92C72ADACB017A434CD268 /* FilterProviderFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilterProviderFactory.h; path = src/FilterProviderFactory.h; sourceTree = "<group>"; }; @@ -688,7 +1021,792 @@ 8C92C980D4DE32C7AB93159D /* DefaultFilterProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultFilterProvider.h; path = src/DefaultFilterProvider.h; sourceTree = "<group>"; }; 8C92CC111DC521DE0C054C60 /* SwordFilter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordFilter.mm; path = src/SwordFilter.mm; sourceTree = "<group>"; }; 8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObjCSword.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8DC2EF5B0486A6940098B216 /* SWORD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SWORD.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A90152BE19A9E8E100F7FC7D /* appendable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = appendable.cpp; sourceTree = "<group>"; }; + A90152BF19A9E8E100F7FC7D /* bmpset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bmpset.cpp; sourceTree = "<group>"; }; + A90152C019A9E8E100F7FC7D /* bmpset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bmpset.h; sourceTree = "<group>"; }; + A90152C119A9E8E100F7FC7D /* brkeng.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = brkeng.cpp; sourceTree = "<group>"; }; + A90152C219A9E8E100F7FC7D /* brkeng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = brkeng.h; sourceTree = "<group>"; }; + A90152C319A9E8E100F7FC7D /* brkiter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = brkiter.cpp; sourceTree = "<group>"; }; + A90152C419A9E8E100F7FC7D /* bytestream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bytestream.cpp; sourceTree = "<group>"; }; + A90152C519A9E8E100F7FC7D /* bytestrie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bytestrie.cpp; sourceTree = "<group>"; }; + A90152C619A9E8E100F7FC7D /* bytestriebuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bytestriebuilder.cpp; sourceTree = "<group>"; }; + A90152C719A9E8E100F7FC7D /* bytestrieiterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bytestrieiterator.cpp; sourceTree = "<group>"; }; + A90152C819A9E8E100F7FC7D /* caniter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = caniter.cpp; sourceTree = "<group>"; }; + A90152C919A9E8E100F7FC7D /* chariter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chariter.cpp; sourceTree = "<group>"; }; + A90152CA19A9E8E100F7FC7D /* charstr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = charstr.cpp; sourceTree = "<group>"; }; + A90152CB19A9E8E100F7FC7D /* charstr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = charstr.h; sourceTree = "<group>"; }; + A90152CC19A9E8E100F7FC7D /* cmemory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cmemory.c; sourceTree = "<group>"; }; + A90152CD19A9E8E100F7FC7D /* cmemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cmemory.h; sourceTree = "<group>"; }; + A90152CE19A9E8E100F7FC7D /* cmutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cmutex.h; sourceTree = "<group>"; }; + A90152D219A9E8E100F7FC7D /* cpputils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpputils.h; sourceTree = "<group>"; }; + A90152D319A9E8E100F7FC7D /* cstring.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cstring.c; sourceTree = "<group>"; }; + A90152D419A9E8E100F7FC7D /* cstring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cstring.h; sourceTree = "<group>"; }; + A90152D519A9E8E100F7FC7D /* cwchar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cwchar.c; sourceTree = "<group>"; }; + A90152D619A9E8E100F7FC7D /* cwchar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cwchar.h; sourceTree = "<group>"; }; + A90152D719A9E8E100F7FC7D /* dictbe.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dictbe.cpp; sourceTree = "<group>"; }; + A90152D819A9E8E100F7FC7D /* dictbe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dictbe.h; sourceTree = "<group>"; }; + A90152D919A9E8E100F7FC7D /* dictionarydata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dictionarydata.cpp; sourceTree = "<group>"; }; + A90152DA19A9E8E100F7FC7D /* dictionarydata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dictionarydata.h; sourceTree = "<group>"; }; + A90152DB19A9E8E100F7FC7D /* dtintrv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dtintrv.cpp; sourceTree = "<group>"; }; + A90152DC19A9E8E100F7FC7D /* errorcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = errorcode.cpp; sourceTree = "<group>"; }; + A90152DD19A9E8E100F7FC7D /* filterednormalizer2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = filterednormalizer2.cpp; sourceTree = "<group>"; }; + A90152DE19A9E8E100F7FC7D /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash.h; sourceTree = "<group>"; }; + A90152DF19A9E8E100F7FC7D /* icudataver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = icudataver.c; sourceTree = "<group>"; }; + A90152E019A9E8E100F7FC7D /* icuplug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = icuplug.c; sourceTree = "<group>"; }; + A90152E119A9E8E100F7FC7D /* icuplugimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = icuplugimp.h; sourceTree = "<group>"; }; + A90152E219A9E8E100F7FC7D /* listformatter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = listformatter.cpp; sourceTree = "<group>"; }; + A90152E319A9E8E100F7FC7D /* localsvc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = localsvc.h; sourceTree = "<group>"; }; + A90152E419A9E8E100F7FC7D /* locavailable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locavailable.cpp; sourceTree = "<group>"; }; + A90152E519A9E8E100F7FC7D /* locbased.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locbased.cpp; sourceTree = "<group>"; }; + A90152E619A9E8E100F7FC7D /* locbased.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = locbased.h; sourceTree = "<group>"; }; + A90152E719A9E8E100F7FC7D /* locdispnames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locdispnames.cpp; sourceTree = "<group>"; }; + A90152E819A9E8E100F7FC7D /* locid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locid.cpp; sourceTree = "<group>"; }; + A90152E919A9E8E100F7FC7D /* loclikely.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loclikely.cpp; sourceTree = "<group>"; }; + A90152EA19A9E8E100F7FC7D /* locmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = locmap.c; sourceTree = "<group>"; }; + A90152EB19A9E8E100F7FC7D /* locmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = locmap.h; sourceTree = "<group>"; }; + A90152EC19A9E8E100F7FC7D /* locresdata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locresdata.cpp; sourceTree = "<group>"; }; + A90152ED19A9E8E100F7FC7D /* locutil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locutil.cpp; sourceTree = "<group>"; }; + A90152EE19A9E8E100F7FC7D /* locutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = locutil.h; sourceTree = "<group>"; }; + A90152EF19A9E8E100F7FC7D /* lrucache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lrucache.cpp; sourceTree = "<group>"; }; + A90152F019A9E8E100F7FC7D /* lrucache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lrucache.h; sourceTree = "<group>"; }; + A90152F319A9E8E100F7FC7D /* messageimpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = messageimpl.h; sourceTree = "<group>"; }; + A90152F419A9E8E100F7FC7D /* messagepattern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = messagepattern.cpp; sourceTree = "<group>"; }; + A90152F519A9E8E100F7FC7D /* msvcres.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msvcres.h; sourceTree = "<group>"; }; + A90152F619A9E8E100F7FC7D /* mutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mutex.h; sourceTree = "<group>"; }; + A90152F719A9E8E100F7FC7D /* normalizer2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = normalizer2.cpp; sourceTree = "<group>"; }; + A90152F819A9E8E100F7FC7D /* normalizer2impl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = normalizer2impl.cpp; sourceTree = "<group>"; }; + A90152F919A9E8E100F7FC7D /* normalizer2impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = normalizer2impl.h; sourceTree = "<group>"; }; + A90152FA19A9E8E100F7FC7D /* normlzr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = normlzr.cpp; sourceTree = "<group>"; }; + A90152FB19A9E8E100F7FC7D /* parsepos.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parsepos.cpp; sourceTree = "<group>"; }; + A90152FC19A9E8E100F7FC7D /* patternprops.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = patternprops.cpp; sourceTree = "<group>"; }; + A90152FD19A9E8E100F7FC7D /* patternprops.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = patternprops.h; sourceTree = "<group>"; }; + A90152FE19A9E8E100F7FC7D /* propname.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propname.cpp; sourceTree = "<group>"; }; + A90152FF19A9E8E100F7FC7D /* propname.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propname.h; sourceTree = "<group>"; }; + A901530019A9E8E100F7FC7D /* propname_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propname_data.h; sourceTree = "<group>"; }; + A901530119A9E8E100F7FC7D /* propsvec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = propsvec.c; sourceTree = "<group>"; }; + A901530219A9E8E100F7FC7D /* propsvec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propsvec.h; sourceTree = "<group>"; }; + A901530319A9E8E100F7FC7D /* punycode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = punycode.cpp; sourceTree = "<group>"; }; + A901530419A9E8E100F7FC7D /* punycode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = punycode.h; sourceTree = "<group>"; }; + A901530519A9E8E100F7FC7D /* putil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = putil.cpp; sourceTree = "<group>"; }; + A901530619A9E8E100F7FC7D /* putilimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = putilimp.h; sourceTree = "<group>"; }; + A901530719A9E8E100F7FC7D /* rbbi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbbi.cpp; sourceTree = "<group>"; }; + A901530919A9E8E100F7FC7D /* rbbidata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbbidata.cpp; sourceTree = "<group>"; }; + A901530A19A9E8E100F7FC7D /* rbbidata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbbidata.h; sourceTree = "<group>"; }; + A901530B19A9E8E100F7FC7D /* rbbinode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbbinode.cpp; sourceTree = "<group>"; }; + A901530C19A9E8E100F7FC7D /* rbbinode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbbinode.h; sourceTree = "<group>"; }; + A901530D19A9E8E100F7FC7D /* rbbirb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbbirb.cpp; sourceTree = "<group>"; }; + A901530E19A9E8E100F7FC7D /* rbbirb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbbirb.h; sourceTree = "<group>"; }; + A901530F19A9E8E100F7FC7D /* rbbirpt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbbirpt.h; sourceTree = "<group>"; }; + A901531119A9E8E100F7FC7D /* rbbiscan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbbiscan.cpp; sourceTree = "<group>"; }; + A901531219A9E8E100F7FC7D /* rbbiscan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbbiscan.h; sourceTree = "<group>"; }; + A901531319A9E8E100F7FC7D /* rbbisetb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbbisetb.cpp; sourceTree = "<group>"; }; + A901531419A9E8E100F7FC7D /* rbbisetb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbbisetb.h; sourceTree = "<group>"; }; + A901531519A9E8E100F7FC7D /* rbbistbl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbbistbl.cpp; sourceTree = "<group>"; }; + A901531619A9E8E100F7FC7D /* rbbitblb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbbitblb.cpp; sourceTree = "<group>"; }; + A901531719A9E8E100F7FC7D /* rbbitblb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbbitblb.h; sourceTree = "<group>"; }; + A901531819A9E8E100F7FC7D /* resbund.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resbund.cpp; sourceTree = "<group>"; }; + A901531919A9E8E100F7FC7D /* resbund_cnv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resbund_cnv.cpp; sourceTree = "<group>"; }; + A901531A19A9E8E100F7FC7D /* ruleiter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ruleiter.cpp; sourceTree = "<group>"; }; + A901531B19A9E8E100F7FC7D /* ruleiter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ruleiter.h; sourceTree = "<group>"; }; + A901531C19A9E8E100F7FC7D /* schriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = schriter.cpp; sourceTree = "<group>"; }; + A901531D19A9E8E100F7FC7D /* serv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = serv.cpp; sourceTree = "<group>"; }; + A901531E19A9E8E100F7FC7D /* serv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = serv.h; sourceTree = "<group>"; }; + A901531F19A9E8E100F7FC7D /* servlk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = servlk.cpp; sourceTree = "<group>"; }; + A901532019A9E8E100F7FC7D /* servlkf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = servlkf.cpp; sourceTree = "<group>"; }; + A901532119A9E8E100F7FC7D /* servloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = servloc.h; sourceTree = "<group>"; }; + A901532219A9E8E100F7FC7D /* servls.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = servls.cpp; sourceTree = "<group>"; }; + A901532319A9E8E100F7FC7D /* servnotf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = servnotf.cpp; sourceTree = "<group>"; }; + A901532419A9E8E100F7FC7D /* servnotf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = servnotf.h; sourceTree = "<group>"; }; + A901532519A9E8E100F7FC7D /* servrbf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = servrbf.cpp; sourceTree = "<group>"; }; + A901532619A9E8E100F7FC7D /* servslkf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = servslkf.cpp; sourceTree = "<group>"; }; + A901532719A9E8E100F7FC7D /* sharedobject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sharedobject.cpp; sourceTree = "<group>"; }; + A901532819A9E8E100F7FC7D /* sharedobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sharedobject.h; sourceTree = "<group>"; }; + A901532919A9E8E100F7FC7D /* sharedptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sharedptr.h; sourceTree = "<group>"; }; + A901532A19A9E8E100F7FC7D /* simplepatternformatter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplepatternformatter.cpp; sourceTree = "<group>"; }; + A901532B19A9E8E100F7FC7D /* simplepatternformatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplepatternformatter.h; sourceTree = "<group>"; }; + A901532C19A9E8E100F7FC7D /* sprpimpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sprpimpl.h; sourceTree = "<group>"; }; + A901532D19A9E8E100F7FC7D /* stringpiece.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringpiece.cpp; sourceTree = "<group>"; }; + A901532E19A9E8E100F7FC7D /* stringtriebuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringtriebuilder.cpp; sourceTree = "<group>"; }; + A901532F19A9E8E100F7FC7D /* uarrsort.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uarrsort.c; sourceTree = "<group>"; }; + A901533019A9E8E100F7FC7D /* uarrsort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uarrsort.h; sourceTree = "<group>"; }; + A901533119A9E8E100F7FC7D /* uassert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uassert.h; sourceTree = "<group>"; }; + A901533219A9E8E100F7FC7D /* ubidi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ubidi.c; sourceTree = "<group>"; }; + A901533319A9E8E100F7FC7D /* ubidi_props.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ubidi_props.c; sourceTree = "<group>"; }; + A901533419A9E8E100F7FC7D /* ubidi_props.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ubidi_props.h; sourceTree = "<group>"; }; + A901533519A9E8E100F7FC7D /* ubidi_props_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ubidi_props_data.h; sourceTree = "<group>"; }; + A901533619A9E8E100F7FC7D /* ubidiimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ubidiimp.h; sourceTree = "<group>"; }; + A901533719A9E8E100F7FC7D /* ubidiln.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ubidiln.c; sourceTree = "<group>"; }; + A901533819A9E8E100F7FC7D /* ubidiwrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ubidiwrt.c; sourceTree = "<group>"; }; + A901533919A9E8E100F7FC7D /* ubrk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ubrk.cpp; sourceTree = "<group>"; }; + A901533A19A9E8E100F7FC7D /* ubrkimpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ubrkimpl.h; sourceTree = "<group>"; }; + A901533B19A9E8E100F7FC7D /* ucase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucase.cpp; sourceTree = "<group>"; }; + A901533C19A9E8E100F7FC7D /* ucase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucase.h; sourceTree = "<group>"; }; + A901533D19A9E8E100F7FC7D /* ucase_props_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucase_props_data.h; sourceTree = "<group>"; }; + A901533E19A9E8E100F7FC7D /* ucasemap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucasemap.cpp; sourceTree = "<group>"; }; + A901533F19A9E8E100F7FC7D /* ucasemap_titlecase_brkiter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucasemap_titlecase_brkiter.cpp; sourceTree = "<group>"; }; + A901534019A9E8E100F7FC7D /* ucat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucat.c; sourceTree = "<group>"; }; + A901534119A9E8E100F7FC7D /* uchar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uchar.c; sourceTree = "<group>"; }; + A901534219A9E8E100F7FC7D /* uchar_props_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uchar_props_data.h; sourceTree = "<group>"; }; + A901534319A9E8E100F7FC7D /* ucharstrie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucharstrie.cpp; sourceTree = "<group>"; }; + A901534419A9E8E100F7FC7D /* ucharstriebuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucharstriebuilder.cpp; sourceTree = "<group>"; }; + A901534519A9E8E100F7FC7D /* ucharstrieiterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucharstrieiterator.cpp; sourceTree = "<group>"; }; + A901534619A9E8E100F7FC7D /* uchriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uchriter.cpp; sourceTree = "<group>"; }; + A901534719A9E8E100F7FC7D /* ucln.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucln.h; sourceTree = "<group>"; }; + A901534819A9E8E100F7FC7D /* ucln_cmn.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucln_cmn.c; sourceTree = "<group>"; }; + A901534919A9E8E100F7FC7D /* ucln_cmn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucln_cmn.h; sourceTree = "<group>"; }; + A901534A19A9E8E100F7FC7D /* ucln_imp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucln_imp.h; sourceTree = "<group>"; }; + A901534B19A9E8E100F7FC7D /* ucmndata.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucmndata.c; sourceTree = "<group>"; }; + A901534C19A9E8E100F7FC7D /* ucmndata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucmndata.h; sourceTree = "<group>"; }; + A901534D19A9E8E100F7FC7D /* ucnv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv.c; sourceTree = "<group>"; }; + A901534E19A9E8E100F7FC7D /* ucnv2022.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucnv2022.cpp; sourceTree = "<group>"; }; + A901534F19A9E8E100F7FC7D /* ucnv_bld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucnv_bld.cpp; sourceTree = "<group>"; }; + A901535019A9E8E100F7FC7D /* ucnv_bld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucnv_bld.h; sourceTree = "<group>"; }; + A901535119A9E8E100F7FC7D /* ucnv_cb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_cb.c; sourceTree = "<group>"; }; + A901535219A9E8E100F7FC7D /* ucnv_cnv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_cnv.c; sourceTree = "<group>"; }; + A901535319A9E8E100F7FC7D /* ucnv_cnv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucnv_cnv.h; sourceTree = "<group>"; }; + A901535419A9E8E100F7FC7D /* ucnv_ct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_ct.c; sourceTree = "<group>"; }; + A901535519A9E8E100F7FC7D /* ucnv_err.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_err.c; sourceTree = "<group>"; }; + A901535619A9E8E100F7FC7D /* ucnv_ext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucnv_ext.cpp; sourceTree = "<group>"; }; + A901535719A9E8E100F7FC7D /* ucnv_ext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucnv_ext.h; sourceTree = "<group>"; }; + A901535819A9E8E100F7FC7D /* ucnv_imp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucnv_imp.h; sourceTree = "<group>"; }; + A901535919A9E8E100F7FC7D /* ucnv_io.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucnv_io.cpp; sourceTree = "<group>"; }; + A901535A19A9E8E100F7FC7D /* ucnv_io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucnv_io.h; sourceTree = "<group>"; }; + A901535B19A9E8E100F7FC7D /* ucnv_lmb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_lmb.c; sourceTree = "<group>"; }; + A901535C19A9E8E100F7FC7D /* ucnv_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_set.c; sourceTree = "<group>"; }; + A901535D19A9E8E100F7FC7D /* ucnv_u16.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_u16.c; sourceTree = "<group>"; }; + A901535E19A9E8E100F7FC7D /* ucnv_u32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_u32.c; sourceTree = "<group>"; }; + A901535F19A9E8E100F7FC7D /* ucnv_u7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_u7.c; sourceTree = "<group>"; }; + A901536019A9E8E100F7FC7D /* ucnv_u8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnv_u8.c; sourceTree = "<group>"; }; + A901536119A9E8E100F7FC7D /* ucnvbocu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucnvbocu.cpp; sourceTree = "<group>"; }; + A901536219A9E8E100F7FC7D /* ucnvdisp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnvdisp.c; sourceTree = "<group>"; }; + A901536319A9E8E100F7FC7D /* ucnvhz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnvhz.c; sourceTree = "<group>"; }; + A901536419A9E8E100F7FC7D /* ucnvisci.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnvisci.c; sourceTree = "<group>"; }; + A901536519A9E8E100F7FC7D /* ucnvlat1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnvlat1.c; sourceTree = "<group>"; }; + A901536619A9E8E100F7FC7D /* ucnvmbcs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnvmbcs.c; sourceTree = "<group>"; }; + A901536719A9E8E100F7FC7D /* ucnvmbcs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucnvmbcs.h; sourceTree = "<group>"; }; + A901536819A9E8E100F7FC7D /* ucnvscsu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucnvscsu.c; sourceTree = "<group>"; }; + A901536919A9E8E100F7FC7D /* ucnvsel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucnvsel.cpp; sourceTree = "<group>"; }; + A901536A19A9E8E100F7FC7D /* ucol_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucol_data.h; sourceTree = "<group>"; }; + A901536B19A9E8E100F7FC7D /* ucol_swp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucol_swp.cpp; sourceTree = "<group>"; }; + A901536C19A9E8E100F7FC7D /* ucol_swp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucol_swp.h; sourceTree = "<group>"; }; + A901536D19A9E8E100F7FC7D /* udata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = udata.cpp; sourceTree = "<group>"; }; + A901536E19A9E8E100F7FC7D /* udatamem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = udatamem.c; sourceTree = "<group>"; }; + A901536F19A9E8E100F7FC7D /* udatamem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = udatamem.h; sourceTree = "<group>"; }; + A901537019A9E8E100F7FC7D /* udataswp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = udataswp.c; sourceTree = "<group>"; }; + A901537119A9E8E100F7FC7D /* udataswp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = udataswp.h; sourceTree = "<group>"; }; + A901537219A9E8E100F7FC7D /* uelement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uelement.h; sourceTree = "<group>"; }; + A901537319A9E8E100F7FC7D /* uenum.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uenum.c; sourceTree = "<group>"; }; + A901537419A9E8E100F7FC7D /* uenumimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uenumimp.h; sourceTree = "<group>"; }; + A901537519A9E8E100F7FC7D /* uhash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uhash.c; sourceTree = "<group>"; }; + A901537619A9E8E100F7FC7D /* uhash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uhash.h; sourceTree = "<group>"; }; + A901537719A9E8E100F7FC7D /* uhash_us.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uhash_us.cpp; sourceTree = "<group>"; }; + A901537819A9E8E100F7FC7D /* uidna.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uidna.cpp; sourceTree = "<group>"; }; + A901537919A9E8E100F7FC7D /* uinit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uinit.cpp; sourceTree = "<group>"; }; + A901537A19A9E8E100F7FC7D /* uinvchar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uinvchar.c; sourceTree = "<group>"; }; + A901537B19A9E8E100F7FC7D /* uinvchar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uinvchar.h; sourceTree = "<group>"; }; + A901537C19A9E8E100F7FC7D /* uiter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uiter.cpp; sourceTree = "<group>"; }; + A901537D19A9E8E100F7FC7D /* ulist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ulist.c; sourceTree = "<group>"; }; + A901537E19A9E8E100F7FC7D /* ulist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ulist.h; sourceTree = "<group>"; }; + A901537F19A9E8E100F7FC7D /* uloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uloc.cpp; sourceTree = "<group>"; }; + A901538019A9E8E100F7FC7D /* uloc_tag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uloc_tag.c; sourceTree = "<group>"; }; + A901538119A9E8E100F7FC7D /* ulocimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ulocimp.h; sourceTree = "<group>"; }; + A901538219A9E8E100F7FC7D /* umapfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = umapfile.c; sourceTree = "<group>"; }; + A901538319A9E8E100F7FC7D /* umapfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = umapfile.h; sourceTree = "<group>"; }; + A901538419A9E8E100F7FC7D /* umath.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = umath.c; sourceTree = "<group>"; }; + A901538519A9E8E100F7FC7D /* umutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = umutex.cpp; sourceTree = "<group>"; }; + A901538619A9E8E100F7FC7D /* umutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = umutex.h; sourceTree = "<group>"; }; + A901538719A9E8E100F7FC7D /* unames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unames.cpp; sourceTree = "<group>"; }; + A90153DD19A9E8E100F7FC7D /* unifilt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unifilt.cpp; sourceTree = "<group>"; }; + A90153DE19A9E8E100F7FC7D /* unifunct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unifunct.cpp; sourceTree = "<group>"; }; + A90153DF19A9E8E100F7FC7D /* uniset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uniset.cpp; sourceTree = "<group>"; }; + A90153E019A9E8E100F7FC7D /* uniset_closure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uniset_closure.cpp; sourceTree = "<group>"; }; + A90153E119A9E8E100F7FC7D /* uniset_props.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uniset_props.cpp; sourceTree = "<group>"; }; + A90153E219A9E8E100F7FC7D /* unisetspan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unisetspan.cpp; sourceTree = "<group>"; }; + A90153E319A9E8E100F7FC7D /* unisetspan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unisetspan.h; sourceTree = "<group>"; }; + A90153E419A9E8E100F7FC7D /* unistr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unistr.cpp; sourceTree = "<group>"; }; + A90153E519A9E8E100F7FC7D /* unistr_case.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unistr_case.cpp; sourceTree = "<group>"; }; + A90153E619A9E8E100F7FC7D /* unistr_case_locale.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unistr_case_locale.cpp; sourceTree = "<group>"; }; + A90153E719A9E8E100F7FC7D /* unistr_cnv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unistr_cnv.cpp; sourceTree = "<group>"; }; + A90153E819A9E8E100F7FC7D /* unistr_props.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unistr_props.cpp; sourceTree = "<group>"; }; + A90153E919A9E8E100F7FC7D /* unistr_titlecase_brkiter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unistr_titlecase_brkiter.cpp; sourceTree = "<group>"; }; + A90153EA19A9E8E100F7FC7D /* unorm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unorm.cpp; sourceTree = "<group>"; }; + A90153EB19A9E8E100F7FC7D /* unormcmp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unormcmp.cpp; sourceTree = "<group>"; }; + A90153EC19A9E8E100F7FC7D /* unormimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unormimp.h; sourceTree = "<group>"; }; + A90153ED19A9E8E100F7FC7D /* uobject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uobject.cpp; sourceTree = "<group>"; }; + A90153EE19A9E8E100F7FC7D /* uposixdefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uposixdefs.h; sourceTree = "<group>"; }; + A90153EF19A9E8E100F7FC7D /* uprops.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uprops.cpp; sourceTree = "<group>"; }; + A90153F019A9E8E100F7FC7D /* uprops.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uprops.h; sourceTree = "<group>"; }; + A90153F119A9E8E100F7FC7D /* ures_cnv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ures_cnv.c; sourceTree = "<group>"; }; + A90153F219A9E8E200F7FC7D /* uresbund.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uresbund.cpp; sourceTree = "<group>"; }; + A90153F319A9E8E200F7FC7D /* uresdata.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uresdata.c; sourceTree = "<group>"; }; + A90153F419A9E8E200F7FC7D /* uresdata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uresdata.h; sourceTree = "<group>"; }; + A90153F519A9E8E200F7FC7D /* uresimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uresimp.h; sourceTree = "<group>"; }; + A90153F619A9E8E200F7FC7D /* ureslocs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ureslocs.h; sourceTree = "<group>"; }; + A90153F719A9E8E200F7FC7D /* usc_impl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = usc_impl.c; sourceTree = "<group>"; }; + A90153F819A9E8E200F7FC7D /* usc_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = usc_impl.h; sourceTree = "<group>"; }; + A90153F919A9E8E200F7FC7D /* uscript.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uscript.c; sourceTree = "<group>"; }; + A90153FA19A9E8E200F7FC7D /* uscript_props.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uscript_props.cpp; sourceTree = "<group>"; }; + A90153FB19A9E8E200F7FC7D /* uset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uset.cpp; sourceTree = "<group>"; }; + A90153FC19A9E8E200F7FC7D /* uset_imp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uset_imp.h; sourceTree = "<group>"; }; + A90153FD19A9E8E200F7FC7D /* uset_props.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uset_props.cpp; sourceTree = "<group>"; }; + A90153FE19A9E8E200F7FC7D /* usetiter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = usetiter.cpp; sourceTree = "<group>"; }; + A90153FF19A9E8E200F7FC7D /* ushape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ushape.cpp; sourceTree = "<group>"; }; + A901540019A9E8E200F7FC7D /* usprep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = usprep.cpp; sourceTree = "<group>"; }; + A901540119A9E8E200F7FC7D /* ustack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustack.cpp; sourceTree = "<group>"; }; + A901540219A9E8E200F7FC7D /* ustr_cnv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ustr_cnv.c; sourceTree = "<group>"; }; + A901540319A9E8E200F7FC7D /* ustr_cnv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ustr_cnv.h; sourceTree = "<group>"; }; + A901540419A9E8E200F7FC7D /* ustr_imp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ustr_imp.h; sourceTree = "<group>"; }; + A901540519A9E8E200F7FC7D /* ustr_titlecase_brkiter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustr_titlecase_brkiter.cpp; sourceTree = "<group>"; }; + A901540619A9E8E200F7FC7D /* ustr_wcs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustr_wcs.cpp; sourceTree = "<group>"; }; + A901540719A9E8E200F7FC7D /* ustrcase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustrcase.cpp; sourceTree = "<group>"; }; + A901540819A9E8E200F7FC7D /* ustrcase_locale.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustrcase_locale.cpp; sourceTree = "<group>"; }; + A901540919A9E8E200F7FC7D /* ustrenum.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustrenum.cpp; sourceTree = "<group>"; }; + A901540A19A9E8E200F7FC7D /* ustrenum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ustrenum.h; sourceTree = "<group>"; }; + A901540B19A9E8E200F7FC7D /* ustrfmt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ustrfmt.c; sourceTree = "<group>"; }; + A901540C19A9E8E200F7FC7D /* ustrfmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ustrfmt.h; sourceTree = "<group>"; }; + A901540D19A9E8E200F7FC7D /* ustring.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustring.cpp; sourceTree = "<group>"; }; + A901540E19A9E8E200F7FC7D /* ustrtrns.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustrtrns.cpp; sourceTree = "<group>"; }; + A901540F19A9E8E200F7FC7D /* utext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utext.cpp; sourceTree = "<group>"; }; + A901541019A9E8E200F7FC7D /* utf_impl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utf_impl.c; sourceTree = "<group>"; }; + A901541119A9E8E200F7FC7D /* util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util.cpp; sourceTree = "<group>"; }; + A901541219A9E8E200F7FC7D /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = "<group>"; }; + A901541319A9E8E200F7FC7D /* util_props.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util_props.cpp; sourceTree = "<group>"; }; + A901541419A9E8E200F7FC7D /* utrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utrace.c; sourceTree = "<group>"; }; + A901541519A9E8E200F7FC7D /* utracimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utracimp.h; sourceTree = "<group>"; }; + A901541619A9E8E200F7FC7D /* utrie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utrie.cpp; sourceTree = "<group>"; }; + A901541719A9E8E200F7FC7D /* utrie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utrie.h; sourceTree = "<group>"; }; + A901541819A9E8E200F7FC7D /* utrie2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utrie2.cpp; sourceTree = "<group>"; }; + A901541919A9E8E200F7FC7D /* utrie2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utrie2.h; sourceTree = "<group>"; }; + A901541A19A9E8E200F7FC7D /* utrie2_builder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utrie2_builder.cpp; sourceTree = "<group>"; }; + A901541B19A9E8E200F7FC7D /* utrie2_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utrie2_impl.h; sourceTree = "<group>"; }; + A901541C19A9E8E200F7FC7D /* uts46.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uts46.cpp; sourceTree = "<group>"; }; + A901541D19A9E8E200F7FC7D /* utypeinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utypeinfo.h; sourceTree = "<group>"; }; + A901541E19A9E8E200F7FC7D /* utypes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utypes.c; sourceTree = "<group>"; }; + A901541F19A9E8E200F7FC7D /* uvector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uvector.cpp; sourceTree = "<group>"; }; + A901542019A9E8E200F7FC7D /* uvector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uvector.h; sourceTree = "<group>"; }; + A901542119A9E8E200F7FC7D /* uvectr32.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uvectr32.cpp; sourceTree = "<group>"; }; + A901542219A9E8E200F7FC7D /* uvectr32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uvectr32.h; sourceTree = "<group>"; }; + A901542319A9E8E200F7FC7D /* uvectr64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uvectr64.cpp; sourceTree = "<group>"; }; + A901542419A9E8E200F7FC7D /* uvectr64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uvectr64.h; sourceTree = "<group>"; }; + A901542519A9E8E200F7FC7D /* wintz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wintz.c; sourceTree = "<group>"; }; + A901542619A9E8E200F7FC7D /* wintz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wintz.h; sourceTree = "<group>"; }; + A9015B9419A9E8E700F7FC7D /* alphaindex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = alphaindex.cpp; sourceTree = "<group>"; }; + A9015B9519A9E8E700F7FC7D /* anytrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = anytrans.cpp; sourceTree = "<group>"; }; + A9015B9619A9E8E700F7FC7D /* anytrans.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = anytrans.h; sourceTree = "<group>"; }; + A9015B9719A9E8E700F7FC7D /* astro.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = astro.cpp; sourceTree = "<group>"; }; + A9015B9819A9E8E700F7FC7D /* astro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = astro.h; sourceTree = "<group>"; }; + A9015B9919A9E8E700F7FC7D /* basictz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basictz.cpp; sourceTree = "<group>"; }; + A9015B9A19A9E8E700F7FC7D /* bocsu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bocsu.cpp; sourceTree = "<group>"; }; + A9015B9B19A9E8E700F7FC7D /* bocsu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bocsu.h; sourceTree = "<group>"; }; + A9015B9C19A9E8E700F7FC7D /* brktrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = brktrans.cpp; sourceTree = "<group>"; }; + A9015B9D19A9E8E700F7FC7D /* brktrans.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = brktrans.h; sourceTree = "<group>"; }; + A9015B9E19A9E8E700F7FC7D /* buddhcal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = buddhcal.cpp; sourceTree = "<group>"; }; + A9015B9F19A9E8E700F7FC7D /* buddhcal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buddhcal.h; sourceTree = "<group>"; }; + A9015BA019A9E8E700F7FC7D /* calendar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = calendar.cpp; sourceTree = "<group>"; }; + A9015BA119A9E8E700F7FC7D /* casetrn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = casetrn.cpp; sourceTree = "<group>"; }; + A9015BA219A9E8E700F7FC7D /* casetrn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = casetrn.h; sourceTree = "<group>"; }; + A9015BA319A9E8E700F7FC7D /* cecal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cecal.cpp; sourceTree = "<group>"; }; + A9015BA419A9E8E700F7FC7D /* cecal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cecal.h; sourceTree = "<group>"; }; + A9015BA519A9E8E700F7FC7D /* chnsecal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chnsecal.cpp; sourceTree = "<group>"; }; + A9015BA619A9E8E700F7FC7D /* chnsecal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chnsecal.h; sourceTree = "<group>"; }; + A9015BA719A9E8E700F7FC7D /* choicfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = choicfmt.cpp; sourceTree = "<group>"; }; + A9015BA819A9E8E700F7FC7D /* coleitr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = coleitr.cpp; sourceTree = "<group>"; }; + A9015BA919A9E8E700F7FC7D /* coll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = coll.cpp; sourceTree = "<group>"; }; + A9015BAA19A9E8E700F7FC7D /* collation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collation.cpp; sourceTree = "<group>"; }; + A9015BAB19A9E8E700F7FC7D /* collation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collation.h; sourceTree = "<group>"; }; + A9015BAC19A9E8E700F7FC7D /* collationbasedatabuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationbasedatabuilder.cpp; sourceTree = "<group>"; }; + A9015BAD19A9E8E700F7FC7D /* collationbasedatabuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationbasedatabuilder.h; sourceTree = "<group>"; }; + A9015BAE19A9E8E700F7FC7D /* collationbuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationbuilder.cpp; sourceTree = "<group>"; }; + A9015BAF19A9E8E700F7FC7D /* collationbuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationbuilder.h; sourceTree = "<group>"; }; + A9015BB019A9E8E700F7FC7D /* collationcompare.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationcompare.cpp; sourceTree = "<group>"; }; + A9015BB119A9E8E700F7FC7D /* collationcompare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationcompare.h; sourceTree = "<group>"; }; + A9015BB219A9E8E700F7FC7D /* collationdata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationdata.cpp; sourceTree = "<group>"; }; + A9015BB319A9E8E700F7FC7D /* collationdata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationdata.h; sourceTree = "<group>"; }; + A9015BB419A9E8E700F7FC7D /* collationdatabuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationdatabuilder.cpp; sourceTree = "<group>"; }; + A9015BB519A9E8E700F7FC7D /* collationdatabuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationdatabuilder.h; sourceTree = "<group>"; }; + A9015BB619A9E8E700F7FC7D /* collationdatareader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationdatareader.cpp; sourceTree = "<group>"; }; + A9015BB719A9E8E700F7FC7D /* collationdatareader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationdatareader.h; sourceTree = "<group>"; }; + A9015BB819A9E8E700F7FC7D /* collationdatawriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationdatawriter.cpp; sourceTree = "<group>"; }; + A9015BB919A9E8E700F7FC7D /* collationdatawriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationdatawriter.h; sourceTree = "<group>"; }; + A9015BBA19A9E8E700F7FC7D /* collationfastlatin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationfastlatin.cpp; sourceTree = "<group>"; }; + A9015BBB19A9E8E700F7FC7D /* collationfastlatin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationfastlatin.h; sourceTree = "<group>"; }; + A9015BBC19A9E8E700F7FC7D /* collationfastlatinbuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationfastlatinbuilder.cpp; sourceTree = "<group>"; }; + A9015BBD19A9E8E700F7FC7D /* collationfastlatinbuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationfastlatinbuilder.h; sourceTree = "<group>"; }; + A9015BBE19A9E8E700F7FC7D /* collationfcd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationfcd.cpp; sourceTree = "<group>"; }; + A9015BBF19A9E8E700F7FC7D /* collationfcd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationfcd.h; sourceTree = "<group>"; }; + A9015BC019A9E8E700F7FC7D /* collationiterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationiterator.cpp; sourceTree = "<group>"; }; + A9015BC119A9E8E700F7FC7D /* collationiterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationiterator.h; sourceTree = "<group>"; }; + A9015BC219A9E8E700F7FC7D /* collationkeys.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationkeys.cpp; sourceTree = "<group>"; }; + A9015BC319A9E8E700F7FC7D /* collationkeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationkeys.h; sourceTree = "<group>"; }; + A9015BC419A9E8E700F7FC7D /* collationroot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationroot.cpp; sourceTree = "<group>"; }; + A9015BC519A9E8E700F7FC7D /* collationroot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationroot.h; sourceTree = "<group>"; }; + A9015BC619A9E8E700F7FC7D /* collationrootelements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationrootelements.cpp; sourceTree = "<group>"; }; + A9015BC719A9E8E700F7FC7D /* collationrootelements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationrootelements.h; sourceTree = "<group>"; }; + A9015BC819A9E8E700F7FC7D /* collationruleparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationruleparser.cpp; sourceTree = "<group>"; }; + A9015BC919A9E8E700F7FC7D /* collationruleparser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationruleparser.h; sourceTree = "<group>"; }; + A9015BCA19A9E8E700F7FC7D /* collationsets.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationsets.cpp; sourceTree = "<group>"; }; + A9015BCB19A9E8E700F7FC7D /* collationsets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationsets.h; sourceTree = "<group>"; }; + A9015BCC19A9E8E700F7FC7D /* collationsettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationsettings.cpp; sourceTree = "<group>"; }; + A9015BCD19A9E8E700F7FC7D /* collationsettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationsettings.h; sourceTree = "<group>"; }; + A9015BCE19A9E8E700F7FC7D /* collationtailoring.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationtailoring.cpp; sourceTree = "<group>"; }; + A9015BCF19A9E8E700F7FC7D /* collationtailoring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationtailoring.h; sourceTree = "<group>"; }; + A9015BD019A9E8E700F7FC7D /* collationweights.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collationweights.cpp; sourceTree = "<group>"; }; + A9015BD119A9E8E700F7FC7D /* collationweights.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collationweights.h; sourceTree = "<group>"; }; + A9015BD219A9E8E700F7FC7D /* compactdecimalformat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compactdecimalformat.cpp; sourceTree = "<group>"; }; + A9015BD319A9E8E700F7FC7D /* coptccal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = coptccal.cpp; sourceTree = "<group>"; }; + A9015BD419A9E8E700F7FC7D /* coptccal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = coptccal.h; sourceTree = "<group>"; }; + A9015BD519A9E8E700F7FC7D /* cpdtrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpdtrans.cpp; sourceTree = "<group>"; }; + A9015BD619A9E8E700F7FC7D /* cpdtrans.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpdtrans.h; sourceTree = "<group>"; }; + A9015BD719A9E8E700F7FC7D /* csdetect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = csdetect.cpp; sourceTree = "<group>"; }; + A9015BD819A9E8E700F7FC7D /* csdetect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = csdetect.h; sourceTree = "<group>"; }; + A9015BD919A9E8E700F7FC7D /* csmatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = csmatch.cpp; sourceTree = "<group>"; }; + A9015BDA19A9E8E700F7FC7D /* csmatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = csmatch.h; sourceTree = "<group>"; }; + A9015BDB19A9E8E700F7FC7D /* csr2022.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = csr2022.cpp; sourceTree = "<group>"; }; + A9015BDC19A9E8E700F7FC7D /* csr2022.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = csr2022.h; sourceTree = "<group>"; }; + A9015BDD19A9E8E700F7FC7D /* csrecog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = csrecog.cpp; sourceTree = "<group>"; }; + A9015BDE19A9E8E700F7FC7D /* csrecog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = csrecog.h; sourceTree = "<group>"; }; + A9015BDF19A9E8E700F7FC7D /* csrmbcs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = csrmbcs.cpp; sourceTree = "<group>"; }; + A9015BE019A9E8E700F7FC7D /* csrmbcs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = csrmbcs.h; sourceTree = "<group>"; }; + A9015BE119A9E8E700F7FC7D /* csrsbcs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = csrsbcs.cpp; sourceTree = "<group>"; }; + A9015BE219A9E8E700F7FC7D /* csrsbcs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = csrsbcs.h; sourceTree = "<group>"; }; + A9015BE319A9E8E700F7FC7D /* csrucode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = csrucode.cpp; sourceTree = "<group>"; }; + A9015BE419A9E8E700F7FC7D /* csrucode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = csrucode.h; sourceTree = "<group>"; }; + A9015BE519A9E8E700F7FC7D /* csrutf8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = csrutf8.cpp; sourceTree = "<group>"; }; + A9015BE619A9E8E700F7FC7D /* csrutf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = csrutf8.h; sourceTree = "<group>"; }; + A9015BE719A9E8E700F7FC7D /* curramt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = curramt.cpp; sourceTree = "<group>"; }; + A9015BE819A9E8E700F7FC7D /* currfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = currfmt.cpp; sourceTree = "<group>"; }; + A9015BE919A9E8E700F7FC7D /* currfmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = currfmt.h; sourceTree = "<group>"; }; + A9015BEA19A9E8E700F7FC7D /* currpinf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = currpinf.cpp; sourceTree = "<group>"; }; + A9015BEB19A9E8E700F7FC7D /* currunit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = currunit.cpp; sourceTree = "<group>"; }; + A9015BEC19A9E8E700F7FC7D /* dangical.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dangical.cpp; sourceTree = "<group>"; }; + A9015BED19A9E8E700F7FC7D /* dangical.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dangical.h; sourceTree = "<group>"; }; + A9015BEE19A9E8E700F7FC7D /* datefmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = datefmt.cpp; sourceTree = "<group>"; }; + A9015BEF19A9E8E700F7FC7D /* dcfmtimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dcfmtimp.h; sourceTree = "<group>"; }; + A9015BF019A9E8E700F7FC7D /* dcfmtsym.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dcfmtsym.cpp; sourceTree = "<group>"; }; + A9015BF119A9E8E700F7FC7D /* decContext.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = decContext.c; sourceTree = "<group>"; }; + A9015BF219A9E8E700F7FC7D /* decContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decContext.h; sourceTree = "<group>"; }; + A9015BF319A9E8E700F7FC7D /* decfmtst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decfmtst.cpp; sourceTree = "<group>"; }; + A9015BF419A9E8E700F7FC7D /* decfmtst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decfmtst.h; sourceTree = "<group>"; }; + A9015BF519A9E8E700F7FC7D /* decimalformatpattern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decimalformatpattern.cpp; sourceTree = "<group>"; }; + A9015BF619A9E8E700F7FC7D /* decimalformatpattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decimalformatpattern.h; sourceTree = "<group>"; }; + A9015BF719A9E8E700F7FC7D /* decimfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decimfmt.cpp; sourceTree = "<group>"; }; + A9015BF819A9E8E700F7FC7D /* decNumber.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = decNumber.c; sourceTree = "<group>"; }; + A9015BF919A9E8E700F7FC7D /* decNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decNumber.h; sourceTree = "<group>"; }; + A9015BFA19A9E8E700F7FC7D /* decNumberLocal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decNumberLocal.h; sourceTree = "<group>"; }; + A9015BFB19A9E8E700F7FC7D /* digitlst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = digitlst.cpp; sourceTree = "<group>"; }; + A9015BFC19A9E8E700F7FC7D /* digitlst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = digitlst.h; sourceTree = "<group>"; }; + A9015BFD19A9E8E700F7FC7D /* dtfmtsym.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dtfmtsym.cpp; sourceTree = "<group>"; }; + A9015BFE19A9E8E700F7FC7D /* dtitv_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtitv_impl.h; sourceTree = "<group>"; }; + A9015BFF19A9E8E700F7FC7D /* dtitvfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dtitvfmt.cpp; sourceTree = "<group>"; }; + A9015C0019A9E8E700F7FC7D /* dtitvinf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dtitvinf.cpp; sourceTree = "<group>"; }; + A9015C0119A9E8E700F7FC7D /* dtptngen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dtptngen.cpp; sourceTree = "<group>"; }; + A9015C0219A9E8E700F7FC7D /* dtptngen_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtptngen_impl.h; sourceTree = "<group>"; }; + A9015C0319A9E8E700F7FC7D /* dtrule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dtrule.cpp; sourceTree = "<group>"; }; + A9015C0419A9E8E700F7FC7D /* esctrn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = esctrn.cpp; sourceTree = "<group>"; }; + A9015C0519A9E8E700F7FC7D /* esctrn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = esctrn.h; sourceTree = "<group>"; }; + A9015C0619A9E8E700F7FC7D /* ethpccal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ethpccal.cpp; sourceTree = "<group>"; }; + A9015C0719A9E8E700F7FC7D /* ethpccal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ethpccal.h; sourceTree = "<group>"; }; + A9015C0819A9E8E700F7FC7D /* filteredbrk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = filteredbrk.cpp; sourceTree = "<group>"; }; + A9015C0919A9E8E700F7FC7D /* fmtable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fmtable.cpp; sourceTree = "<group>"; }; + A9015C0A19A9E8E700F7FC7D /* fmtable_cnv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fmtable_cnv.cpp; sourceTree = "<group>"; }; + A9015C0B19A9E8E700F7FC7D /* fmtableimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fmtableimp.h; sourceTree = "<group>"; }; + A9015C0C19A9E8E700F7FC7D /* format.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = format.cpp; sourceTree = "<group>"; }; + A9015C0D19A9E8E700F7FC7D /* fphdlimp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fphdlimp.cpp; sourceTree = "<group>"; }; + A9015C0E19A9E8E700F7FC7D /* fphdlimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fphdlimp.h; sourceTree = "<group>"; }; + A9015C0F19A9E8E700F7FC7D /* fpositer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fpositer.cpp; sourceTree = "<group>"; }; + A9015C1019A9E8E700F7FC7D /* funcrepl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = funcrepl.cpp; sourceTree = "<group>"; }; + A9015C1119A9E8E700F7FC7D /* funcrepl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = funcrepl.h; sourceTree = "<group>"; }; + A9015C1219A9E8E700F7FC7D /* gender.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gender.cpp; sourceTree = "<group>"; }; + A9015C1319A9E8E700F7FC7D /* gregocal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gregocal.cpp; sourceTree = "<group>"; }; + A9015C1419A9E8E700F7FC7D /* gregoimp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gregoimp.cpp; sourceTree = "<group>"; }; + A9015C1519A9E8E700F7FC7D /* gregoimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gregoimp.h; sourceTree = "<group>"; }; + A9015C1619A9E8E700F7FC7D /* hebrwcal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hebrwcal.cpp; sourceTree = "<group>"; }; + A9015C1719A9E8E700F7FC7D /* hebrwcal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hebrwcal.h; sourceTree = "<group>"; }; + A9015C1B19A9E8E700F7FC7D /* identifier_info.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = identifier_info.cpp; sourceTree = "<group>"; }; + A9015C1C19A9E8E700F7FC7D /* identifier_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = identifier_info.h; sourceTree = "<group>"; }; + A9015C1D19A9E8E700F7FC7D /* indiancal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = indiancal.cpp; sourceTree = "<group>"; }; + A9015C1E19A9E8E700F7FC7D /* indiancal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = indiancal.h; sourceTree = "<group>"; }; + A9015C1F19A9E8E700F7FC7D /* inputext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inputext.cpp; sourceTree = "<group>"; }; + A9015C2019A9E8E700F7FC7D /* inputext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inputext.h; sourceTree = "<group>"; }; + A9015C2119A9E8E700F7FC7D /* islamcal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = islamcal.cpp; sourceTree = "<group>"; }; + A9015C2219A9E8E700F7FC7D /* islamcal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = islamcal.h; sourceTree = "<group>"; }; + A9015C2319A9E8E700F7FC7D /* japancal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = japancal.cpp; sourceTree = "<group>"; }; + A9015C2419A9E8E700F7FC7D /* japancal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = japancal.h; sourceTree = "<group>"; }; + A9015C2519A9E8E700F7FC7D /* locdspnm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locdspnm.cpp; sourceTree = "<group>"; }; + A9015C2819A9E8E700F7FC7D /* measfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = measfmt.cpp; sourceTree = "<group>"; }; + A9015C2919A9E8E700F7FC7D /* measunit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = measunit.cpp; sourceTree = "<group>"; }; + A9015C2A19A9E8E700F7FC7D /* measure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = measure.cpp; sourceTree = "<group>"; }; + A9015C2B19A9E8E700F7FC7D /* msgfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = msgfmt.cpp; sourceTree = "<group>"; }; + A9015C2C19A9E8E700F7FC7D /* msgfmt_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msgfmt_impl.h; sourceTree = "<group>"; }; + A9015C2D19A9E8E700F7FC7D /* name2uni.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = name2uni.cpp; sourceTree = "<group>"; }; + A9015C2E19A9E8E700F7FC7D /* name2uni.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = name2uni.h; sourceTree = "<group>"; }; + A9015C2F19A9E8E700F7FC7D /* nfrlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nfrlist.h; sourceTree = "<group>"; }; + A9015C3019A9E8E800F7FC7D /* nfrs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = nfrs.cpp; sourceTree = "<group>"; }; + A9015C3119A9E8E800F7FC7D /* nfrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nfrs.h; sourceTree = "<group>"; }; + A9015C3219A9E8E800F7FC7D /* nfrule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = nfrule.cpp; sourceTree = "<group>"; }; + A9015C3319A9E8E800F7FC7D /* nfrule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nfrule.h; sourceTree = "<group>"; }; + A9015C3419A9E8E800F7FC7D /* nfsubs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = nfsubs.cpp; sourceTree = "<group>"; }; + A9015C3519A9E8E800F7FC7D /* nfsubs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nfsubs.h; sourceTree = "<group>"; }; + A9015C3619A9E8E800F7FC7D /* nortrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = nortrans.cpp; sourceTree = "<group>"; }; + A9015C3719A9E8E800F7FC7D /* nortrans.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nortrans.h; sourceTree = "<group>"; }; + A9015C3819A9E8E800F7FC7D /* nultrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = nultrans.cpp; sourceTree = "<group>"; }; + A9015C3919A9E8E800F7FC7D /* nultrans.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nultrans.h; sourceTree = "<group>"; }; + A9015C3A19A9E8E800F7FC7D /* numfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = numfmt.cpp; sourceTree = "<group>"; }; + A9015C3B19A9E8E800F7FC7D /* numsys.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = numsys.cpp; sourceTree = "<group>"; }; + A9015C3C19A9E8E800F7FC7D /* numsys_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = numsys_impl.h; sourceTree = "<group>"; }; + A9015C3D19A9E8E800F7FC7D /* olsontz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = olsontz.cpp; sourceTree = "<group>"; }; + A9015C3E19A9E8E800F7FC7D /* olsontz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = olsontz.h; sourceTree = "<group>"; }; + A9015C3F19A9E8E800F7FC7D /* persncal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = persncal.cpp; sourceTree = "<group>"; }; + A9015C4019A9E8E800F7FC7D /* persncal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = persncal.h; sourceTree = "<group>"; }; + A9015C4119A9E8E800F7FC7D /* plurfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plurfmt.cpp; sourceTree = "<group>"; }; + A9015C4219A9E8E800F7FC7D /* plurrule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plurrule.cpp; sourceTree = "<group>"; }; + A9015C4319A9E8E800F7FC7D /* plurrule_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plurrule_impl.h; sourceTree = "<group>"; }; + A9015C4419A9E8E800F7FC7D /* quant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = quant.cpp; sourceTree = "<group>"; }; + A9015C4519A9E8E800F7FC7D /* quant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quant.h; sourceTree = "<group>"; }; + A9015C4619A9E8E800F7FC7D /* quantityformatter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = quantityformatter.cpp; sourceTree = "<group>"; }; + A9015C4719A9E8E800F7FC7D /* quantityformatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quantityformatter.h; sourceTree = "<group>"; }; + A9015C4819A9E8E800F7FC7D /* rbnf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbnf.cpp; sourceTree = "<group>"; }; + A9015C4919A9E8E800F7FC7D /* rbt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbt.cpp; sourceTree = "<group>"; }; + A9015C4A19A9E8E800F7FC7D /* rbt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbt.h; sourceTree = "<group>"; }; + A9015C4B19A9E8E800F7FC7D /* rbt_data.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbt_data.cpp; sourceTree = "<group>"; }; + A9015C4C19A9E8E800F7FC7D /* rbt_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbt_data.h; sourceTree = "<group>"; }; + A9015C4D19A9E8E800F7FC7D /* rbt_pars.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbt_pars.cpp; sourceTree = "<group>"; }; + A9015C4E19A9E8E800F7FC7D /* rbt_pars.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbt_pars.h; sourceTree = "<group>"; }; + A9015C4F19A9E8E800F7FC7D /* rbt_rule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbt_rule.cpp; sourceTree = "<group>"; }; + A9015C5019A9E8E800F7FC7D /* rbt_rule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbt_rule.h; sourceTree = "<group>"; }; + A9015C5119A9E8E800F7FC7D /* rbt_set.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbt_set.cpp; sourceTree = "<group>"; }; + A9015C5219A9E8E800F7FC7D /* rbt_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rbt_set.h; sourceTree = "<group>"; }; + A9015C5319A9E8E800F7FC7D /* rbtz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rbtz.cpp; sourceTree = "<group>"; }; + A9015C5419A9E8E800F7FC7D /* regexcmp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = regexcmp.cpp; sourceTree = "<group>"; }; + A9015C5519A9E8E800F7FC7D /* regexcmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regexcmp.h; sourceTree = "<group>"; }; + A9015C5619A9E8E800F7FC7D /* regexcst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regexcst.h; sourceTree = "<group>"; }; + A9015C5919A9E8E800F7FC7D /* regeximp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = regeximp.cpp; sourceTree = "<group>"; }; + A9015C5A19A9E8E800F7FC7D /* regeximp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regeximp.h; sourceTree = "<group>"; }; + A9015C5B19A9E8E800F7FC7D /* regexst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = regexst.cpp; sourceTree = "<group>"; }; + A9015C5C19A9E8E800F7FC7D /* regexst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regexst.h; sourceTree = "<group>"; }; + A9015C5D19A9E8E800F7FC7D /* regextxt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = regextxt.cpp; sourceTree = "<group>"; }; + A9015C5E19A9E8E800F7FC7D /* regextxt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regextxt.h; sourceTree = "<group>"; }; + A9015C5F19A9E8E800F7FC7D /* region.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = region.cpp; sourceTree = "<group>"; }; + A9015C6019A9E8E800F7FC7D /* region_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = region_impl.h; sourceTree = "<group>"; }; + A9015C6119A9E8E800F7FC7D /* reldatefmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reldatefmt.cpp; sourceTree = "<group>"; }; + A9015C6219A9E8E800F7FC7D /* reldtfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reldtfmt.cpp; sourceTree = "<group>"; }; + A9015C6319A9E8E800F7FC7D /* reldtfmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reldtfmt.h; sourceTree = "<group>"; }; + A9015C6419A9E8E800F7FC7D /* rematch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rematch.cpp; sourceTree = "<group>"; }; + A9015C6519A9E8E800F7FC7D /* remtrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remtrans.cpp; sourceTree = "<group>"; }; + A9015C6619A9E8E800F7FC7D /* remtrans.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remtrans.h; sourceTree = "<group>"; }; + A9015C6719A9E8E800F7FC7D /* repattrn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = repattrn.cpp; sourceTree = "<group>"; }; + A9015C6819A9E8E800F7FC7D /* rulebasedcollator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rulebasedcollator.cpp; sourceTree = "<group>"; }; + A9015C6919A9E8E800F7FC7D /* scriptset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scriptset.cpp; sourceTree = "<group>"; }; + A9015C6A19A9E8E800F7FC7D /* scriptset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptset.h; sourceTree = "<group>"; }; + A9015C6B19A9E8E800F7FC7D /* search.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = search.cpp; sourceTree = "<group>"; }; + A9015C6C19A9E8E800F7FC7D /* selfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = selfmt.cpp; sourceTree = "<group>"; }; + A9015C6D19A9E8E800F7FC7D /* selfmtimpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = selfmtimpl.h; sourceTree = "<group>"; }; + A9015C6E19A9E8E800F7FC7D /* sharednumberformat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sharednumberformat.h; sourceTree = "<group>"; }; + A9015C6F19A9E8E800F7FC7D /* sharedpluralrules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sharedpluralrules.h; sourceTree = "<group>"; }; + A9015C7019A9E8E800F7FC7D /* simpletz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simpletz.cpp; sourceTree = "<group>"; }; + A9015C7119A9E8E800F7FC7D /* smpdtfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = smpdtfmt.cpp; sourceTree = "<group>"; }; + A9015C7219A9E8E800F7FC7D /* smpdtfst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = smpdtfst.cpp; sourceTree = "<group>"; }; + A9015C7319A9E8E800F7FC7D /* smpdtfst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = smpdtfst.h; sourceTree = "<group>"; }; + A9015C7419A9E8E800F7FC7D /* sortkey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sortkey.cpp; sourceTree = "<group>"; }; + A9015C7519A9E8E800F7FC7D /* strmatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strmatch.cpp; sourceTree = "<group>"; }; + A9015C7619A9E8E800F7FC7D /* strmatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strmatch.h; sourceTree = "<group>"; }; + A9015C7719A9E8E800F7FC7D /* strrepl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strrepl.cpp; sourceTree = "<group>"; }; + A9015C7819A9E8E800F7FC7D /* strrepl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strrepl.h; sourceTree = "<group>"; }; + A9015C7919A9E8E800F7FC7D /* stsearch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stsearch.cpp; sourceTree = "<group>"; }; + A9015C7A19A9E8E800F7FC7D /* taiwncal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = taiwncal.cpp; sourceTree = "<group>"; }; + A9015C7B19A9E8E800F7FC7D /* taiwncal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = taiwncal.h; sourceTree = "<group>"; }; + A9015C7C19A9E8E800F7FC7D /* timezone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timezone.cpp; sourceTree = "<group>"; }; + A9015C7D19A9E8E800F7FC7D /* titletrn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = titletrn.cpp; sourceTree = "<group>"; }; + A9015C7E19A9E8E800F7FC7D /* titletrn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = titletrn.h; sourceTree = "<group>"; }; + A9015C7F19A9E8E800F7FC7D /* tmunit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tmunit.cpp; sourceTree = "<group>"; }; + A9015C8019A9E8E800F7FC7D /* tmutamt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tmutamt.cpp; sourceTree = "<group>"; }; + A9015C8119A9E8E800F7FC7D /* tmutfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tmutfmt.cpp; sourceTree = "<group>"; }; + A9015C8219A9E8E800F7FC7D /* tolowtrn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tolowtrn.cpp; sourceTree = "<group>"; }; + A9015C8319A9E8E800F7FC7D /* tolowtrn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tolowtrn.h; sourceTree = "<group>"; }; + A9015C8419A9E8E800F7FC7D /* toupptrn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = toupptrn.cpp; sourceTree = "<group>"; }; + A9015C8519A9E8E800F7FC7D /* toupptrn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = toupptrn.h; sourceTree = "<group>"; }; + A9015C8619A9E8E800F7FC7D /* translit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = translit.cpp; sourceTree = "<group>"; }; + A9015C8719A9E8E800F7FC7D /* transreg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = transreg.cpp; sourceTree = "<group>"; }; + A9015C8819A9E8E800F7FC7D /* transreg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = transreg.h; sourceTree = "<group>"; }; + A9015C8919A9E8E800F7FC7D /* tridpars.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tridpars.cpp; sourceTree = "<group>"; }; + A9015C8A19A9E8E800F7FC7D /* tridpars.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tridpars.h; sourceTree = "<group>"; }; + A9015C8B19A9E8E800F7FC7D /* tzfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tzfmt.cpp; sourceTree = "<group>"; }; + A9015C8C19A9E8E800F7FC7D /* tzgnames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tzgnames.cpp; sourceTree = "<group>"; }; + A9015C8D19A9E8E800F7FC7D /* tzgnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tzgnames.h; sourceTree = "<group>"; }; + A9015C8E19A9E8E800F7FC7D /* tznames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tznames.cpp; sourceTree = "<group>"; }; + A9015C8F19A9E8E800F7FC7D /* tznames_impl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tznames_impl.cpp; sourceTree = "<group>"; }; + A9015C9019A9E8E800F7FC7D /* tznames_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tznames_impl.h; sourceTree = "<group>"; }; + A9015C9119A9E8E800F7FC7D /* tzrule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tzrule.cpp; sourceTree = "<group>"; }; + A9015C9219A9E8E800F7FC7D /* tztrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tztrans.cpp; sourceTree = "<group>"; }; + A9015C9319A9E8E800F7FC7D /* ucal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucal.cpp; sourceTree = "<group>"; }; + A9015C9419A9E8E800F7FC7D /* ucln_in.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucln_in.c; sourceTree = "<group>"; }; + A9015C9519A9E8E800F7FC7D /* ucln_in.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucln_in.h; sourceTree = "<group>"; }; + A9015C9619A9E8E800F7FC7D /* ucol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucol.cpp; sourceTree = "<group>"; }; + A9015C9719A9E8E800F7FC7D /* ucol_imp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucol_imp.h; sourceTree = "<group>"; }; + A9015C9819A9E8E800F7FC7D /* ucol_res.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucol_res.cpp; sourceTree = "<group>"; }; + A9015C9919A9E8E800F7FC7D /* ucol_sit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucol_sit.cpp; sourceTree = "<group>"; }; + A9015C9A19A9E8E800F7FC7D /* ucoleitr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucoleitr.cpp; sourceTree = "<group>"; }; + A9015C9B19A9E8E800F7FC7D /* ucsdet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucsdet.cpp; sourceTree = "<group>"; }; + A9015C9C19A9E8E800F7FC7D /* ucurr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ucurr.cpp; sourceTree = "<group>"; }; + A9015C9D19A9E8E800F7FC7D /* ucurrimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucurrimp.h; sourceTree = "<group>"; }; + A9015C9E19A9E8E800F7FC7D /* udat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = udat.cpp; sourceTree = "<group>"; }; + A9015C9F19A9E8E800F7FC7D /* udateintervalformat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = udateintervalformat.cpp; sourceTree = "<group>"; }; + A9015CA019A9E8E800F7FC7D /* udatpg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = udatpg.cpp; sourceTree = "<group>"; }; + A9015CA119A9E8E800F7FC7D /* uitercollationiterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uitercollationiterator.cpp; sourceTree = "<group>"; }; + A9015CA219A9E8E800F7FC7D /* uitercollationiterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uitercollationiterator.h; sourceTree = "<group>"; }; + A9015CA319A9E8E800F7FC7D /* ulocdata.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ulocdata.c; sourceTree = "<group>"; }; + A9015CA419A9E8E800F7FC7D /* umsg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = umsg.cpp; sourceTree = "<group>"; }; + A9015CA519A9E8E800F7FC7D /* umsg_imp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = umsg_imp.h; sourceTree = "<group>"; }; + A9015CA619A9E8E800F7FC7D /* unesctrn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unesctrn.cpp; sourceTree = "<group>"; }; + A9015CA719A9E8E800F7FC7D /* unesctrn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unesctrn.h; sourceTree = "<group>"; }; + A9015CA819A9E8E800F7FC7D /* uni2name.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uni2name.cpp; sourceTree = "<group>"; }; + A9015CA919A9E8E800F7FC7D /* uni2name.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uni2name.h; sourceTree = "<group>"; }; + A9015CFB19A9E8E800F7FC7D /* unum.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unum.cpp; sourceTree = "<group>"; }; + A9015CFC19A9E8E800F7FC7D /* unumsys.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unumsys.cpp; sourceTree = "<group>"; }; + A9015CFD19A9E8E800F7FC7D /* upluralrules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = upluralrules.cpp; sourceTree = "<group>"; }; + A9015CFE19A9E8E800F7FC7D /* uregex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uregex.cpp; sourceTree = "<group>"; }; + A9015CFF19A9E8E800F7FC7D /* uregexc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uregexc.cpp; sourceTree = "<group>"; }; + A9015D0019A9E8E800F7FC7D /* uregion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uregion.cpp; sourceTree = "<group>"; }; + A9015D0119A9E8E800F7FC7D /* usearch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = usearch.cpp; sourceTree = "<group>"; }; + A9015D0219A9E8E800F7FC7D /* uspoof.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uspoof.cpp; sourceTree = "<group>"; }; + A9015D0319A9E8E800F7FC7D /* uspoof_build.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uspoof_build.cpp; sourceTree = "<group>"; }; + A9015D0419A9E8E800F7FC7D /* uspoof_conf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uspoof_conf.cpp; sourceTree = "<group>"; }; + A9015D0519A9E8E800F7FC7D /* uspoof_conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uspoof_conf.h; sourceTree = "<group>"; }; + A9015D0619A9E8E800F7FC7D /* uspoof_impl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uspoof_impl.cpp; sourceTree = "<group>"; }; + A9015D0719A9E8E800F7FC7D /* uspoof_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uspoof_impl.h; sourceTree = "<group>"; }; + A9015D0819A9E8E800F7FC7D /* uspoof_wsconf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uspoof_wsconf.cpp; sourceTree = "<group>"; }; + A9015D0919A9E8E800F7FC7D /* uspoof_wsconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uspoof_wsconf.h; sourceTree = "<group>"; }; + A9015D0A19A9E8E800F7FC7D /* usrchimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = usrchimp.h; sourceTree = "<group>"; }; + A9015D0B19A9E8E800F7FC7D /* utf16collationiterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf16collationiterator.cpp; sourceTree = "<group>"; }; + A9015D0C19A9E8E800F7FC7D /* utf16collationiterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf16collationiterator.h; sourceTree = "<group>"; }; + A9015D0D19A9E8E800F7FC7D /* utf8collationiterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8collationiterator.cpp; sourceTree = "<group>"; }; + A9015D0E19A9E8E800F7FC7D /* utf8collationiterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8collationiterator.h; sourceTree = "<group>"; }; + A9015D0F19A9E8E800F7FC7D /* utmscale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utmscale.c; sourceTree = "<group>"; }; + A9015D1019A9E8E800F7FC7D /* utrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utrans.cpp; sourceTree = "<group>"; }; + A9015D1119A9E8E800F7FC7D /* vtzone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vtzone.cpp; sourceTree = "<group>"; }; + A9015D1219A9E8E800F7FC7D /* vzone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vzone.cpp; sourceTree = "<group>"; }; + A9015D1319A9E8E800F7FC7D /* vzone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vzone.h; sourceTree = "<group>"; }; + A9015D1419A9E8E800F7FC7D /* windtfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = windtfmt.cpp; sourceTree = "<group>"; }; + A9015D1519A9E8E800F7FC7D /* windtfmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = windtfmt.h; sourceTree = "<group>"; }; + A9015D1619A9E8E800F7FC7D /* winnmfmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = winnmfmt.cpp; sourceTree = "<group>"; }; + A9015D1719A9E8E800F7FC7D /* winnmfmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = winnmfmt.h; sourceTree = "<group>"; }; + A9015D1819A9E8E800F7FC7D /* wintzimpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wintzimpl.cpp; sourceTree = "<group>"; }; + A9015D1919A9E8E800F7FC7D /* wintzimpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wintzimpl.h; sourceTree = "<group>"; }; + A9015D1A19A9E8E800F7FC7D /* zonemeta.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zonemeta.cpp; sourceTree = "<group>"; }; + A9015D1B19A9E8E800F7FC7D /* zonemeta.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zonemeta.h; sourceTree = "<group>"; }; + A9015D1C19A9E8E800F7FC7D /* zrule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zrule.cpp; sourceTree = "<group>"; }; + A9015D1D19A9E8E800F7FC7D /* zrule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zrule.h; sourceTree = "<group>"; }; + A9015D1E19A9E8E800F7FC7D /* ztrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ztrans.cpp; sourceTree = "<group>"; }; + A9015D1F19A9E8E800F7FC7D /* ztrans.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ztrans.h; sourceTree = "<group>"; }; + A9015D2719A9E8E800F7FC7D /* locbund.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locbund.cpp; sourceTree = "<group>"; }; + A9015D2819A9E8E800F7FC7D /* locbund.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = locbund.h; sourceTree = "<group>"; }; + A9015D2B19A9E8E800F7FC7D /* sprintf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sprintf.c; sourceTree = "<group>"; }; + A9015D2C19A9E8E800F7FC7D /* sscanf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sscanf.c; sourceTree = "<group>"; }; + A9015D2D19A9E8E800F7FC7D /* ucln_io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ucln_io.c; sourceTree = "<group>"; }; + A9015D2E19A9E8E800F7FC7D /* ucln_io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucln_io.h; sourceTree = "<group>"; }; + A9015D2F19A9E8E800F7FC7D /* ufile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ufile.c; sourceTree = "<group>"; }; + A9015D3019A9E8E800F7FC7D /* ufile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufile.h; sourceTree = "<group>"; }; + A9015D3119A9E8E800F7FC7D /* ufmt_cmn.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ufmt_cmn.c; sourceTree = "<group>"; }; + A9015D3219A9E8E800F7FC7D /* ufmt_cmn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufmt_cmn.h; sourceTree = "<group>"; }; + A9015D3619A9E8E800F7FC7D /* uprintf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uprintf.c; sourceTree = "<group>"; }; + A9015D3719A9E8E800F7FC7D /* uprintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uprintf.h; sourceTree = "<group>"; }; + A9015D3819A9E8E800F7FC7D /* uprntf_p.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uprntf_p.c; sourceTree = "<group>"; }; + A9015D3919A9E8E800F7FC7D /* uscanf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uscanf.c; sourceTree = "<group>"; }; + A9015D3A19A9E8E800F7FC7D /* uscanf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uscanf.h; sourceTree = "<group>"; }; + A9015D3B19A9E8E800F7FC7D /* uscanf_p.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uscanf_p.c; sourceTree = "<group>"; }; + A9015D3C19A9E8E800F7FC7D /* ustdio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ustdio.c; sourceTree = "<group>"; }; + A9015D3D19A9E8E800F7FC7D /* ustream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustream.cpp; sourceTree = "<group>"; }; + A9015D3F19A9E8E800F7FC7D /* AlternateSubstSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AlternateSubstSubtables.cpp; sourceTree = "<group>"; }; + A9015D4019A9E8E800F7FC7D /* AlternateSubstSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AlternateSubstSubtables.h; sourceTree = "<group>"; }; + A9015D4119A9E8E800F7FC7D /* AnchorTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AnchorTables.cpp; sourceTree = "<group>"; }; + A9015D4219A9E8E800F7FC7D /* AnchorTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnchorTables.h; sourceTree = "<group>"; }; + A9015D4319A9E8E800F7FC7D /* ArabicLayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArabicLayoutEngine.cpp; sourceTree = "<group>"; }; + A9015D4419A9E8E800F7FC7D /* ArabicLayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArabicLayoutEngine.h; sourceTree = "<group>"; }; + A9015D4519A9E8E800F7FC7D /* ArabicShaping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArabicShaping.cpp; sourceTree = "<group>"; }; + A9015D4619A9E8E800F7FC7D /* ArabicShaping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArabicShaping.h; sourceTree = "<group>"; }; + A9015D4719A9E8E800F7FC7D /* AttachmentPosnSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AttachmentPosnSubtables.h; sourceTree = "<group>"; }; + A9015D4819A9E8E800F7FC7D /* CanonData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CanonData.cpp; sourceTree = "<group>"; }; + A9015D4919A9E8E800F7FC7D /* CanonShaping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CanonShaping.cpp; sourceTree = "<group>"; }; + A9015D4A19A9E8E800F7FC7D /* CanonShaping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CanonShaping.h; sourceTree = "<group>"; }; + A9015D4B19A9E8E800F7FC7D /* CharSubstitutionFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharSubstitutionFilter.h; sourceTree = "<group>"; }; + A9015D4C19A9E8E800F7FC7D /* ClassDefinitionTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClassDefinitionTables.cpp; sourceTree = "<group>"; }; + A9015D4D19A9E8E800F7FC7D /* ClassDefinitionTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClassDefinitionTables.h; sourceTree = "<group>"; }; + A9015D4E19A9E8E800F7FC7D /* ContextualGlyphInsertion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextualGlyphInsertion.h; sourceTree = "<group>"; }; + A9015D4F19A9E8E800F7FC7D /* ContextualGlyphInsertionProc2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContextualGlyphInsertionProc2.cpp; sourceTree = "<group>"; }; + A9015D5019A9E8E800F7FC7D /* ContextualGlyphInsertionProc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextualGlyphInsertionProc2.h; sourceTree = "<group>"; }; + A9015D5119A9E8E800F7FC7D /* ContextualGlyphSubstitution.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextualGlyphSubstitution.h; sourceTree = "<group>"; }; + A9015D5219A9E8E800F7FC7D /* ContextualGlyphSubstProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContextualGlyphSubstProc.cpp; sourceTree = "<group>"; }; + A9015D5319A9E8E800F7FC7D /* ContextualGlyphSubstProc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextualGlyphSubstProc.h; sourceTree = "<group>"; }; + A9015D5419A9E8E800F7FC7D /* ContextualGlyphSubstProc2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContextualGlyphSubstProc2.cpp; sourceTree = "<group>"; }; + A9015D5519A9E8E800F7FC7D /* ContextualGlyphSubstProc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextualGlyphSubstProc2.h; sourceTree = "<group>"; }; + A9015D5619A9E8E800F7FC7D /* ContextualSubstSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContextualSubstSubtables.cpp; sourceTree = "<group>"; }; + A9015D5719A9E8E800F7FC7D /* ContextualSubstSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextualSubstSubtables.h; sourceTree = "<group>"; }; + A9015D5819A9E8E800F7FC7D /* CoverageTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoverageTables.cpp; sourceTree = "<group>"; }; + A9015D5919A9E8E800F7FC7D /* CoverageTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoverageTables.h; sourceTree = "<group>"; }; + A9015D5A19A9E8E800F7FC7D /* CursiveAttachmentSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CursiveAttachmentSubtables.cpp; sourceTree = "<group>"; }; + A9015D5B19A9E8E800F7FC7D /* CursiveAttachmentSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CursiveAttachmentSubtables.h; sourceTree = "<group>"; }; + A9015D5C19A9E8E800F7FC7D /* DefaultCharMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultCharMapper.h; sourceTree = "<group>"; }; + A9015D5D19A9E8E800F7FC7D /* DeviceTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeviceTables.cpp; sourceTree = "<group>"; }; + A9015D5E19A9E8E800F7FC7D /* DeviceTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeviceTables.h; sourceTree = "<group>"; }; + A9015D5F19A9E8E800F7FC7D /* ExtensionSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExtensionSubtables.cpp; sourceTree = "<group>"; }; + A9015D6019A9E8E800F7FC7D /* ExtensionSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExtensionSubtables.h; sourceTree = "<group>"; }; + A9015D6119A9E8E800F7FC7D /* Features.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Features.cpp; sourceTree = "<group>"; }; + A9015D6219A9E8E800F7FC7D /* GDEFMarkFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GDEFMarkFilter.cpp; sourceTree = "<group>"; }; + A9015D6319A9E8E800F7FC7D /* GDEFMarkFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDEFMarkFilter.h; sourceTree = "<group>"; }; + A9015D6419A9E8E800F7FC7D /* GlyphDefinitionTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphDefinitionTables.cpp; sourceTree = "<group>"; }; + A9015D6519A9E8E800F7FC7D /* GlyphDefinitionTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphDefinitionTables.h; sourceTree = "<group>"; }; + A9015D6619A9E8E800F7FC7D /* GlyphIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphIterator.cpp; sourceTree = "<group>"; }; + A9015D6719A9E8E800F7FC7D /* GlyphIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphIterator.h; sourceTree = "<group>"; }; + A9015D6819A9E8E800F7FC7D /* GlyphLookupTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphLookupTables.cpp; sourceTree = "<group>"; }; + A9015D6919A9E8E800F7FC7D /* GlyphLookupTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphLookupTables.h; sourceTree = "<group>"; }; + A9015D6A19A9E8E800F7FC7D /* GlyphPositionAdjustments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphPositionAdjustments.cpp; sourceTree = "<group>"; }; + A9015D6B19A9E8E800F7FC7D /* GlyphPositionAdjustments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphPositionAdjustments.h; sourceTree = "<group>"; }; + A9015D6C19A9E8E800F7FC7D /* GlyphPositioningTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphPositioningTables.cpp; sourceTree = "<group>"; }; + A9015D6D19A9E8E800F7FC7D /* GlyphPositioningTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphPositioningTables.h; sourceTree = "<group>"; }; + A9015D6E19A9E8E800F7FC7D /* GlyphPosnLookupProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphPosnLookupProc.cpp; sourceTree = "<group>"; }; + A9015D6F19A9E8E800F7FC7D /* GlyphPosnLookupProc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphPosnLookupProc.h; sourceTree = "<group>"; }; + A9015D7019A9E8E800F7FC7D /* GlyphSubstitutionTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphSubstitutionTables.cpp; sourceTree = "<group>"; }; + A9015D7119A9E8E800F7FC7D /* GlyphSubstitutionTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphSubstitutionTables.h; sourceTree = "<group>"; }; + A9015D7219A9E8E800F7FC7D /* GlyphSubstLookupProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphSubstLookupProc.cpp; sourceTree = "<group>"; }; + A9015D7319A9E8E800F7FC7D /* GlyphSubstLookupProc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphSubstLookupProc.h; sourceTree = "<group>"; }; + A9015D7419A9E8E800F7FC7D /* GXLayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GXLayoutEngine.cpp; sourceTree = "<group>"; }; + A9015D7519A9E8E800F7FC7D /* GXLayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GXLayoutEngine.h; sourceTree = "<group>"; }; + A9015D7619A9E8E800F7FC7D /* GXLayoutEngine2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GXLayoutEngine2.cpp; sourceTree = "<group>"; }; + A9015D7719A9E8E800F7FC7D /* GXLayoutEngine2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GXLayoutEngine2.h; sourceTree = "<group>"; }; + A9015D7819A9E8E800F7FC7D /* HangulLayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HangulLayoutEngine.cpp; sourceTree = "<group>"; }; + A9015D7919A9E8E800F7FC7D /* HangulLayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HangulLayoutEngine.h; sourceTree = "<group>"; }; + A9015D7A19A9E8E800F7FC7D /* HanLayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HanLayoutEngine.cpp; sourceTree = "<group>"; }; + A9015D7B19A9E8E800F7FC7D /* HanLayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HanLayoutEngine.h; sourceTree = "<group>"; }; + A9015D7C19A9E8E800F7FC7D /* ICUFeatures.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ICUFeatures.h; sourceTree = "<group>"; }; + A9015D7D19A9E8E800F7FC7D /* IndicClassTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndicClassTables.cpp; sourceTree = "<group>"; }; + A9015D7E19A9E8E800F7FC7D /* IndicLayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndicLayoutEngine.cpp; sourceTree = "<group>"; }; + A9015D7F19A9E8E800F7FC7D /* IndicLayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndicLayoutEngine.h; sourceTree = "<group>"; }; + A9015D8019A9E8E800F7FC7D /* IndicRearrangement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndicRearrangement.h; sourceTree = "<group>"; }; + A9015D8119A9E8E800F7FC7D /* IndicRearrangementProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndicRearrangementProcessor.cpp; sourceTree = "<group>"; }; + A9015D8219A9E8E800F7FC7D /* IndicRearrangementProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndicRearrangementProcessor.h; sourceTree = "<group>"; }; + A9015D8319A9E8E800F7FC7D /* IndicRearrangementProcessor2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndicRearrangementProcessor2.cpp; sourceTree = "<group>"; }; + A9015D8419A9E8E800F7FC7D /* IndicRearrangementProcessor2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndicRearrangementProcessor2.h; sourceTree = "<group>"; }; + A9015D8519A9E8E800F7FC7D /* IndicReordering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndicReordering.cpp; sourceTree = "<group>"; }; + A9015D8619A9E8E800F7FC7D /* IndicReordering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndicReordering.h; sourceTree = "<group>"; }; + A9015D8719A9E8E800F7FC7D /* KernTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KernTable.cpp; sourceTree = "<group>"; }; + A9015D8819A9E8E800F7FC7D /* KernTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KernTable.h; sourceTree = "<group>"; }; + A9015D8919A9E8E800F7FC7D /* KhmerLayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KhmerLayoutEngine.cpp; sourceTree = "<group>"; }; + A9015D8A19A9E8E800F7FC7D /* KhmerLayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KhmerLayoutEngine.h; sourceTree = "<group>"; }; + A9015D8B19A9E8E800F7FC7D /* KhmerReordering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KhmerReordering.cpp; sourceTree = "<group>"; }; + A9015D8C19A9E8E800F7FC7D /* KhmerReordering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KhmerReordering.h; sourceTree = "<group>"; }; + A9015D9019A9E8E800F7FC7D /* LayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayoutEngine.cpp; sourceTree = "<group>"; }; + A9015D9119A9E8E800F7FC7D /* LayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutEngine.h; sourceTree = "<group>"; }; + A9015D9219A9E8E800F7FC7D /* LayoutTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutTables.h; sourceTree = "<group>"; }; + A9015D9319A9E8E800F7FC7D /* LEFontInstance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LEFontInstance.cpp; sourceTree = "<group>"; }; + A9015D9419A9E8E800F7FC7D /* LEFontInstance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LEFontInstance.h; sourceTree = "<group>"; }; + A9015D9519A9E8E800F7FC7D /* LEGlyphFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LEGlyphFilter.h; sourceTree = "<group>"; }; + A9015D9619A9E8E800F7FC7D /* LEGlyphStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LEGlyphStorage.cpp; sourceTree = "<group>"; }; + A9015D9719A9E8E800F7FC7D /* LEGlyphStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LEGlyphStorage.h; sourceTree = "<group>"; }; + A9015D9819A9E8E800F7FC7D /* LEInsertionList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LEInsertionList.cpp; sourceTree = "<group>"; }; + A9015D9919A9E8E800F7FC7D /* LEInsertionList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LEInsertionList.h; sourceTree = "<group>"; }; + A9015D9A19A9E8E800F7FC7D /* LELanguages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LELanguages.h; sourceTree = "<group>"; }; + A9015D9B19A9E8E800F7FC7D /* LEScripts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LEScripts.h; sourceTree = "<group>"; }; + A9015D9C19A9E8E800F7FC7D /* LESwaps.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LESwaps.h; sourceTree = "<group>"; }; + A9015D9D19A9E8E800F7FC7D /* LETableReference.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LETableReference.h; sourceTree = "<group>"; }; + A9015D9E19A9E8E800F7FC7D /* LETypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LETypes.h; sourceTree = "<group>"; }; + A9015D9F19A9E8E800F7FC7D /* LigatureSubstitution.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LigatureSubstitution.h; sourceTree = "<group>"; }; + A9015DA019A9E8E800F7FC7D /* LigatureSubstProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LigatureSubstProc.cpp; sourceTree = "<group>"; }; + A9015DA119A9E8E800F7FC7D /* LigatureSubstProc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LigatureSubstProc.h; sourceTree = "<group>"; }; + A9015DA219A9E8E800F7FC7D /* LigatureSubstProc2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LigatureSubstProc2.cpp; sourceTree = "<group>"; }; + A9015DA319A9E8E800F7FC7D /* LigatureSubstProc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LigatureSubstProc2.h; sourceTree = "<group>"; }; + A9015DA419A9E8E800F7FC7D /* LigatureSubstSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LigatureSubstSubtables.cpp; sourceTree = "<group>"; }; + A9015DA519A9E8E800F7FC7D /* LigatureSubstSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LigatureSubstSubtables.h; sourceTree = "<group>"; }; + A9015DA619A9E8E800F7FC7D /* loengine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loengine.cpp; sourceTree = "<group>"; }; + A9015DA719A9E8E800F7FC7D /* loengine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loengine.h; sourceTree = "<group>"; }; + A9015DA819A9E8E800F7FC7D /* LookupProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LookupProcessor.cpp; sourceTree = "<group>"; }; + A9015DA919A9E8E800F7FC7D /* LookupProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LookupProcessor.h; sourceTree = "<group>"; }; + A9015DAA19A9E8E800F7FC7D /* Lookups.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Lookups.cpp; sourceTree = "<group>"; }; + A9015DAB19A9E8E800F7FC7D /* Lookups.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lookups.h; sourceTree = "<group>"; }; + A9015DAC19A9E8E800F7FC7D /* LookupTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LookupTables.cpp; sourceTree = "<group>"; }; + A9015DAD19A9E8E800F7FC7D /* LookupTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LookupTables.h; sourceTree = "<group>"; }; + A9015DB019A9E8E800F7FC7D /* MarkArrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MarkArrays.cpp; sourceTree = "<group>"; }; + A9015DB119A9E8E800F7FC7D /* MarkArrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MarkArrays.h; sourceTree = "<group>"; }; + A9015DB219A9E8E800F7FC7D /* MarkToBasePosnSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MarkToBasePosnSubtables.cpp; sourceTree = "<group>"; }; + A9015DB319A9E8E800F7FC7D /* MarkToBasePosnSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MarkToBasePosnSubtables.h; sourceTree = "<group>"; }; + A9015DB419A9E8E800F7FC7D /* MarkToLigaturePosnSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MarkToLigaturePosnSubtables.cpp; sourceTree = "<group>"; }; + A9015DB519A9E8E800F7FC7D /* MarkToLigaturePosnSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MarkToLigaturePosnSubtables.h; sourceTree = "<group>"; }; + A9015DB619A9E8E800F7FC7D /* MarkToMarkPosnSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MarkToMarkPosnSubtables.cpp; sourceTree = "<group>"; }; + A9015DB719A9E8E800F7FC7D /* MarkToMarkPosnSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MarkToMarkPosnSubtables.h; sourceTree = "<group>"; }; + A9015DB819A9E8E800F7FC7D /* MirroredCharData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MirroredCharData.cpp; sourceTree = "<group>"; }; + A9015DB919A9E8E800F7FC7D /* MorphStateTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MorphStateTables.h; sourceTree = "<group>"; }; + A9015DBA19A9E8E900F7FC7D /* MorphTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MorphTables.cpp; sourceTree = "<group>"; }; + A9015DBB19A9E8E900F7FC7D /* MorphTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MorphTables.h; sourceTree = "<group>"; }; + A9015DBC19A9E8E900F7FC7D /* MorphTables2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MorphTables2.cpp; sourceTree = "<group>"; }; + A9015DBD19A9E8E900F7FC7D /* MPreFixups.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MPreFixups.cpp; sourceTree = "<group>"; }; + A9015DBE19A9E8E900F7FC7D /* MPreFixups.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPreFixups.h; sourceTree = "<group>"; }; + A9015DBF19A9E8E900F7FC7D /* MultipleSubstSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultipleSubstSubtables.cpp; sourceTree = "<group>"; }; + A9015DC019A9E8E900F7FC7D /* MultipleSubstSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultipleSubstSubtables.h; sourceTree = "<group>"; }; + A9015DC119A9E8E900F7FC7D /* NonContextualGlyphSubst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NonContextualGlyphSubst.h; sourceTree = "<group>"; }; + A9015DC219A9E8E900F7FC7D /* NonContextualGlyphSubstProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NonContextualGlyphSubstProc.cpp; sourceTree = "<group>"; }; + A9015DC319A9E8E900F7FC7D /* NonContextualGlyphSubstProc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NonContextualGlyphSubstProc.h; sourceTree = "<group>"; }; + A9015DC419A9E8E900F7FC7D /* NonContextualGlyphSubstProc2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NonContextualGlyphSubstProc2.cpp; sourceTree = "<group>"; }; + A9015DC519A9E8E900F7FC7D /* NonContextualGlyphSubstProc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NonContextualGlyphSubstProc2.h; sourceTree = "<group>"; }; + A9015DC619A9E8E900F7FC7D /* OpenTypeLayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OpenTypeLayoutEngine.cpp; sourceTree = "<group>"; }; + A9015DC719A9E8E900F7FC7D /* OpenTypeLayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenTypeLayoutEngine.h; sourceTree = "<group>"; }; + A9015DC819A9E8E900F7FC7D /* OpenTypeTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenTypeTables.h; sourceTree = "<group>"; }; + A9015DC919A9E8E900F7FC7D /* OpenTypeUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OpenTypeUtilities.cpp; sourceTree = "<group>"; }; + A9015DCA19A9E8E900F7FC7D /* OpenTypeUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenTypeUtilities.h; sourceTree = "<group>"; }; + A9015DCB19A9E8E900F7FC7D /* PairPositioningSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PairPositioningSubtables.cpp; sourceTree = "<group>"; }; + A9015DCC19A9E8E900F7FC7D /* PairPositioningSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PairPositioningSubtables.h; sourceTree = "<group>"; }; + A9015DCD19A9E8E900F7FC7D /* ScriptAndLanguage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptAndLanguage.cpp; sourceTree = "<group>"; }; + A9015DCE19A9E8E900F7FC7D /* ScriptAndLanguage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptAndLanguage.h; sourceTree = "<group>"; }; + A9015DCF19A9E8E900F7FC7D /* ScriptAndLanguageTags.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptAndLanguageTags.cpp; sourceTree = "<group>"; }; + A9015DD019A9E8E900F7FC7D /* ScriptAndLanguageTags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptAndLanguageTags.h; sourceTree = "<group>"; }; + A9015DD119A9E8E900F7FC7D /* SegmentArrayProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentArrayProcessor.cpp; sourceTree = "<group>"; }; + A9015DD219A9E8E900F7FC7D /* SegmentArrayProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentArrayProcessor.h; sourceTree = "<group>"; }; + A9015DD319A9E8E900F7FC7D /* SegmentArrayProcessor2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentArrayProcessor2.cpp; sourceTree = "<group>"; }; + A9015DD419A9E8E900F7FC7D /* SegmentArrayProcessor2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentArrayProcessor2.h; sourceTree = "<group>"; }; + A9015DD519A9E8E900F7FC7D /* SegmentSingleProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentSingleProcessor.cpp; sourceTree = "<group>"; }; + A9015DD619A9E8E900F7FC7D /* SegmentSingleProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentSingleProcessor.h; sourceTree = "<group>"; }; + A9015DD719A9E8E900F7FC7D /* SegmentSingleProcessor2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentSingleProcessor2.cpp; sourceTree = "<group>"; }; + A9015DD819A9E8E900F7FC7D /* SegmentSingleProcessor2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentSingleProcessor2.h; sourceTree = "<group>"; }; + A9015DD919A9E8E900F7FC7D /* ShapingTypeData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapingTypeData.cpp; sourceTree = "<group>"; }; + A9015DDA19A9E8E900F7FC7D /* SimpleArrayProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SimpleArrayProcessor.cpp; sourceTree = "<group>"; }; + A9015DDB19A9E8E900F7FC7D /* SimpleArrayProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleArrayProcessor.h; sourceTree = "<group>"; }; + A9015DDC19A9E8E900F7FC7D /* SimpleArrayProcessor2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SimpleArrayProcessor2.cpp; sourceTree = "<group>"; }; + A9015DDD19A9E8E900F7FC7D /* SimpleArrayProcessor2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleArrayProcessor2.h; sourceTree = "<group>"; }; + A9015DDE19A9E8E900F7FC7D /* SinglePositioningSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SinglePositioningSubtables.cpp; sourceTree = "<group>"; }; + A9015DDF19A9E8E900F7FC7D /* SinglePositioningSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SinglePositioningSubtables.h; sourceTree = "<group>"; }; + A9015DE019A9E8E900F7FC7D /* SingleSubstitutionSubtables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SingleSubstitutionSubtables.cpp; sourceTree = "<group>"; }; + A9015DE119A9E8E900F7FC7D /* SingleSubstitutionSubtables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SingleSubstitutionSubtables.h; sourceTree = "<group>"; }; + A9015DE219A9E8E900F7FC7D /* SingleTableProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SingleTableProcessor.cpp; sourceTree = "<group>"; }; + A9015DE319A9E8E900F7FC7D /* SingleTableProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SingleTableProcessor.h; sourceTree = "<group>"; }; + A9015DE419A9E8E900F7FC7D /* SingleTableProcessor2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SingleTableProcessor2.cpp; sourceTree = "<group>"; }; + A9015DE519A9E8E900F7FC7D /* SingleTableProcessor2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SingleTableProcessor2.h; sourceTree = "<group>"; }; + A9015DE619A9E8E900F7FC7D /* StateTableProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StateTableProcessor.cpp; sourceTree = "<group>"; }; + A9015DE719A9E8E900F7FC7D /* StateTableProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StateTableProcessor.h; sourceTree = "<group>"; }; + A9015DE819A9E8E900F7FC7D /* StateTableProcessor2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StateTableProcessor2.cpp; sourceTree = "<group>"; }; + A9015DE919A9E8E900F7FC7D /* StateTableProcessor2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StateTableProcessor2.h; sourceTree = "<group>"; }; + A9015DEA19A9E8E900F7FC7D /* StateTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StateTables.h; sourceTree = "<group>"; }; + A9015DEB19A9E8E900F7FC7D /* SubstitutionLookups.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SubstitutionLookups.cpp; sourceTree = "<group>"; }; + A9015DEC19A9E8E900F7FC7D /* SubstitutionLookups.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubstitutionLookups.h; sourceTree = "<group>"; }; + A9015DED19A9E8E900F7FC7D /* SubtableProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SubtableProcessor.cpp; sourceTree = "<group>"; }; + A9015DEE19A9E8E900F7FC7D /* SubtableProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubtableProcessor.h; sourceTree = "<group>"; }; + A9015DEF19A9E8E900F7FC7D /* SubtableProcessor2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SubtableProcessor2.cpp; sourceTree = "<group>"; }; + A9015DF019A9E8E900F7FC7D /* SubtableProcessor2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubtableProcessor2.h; sourceTree = "<group>"; }; + A9015DF119A9E8E900F7FC7D /* ThaiLayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThaiLayoutEngine.cpp; sourceTree = "<group>"; }; + A9015DF219A9E8E900F7FC7D /* ThaiLayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThaiLayoutEngine.h; sourceTree = "<group>"; }; + A9015DF319A9E8E900F7FC7D /* ThaiShaping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThaiShaping.cpp; sourceTree = "<group>"; }; + A9015DF419A9E8E900F7FC7D /* ThaiShaping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThaiShaping.h; sourceTree = "<group>"; }; + A9015DF519A9E8E900F7FC7D /* ThaiStateTables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThaiStateTables.cpp; sourceTree = "<group>"; }; + A9015DF619A9E8E900F7FC7D /* TibetanLayoutEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TibetanLayoutEngine.cpp; sourceTree = "<group>"; }; + A9015DF719A9E8E900F7FC7D /* TibetanLayoutEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TibetanLayoutEngine.h; sourceTree = "<group>"; }; + A9015DF819A9E8E900F7FC7D /* TibetanReordering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TibetanReordering.cpp; sourceTree = "<group>"; }; + A9015DF919A9E8E900F7FC7D /* TibetanReordering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TibetanReordering.h; sourceTree = "<group>"; }; + A9015DFA19A9E8E900F7FC7D /* TrimmedArrayProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TrimmedArrayProcessor.cpp; sourceTree = "<group>"; }; + A9015DFB19A9E8E900F7FC7D /* TrimmedArrayProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrimmedArrayProcessor.h; sourceTree = "<group>"; }; + A9015DFC19A9E8E900F7FC7D /* TrimmedArrayProcessor2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TrimmedArrayProcessor2.cpp; sourceTree = "<group>"; }; + A9015DFD19A9E8E900F7FC7D /* TrimmedArrayProcessor2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrimmedArrayProcessor2.h; sourceTree = "<group>"; }; + A9015DFE19A9E8E900F7FC7D /* ValueRecords.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ValueRecords.cpp; sourceTree = "<group>"; }; + A9015DFF19A9E8E900F7FC7D /* ValueRecords.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValueRecords.h; sourceTree = "<group>"; }; + A90169D419AA15D500F7FC7D /* icudt53l.dat */ = {isa = PBXFileReference; lastKnownFileType = file; name = icudt53l.dat; path = dependencies/icu/source/data/in/icudt53l.dat; sourceTree = "<group>"; }; + A90169D719AA16A600F7FC7D /* stubdata.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stubdata.c; path = stubdata/stubdata.c; sourceTree = "<group>"; }; A917AF2516B1BE38006367FC /* Tests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = "<group>"; }; A918B8E211C6697400024D84 /* SwordModuleTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordModuleTest.h; path = ../test/SwordModuleTest.h; sourceTree = "<group>"; }; A918B8E311C6697400024D84 /* SwordModuleTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordModuleTest.m; path = ../test/SwordModuleTest.m; sourceTree = "<group>"; }; @@ -758,8 +1876,6 @@ A954A83913EE98B30094E3FE /* rawcom4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawcom4.cpp; sourceTree = "<group>"; }; A954A83D13EE98B30094E3FE /* rawfiles.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawfiles.cpp; sourceTree = "<group>"; }; A954A83E13EE98B30094E3FE /* swcom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swcom.cpp; sourceTree = "<group>"; }; - A954A84013EE98B30094E3FE /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; }; - A954A84113EE98B30094E3FE /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = "<group>"; }; A954A84213EE98B30094E3FE /* zcom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zcom.cpp; sourceTree = "<group>"; }; A954A84513EE98B30094E3FE /* entriesblk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = entriesblk.cpp; sourceTree = "<group>"; }; A954A84613EE98B30094E3FE /* lzsscomprs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lzsscomprs.cpp; sourceTree = "<group>"; }; @@ -858,7 +1974,6 @@ A954A8CE13EE98B30094E3FE /* ztext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ztext.cpp; sourceTree = "<group>"; }; A954A8D013EE98B30094E3FE /* ftplib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftplib.c; sourceTree = "<group>"; }; A954A8D113EE98B30094E3FE /* ftpparse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftpparse.c; sourceTree = "<group>"; }; - A954A8D413EE98B30094E3FE /* regex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regex.c; sourceTree = "<group>"; }; A954A8D513EE98B30094E3FE /* roman.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = roman.cpp; sourceTree = "<group>"; }; A954A8D613EE98B30094E3FE /* swbuf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swbuf.cpp; sourceTree = "<group>"; }; A954A8D713EE98B30094E3FE /* swobject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swobject.cpp; sourceTree = "<group>"; }; @@ -866,17 +1981,6 @@ A954A8DA13EE98B30094E3FE /* url.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = url.cpp; sourceTree = "<group>"; }; A954A8DB13EE98B30094E3FE /* utilstr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utilstr.cpp; sourceTree = "<group>"; }; A954A8DC13EE98B30094E3FE /* utilxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utilxml.cpp; sourceTree = "<group>"; }; - A954A8E113EE98B30094E3FE /* adler32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = "<group>"; }; - A954A8E213EE98B30094E3FE /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = "<group>"; }; - A954A8E313EE98B30094E3FE /* crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = "<group>"; }; - A954A8E413EE98B30094E3FE /* deflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = "<group>"; }; - A954A8EB13EE98B30094E3FE /* inffast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = "<group>"; }; - A954A8EE13EE98B30094E3FE /* inflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = "<group>"; }; - A954A8EF13EE98B30094E3FE /* inftrees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = "<group>"; }; - A954A8F413EE98B30094E3FE /* trees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = "<group>"; }; - A954A8F613EE98B30094E3FE /* uncompr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = "<group>"; }; - A954A8F713EE98B30094E3FE /* untgz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = untgz.c; sourceTree = "<group>"; }; - A954A8F813EE98B30094E3FE /* zutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = "<group>"; }; A954A9E413EE9A2B0094E3FE /* AnalysisHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AnalysisHeader.cpp; sourceTree = "<group>"; }; A954A9E513EE9A2B0094E3FE /* AnalysisHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnalysisHeader.h; sourceTree = "<group>"; }; A954A9E613EE9A2B0094E3FE /* Analyzers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Analyzers.cpp; sourceTree = "<group>"; }; @@ -1110,22 +2214,16 @@ A954AAD313EE9A2B0094E3FE /* VoidList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VoidList.h; sourceTree = "<group>"; }; A954AAD413EE9A2B0094E3FE /* VoidMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VoidMap.h; sourceTree = "<group>"; }; A954AAD513EE9A2B0094E3FE /* CLucene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CLucene.h; sourceTree = "<group>"; }; - A954ABC313EE9AB00094E3FE /* libsword.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libsword.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; A954AC3213EE9F620094E3FE /* libcurl.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcurl.dylib; path = SDKs/MacOSX10.7.sdk/usr/lib/libcurl.dylib; sourceTree = DEVELOPER_DIR; }; A954AC3413EE9FA10094E3FE /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = SDKs/MacOSX10.7.sdk/usr/lib/libicucore.dylib; sourceTree = DEVELOPER_DIR; }; A954AC3513EE9FA10094E3FE /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "SDKs/MacOSX10.7.sdk/usr/lib/libstdc++.dylib"; sourceTree = DEVELOPER_DIR; }; A954AC3613EE9FA10094E3FE /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = SDKs/MacOSX10.7.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; }; - A964658011C663E200640FAC /* SwordManagerTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordManagerTest.h; path = ../test/SwordManagerTest.h; sourceTree = "<group>"; }; - A964658111C663E200640FAC /* SwordManagerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordManagerTest.m; path = ../test/SwordManagerTest.m; sourceTree = "<group>"; }; - A96C233E176AF139008D714B /* gzclose.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzclose.c; sourceTree = "<group>"; }; - A96C2340176AF139008D714B /* gzlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzlib.c; sourceTree = "<group>"; }; - A96C2341176AF139008D714B /* gzread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzread.c; sourceTree = "<group>"; }; - A96C2342176AF139008D714B /* gzwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzwrite.c; sourceTree = "<group>"; }; - A96C2343176AF139008D714B /* infback.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = infback.c; sourceTree = "<group>"; }; + A968BE4B19DFF831002C9B78 /* Tests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Bridging-Header.h"; sourceTree = "<group>"; }; + A968BE4C19DFF832002C9B78 /* SwordBibleTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwordBibleTest.swift; sourceTree = "<group>"; }; + A969DC7A1DA1289100C8E976 /* SwordLocaleManagerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwordLocaleManagerTest.swift; sourceTree = "<group>"; }; A96C2351176AF188008D714B /* remotetrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = remotetrans.cpp; sourceTree = "<group>"; }; A96C2353176AF19C008D714B /* osisenum.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisenum.cpp; sourceTree = "<group>"; }; A96C2354176AF19C008D714B /* osisglosses.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisglosses.cpp; sourceTree = "<group>"; }; - A96C2355176AF19C008D714B /* osisxlit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisxlit.cpp; sourceTree = "<group>"; }; A96C2355176AF19C008D714B /* osisreferencelinks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisreferencelinks.cpp; sourceTree = "<group>"; }; A975EAC411C77862007C1532 /* ObjCSword.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjCSword.h; sourceTree = "<group>"; }; A975ED9811C7925C007C1532 /* imp2gbs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imp2gbs.cpp; sourceTree = "<group>"; }; @@ -1145,24 +2243,240 @@ A975EDDA11C7925C007C1532 /* vs2osisreftxt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vs2osisreftxt.cpp; sourceTree = "<group>"; }; A975EDDB11C7925C007C1532 /* xml2gbs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = xml2gbs.cpp; sourceTree = "<group>"; }; A975EED911C792B9007C1532 /* mod2osis */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mod2osis; sourceTree = BUILT_PRODUCTS_DIR; }; + A982037319A09AE500DD808C /* zcom4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zcom4.cpp; sourceTree = "<group>"; }; + A982037719A09B5C00DD808C /* zverse4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zverse4.cpp; sourceTree = "<group>"; }; + A982037919A09B7800DD808C /* gbflatex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbflatex.cpp; sourceTree = "<group>"; }; + A982037A19A09B7800DD808C /* osislatex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osislatex.cpp; sourceTree = "<group>"; }; + A982037B19A09B7800DD808C /* osisxlit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisxlit.cpp; sourceTree = "<group>"; }; + A982037C19A09B7800DD808C /* teilatex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = teilatex.cpp; sourceTree = "<group>"; }; + A982037D19A09B7800DD808C /* thmllatex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmllatex.cpp; sourceTree = "<group>"; }; + A982038819A09BC000DD808C /* ztext4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ztext4.cpp; sourceTree = "<group>"; }; + A982039319A09FFD00DD808C /* libbz2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libbz2.dylib; path = usr/lib/libbz2.dylib; sourceTree = SDKROOT; }; + A982039519A0A01200DD808C /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = usr/lib/libicucore.dylib; sourceTree = SDKROOT; }; + A982039719A0A02300DD808C /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; }; + A982039919A0A02C00DD808C /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + A982039D19A0A5FA00DD808C /* scsuutf8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scsuutf8.cpp; sourceTree = "<group>"; }; + A982039E19A0A5FA00DD808C /* utf8scsu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8scsu.cpp; sourceTree = "<group>"; }; A9921A1911FD9CA8002DAA72 /* libSword.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSword.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + A995E6091C8763B800843E13 /* SwordManagerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwordManagerTest.swift; sourceTree = "<group>"; }; + A995E60B1C87678B00843E13 /* TestGlobals.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestGlobals.h; sourceTree = "<group>"; }; + A995E6231C876E8900843E13 /* TestModules */ = {isa = PBXFileReference; lastKnownFileType = folder; name = TestModules; path = TestResources/TestModules; sourceTree = "<group>"; }; + A995E6261C877DD000843E13 /* SwordManagerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SwordManagerTest.m; sourceTree = "<group>"; }; A999FF3917951C8900E65919 /* bz2comprs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bz2comprs.cpp; sourceTree = "<group>"; }; - A999FF3A17951C8900E65919 /* xzcomprs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = xzcomprs.cpp; sourceTree = "<group>"; }; - A999FF3D17951CA000E65919 /* scsuutf8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scsuutf8.cpp; sourceTree = "<group>"; }; + A9A1291C19DF144D005BCBC1 /* bz2comprs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bz2comprs.h; sourceTree = "<group>"; }; + A9A1291D19DF144D005BCBC1 /* canon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon.h; sourceTree = "<group>"; }; + A9A1291E19DF144D005BCBC1 /* canon_abbrevs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_abbrevs.h; sourceTree = "<group>"; }; + A9A1291F19DF144D005BCBC1 /* canon_catholic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_catholic.h; sourceTree = "<group>"; }; + A9A1292019DF144D005BCBC1 /* canon_catholic2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_catholic2.h; sourceTree = "<group>"; }; + A9A1292119DF144D005BCBC1 /* canon_german.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_german.h; sourceTree = "<group>"; }; + A9A1292219DF144D005BCBC1 /* canon_kjva.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_kjva.h; sourceTree = "<group>"; }; + A9A1292319DF144D005BCBC1 /* canon_leningrad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_leningrad.h; sourceTree = "<group>"; }; + A9A1292419DF144D005BCBC1 /* canon_luther.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_luther.h; sourceTree = "<group>"; }; + A9A1292519DF144D005BCBC1 /* canon_lxx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_lxx.h; sourceTree = "<group>"; }; + A9A1292619DF144D005BCBC1 /* canon_mt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_mt.h; sourceTree = "<group>"; }; + A9A1292719DF144D005BCBC1 /* canon_nrsv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_nrsv.h; sourceTree = "<group>"; }; + A9A1292819DF144D005BCBC1 /* canon_nrsva.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_nrsva.h; sourceTree = "<group>"; }; + A9A1292919DF144D005BCBC1 /* canon_null.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_null.h; sourceTree = "<group>"; }; + A9A1292A19DF144D005BCBC1 /* canon_orthodox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_orthodox.h; sourceTree = "<group>"; }; + A9A1292B19DF144D005BCBC1 /* canon_synodal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_synodal.h; sourceTree = "<group>"; }; + A9A1292C19DF144D005BCBC1 /* canon_synodalprot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_synodalprot.h; sourceTree = "<group>"; }; + A9A1292D19DF144D005BCBC1 /* canon_vulg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_vulg.h; sourceTree = "<group>"; }; + A9A1292E19DF144D005BCBC1 /* cipherfil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cipherfil.h; sourceTree = "<group>"; }; + A9A1293019DF144D005BCBC1 /* curlftpt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curlftpt.h; sourceTree = "<group>"; }; + A9A1293119DF144D005BCBC1 /* curlhttpt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curlhttpt.h; sourceTree = "<group>"; }; + A9A1293219DF144D005BCBC1 /* defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = defs.h; sourceTree = "<group>"; }; + A9A1293319DF144D005BCBC1 /* echomod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echomod.h; sourceTree = "<group>"; }; + A9A1293419DF144D005BCBC1 /* encfiltmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encfiltmgr.h; sourceTree = "<group>"; }; + A9A1293519DF144D005BCBC1 /* entriesblk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = entriesblk.h; sourceTree = "<group>"; }; + A9A1293619DF144D005BCBC1 /* femain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = femain.h; sourceTree = "<group>"; }; + A9A1293719DF144D005BCBC1 /* filemgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filemgr.h; sourceTree = "<group>"; }; + A9A1293819DF144D005BCBC1 /* flatapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flatapi.h; sourceTree = "<group>"; }; + A9A1293919DF144D005BCBC1 /* ftplib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftplib.h; sourceTree = "<group>"; }; + A9A1293A19DF144D005BCBC1 /* ftplibftpt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftplibftpt.h; sourceTree = "<group>"; }; + A9A1293B19DF144D005BCBC1 /* ftpparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftpparse.h; sourceTree = "<group>"; }; + A9A1293C19DF144D005BCBC1 /* gbffootnotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbffootnotes.h; sourceTree = "<group>"; }; + A9A1293D19DF144D005BCBC1 /* gbfheadings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfheadings.h; sourceTree = "<group>"; }; + A9A1293E19DF144D005BCBC1 /* gbfhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfhtml.h; sourceTree = "<group>"; }; + A9A1293F19DF144D005BCBC1 /* gbfhtmlhref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfhtmlhref.h; sourceTree = "<group>"; }; + A9A1294019DF144D005BCBC1 /* gbflatex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbflatex.h; sourceTree = "<group>"; }; + A9A1294119DF144D005BCBC1 /* gbfmorph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfmorph.h; sourceTree = "<group>"; }; + A9A1294219DF144D005BCBC1 /* gbfosis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfosis.h; sourceTree = "<group>"; }; + A9A1294319DF144D005BCBC1 /* gbfplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfplain.h; sourceTree = "<group>"; }; + A9A1294419DF144D005BCBC1 /* gbfredletterwords.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfredletterwords.h; sourceTree = "<group>"; }; + A9A1294519DF144D005BCBC1 /* gbfrtf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfrtf.h; sourceTree = "<group>"; }; + A9A1294619DF144D005BCBC1 /* gbfstrongs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfstrongs.h; sourceTree = "<group>"; }; + A9A1294719DF144D005BCBC1 /* gbfthml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfthml.h; sourceTree = "<group>"; }; + A9A1294819DF144D005BCBC1 /* gbfwebif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfwebif.h; sourceTree = "<group>"; }; + A9A1294919DF144D005BCBC1 /* gbfwordjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfwordjs.h; sourceTree = "<group>"; }; + A9A1294A19DF144D005BCBC1 /* gbfxhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfxhtml.h; sourceTree = "<group>"; }; + A9A1294B19DF144D005BCBC1 /* greeklexattribs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = greeklexattribs.h; sourceTree = "<group>"; }; + A9A1294C19DF144D005BCBC1 /* hebrewmcim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hebrewmcim.h; sourceTree = "<group>"; }; + A9A1294D19DF144D005BCBC1 /* hrefcom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hrefcom.h; sourceTree = "<group>"; }; + A9A1294E19DF144D005BCBC1 /* installmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = installmgr.h; sourceTree = "<group>"; }; + A9A1295119DF144D005BCBC1 /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regex.h; sourceTree = "<group>"; }; + A9A1295219DF144D005BCBC1 /* latin1utf16.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latin1utf16.h; sourceTree = "<group>"; }; + A9A1295319DF144D005BCBC1 /* latin1utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latin1utf8.h; sourceTree = "<group>"; }; + A9A1295419DF144D005BCBC1 /* listkey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = listkey.h; sourceTree = "<group>"; }; + A9A1295519DF144D005BCBC1 /* localemgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = localemgr.h; sourceTree = "<group>"; }; + A9A1295619DF144D005BCBC1 /* lzsscomprs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lzsscomprs.h; sourceTree = "<group>"; }; + A9A1295919DF144D005BCBC1 /* markupfiltmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markupfiltmgr.h; sourceTree = "<group>"; }; + A9A1295A19DF144D005BCBC1 /* multimapwdef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = multimapwdef.h; sourceTree = "<group>"; }; + A9A1295B19DF144D005BCBC1 /* nullim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nullim.h; sourceTree = "<group>"; }; + A9A1295C19DF144D005BCBC1 /* osisenum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisenum.h; sourceTree = "<group>"; }; + A9A1295D19DF144D005BCBC1 /* osisfootnotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisfootnotes.h; sourceTree = "<group>"; }; + A9A1295E19DF144D005BCBC1 /* osisglosses.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisglosses.h; sourceTree = "<group>"; }; + A9A1295F19DF144D005BCBC1 /* osisheadings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisheadings.h; sourceTree = "<group>"; }; + A9A1296019DF144D005BCBC1 /* osishtmlhref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osishtmlhref.h; sourceTree = "<group>"; }; + A9A1296119DF144D005BCBC1 /* osislatex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osislatex.h; sourceTree = "<group>"; }; + A9A1296219DF144D005BCBC1 /* osislemma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osislemma.h; sourceTree = "<group>"; }; + A9A1296319DF144D005BCBC1 /* osismorph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osismorph.h; sourceTree = "<group>"; }; + A9A1296419DF144D005BCBC1 /* osismorphsegmentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osismorphsegmentation.h; sourceTree = "<group>"; }; + A9A1296519DF144D005BCBC1 /* osisosis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisosis.h; sourceTree = "<group>"; }; + A9A1296619DF144D005BCBC1 /* osisplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisplain.h; sourceTree = "<group>"; }; + A9A1296719DF144D005BCBC1 /* osisredletterwords.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisredletterwords.h; sourceTree = "<group>"; }; + A9A1296819DF144D005BCBC1 /* osisreferencelinks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisreferencelinks.h; sourceTree = "<group>"; }; + A9A1296919DF144D005BCBC1 /* osisrtf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisrtf.h; sourceTree = "<group>"; }; + A9A1296A19DF144D005BCBC1 /* osisscripref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisscripref.h; sourceTree = "<group>"; }; + A9A1296B19DF144D005BCBC1 /* osisstrongs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisstrongs.h; sourceTree = "<group>"; }; + A9A1296C19DF144D005BCBC1 /* osisvariants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisvariants.h; sourceTree = "<group>"; }; + A9A1296D19DF144D005BCBC1 /* osiswebif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osiswebif.h; sourceTree = "<group>"; }; + A9A1296E19DF144D005BCBC1 /* osiswordjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osiswordjs.h; sourceTree = "<group>"; }; + A9A1296F19DF144D005BCBC1 /* osisxhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisxhtml.h; sourceTree = "<group>"; }; + A9A1297019DF144D005BCBC1 /* osisxlit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisxlit.h; sourceTree = "<group>"; }; + A9A1297119DF144D005BCBC1 /* papyriplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = papyriplain.h; sourceTree = "<group>"; }; + A9A1297219DF144D005BCBC1 /* rawcom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawcom.h; sourceTree = "<group>"; }; + A9A1297319DF144D005BCBC1 /* rawcom4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawcom4.h; sourceTree = "<group>"; }; + A9A1297419DF144D005BCBC1 /* rawfiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawfiles.h; sourceTree = "<group>"; }; + A9A1297519DF144D005BCBC1 /* rawgenbook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawgenbook.h; sourceTree = "<group>"; }; + A9A1297619DF144D005BCBC1 /* rawld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawld.h; sourceTree = "<group>"; }; + A9A1297719DF144D005BCBC1 /* rawld4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawld4.h; sourceTree = "<group>"; }; + A9A1297819DF144D005BCBC1 /* rawstr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawstr.h; sourceTree = "<group>"; }; + A9A1297919DF144D005BCBC1 /* rawstr4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawstr4.h; sourceTree = "<group>"; }; + A9A1297A19DF144D005BCBC1 /* rawtext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawtext.h; sourceTree = "<group>"; }; + A9A1297B19DF144D005BCBC1 /* rawtext4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawtext4.h; sourceTree = "<group>"; }; + A9A1297C19DF144D005BCBC1 /* rawverse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawverse.h; sourceTree = "<group>"; }; + A9A1297D19DF144D005BCBC1 /* rawverse4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawverse4.h; sourceTree = "<group>"; }; + A9A1297E19DF144D005BCBC1 /* remotetrans.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = remotetrans.h; sourceTree = "<group>"; }; + A9A1297F19DF144D005BCBC1 /* roman.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = roman.h; sourceTree = "<group>"; }; + A9A1298019DF144D005BCBC1 /* rtfhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtfhtml.h; sourceTree = "<group>"; }; + A9A1298119DF144D005BCBC1 /* sapphire.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sapphire.h; sourceTree = "<group>"; }; + A9A1298219DF144D005BCBC1 /* scsuutf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scsuutf8.h; sourceTree = "<group>"; }; + A9A1298419DF144D005BCBC1 /* stringmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringmgr.h; sourceTree = "<group>"; }; + A9A1298519DF144D005BCBC1 /* strkey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strkey.h; sourceTree = "<group>"; }; + A9A1298619DF144D005BCBC1 /* swbasicfilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swbasicfilter.h; sourceTree = "<group>"; }; + A9A1298719DF144D005BCBC1 /* swbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swbuf.h; sourceTree = "<group>"; }; + A9A1298819DF144D005BCBC1 /* swcacher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swcacher.h; sourceTree = "<group>"; }; + A9A1298919DF144D005BCBC1 /* swcipher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swcipher.h; sourceTree = "<group>"; }; + A9A1298A19DF144D005BCBC1 /* swcom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swcom.h; sourceTree = "<group>"; }; + A9A1298B19DF144D005BCBC1 /* swcomprs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swcomprs.h; sourceTree = "<group>"; }; + A9A1298C19DF144D005BCBC1 /* swconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swconfig.h; sourceTree = "<group>"; }; + A9A1298D19DF144D005BCBC1 /* swdisp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swdisp.h; sourceTree = "<group>"; }; + A9A1298E19DF144D005BCBC1 /* swfilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swfilter.h; sourceTree = "<group>"; }; + A9A1298F19DF144D005BCBC1 /* swfiltermgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swfiltermgr.h; sourceTree = "<group>"; }; + A9A1299019DF144D005BCBC1 /* swgenbook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swgenbook.h; sourceTree = "<group>"; }; + A9A1299119DF144D005BCBC1 /* swinputmeth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swinputmeth.h; sourceTree = "<group>"; }; + A9A1299219DF144D005BCBC1 /* swkey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swkey.h; sourceTree = "<group>"; }; + A9A1299319DF144D005BCBC1 /* swld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swld.h; sourceTree = "<group>"; }; + A9A1299419DF144D005BCBC1 /* swlocale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swlocale.h; sourceTree = "<group>"; }; + A9A1299519DF144D005BCBC1 /* swlog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swlog.h; sourceTree = "<group>"; }; + A9A1299619DF144D005BCBC1 /* swmacs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swmacs.h; sourceTree = "<group>"; }; + A9A1299719DF144D005BCBC1 /* swmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swmgr.h; sourceTree = "<group>"; }; + A9A1299819DF144D005BCBC1 /* swmodule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swmodule.h; sourceTree = "<group>"; }; + A9A1299919DF144D005BCBC1 /* swobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swobject.h; sourceTree = "<group>"; }; + A9A1299A19DF144D005BCBC1 /* swoptfilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swoptfilter.h; sourceTree = "<group>"; }; + A9A1299C19DF144D005BCBC1 /* swsearchable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swsearchable.h; sourceTree = "<group>"; }; + A9A1299D19DF144D005BCBC1 /* swtext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swtext.h; sourceTree = "<group>"; }; + A9A1299E19DF144D005BCBC1 /* swversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swversion.h; sourceTree = "<group>"; }; + A9A129A019DF144D005BCBC1 /* sysdata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sysdata.h; sourceTree = "<group>"; }; + A9A129A119DF144D005BCBC1 /* teihtmlhref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teihtmlhref.h; sourceTree = "<group>"; }; + A9A129A219DF144D005BCBC1 /* teilatex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teilatex.h; sourceTree = "<group>"; }; + A9A129A319DF144D005BCBC1 /* teiplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teiplain.h; sourceTree = "<group>"; }; + A9A129A419DF144D005BCBC1 /* teirtf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teirtf.h; sourceTree = "<group>"; }; + A9A129A519DF144D005BCBC1 /* teixhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teixhtml.h; sourceTree = "<group>"; }; + A9A129A619DF144D005BCBC1 /* thmlfootnotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlfootnotes.h; sourceTree = "<group>"; }; + A9A129A719DF144D005BCBC1 /* thmlgbf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlgbf.h; sourceTree = "<group>"; }; + A9A129A819DF144D005BCBC1 /* thmlheadings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlheadings.h; sourceTree = "<group>"; }; + A9A129A919DF144D005BCBC1 /* thmlhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlhtml.h; sourceTree = "<group>"; }; + A9A129AA19DF144D005BCBC1 /* thmlhtmlhref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlhtmlhref.h; sourceTree = "<group>"; }; + A9A129AB19DF144D005BCBC1 /* thmllatex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmllatex.h; sourceTree = "<group>"; }; + A9A129AC19DF144D005BCBC1 /* thmllemma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmllemma.h; sourceTree = "<group>"; }; + A9A129AD19DF144D005BCBC1 /* thmlmorph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlmorph.h; sourceTree = "<group>"; }; + A9A129AE19DF144D005BCBC1 /* thmlosis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlosis.h; sourceTree = "<group>"; }; + A9A129AF19DF144D005BCBC1 /* thmlplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlplain.h; sourceTree = "<group>"; }; + A9A129B019DF144D005BCBC1 /* thmlrtf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlrtf.h; sourceTree = "<group>"; }; + A9A129B119DF144D005BCBC1 /* thmlscripref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlscripref.h; sourceTree = "<group>"; }; + A9A129B219DF144D005BCBC1 /* thmlstrongs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlstrongs.h; sourceTree = "<group>"; }; + A9A129B319DF144D005BCBC1 /* thmlvariants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlvariants.h; sourceTree = "<group>"; }; + A9A129B419DF144D005BCBC1 /* thmlwebif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlwebif.h; sourceTree = "<group>"; }; + A9A129B519DF144D005BCBC1 /* thmlwordjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlwordjs.h; sourceTree = "<group>"; }; + A9A129B619DF144D005BCBC1 /* thmlxhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlxhtml.h; sourceTree = "<group>"; }; + A9A129B719DF144D005BCBC1 /* treekey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = treekey.h; sourceTree = "<group>"; }; + A9A129B819DF144D005BCBC1 /* treekeyidx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = treekeyidx.h; sourceTree = "<group>"; }; + A9A129B919DF144D005BCBC1 /* unicodertf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unicodertf.h; sourceTree = "<group>"; }; + A9A129BA19DF144D005BCBC1 /* untgz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = untgz.h; sourceTree = "<group>"; }; + A9A129BB19DF144D005BCBC1 /* url.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = url.h; sourceTree = "<group>"; }; + A9A129BC19DF144D005BCBC1 /* utf16utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf16utf8.h; sourceTree = "<group>"; }; + A9A129BD19DF144D005BCBC1 /* utf8arabicpoints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8arabicpoints.h; sourceTree = "<group>"; }; + A9A129BE19DF144D005BCBC1 /* utf8arshaping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8arshaping.h; sourceTree = "<group>"; }; + A9A129BF19DF144D005BCBC1 /* utf8bidireorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8bidireorder.h; sourceTree = "<group>"; }; + A9A129C019DF144D005BCBC1 /* utf8cantillation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8cantillation.h; sourceTree = "<group>"; }; + A9A129C119DF144D005BCBC1 /* utf8greekaccents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8greekaccents.h; sourceTree = "<group>"; }; + A9A129C219DF144D005BCBC1 /* utf8hebrewpoints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8hebrewpoints.h; sourceTree = "<group>"; }; + A9A129C319DF144D005BCBC1 /* utf8html.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8html.h; sourceTree = "<group>"; }; + A9A129C419DF144D005BCBC1 /* utf8latin1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8latin1.h; sourceTree = "<group>"; }; + A9A129C519DF144D005BCBC1 /* utf8nfc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8nfc.h; sourceTree = "<group>"; }; + A9A129C619DF144D005BCBC1 /* utf8nfkd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8nfkd.h; sourceTree = "<group>"; }; + A9A129C719DF144D005BCBC1 /* utf8scsu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8scsu.h; sourceTree = "<group>"; }; + A9A129C819DF144D005BCBC1 /* utf8transliterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8transliterator.h; sourceTree = "<group>"; }; + A9A129C919DF144D005BCBC1 /* utf8utf16.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8utf16.h; sourceTree = "<group>"; }; + A9A129CA19DF144D005BCBC1 /* utilstr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utilstr.h; sourceTree = "<group>"; }; + A9A129CB19DF144D005BCBC1 /* utilxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utilxml.h; sourceTree = "<group>"; }; + A9A129CC19DF144D005BCBC1 /* versekey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = versekey.h; sourceTree = "<group>"; }; + A9A129CD19DF144D005BCBC1 /* versetreekey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = versetreekey.h; sourceTree = "<group>"; }; + A9A129CE19DF144D005BCBC1 /* versificationmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = versificationmgr.h; sourceTree = "<group>"; }; + A9A129CF19DF144D005BCBC1 /* xzcomprs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xzcomprs.h; sourceTree = "<group>"; }; + A9A129D019DF144D005BCBC1 /* zcom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zcom.h; sourceTree = "<group>"; }; + A9A129D119DF144D005BCBC1 /* zcom4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zcom4.h; sourceTree = "<group>"; }; + A9A129D219DF144D005BCBC1 /* zconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = "<group>"; }; + A9A129D319DF144D005BCBC1 /* zipcomprs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zipcomprs.h; sourceTree = "<group>"; }; + A9A129D419DF144D005BCBC1 /* zld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zld.h; sourceTree = "<group>"; }; + A9A129D519DF144D005BCBC1 /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = "<group>"; }; + A9A129D619DF144D005BCBC1 /* zstr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zstr.h; sourceTree = "<group>"; }; + A9A129D719DF144D005BCBC1 /* ztext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ztext.h; sourceTree = "<group>"; }; + A9A129D819DF144D005BCBC1 /* ztext4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ztext4.h; sourceTree = "<group>"; }; + A9A129D919DF144D005BCBC1 /* zverse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zverse.h; sourceTree = "<group>"; }; + A9A129DA19DF144D005BCBC1 /* zverse4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zverse4.h; sourceTree = "<group>"; }; A9A2C17C118D9D3D0002873D /* Notifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Notifications.h; path = src/Notifications.h; sourceTree = "<group>"; }; A9A7EEB414D5D61700B76B6A /* osis2mod */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = osis2mod; sourceTree = BUILT_PRODUCTS_DIR; }; - A9BDFA6B1207F9870067ED5B /* Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; + A9A94A351DCB21AB00F69260 /* canon_calvin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_calvin.h; sourceTree = "<group>"; }; + A9A94A361DCB21AB00F69260 /* canon_darbyfr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_darbyfr.h; sourceTree = "<group>"; }; + A9A94A371DCB21AB00F69260 /* canon_segond.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_segond.h; sourceTree = "<group>"; }; + A9B77D4319A3BB3B00F34557 /* liblzma.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = liblzma.dylib; path = usr/lib/liblzma.dylib; sourceTree = SDKROOT; }; + A9BB67401C6BCD9600EB1A49 /* adler32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = "<group>"; }; + A9BB67411C6BCD9600EB1A49 /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = "<group>"; }; + A9BB67421C6BCD9600EB1A49 /* crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = "<group>"; }; + A9BB67441C6BCD9600EB1A49 /* deflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = "<group>"; }; + A9BB67461C6BCD9600EB1A49 /* gzclose.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzclose.c; sourceTree = "<group>"; }; + A9BB67481C6BCD9600EB1A49 /* gzlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzlib.c; sourceTree = "<group>"; }; + A9BB67491C6BCD9600EB1A49 /* gzread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzread.c; sourceTree = "<group>"; }; + A9BB674A1C6BCD9600EB1A49 /* gzwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzwrite.c; sourceTree = "<group>"; }; + A9BB674B1C6BCD9600EB1A49 /* infback.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = infback.c; sourceTree = "<group>"; }; + A9BB674C1C6BCD9600EB1A49 /* inffast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = "<group>"; }; + A9BB674F1C6BCD9600EB1A49 /* inflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = "<group>"; }; + A9BB67511C6BCD9600EB1A49 /* inftrees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = "<group>"; }; + A9BB67531C6BCD9600EB1A49 /* trees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = "<group>"; }; + A9BB67551C6BCD9600EB1A49 /* uncompr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = "<group>"; }; + A9BB67561C6BCD9600EB1A49 /* untgz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = untgz.c; sourceTree = "<group>"; }; + A9BB67591C6BCD9600EB1A49 /* zutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = "<group>"; }; A9BDFA761207F9F00067ED5B /* SwordListKeyTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordListKeyTest.h; path = ../test/SwordListKeyTest.h; sourceTree = "<group>"; }; A9BDFA771207F9F00067ED5B /* SwordListKeyTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordListKeyTest.m; path = ../test/SwordListKeyTest.m; sourceTree = "<group>"; }; A9BDFA7A1207FA2F0067ED5B /* SwordModuleLongRunTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordModuleLongRunTest.h; path = ../test/SwordModuleLongRunTest.h; sourceTree = "<group>"; }; A9BDFA7B1207FA2F0067ED5B /* SwordModuleLongRunTest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordModuleLongRunTest.mm; path = ../test/SwordModuleLongRunTest.mm; sourceTree = "<group>"; }; - A9BFB0A213EDF51000032679 /* Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; - A9BFB0A413EDF51000032679 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; + A9BFB0A213EDF51000032679 /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; A9BFB0A613EDF51100032679 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; A9BFB0A913EDF51100032679 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; A9BFB0AA13EDF51100032679 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; A9BFB0AB13EDF51100032679 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - A9C2818D11C43BD400803CB5 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; A9C2856D11C446B700803CB5 /* Configuration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Configuration.h; path = src/services/Configuration.h; sourceTree = "<group>"; }; A9C2857111C4471400803CB5 /* OSXConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OSXConfiguration.h; path = src/services/OSXConfiguration.h; sourceTree = "<group>"; }; A9C2857211C4471400803CB5 /* OSXConfiguration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OSXConfiguration.m; path = src/services/OSXConfiguration.m; sourceTree = "<group>"; }; @@ -1184,55 +2498,58 @@ A9D4360311C4FE97007AFE83 /* SwordModule+Index.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "SwordModule+Index.h"; path = "src/SwordModule+Index.h"; sourceTree = "<group>"; }; A9D4360411C4FE97007AFE83 /* SwordModule+Index.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "SwordModule+Index.mm"; path = "src/SwordModule+Index.mm"; sourceTree = "<group>"; }; A9D437CE11C52947007AFE83 /* locales.d */ = {isa = PBXFileReference; lastKnownFileType = folder; name = locales.d; path = ../../locales.d; sourceTree = SOURCE_ROOT; }; + A9D8FD2C19E2EC0E0055700C /* introtest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = introtest.cpp; path = ../../tests/introtest.cpp; sourceTree = "<group>"; }; + A9D8FD3719E2EC5B0055700C /* introtest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = introtest; sourceTree = BUILT_PRODUCTS_DIR; }; A9E9C5ED16806A2B00ECEB39 /* teixhtml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = teixhtml.cpp; sourceTree = "<group>"; }; + A9EE8A8B19E286E500CFFE6A /* LongRunningTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LongRunningTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + A9EE8A8E19E286E500CFFE6A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; A9EF1414120595650078A27C /* SwordLocaleManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordLocaleManager.h; path = src/SwordLocaleManager.h; sourceTree = "<group>"; }; A9EF1415120595650078A27C /* SwordLocaleManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordLocaleManager.mm; path = src/SwordLocaleManager.mm; sourceTree = "<group>"; }; D2F7E79907B2D74100F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 8DC2EF560486A6940098B216 /* Frameworks */ = { + 0A011D9A1FB4142500778C2B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A954ACDD13EEA6780094E3FE /* libsword.dylib in Frameworks */, - 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A954ABC013EE9AB00094E3FE /* Frameworks */ = { + 0A011DA31FB4142500778C2B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A954AC3713EE9FA10094E3FE /* libicucore.dylib in Frameworks */, - A954AC3813EE9FA10094E3FE /* libstdc++.dylib in Frameworks */, - A954AC3913EE9FA10094E3FE /* libz.dylib in Frameworks */, - A954AC3313EE9F620094E3FE /* libcurl.dylib in Frameworks */, + 0A011DA71FB4142500778C2B /* sword.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A975EED711C792B9007C1532 /* Frameworks */ = { + 0A1F169D1FBB755B00E0AEFA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9A7EEAF14D5D4C300B76B6A /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A9A7EEB114D5D61700B76B6A /* Frameworks */ = { + 8DC2EF560486A6940098B216 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A975EED711C792B9007C1532 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9A7EEBF14D5D65900B76B6A /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A9BDFA611207F9870067ED5B /* Frameworks */ = { + A9A7EEB114D5D61700B76B6A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9BDFA621207F9870067ED5B /* SenTestingKit.framework in Frameworks */, - A9BDFA631207F9870067ED5B /* ObjCSword.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1240,8 +2557,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9BFB0BF13EDF5D500032679 /* ObjCSword.framework in Frameworks */, - A9BFB0A513EDF51100032679 /* SenTestingKit.framework in Frameworks */, + A9BFB0BF13EDF5D500032679 /* SWORD.framework in Frameworks */, A9BFB0A713EDF51100032679 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1250,7 +2566,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D2714A14D717D800DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1258,7 +2573,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D2715714D717FD00DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1266,7 +2580,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D2716414D7181200DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1274,7 +2587,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D2717114D7182300DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1282,7 +2594,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D2717E14D7183B00DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1290,7 +2601,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D2718B14D7185800DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1298,7 +2608,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D2719814D7186A00DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1306,7 +2615,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D271A514D7187E00DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1314,7 +2622,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D271B214D7189300DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1322,7 +2629,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D271BF14D718A400DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1330,7 +2636,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D271CC14D718B800DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1338,7 +2643,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D271D914D718C800DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1346,7 +2650,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D271E614D718DF00DA8926 /* libsword.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1354,7 +2657,21 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9D271F314D718F500DA8926 /* libsword.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A9D8FD3219E2EC5B0055700C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A9EE8A8819E286E500CFFE6A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A9EE8A9119E286E500CFFE6A /* SWORD.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1364,12 +2681,10 @@ 034768DFFF38A50411DB9C8B /* Products */ = { isa = PBXGroup; children = ( - 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */, + 8DC2EF5B0486A6940098B216 /* SWORD.framework */, A975EED911C792B9007C1532 /* mod2osis */, A9921A1911FD9CA8002DAA72 /* libSword.dylib */, - A9BDFA6B1207F9870067ED5B /* Tests.octest */, - A9BFB0A213EDF51000032679 /* Tests.octest */, - A954ABC313EE9AB00094E3FE /* libsword.dylib */, + A9BFB0A213EDF51000032679 /* Tests.xctest */, A9A7EEB414D5D61700B76B6A /* osis2mod */, A9D2714E14D717D800DA8926 /* imp2gbs */, A9D2715B14D717FD00DA8926 /* imp2ld */, @@ -1385,6 +2700,11 @@ A9D271DD14D718C800DA8926 /* vs2osisref */, A9D271EA14D718DF00DA8926 /* vs2osisreftxt */, A9D271F714D718F500DA8926 /* xml2gbs */, + A9EE8A8B19E286E500CFFE6A /* LongRunningTests.xctest */, + A9D8FD3719E2EC5B0055700C /* introtest */, + 0A011D9E1FB4142500778C2B /* sword.framework */, + 0A011DA61FB4142500778C2B /* SWORDTests.xctest */, + 0A1F16A01FBB755B00E0AEFA /* libSWORD.a */, ); name = Products; sourceTree = "<group>"; @@ -1394,12 +2714,18 @@ children = ( A954A7EB13EE96FC0094E3FE /* Sword */, A975ECD211C7925B007C1532 /* Utilities */, + A9D8FD2B19E2EBD80055700C /* Samples */, A94EAE72117B32AF0018B06F /* Services */, 08FB77AEFE84172EC02AAC07 /* SwordWrapper */, 32C88DFF0371C24200C91783 /* Other Sources */, 089C1665FE841158C02AAC07 /* Resources */, 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, + A995E6251C876E9700843E13 /* TestResources */, A9BFB0AC13EDF51100032679 /* Tests */, + A9EE8A8C19E286E500CFFE6A /* LongRunningTests */, + 0A011D9F1FB4142500778C2B /* sword */, + 0A011DAA1FB4142500778C2B /* SWORDTests */, + 0A1F16A11FBB755B00E0AEFA /* SWORD */, A9BFB0A313EDF51000032679 /* Frameworks */, 034768DFFF38A50411DB9C8B /* Products */, ); @@ -1428,12 +2754,12 @@ 08FB77AEFE84172EC02AAC07 /* SwordWrapper */ = { isa = PBXGroup; children = ( - A929619616B1BA240094E5BE /* SwordBibleTextEntry.m */, A929619716B1BA240094E5BE /* SwordKey.h */, A929619816B1BA240094E5BE /* SwordKey.mm */, A929619916B1BA240094E5BE /* SwordListKey.h */, A929619A16B1BA240094E5BE /* SwordListKey.mm */, A929619B16B1BA240094E5BE /* SwordVerseKey.h */, + A94EAC06117B28920018B06F /* SwordVerseKey.mm */, A9EF1414120595650078A27C /* SwordLocaleManager.h */, A9EF1415120595650078A27C /* SwordLocaleManager.mm */, A94EABF9117B28920018B06F /* SwordManager.h */, @@ -1452,17 +2778,14 @@ A94EABF0117B28920018B06F /* SwordDictionary.mm */, A94EABE5117B28920018B06F /* SwordBibleBook.h */, A94EABE6117B28920018B06F /* SwordBibleBook.mm */, - A94EABE7117B28920018B06F /* SwordBibleChapter.h */, - A94EABE8117B28920018B06F /* SwordBibleChapter.m */, A94EABFF117B28920018B06F /* SwordModuleTextEntry.h */, A94EAC00117B28920018B06F /* SwordModuleTextEntry.m */, A94EAC01117B28920018B06F /* SwordModuleTreeEntry.h */, A94EAC02117B28920018B06F /* SwordModuleTreeEntry.m */, - A94EABE9117B28920018B06F /* SwordBibleTextEntry.h */, A94EABE7117B28920018B06F /* SwordBibleChapter.h */, A94EABE8117B28920018B06F /* SwordBibleChapter.m */, A94EABE9117B28920018B06F /* SwordBibleTextEntry.h */, - A94EAC06117B28920018B06F /* SwordVerseKey.mm */, + A929619616B1BA240094E5BE /* SwordBibleTextEntry.m */, A94EAC09117B28920018B06F /* VerseEnumerator.h */, A94EAC0A117B28920018B06F /* VerseEnumerator.mm */, A94EABF1117B28920018B06F /* SwordInstallSource.h */, @@ -1471,18 +2794,46 @@ A94EABF4117B28920018B06F /* SwordInstallSourceManager.mm */, A9D4360311C4FE97007AFE83 /* SwordModule+Index.h */, A9D4360411C4FE97007AFE83 /* SwordModule+Index.mm */, - 8C92C291C40A77060C12A21B /* SwordUtil.m */, 8C92C7B2EB245D47FEB5E3B0 /* SwordUtil.h */, - 8C92C25F57CB01957B086256 /* FilterProviderFactory.mm */, + 8C92C291C40A77060C12A21B /* SwordUtil.m */, 8C92C72ADACB017A434CD268 /* FilterProviderFactory.h */, - 8C92C0124F354F4CB4F294F9 /* DefaultFilterProvider.mm */, + 8C92C25F57CB01957B086256 /* FilterProviderFactory.mm */, 8C92C980D4DE32C7AB93159D /* DefaultFilterProvider.h */, - 8C92CC111DC521DE0C054C60 /* SwordFilter.mm */, + 8C92C0124F354F4CB4F294F9 /* DefaultFilterProvider.mm */, 8C92C02A5C86E1C75ED1CEF4 /* SwordFilter.h */, + 8C92CC111DC521DE0C054C60 /* SwordFilter.mm */, ); name = SwordWrapper; sourceTree = "<group>"; }; + 0A011D9F1FB4142500778C2B /* sword */ = { + isa = PBXGroup; + children = ( + 0AA1DD351FB46FD00082E131 /* sword.h */, + 0AA1DD341FB46FD00082E131 /* sword.m */, + 0A011DA11FB4142500778C2B /* Info.plist */, + ); + path = sword; + sourceTree = "<group>"; + }; + 0A011DAA1FB4142500778C2B /* SWORDTests */ = { + isa = PBXGroup; + children = ( + 0A011DAB1FB4142500778C2B /* SWORDTests.m */, + 0A011DAD1FB4142500778C2B /* Info.plist */, + ); + path = SWORDTests; + sourceTree = "<group>"; + }; + 0A1F16A11FBB755B00E0AEFA /* SWORD */ = { + isa = PBXGroup; + children = ( + 0A1F16A21FBB755B00E0AEFA /* SWORD.h */, + 0A1F16A31FBB755B00E0AEFA /* SWORD.m */, + ); + path = SWORD; + sourceTree = "<group>"; + }; 1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( @@ -1501,7 +2852,6 @@ 0867D6A5FE840307C02AAC07 /* AppKit.framework */, D2F7E79907B2D74100F64583 /* CoreData.framework */, 0867D69BFE84028FC02AAC07 /* Foundation.framework */, - A9C2818D11C43BD400803CB5 /* SenTestingKit.framework */, ); name = "Other Frameworks"; sourceTree = "<group>"; @@ -1516,6 +2866,846 @@ name = "Other Sources"; sourceTree = "<group>"; }; + A90152A219A9E8E100F7FC7D /* icu */ = { + isa = PBXGroup; + children = ( + A90152B719A9E8E100F7FC7D /* source */, + ); + name = icu; + path = dependencies/icu; + sourceTree = "<group>"; + }; + A90152B719A9E8E100F7FC7D /* source */ = { + isa = PBXGroup; + children = ( + A90152BD19A9E8E100F7FC7D /* common */, + A9015B9319A9E8E700F7FC7D /* i18n */, + A9015D2319A9E8E800F7FC7D /* io */, + A9015D3E19A9E8E800F7FC7D /* layout */, + A90169D619AA169300F7FC7D /* stubdata */, + ); + path = source; + sourceTree = "<group>"; + }; + A90152BD19A9E8E100F7FC7D /* common */ = { + isa = PBXGroup; + children = ( + A90152BE19A9E8E100F7FC7D /* appendable.cpp */, + A90152BF19A9E8E100F7FC7D /* bmpset.cpp */, + A90152C019A9E8E100F7FC7D /* bmpset.h */, + A90152C119A9E8E100F7FC7D /* brkeng.cpp */, + A90152C219A9E8E100F7FC7D /* brkeng.h */, + A90152C319A9E8E100F7FC7D /* brkiter.cpp */, + A90152C419A9E8E100F7FC7D /* bytestream.cpp */, + A90152C519A9E8E100F7FC7D /* bytestrie.cpp */, + A90152C619A9E8E100F7FC7D /* bytestriebuilder.cpp */, + A90152C719A9E8E100F7FC7D /* bytestrieiterator.cpp */, + A90152C819A9E8E100F7FC7D /* caniter.cpp */, + A90152C919A9E8E100F7FC7D /* chariter.cpp */, + A90152CA19A9E8E100F7FC7D /* charstr.cpp */, + A90152CB19A9E8E100F7FC7D /* charstr.h */, + A90152CC19A9E8E100F7FC7D /* cmemory.c */, + A90152CD19A9E8E100F7FC7D /* cmemory.h */, + A90152CE19A9E8E100F7FC7D /* cmutex.h */, + A90152D219A9E8E100F7FC7D /* cpputils.h */, + A90152D319A9E8E100F7FC7D /* cstring.c */, + A90152D419A9E8E100F7FC7D /* cstring.h */, + A90152D519A9E8E100F7FC7D /* cwchar.c */, + A90152D619A9E8E100F7FC7D /* cwchar.h */, + A90152D719A9E8E100F7FC7D /* dictbe.cpp */, + A90152D819A9E8E100F7FC7D /* dictbe.h */, + A90152D919A9E8E100F7FC7D /* dictionarydata.cpp */, + A90152DA19A9E8E100F7FC7D /* dictionarydata.h */, + A90152DB19A9E8E100F7FC7D /* dtintrv.cpp */, + A90152DC19A9E8E100F7FC7D /* errorcode.cpp */, + A90152DD19A9E8E100F7FC7D /* filterednormalizer2.cpp */, + A90152DE19A9E8E100F7FC7D /* hash.h */, + A90152DF19A9E8E100F7FC7D /* icudataver.c */, + A90152E019A9E8E100F7FC7D /* icuplug.c */, + A90152E119A9E8E100F7FC7D /* icuplugimp.h */, + A90152E219A9E8E100F7FC7D /* listformatter.cpp */, + A90152E319A9E8E100F7FC7D /* localsvc.h */, + A90152E419A9E8E100F7FC7D /* locavailable.cpp */, + A90152E519A9E8E100F7FC7D /* locbased.cpp */, + A90152E619A9E8E100F7FC7D /* locbased.h */, + A90152E719A9E8E100F7FC7D /* locdispnames.cpp */, + A90152E819A9E8E100F7FC7D /* locid.cpp */, + A90152E919A9E8E100F7FC7D /* loclikely.cpp */, + A90152EA19A9E8E100F7FC7D /* locmap.c */, + A90152EB19A9E8E100F7FC7D /* locmap.h */, + A90152EC19A9E8E100F7FC7D /* locresdata.cpp */, + A90152ED19A9E8E100F7FC7D /* locutil.cpp */, + A90152EE19A9E8E100F7FC7D /* locutil.h */, + A90152EF19A9E8E100F7FC7D /* lrucache.cpp */, + A90152F019A9E8E100F7FC7D /* lrucache.h */, + A90152F319A9E8E100F7FC7D /* messageimpl.h */, + A90152F419A9E8E100F7FC7D /* messagepattern.cpp */, + A90152F519A9E8E100F7FC7D /* msvcres.h */, + A90152F619A9E8E100F7FC7D /* mutex.h */, + A90152F719A9E8E100F7FC7D /* normalizer2.cpp */, + A90152F819A9E8E100F7FC7D /* normalizer2impl.cpp */, + A90152F919A9E8E100F7FC7D /* normalizer2impl.h */, + A90152FA19A9E8E100F7FC7D /* normlzr.cpp */, + A90152FB19A9E8E100F7FC7D /* parsepos.cpp */, + A90152FC19A9E8E100F7FC7D /* patternprops.cpp */, + A90152FD19A9E8E100F7FC7D /* patternprops.h */, + A90152FE19A9E8E100F7FC7D /* propname.cpp */, + A90152FF19A9E8E100F7FC7D /* propname.h */, + A901530019A9E8E100F7FC7D /* propname_data.h */, + A901530119A9E8E100F7FC7D /* propsvec.c */, + A901530219A9E8E100F7FC7D /* propsvec.h */, + A901530319A9E8E100F7FC7D /* punycode.cpp */, + A901530419A9E8E100F7FC7D /* punycode.h */, + A901530519A9E8E100F7FC7D /* putil.cpp */, + A901530619A9E8E100F7FC7D /* putilimp.h */, + A901530719A9E8E100F7FC7D /* rbbi.cpp */, + A901530919A9E8E100F7FC7D /* rbbidata.cpp */, + A901530A19A9E8E100F7FC7D /* rbbidata.h */, + A901530B19A9E8E100F7FC7D /* rbbinode.cpp */, + A901530C19A9E8E100F7FC7D /* rbbinode.h */, + A901530D19A9E8E100F7FC7D /* rbbirb.cpp */, + A901530E19A9E8E100F7FC7D /* rbbirb.h */, + A901530F19A9E8E100F7FC7D /* rbbirpt.h */, + A901531119A9E8E100F7FC7D /* rbbiscan.cpp */, + A901531219A9E8E100F7FC7D /* rbbiscan.h */, + A901531319A9E8E100F7FC7D /* rbbisetb.cpp */, + A901531419A9E8E100F7FC7D /* rbbisetb.h */, + A901531519A9E8E100F7FC7D /* rbbistbl.cpp */, + A901531619A9E8E100F7FC7D /* rbbitblb.cpp */, + A901531719A9E8E100F7FC7D /* rbbitblb.h */, + A901531819A9E8E100F7FC7D /* resbund.cpp */, + A901531919A9E8E100F7FC7D /* resbund_cnv.cpp */, + A901531A19A9E8E100F7FC7D /* ruleiter.cpp */, + A901531B19A9E8E100F7FC7D /* ruleiter.h */, + A901531C19A9E8E100F7FC7D /* schriter.cpp */, + A901531D19A9E8E100F7FC7D /* serv.cpp */, + A901531E19A9E8E100F7FC7D /* serv.h */, + A901531F19A9E8E100F7FC7D /* servlk.cpp */, + A901532019A9E8E100F7FC7D /* servlkf.cpp */, + A901532119A9E8E100F7FC7D /* servloc.h */, + A901532219A9E8E100F7FC7D /* servls.cpp */, + A901532319A9E8E100F7FC7D /* servnotf.cpp */, + A901532419A9E8E100F7FC7D /* servnotf.h */, + A901532519A9E8E100F7FC7D /* servrbf.cpp */, + A901532619A9E8E100F7FC7D /* servslkf.cpp */, + A901532719A9E8E100F7FC7D /* sharedobject.cpp */, + A901532819A9E8E100F7FC7D /* sharedobject.h */, + A901532919A9E8E100F7FC7D /* sharedptr.h */, + A901532A19A9E8E100F7FC7D /* simplepatternformatter.cpp */, + A901532B19A9E8E100F7FC7D /* simplepatternformatter.h */, + A901532C19A9E8E100F7FC7D /* sprpimpl.h */, + A901532D19A9E8E100F7FC7D /* stringpiece.cpp */, + A901532E19A9E8E100F7FC7D /* stringtriebuilder.cpp */, + A901532F19A9E8E100F7FC7D /* uarrsort.c */, + A901533019A9E8E100F7FC7D /* uarrsort.h */, + A901533119A9E8E100F7FC7D /* uassert.h */, + A901533219A9E8E100F7FC7D /* ubidi.c */, + A901533319A9E8E100F7FC7D /* ubidi_props.c */, + A901533419A9E8E100F7FC7D /* ubidi_props.h */, + A901533519A9E8E100F7FC7D /* ubidi_props_data.h */, + A901533619A9E8E100F7FC7D /* ubidiimp.h */, + A901533719A9E8E100F7FC7D /* ubidiln.c */, + A901533819A9E8E100F7FC7D /* ubidiwrt.c */, + A901533919A9E8E100F7FC7D /* ubrk.cpp */, + A901533A19A9E8E100F7FC7D /* ubrkimpl.h */, + A901533B19A9E8E100F7FC7D /* ucase.cpp */, + A901533C19A9E8E100F7FC7D /* ucase.h */, + A901533D19A9E8E100F7FC7D /* ucase_props_data.h */, + A901533E19A9E8E100F7FC7D /* ucasemap.cpp */, + A901533F19A9E8E100F7FC7D /* ucasemap_titlecase_brkiter.cpp */, + A901534019A9E8E100F7FC7D /* ucat.c */, + A901534119A9E8E100F7FC7D /* uchar.c */, + A901534219A9E8E100F7FC7D /* uchar_props_data.h */, + A901534319A9E8E100F7FC7D /* ucharstrie.cpp */, + A901534419A9E8E100F7FC7D /* ucharstriebuilder.cpp */, + A901534519A9E8E100F7FC7D /* ucharstrieiterator.cpp */, + A901534619A9E8E100F7FC7D /* uchriter.cpp */, + A901534719A9E8E100F7FC7D /* ucln.h */, + A901534819A9E8E100F7FC7D /* ucln_cmn.c */, + A901534919A9E8E100F7FC7D /* ucln_cmn.h */, + A901534A19A9E8E100F7FC7D /* ucln_imp.h */, + A901534B19A9E8E100F7FC7D /* ucmndata.c */, + A901534C19A9E8E100F7FC7D /* ucmndata.h */, + A901534D19A9E8E100F7FC7D /* ucnv.c */, + A901534E19A9E8E100F7FC7D /* ucnv2022.cpp */, + A901534F19A9E8E100F7FC7D /* ucnv_bld.cpp */, + A901535019A9E8E100F7FC7D /* ucnv_bld.h */, + A901535119A9E8E100F7FC7D /* ucnv_cb.c */, + A901535219A9E8E100F7FC7D /* ucnv_cnv.c */, + A901535319A9E8E100F7FC7D /* ucnv_cnv.h */, + A901535419A9E8E100F7FC7D /* ucnv_ct.c */, + A901535519A9E8E100F7FC7D /* ucnv_err.c */, + A901535619A9E8E100F7FC7D /* ucnv_ext.cpp */, + A901535719A9E8E100F7FC7D /* ucnv_ext.h */, + A901535819A9E8E100F7FC7D /* ucnv_imp.h */, + A901535919A9E8E100F7FC7D /* ucnv_io.cpp */, + A901535A19A9E8E100F7FC7D /* ucnv_io.h */, + A901535B19A9E8E100F7FC7D /* ucnv_lmb.c */, + A901535C19A9E8E100F7FC7D /* ucnv_set.c */, + A901535D19A9E8E100F7FC7D /* ucnv_u16.c */, + A901535E19A9E8E100F7FC7D /* ucnv_u32.c */, + A901535F19A9E8E100F7FC7D /* ucnv_u7.c */, + A901536019A9E8E100F7FC7D /* ucnv_u8.c */, + A901536119A9E8E100F7FC7D /* ucnvbocu.cpp */, + A901536219A9E8E100F7FC7D /* ucnvdisp.c */, + A901536319A9E8E100F7FC7D /* ucnvhz.c */, + A901536419A9E8E100F7FC7D /* ucnvisci.c */, + A901536519A9E8E100F7FC7D /* ucnvlat1.c */, + A901536619A9E8E100F7FC7D /* ucnvmbcs.c */, + A901536719A9E8E100F7FC7D /* ucnvmbcs.h */, + A901536819A9E8E100F7FC7D /* ucnvscsu.c */, + A901536919A9E8E100F7FC7D /* ucnvsel.cpp */, + A901536A19A9E8E100F7FC7D /* ucol_data.h */, + A901536B19A9E8E100F7FC7D /* ucol_swp.cpp */, + A901536C19A9E8E100F7FC7D /* ucol_swp.h */, + A901536D19A9E8E100F7FC7D /* udata.cpp */, + A901536E19A9E8E100F7FC7D /* udatamem.c */, + A901536F19A9E8E100F7FC7D /* udatamem.h */, + A901537019A9E8E100F7FC7D /* udataswp.c */, + A901537119A9E8E100F7FC7D /* udataswp.h */, + A901537219A9E8E100F7FC7D /* uelement.h */, + A901537319A9E8E100F7FC7D /* uenum.c */, + A901537419A9E8E100F7FC7D /* uenumimp.h */, + A901537519A9E8E100F7FC7D /* uhash.c */, + A901537619A9E8E100F7FC7D /* uhash.h */, + A901537719A9E8E100F7FC7D /* uhash_us.cpp */, + A901537819A9E8E100F7FC7D /* uidna.cpp */, + A901537919A9E8E100F7FC7D /* uinit.cpp */, + A901537A19A9E8E100F7FC7D /* uinvchar.c */, + A901537B19A9E8E100F7FC7D /* uinvchar.h */, + A901537C19A9E8E100F7FC7D /* uiter.cpp */, + A901537D19A9E8E100F7FC7D /* ulist.c */, + A901537E19A9E8E100F7FC7D /* ulist.h */, + A901537F19A9E8E100F7FC7D /* uloc.cpp */, + A901538019A9E8E100F7FC7D /* uloc_tag.c */, + A901538119A9E8E100F7FC7D /* ulocimp.h */, + A901538219A9E8E100F7FC7D /* umapfile.c */, + A901538319A9E8E100F7FC7D /* umapfile.h */, + A901538419A9E8E100F7FC7D /* umath.c */, + A901538519A9E8E100F7FC7D /* umutex.cpp */, + A901538619A9E8E100F7FC7D /* umutex.h */, + A901538719A9E8E100F7FC7D /* unames.cpp */, + A90153DD19A9E8E100F7FC7D /* unifilt.cpp */, + A90153DE19A9E8E100F7FC7D /* unifunct.cpp */, + A90153DF19A9E8E100F7FC7D /* uniset.cpp */, + A90153E019A9E8E100F7FC7D /* uniset_closure.cpp */, + A90153E119A9E8E100F7FC7D /* uniset_props.cpp */, + A90153E219A9E8E100F7FC7D /* unisetspan.cpp */, + A90153E319A9E8E100F7FC7D /* unisetspan.h */, + A90153E419A9E8E100F7FC7D /* unistr.cpp */, + A90153E519A9E8E100F7FC7D /* unistr_case.cpp */, + A90153E619A9E8E100F7FC7D /* unistr_case_locale.cpp */, + A90153E719A9E8E100F7FC7D /* unistr_cnv.cpp */, + A90153E819A9E8E100F7FC7D /* unistr_props.cpp */, + A90153E919A9E8E100F7FC7D /* unistr_titlecase_brkiter.cpp */, + A90153EA19A9E8E100F7FC7D /* unorm.cpp */, + A90153EB19A9E8E100F7FC7D /* unormcmp.cpp */, + A90153EC19A9E8E100F7FC7D /* unormimp.h */, + A90153ED19A9E8E100F7FC7D /* uobject.cpp */, + A90153EE19A9E8E100F7FC7D /* uposixdefs.h */, + A90153EF19A9E8E100F7FC7D /* uprops.cpp */, + A90153F019A9E8E100F7FC7D /* uprops.h */, + A90153F119A9E8E100F7FC7D /* ures_cnv.c */, + A90153F219A9E8E200F7FC7D /* uresbund.cpp */, + A90153F319A9E8E200F7FC7D /* uresdata.c */, + A90153F419A9E8E200F7FC7D /* uresdata.h */, + A90153F519A9E8E200F7FC7D /* uresimp.h */, + A90153F619A9E8E200F7FC7D /* ureslocs.h */, + A90153F719A9E8E200F7FC7D /* usc_impl.c */, + A90153F819A9E8E200F7FC7D /* usc_impl.h */, + A90153F919A9E8E200F7FC7D /* uscript.c */, + A90153FA19A9E8E200F7FC7D /* uscript_props.cpp */, + A90153FB19A9E8E200F7FC7D /* uset.cpp */, + A90153FC19A9E8E200F7FC7D /* uset_imp.h */, + A90153FD19A9E8E200F7FC7D /* uset_props.cpp */, + A90153FE19A9E8E200F7FC7D /* usetiter.cpp */, + A90153FF19A9E8E200F7FC7D /* ushape.cpp */, + A901540019A9E8E200F7FC7D /* usprep.cpp */, + A901540119A9E8E200F7FC7D /* ustack.cpp */, + A901540219A9E8E200F7FC7D /* ustr_cnv.c */, + A901540319A9E8E200F7FC7D /* ustr_cnv.h */, + A901540419A9E8E200F7FC7D /* ustr_imp.h */, + A901540519A9E8E200F7FC7D /* ustr_titlecase_brkiter.cpp */, + A901540619A9E8E200F7FC7D /* ustr_wcs.cpp */, + A901540719A9E8E200F7FC7D /* ustrcase.cpp */, + A901540819A9E8E200F7FC7D /* ustrcase_locale.cpp */, + A901540919A9E8E200F7FC7D /* ustrenum.cpp */, + A901540A19A9E8E200F7FC7D /* ustrenum.h */, + A901540B19A9E8E200F7FC7D /* ustrfmt.c */, + A901540C19A9E8E200F7FC7D /* ustrfmt.h */, + A901540D19A9E8E200F7FC7D /* ustring.cpp */, + A901540E19A9E8E200F7FC7D /* ustrtrns.cpp */, + A901540F19A9E8E200F7FC7D /* utext.cpp */, + A901541019A9E8E200F7FC7D /* utf_impl.c */, + A901541119A9E8E200F7FC7D /* util.cpp */, + A901541219A9E8E200F7FC7D /* util.h */, + A901541319A9E8E200F7FC7D /* util_props.cpp */, + A901541419A9E8E200F7FC7D /* utrace.c */, + A901541519A9E8E200F7FC7D /* utracimp.h */, + A901541619A9E8E200F7FC7D /* utrie.cpp */, + A901541719A9E8E200F7FC7D /* utrie.h */, + A901541819A9E8E200F7FC7D /* utrie2.cpp */, + A901541919A9E8E200F7FC7D /* utrie2.h */, + A901541A19A9E8E200F7FC7D /* utrie2_builder.cpp */, + A901541B19A9E8E200F7FC7D /* utrie2_impl.h */, + A901541C19A9E8E200F7FC7D /* uts46.cpp */, + A901541D19A9E8E200F7FC7D /* utypeinfo.h */, + A901541E19A9E8E200F7FC7D /* utypes.c */, + A901541F19A9E8E200F7FC7D /* uvector.cpp */, + A901542019A9E8E200F7FC7D /* uvector.h */, + A901542119A9E8E200F7FC7D /* uvectr32.cpp */, + A901542219A9E8E200F7FC7D /* uvectr32.h */, + A901542319A9E8E200F7FC7D /* uvectr64.cpp */, + A901542419A9E8E200F7FC7D /* uvectr64.h */, + A901542519A9E8E200F7FC7D /* wintz.c */, + A901542619A9E8E200F7FC7D /* wintz.h */, + ); + path = common; + sourceTree = "<group>"; + }; + A9015B9319A9E8E700F7FC7D /* i18n */ = { + isa = PBXGroup; + children = ( + A9015B9419A9E8E700F7FC7D /* alphaindex.cpp */, + A9015B9519A9E8E700F7FC7D /* anytrans.cpp */, + A9015B9619A9E8E700F7FC7D /* anytrans.h */, + A9015B9719A9E8E700F7FC7D /* astro.cpp */, + A9015B9819A9E8E700F7FC7D /* astro.h */, + A9015B9919A9E8E700F7FC7D /* basictz.cpp */, + A9015B9A19A9E8E700F7FC7D /* bocsu.cpp */, + A9015B9B19A9E8E700F7FC7D /* bocsu.h */, + A9015B9C19A9E8E700F7FC7D /* brktrans.cpp */, + A9015B9D19A9E8E700F7FC7D /* brktrans.h */, + A9015B9E19A9E8E700F7FC7D /* buddhcal.cpp */, + A9015B9F19A9E8E700F7FC7D /* buddhcal.h */, + A9015BA019A9E8E700F7FC7D /* calendar.cpp */, + A9015BA119A9E8E700F7FC7D /* casetrn.cpp */, + A9015BA219A9E8E700F7FC7D /* casetrn.h */, + A9015BA319A9E8E700F7FC7D /* cecal.cpp */, + A9015BA419A9E8E700F7FC7D /* cecal.h */, + A9015BA519A9E8E700F7FC7D /* chnsecal.cpp */, + A9015BA619A9E8E700F7FC7D /* chnsecal.h */, + A9015BA719A9E8E700F7FC7D /* choicfmt.cpp */, + A9015BA819A9E8E700F7FC7D /* coleitr.cpp */, + A9015BA919A9E8E700F7FC7D /* coll.cpp */, + A9015BAA19A9E8E700F7FC7D /* collation.cpp */, + A9015BAB19A9E8E700F7FC7D /* collation.h */, + A9015BAC19A9E8E700F7FC7D /* collationbasedatabuilder.cpp */, + A9015BAD19A9E8E700F7FC7D /* collationbasedatabuilder.h */, + A9015BAE19A9E8E700F7FC7D /* collationbuilder.cpp */, + A9015BAF19A9E8E700F7FC7D /* collationbuilder.h */, + A9015BB019A9E8E700F7FC7D /* collationcompare.cpp */, + A9015BB119A9E8E700F7FC7D /* collationcompare.h */, + A9015BB219A9E8E700F7FC7D /* collationdata.cpp */, + A9015BB319A9E8E700F7FC7D /* collationdata.h */, + A9015BB419A9E8E700F7FC7D /* collationdatabuilder.cpp */, + A9015BB519A9E8E700F7FC7D /* collationdatabuilder.h */, + A9015BB619A9E8E700F7FC7D /* collationdatareader.cpp */, + A9015BB719A9E8E700F7FC7D /* collationdatareader.h */, + A9015BB819A9E8E700F7FC7D /* collationdatawriter.cpp */, + A9015BB919A9E8E700F7FC7D /* collationdatawriter.h */, + A9015BBA19A9E8E700F7FC7D /* collationfastlatin.cpp */, + A9015BBB19A9E8E700F7FC7D /* collationfastlatin.h */, + A9015BBC19A9E8E700F7FC7D /* collationfastlatinbuilder.cpp */, + A9015BBD19A9E8E700F7FC7D /* collationfastlatinbuilder.h */, + A9015BBE19A9E8E700F7FC7D /* collationfcd.cpp */, + A9015BBF19A9E8E700F7FC7D /* collationfcd.h */, + A9015BC019A9E8E700F7FC7D /* collationiterator.cpp */, + A9015BC119A9E8E700F7FC7D /* collationiterator.h */, + A9015BC219A9E8E700F7FC7D /* collationkeys.cpp */, + A9015BC319A9E8E700F7FC7D /* collationkeys.h */, + A9015BC419A9E8E700F7FC7D /* collationroot.cpp */, + A9015BC519A9E8E700F7FC7D /* collationroot.h */, + A9015BC619A9E8E700F7FC7D /* collationrootelements.cpp */, + A9015BC719A9E8E700F7FC7D /* collationrootelements.h */, + A9015BC819A9E8E700F7FC7D /* collationruleparser.cpp */, + A9015BC919A9E8E700F7FC7D /* collationruleparser.h */, + A9015BCA19A9E8E700F7FC7D /* collationsets.cpp */, + A9015BCB19A9E8E700F7FC7D /* collationsets.h */, + A9015BCC19A9E8E700F7FC7D /* collationsettings.cpp */, + A9015BCD19A9E8E700F7FC7D /* collationsettings.h */, + A9015BCE19A9E8E700F7FC7D /* collationtailoring.cpp */, + A9015BCF19A9E8E700F7FC7D /* collationtailoring.h */, + A9015BD019A9E8E700F7FC7D /* collationweights.cpp */, + A9015BD119A9E8E700F7FC7D /* collationweights.h */, + A9015BD219A9E8E700F7FC7D /* compactdecimalformat.cpp */, + A9015BD319A9E8E700F7FC7D /* coptccal.cpp */, + A9015BD419A9E8E700F7FC7D /* coptccal.h */, + A9015BD519A9E8E700F7FC7D /* cpdtrans.cpp */, + A9015BD619A9E8E700F7FC7D /* cpdtrans.h */, + A9015BD719A9E8E700F7FC7D /* csdetect.cpp */, + A9015BD819A9E8E700F7FC7D /* csdetect.h */, + A9015BD919A9E8E700F7FC7D /* csmatch.cpp */, + A9015BDA19A9E8E700F7FC7D /* csmatch.h */, + A9015BDB19A9E8E700F7FC7D /* csr2022.cpp */, + A9015BDC19A9E8E700F7FC7D /* csr2022.h */, + A9015BDD19A9E8E700F7FC7D /* csrecog.cpp */, + A9015BDE19A9E8E700F7FC7D /* csrecog.h */, + A9015BDF19A9E8E700F7FC7D /* csrmbcs.cpp */, + A9015BE019A9E8E700F7FC7D /* csrmbcs.h */, + A9015BE119A9E8E700F7FC7D /* csrsbcs.cpp */, + A9015BE219A9E8E700F7FC7D /* csrsbcs.h */, + A9015BE319A9E8E700F7FC7D /* csrucode.cpp */, + A9015BE419A9E8E700F7FC7D /* csrucode.h */, + A9015BE519A9E8E700F7FC7D /* csrutf8.cpp */, + A9015BE619A9E8E700F7FC7D /* csrutf8.h */, + A9015BE719A9E8E700F7FC7D /* curramt.cpp */, + A9015BE819A9E8E700F7FC7D /* currfmt.cpp */, + A9015BE919A9E8E700F7FC7D /* currfmt.h */, + A9015BEA19A9E8E700F7FC7D /* currpinf.cpp */, + A9015BEB19A9E8E700F7FC7D /* currunit.cpp */, + A9015BEC19A9E8E700F7FC7D /* dangical.cpp */, + A9015BED19A9E8E700F7FC7D /* dangical.h */, + A9015BEE19A9E8E700F7FC7D /* datefmt.cpp */, + A9015BEF19A9E8E700F7FC7D /* dcfmtimp.h */, + A9015BF019A9E8E700F7FC7D /* dcfmtsym.cpp */, + A9015BF119A9E8E700F7FC7D /* decContext.c */, + A9015BF219A9E8E700F7FC7D /* decContext.h */, + A9015BF319A9E8E700F7FC7D /* decfmtst.cpp */, + A9015BF419A9E8E700F7FC7D /* decfmtst.h */, + A9015BF519A9E8E700F7FC7D /* decimalformatpattern.cpp */, + A9015BF619A9E8E700F7FC7D /* decimalformatpattern.h */, + A9015BF719A9E8E700F7FC7D /* decimfmt.cpp */, + A9015BF819A9E8E700F7FC7D /* decNumber.c */, + A9015BF919A9E8E700F7FC7D /* decNumber.h */, + A9015BFA19A9E8E700F7FC7D /* decNumberLocal.h */, + A9015BFB19A9E8E700F7FC7D /* digitlst.cpp */, + A9015BFC19A9E8E700F7FC7D /* digitlst.h */, + A9015BFD19A9E8E700F7FC7D /* dtfmtsym.cpp */, + A9015BFE19A9E8E700F7FC7D /* dtitv_impl.h */, + A9015BFF19A9E8E700F7FC7D /* dtitvfmt.cpp */, + A9015C0019A9E8E700F7FC7D /* dtitvinf.cpp */, + A9015C0119A9E8E700F7FC7D /* dtptngen.cpp */, + A9015C0219A9E8E700F7FC7D /* dtptngen_impl.h */, + A9015C0319A9E8E700F7FC7D /* dtrule.cpp */, + A9015C0419A9E8E700F7FC7D /* esctrn.cpp */, + A9015C0519A9E8E700F7FC7D /* esctrn.h */, + A9015C0619A9E8E700F7FC7D /* ethpccal.cpp */, + A9015C0719A9E8E700F7FC7D /* ethpccal.h */, + A9015C0819A9E8E700F7FC7D /* filteredbrk.cpp */, + A9015C0919A9E8E700F7FC7D /* fmtable.cpp */, + A9015C0A19A9E8E700F7FC7D /* fmtable_cnv.cpp */, + A9015C0B19A9E8E700F7FC7D /* fmtableimp.h */, + A9015C0C19A9E8E700F7FC7D /* format.cpp */, + A9015C0D19A9E8E700F7FC7D /* fphdlimp.cpp */, + A9015C0E19A9E8E700F7FC7D /* fphdlimp.h */, + A9015C0F19A9E8E700F7FC7D /* fpositer.cpp */, + A9015C1019A9E8E700F7FC7D /* funcrepl.cpp */, + A9015C1119A9E8E700F7FC7D /* funcrepl.h */, + A9015C1219A9E8E700F7FC7D /* gender.cpp */, + A9015C1319A9E8E700F7FC7D /* gregocal.cpp */, + A9015C1419A9E8E700F7FC7D /* gregoimp.cpp */, + A9015C1519A9E8E700F7FC7D /* gregoimp.h */, + A9015C1619A9E8E700F7FC7D /* hebrwcal.cpp */, + A9015C1719A9E8E700F7FC7D /* hebrwcal.h */, + A9015C1B19A9E8E700F7FC7D /* identifier_info.cpp */, + A9015C1C19A9E8E700F7FC7D /* identifier_info.h */, + A9015C1D19A9E8E700F7FC7D /* indiancal.cpp */, + A9015C1E19A9E8E700F7FC7D /* indiancal.h */, + A9015C1F19A9E8E700F7FC7D /* inputext.cpp */, + A9015C2019A9E8E700F7FC7D /* inputext.h */, + A9015C2119A9E8E700F7FC7D /* islamcal.cpp */, + A9015C2219A9E8E700F7FC7D /* islamcal.h */, + A9015C2319A9E8E700F7FC7D /* japancal.cpp */, + A9015C2419A9E8E700F7FC7D /* japancal.h */, + A9015C2519A9E8E700F7FC7D /* locdspnm.cpp */, + A9015C2819A9E8E700F7FC7D /* measfmt.cpp */, + A9015C2919A9E8E700F7FC7D /* measunit.cpp */, + A9015C2A19A9E8E700F7FC7D /* measure.cpp */, + A9015C2B19A9E8E700F7FC7D /* msgfmt.cpp */, + A9015C2C19A9E8E700F7FC7D /* msgfmt_impl.h */, + A9015C2D19A9E8E700F7FC7D /* name2uni.cpp */, + A9015C2E19A9E8E700F7FC7D /* name2uni.h */, + A9015C2F19A9E8E700F7FC7D /* nfrlist.h */, + A9015C3019A9E8E800F7FC7D /* nfrs.cpp */, + A9015C3119A9E8E800F7FC7D /* nfrs.h */, + A9015C3219A9E8E800F7FC7D /* nfrule.cpp */, + A9015C3319A9E8E800F7FC7D /* nfrule.h */, + A9015C3419A9E8E800F7FC7D /* nfsubs.cpp */, + A9015C3519A9E8E800F7FC7D /* nfsubs.h */, + A9015C3619A9E8E800F7FC7D /* nortrans.cpp */, + A9015C3719A9E8E800F7FC7D /* nortrans.h */, + A9015C3819A9E8E800F7FC7D /* nultrans.cpp */, + A9015C3919A9E8E800F7FC7D /* nultrans.h */, + A9015C3A19A9E8E800F7FC7D /* numfmt.cpp */, + A9015C3B19A9E8E800F7FC7D /* numsys.cpp */, + A9015C3C19A9E8E800F7FC7D /* numsys_impl.h */, + A9015C3D19A9E8E800F7FC7D /* olsontz.cpp */, + A9015C3E19A9E8E800F7FC7D /* olsontz.h */, + A9015C3F19A9E8E800F7FC7D /* persncal.cpp */, + A9015C4019A9E8E800F7FC7D /* persncal.h */, + A9015C4119A9E8E800F7FC7D /* plurfmt.cpp */, + A9015C4219A9E8E800F7FC7D /* plurrule.cpp */, + A9015C4319A9E8E800F7FC7D /* plurrule_impl.h */, + A9015C4419A9E8E800F7FC7D /* quant.cpp */, + A9015C4519A9E8E800F7FC7D /* quant.h */, + A9015C4619A9E8E800F7FC7D /* quantityformatter.cpp */, + A9015C4719A9E8E800F7FC7D /* quantityformatter.h */, + A9015C4819A9E8E800F7FC7D /* rbnf.cpp */, + A9015C4919A9E8E800F7FC7D /* rbt.cpp */, + A9015C4A19A9E8E800F7FC7D /* rbt.h */, + A9015C4B19A9E8E800F7FC7D /* rbt_data.cpp */, + A9015C4C19A9E8E800F7FC7D /* rbt_data.h */, + A9015C4D19A9E8E800F7FC7D /* rbt_pars.cpp */, + A9015C4E19A9E8E800F7FC7D /* rbt_pars.h */, + A9015C4F19A9E8E800F7FC7D /* rbt_rule.cpp */, + A9015C5019A9E8E800F7FC7D /* rbt_rule.h */, + A9015C5119A9E8E800F7FC7D /* rbt_set.cpp */, + A9015C5219A9E8E800F7FC7D /* rbt_set.h */, + A9015C5319A9E8E800F7FC7D /* rbtz.cpp */, + A9015C5419A9E8E800F7FC7D /* regexcmp.cpp */, + A9015C5519A9E8E800F7FC7D /* regexcmp.h */, + A9015C5619A9E8E800F7FC7D /* regexcst.h */, + A9015C5919A9E8E800F7FC7D /* regeximp.cpp */, + A9015C5A19A9E8E800F7FC7D /* regeximp.h */, + A9015C5B19A9E8E800F7FC7D /* regexst.cpp */, + A9015C5C19A9E8E800F7FC7D /* regexst.h */, + A9015C5D19A9E8E800F7FC7D /* regextxt.cpp */, + A9015C5E19A9E8E800F7FC7D /* regextxt.h */, + A9015C5F19A9E8E800F7FC7D /* region.cpp */, + A9015C6019A9E8E800F7FC7D /* region_impl.h */, + A9015C6119A9E8E800F7FC7D /* reldatefmt.cpp */, + A9015C6219A9E8E800F7FC7D /* reldtfmt.cpp */, + A9015C6319A9E8E800F7FC7D /* reldtfmt.h */, + A9015C6419A9E8E800F7FC7D /* rematch.cpp */, + A9015C6519A9E8E800F7FC7D /* remtrans.cpp */, + A9015C6619A9E8E800F7FC7D /* remtrans.h */, + A9015C6719A9E8E800F7FC7D /* repattrn.cpp */, + A9015C6819A9E8E800F7FC7D /* rulebasedcollator.cpp */, + A9015C6919A9E8E800F7FC7D /* scriptset.cpp */, + A9015C6A19A9E8E800F7FC7D /* scriptset.h */, + A9015C6B19A9E8E800F7FC7D /* search.cpp */, + A9015C6C19A9E8E800F7FC7D /* selfmt.cpp */, + A9015C6D19A9E8E800F7FC7D /* selfmtimpl.h */, + A9015C6E19A9E8E800F7FC7D /* sharednumberformat.h */, + A9015C6F19A9E8E800F7FC7D /* sharedpluralrules.h */, + A9015C7019A9E8E800F7FC7D /* simpletz.cpp */, + A9015C7119A9E8E800F7FC7D /* smpdtfmt.cpp */, + A9015C7219A9E8E800F7FC7D /* smpdtfst.cpp */, + A9015C7319A9E8E800F7FC7D /* smpdtfst.h */, + A9015C7419A9E8E800F7FC7D /* sortkey.cpp */, + A9015C7519A9E8E800F7FC7D /* strmatch.cpp */, + A9015C7619A9E8E800F7FC7D /* strmatch.h */, + A9015C7719A9E8E800F7FC7D /* strrepl.cpp */, + A9015C7819A9E8E800F7FC7D /* strrepl.h */, + A9015C7919A9E8E800F7FC7D /* stsearch.cpp */, + A9015C7A19A9E8E800F7FC7D /* taiwncal.cpp */, + A9015C7B19A9E8E800F7FC7D /* taiwncal.h */, + A9015C7C19A9E8E800F7FC7D /* timezone.cpp */, + A9015C7D19A9E8E800F7FC7D /* titletrn.cpp */, + A9015C7E19A9E8E800F7FC7D /* titletrn.h */, + A9015C7F19A9E8E800F7FC7D /* tmunit.cpp */, + A9015C8019A9E8E800F7FC7D /* tmutamt.cpp */, + A9015C8119A9E8E800F7FC7D /* tmutfmt.cpp */, + A9015C8219A9E8E800F7FC7D /* tolowtrn.cpp */, + A9015C8319A9E8E800F7FC7D /* tolowtrn.h */, + A9015C8419A9E8E800F7FC7D /* toupptrn.cpp */, + A9015C8519A9E8E800F7FC7D /* toupptrn.h */, + A9015C8619A9E8E800F7FC7D /* translit.cpp */, + A9015C8719A9E8E800F7FC7D /* transreg.cpp */, + A9015C8819A9E8E800F7FC7D /* transreg.h */, + A9015C8919A9E8E800F7FC7D /* tridpars.cpp */, + A9015C8A19A9E8E800F7FC7D /* tridpars.h */, + A9015C8B19A9E8E800F7FC7D /* tzfmt.cpp */, + A9015C8C19A9E8E800F7FC7D /* tzgnames.cpp */, + A9015C8D19A9E8E800F7FC7D /* tzgnames.h */, + A9015C8E19A9E8E800F7FC7D /* tznames.cpp */, + A9015C8F19A9E8E800F7FC7D /* tznames_impl.cpp */, + A9015C9019A9E8E800F7FC7D /* tznames_impl.h */, + A9015C9119A9E8E800F7FC7D /* tzrule.cpp */, + A9015C9219A9E8E800F7FC7D /* tztrans.cpp */, + A9015C9319A9E8E800F7FC7D /* ucal.cpp */, + A9015C9419A9E8E800F7FC7D /* ucln_in.c */, + A9015C9519A9E8E800F7FC7D /* ucln_in.h */, + A9015C9619A9E8E800F7FC7D /* ucol.cpp */, + A9015C9719A9E8E800F7FC7D /* ucol_imp.h */, + A9015C9819A9E8E800F7FC7D /* ucol_res.cpp */, + A9015C9919A9E8E800F7FC7D /* ucol_sit.cpp */, + A9015C9A19A9E8E800F7FC7D /* ucoleitr.cpp */, + A9015C9B19A9E8E800F7FC7D /* ucsdet.cpp */, + A9015C9C19A9E8E800F7FC7D /* ucurr.cpp */, + A9015C9D19A9E8E800F7FC7D /* ucurrimp.h */, + A9015C9E19A9E8E800F7FC7D /* udat.cpp */, + A9015C9F19A9E8E800F7FC7D /* udateintervalformat.cpp */, + A9015CA019A9E8E800F7FC7D /* udatpg.cpp */, + A9015CA119A9E8E800F7FC7D /* uitercollationiterator.cpp */, + A9015CA219A9E8E800F7FC7D /* uitercollationiterator.h */, + A9015CA319A9E8E800F7FC7D /* ulocdata.c */, + A9015CA419A9E8E800F7FC7D /* umsg.cpp */, + A9015CA519A9E8E800F7FC7D /* umsg_imp.h */, + A9015CA619A9E8E800F7FC7D /* unesctrn.cpp */, + A9015CA719A9E8E800F7FC7D /* unesctrn.h */, + A9015CA819A9E8E800F7FC7D /* uni2name.cpp */, + A9015CA919A9E8E800F7FC7D /* uni2name.h */, + A9015CFB19A9E8E800F7FC7D /* unum.cpp */, + A9015CFC19A9E8E800F7FC7D /* unumsys.cpp */, + A9015CFD19A9E8E800F7FC7D /* upluralrules.cpp */, + A9015CFE19A9E8E800F7FC7D /* uregex.cpp */, + A9015CFF19A9E8E800F7FC7D /* uregexc.cpp */, + A9015D0019A9E8E800F7FC7D /* uregion.cpp */, + A9015D0119A9E8E800F7FC7D /* usearch.cpp */, + A9015D0219A9E8E800F7FC7D /* uspoof.cpp */, + A9015D0319A9E8E800F7FC7D /* uspoof_build.cpp */, + A9015D0419A9E8E800F7FC7D /* uspoof_conf.cpp */, + A9015D0519A9E8E800F7FC7D /* uspoof_conf.h */, + A9015D0619A9E8E800F7FC7D /* uspoof_impl.cpp */, + A9015D0719A9E8E800F7FC7D /* uspoof_impl.h */, + A9015D0819A9E8E800F7FC7D /* uspoof_wsconf.cpp */, + A9015D0919A9E8E800F7FC7D /* uspoof_wsconf.h */, + A9015D0A19A9E8E800F7FC7D /* usrchimp.h */, + A9015D0B19A9E8E800F7FC7D /* utf16collationiterator.cpp */, + A9015D0C19A9E8E800F7FC7D /* utf16collationiterator.h */, + A9015D0D19A9E8E800F7FC7D /* utf8collationiterator.cpp */, + A9015D0E19A9E8E800F7FC7D /* utf8collationiterator.h */, + A9015D0F19A9E8E800F7FC7D /* utmscale.c */, + A9015D1019A9E8E800F7FC7D /* utrans.cpp */, + A9015D1119A9E8E800F7FC7D /* vtzone.cpp */, + A9015D1219A9E8E800F7FC7D /* vzone.cpp */, + A9015D1319A9E8E800F7FC7D /* vzone.h */, + A9015D1419A9E8E800F7FC7D /* windtfmt.cpp */, + A9015D1519A9E8E800F7FC7D /* windtfmt.h */, + A9015D1619A9E8E800F7FC7D /* winnmfmt.cpp */, + A9015D1719A9E8E800F7FC7D /* winnmfmt.h */, + A9015D1819A9E8E800F7FC7D /* wintzimpl.cpp */, + A9015D1919A9E8E800F7FC7D /* wintzimpl.h */, + A9015D1A19A9E8E800F7FC7D /* zonemeta.cpp */, + A9015D1B19A9E8E800F7FC7D /* zonemeta.h */, + A9015D1C19A9E8E800F7FC7D /* zrule.cpp */, + A9015D1D19A9E8E800F7FC7D /* zrule.h */, + A9015D1E19A9E8E800F7FC7D /* ztrans.cpp */, + A9015D1F19A9E8E800F7FC7D /* ztrans.h */, + ); + path = i18n; + sourceTree = "<group>"; + }; + A9015D2319A9E8E800F7FC7D /* io */ = { + isa = PBXGroup; + children = ( + A9015D2719A9E8E800F7FC7D /* locbund.cpp */, + A9015D2819A9E8E800F7FC7D /* locbund.h */, + A9015D2B19A9E8E800F7FC7D /* sprintf.c */, + A9015D2C19A9E8E800F7FC7D /* sscanf.c */, + A9015D2D19A9E8E800F7FC7D /* ucln_io.c */, + A9015D2E19A9E8E800F7FC7D /* ucln_io.h */, + A9015D2F19A9E8E800F7FC7D /* ufile.c */, + A9015D3019A9E8E800F7FC7D /* ufile.h */, + A9015D3119A9E8E800F7FC7D /* ufmt_cmn.c */, + A9015D3219A9E8E800F7FC7D /* ufmt_cmn.h */, + A9015D3619A9E8E800F7FC7D /* uprintf.c */, + A9015D3719A9E8E800F7FC7D /* uprintf.h */, + A9015D3819A9E8E800F7FC7D /* uprntf_p.c */, + A9015D3919A9E8E800F7FC7D /* uscanf.c */, + A9015D3A19A9E8E800F7FC7D /* uscanf.h */, + A9015D3B19A9E8E800F7FC7D /* uscanf_p.c */, + A9015D3C19A9E8E800F7FC7D /* ustdio.c */, + A9015D3D19A9E8E800F7FC7D /* ustream.cpp */, + ); + path = io; + sourceTree = "<group>"; + }; + A9015D3E19A9E8E800F7FC7D /* layout */ = { + isa = PBXGroup; + children = ( + A9015D3F19A9E8E800F7FC7D /* AlternateSubstSubtables.cpp */, + A9015D4019A9E8E800F7FC7D /* AlternateSubstSubtables.h */, + A9015D4119A9E8E800F7FC7D /* AnchorTables.cpp */, + A9015D4219A9E8E800F7FC7D /* AnchorTables.h */, + A9015D4319A9E8E800F7FC7D /* ArabicLayoutEngine.cpp */, + A9015D4419A9E8E800F7FC7D /* ArabicLayoutEngine.h */, + A9015D4519A9E8E800F7FC7D /* ArabicShaping.cpp */, + A9015D4619A9E8E800F7FC7D /* ArabicShaping.h */, + A9015D4719A9E8E800F7FC7D /* AttachmentPosnSubtables.h */, + A9015D4819A9E8E800F7FC7D /* CanonData.cpp */, + A9015D4919A9E8E800F7FC7D /* CanonShaping.cpp */, + A9015D4A19A9E8E800F7FC7D /* CanonShaping.h */, + A9015D4B19A9E8E800F7FC7D /* CharSubstitutionFilter.h */, + A9015D4C19A9E8E800F7FC7D /* ClassDefinitionTables.cpp */, + A9015D4D19A9E8E800F7FC7D /* ClassDefinitionTables.h */, + A9015D4E19A9E8E800F7FC7D /* ContextualGlyphInsertion.h */, + A9015D4F19A9E8E800F7FC7D /* ContextualGlyphInsertionProc2.cpp */, + A9015D5019A9E8E800F7FC7D /* ContextualGlyphInsertionProc2.h */, + A9015D5119A9E8E800F7FC7D /* ContextualGlyphSubstitution.h */, + A9015D5219A9E8E800F7FC7D /* ContextualGlyphSubstProc.cpp */, + A9015D5319A9E8E800F7FC7D /* ContextualGlyphSubstProc.h */, + A9015D5419A9E8E800F7FC7D /* ContextualGlyphSubstProc2.cpp */, + A9015D5519A9E8E800F7FC7D /* ContextualGlyphSubstProc2.h */, + A9015D5619A9E8E800F7FC7D /* ContextualSubstSubtables.cpp */, + A9015D5719A9E8E800F7FC7D /* ContextualSubstSubtables.h */, + A9015D5819A9E8E800F7FC7D /* CoverageTables.cpp */, + A9015D5919A9E8E800F7FC7D /* CoverageTables.h */, + A9015D5A19A9E8E800F7FC7D /* CursiveAttachmentSubtables.cpp */, + A9015D5B19A9E8E800F7FC7D /* CursiveAttachmentSubtables.h */, + A9015D5C19A9E8E800F7FC7D /* DefaultCharMapper.h */, + A9015D5D19A9E8E800F7FC7D /* DeviceTables.cpp */, + A9015D5E19A9E8E800F7FC7D /* DeviceTables.h */, + A9015D5F19A9E8E800F7FC7D /* ExtensionSubtables.cpp */, + A9015D6019A9E8E800F7FC7D /* ExtensionSubtables.h */, + A9015D6119A9E8E800F7FC7D /* Features.cpp */, + A9015D6219A9E8E800F7FC7D /* GDEFMarkFilter.cpp */, + A9015D6319A9E8E800F7FC7D /* GDEFMarkFilter.h */, + A9015D6419A9E8E800F7FC7D /* GlyphDefinitionTables.cpp */, + A9015D6519A9E8E800F7FC7D /* GlyphDefinitionTables.h */, + A9015D6619A9E8E800F7FC7D /* GlyphIterator.cpp */, + A9015D6719A9E8E800F7FC7D /* GlyphIterator.h */, + A9015D6819A9E8E800F7FC7D /* GlyphLookupTables.cpp */, + A9015D6919A9E8E800F7FC7D /* GlyphLookupTables.h */, + A9015D6A19A9E8E800F7FC7D /* GlyphPositionAdjustments.cpp */, + A9015D6B19A9E8E800F7FC7D /* GlyphPositionAdjustments.h */, + A9015D6C19A9E8E800F7FC7D /* GlyphPositioningTables.cpp */, + A9015D6D19A9E8E800F7FC7D /* GlyphPositioningTables.h */, + A9015D6E19A9E8E800F7FC7D /* GlyphPosnLookupProc.cpp */, + A9015D6F19A9E8E800F7FC7D /* GlyphPosnLookupProc.h */, + A9015D7019A9E8E800F7FC7D /* GlyphSubstitutionTables.cpp */, + A9015D7119A9E8E800F7FC7D /* GlyphSubstitutionTables.h */, + A9015D7219A9E8E800F7FC7D /* GlyphSubstLookupProc.cpp */, + A9015D7319A9E8E800F7FC7D /* GlyphSubstLookupProc.h */, + A9015D7419A9E8E800F7FC7D /* GXLayoutEngine.cpp */, + A9015D7519A9E8E800F7FC7D /* GXLayoutEngine.h */, + A9015D7619A9E8E800F7FC7D /* GXLayoutEngine2.cpp */, + A9015D7719A9E8E800F7FC7D /* GXLayoutEngine2.h */, + A9015D7819A9E8E800F7FC7D /* HangulLayoutEngine.cpp */, + A9015D7919A9E8E800F7FC7D /* HangulLayoutEngine.h */, + A9015D7A19A9E8E800F7FC7D /* HanLayoutEngine.cpp */, + A9015D7B19A9E8E800F7FC7D /* HanLayoutEngine.h */, + A9015D7C19A9E8E800F7FC7D /* ICUFeatures.h */, + A9015D7D19A9E8E800F7FC7D /* IndicClassTables.cpp */, + A9015D7E19A9E8E800F7FC7D /* IndicLayoutEngine.cpp */, + A9015D7F19A9E8E800F7FC7D /* IndicLayoutEngine.h */, + A9015D8019A9E8E800F7FC7D /* IndicRearrangement.h */, + A9015D8119A9E8E800F7FC7D /* IndicRearrangementProcessor.cpp */, + A9015D8219A9E8E800F7FC7D /* IndicRearrangementProcessor.h */, + A9015D8319A9E8E800F7FC7D /* IndicRearrangementProcessor2.cpp */, + A9015D8419A9E8E800F7FC7D /* IndicRearrangementProcessor2.h */, + A9015D8519A9E8E800F7FC7D /* IndicReordering.cpp */, + A9015D8619A9E8E800F7FC7D /* IndicReordering.h */, + A9015D8719A9E8E800F7FC7D /* KernTable.cpp */, + A9015D8819A9E8E800F7FC7D /* KernTable.h */, + A9015D8919A9E8E800F7FC7D /* KhmerLayoutEngine.cpp */, + A9015D8A19A9E8E800F7FC7D /* KhmerLayoutEngine.h */, + A9015D8B19A9E8E800F7FC7D /* KhmerReordering.cpp */, + A9015D8C19A9E8E800F7FC7D /* KhmerReordering.h */, + A9015D9019A9E8E800F7FC7D /* LayoutEngine.cpp */, + A9015D9119A9E8E800F7FC7D /* LayoutEngine.h */, + A9015D9219A9E8E800F7FC7D /* LayoutTables.h */, + A9015D9319A9E8E800F7FC7D /* LEFontInstance.cpp */, + A9015D9419A9E8E800F7FC7D /* LEFontInstance.h */, + A9015D9519A9E8E800F7FC7D /* LEGlyphFilter.h */, + A9015D9619A9E8E800F7FC7D /* LEGlyphStorage.cpp */, + A9015D9719A9E8E800F7FC7D /* LEGlyphStorage.h */, + A9015D9819A9E8E800F7FC7D /* LEInsertionList.cpp */, + A9015D9919A9E8E800F7FC7D /* LEInsertionList.h */, + A9015D9A19A9E8E800F7FC7D /* LELanguages.h */, + A9015D9B19A9E8E800F7FC7D /* LEScripts.h */, + A9015D9C19A9E8E800F7FC7D /* LESwaps.h */, + A9015D9D19A9E8E800F7FC7D /* LETableReference.h */, + A9015D9E19A9E8E800F7FC7D /* LETypes.h */, + A9015D9F19A9E8E800F7FC7D /* LigatureSubstitution.h */, + A9015DA019A9E8E800F7FC7D /* LigatureSubstProc.cpp */, + A9015DA119A9E8E800F7FC7D /* LigatureSubstProc.h */, + A9015DA219A9E8E800F7FC7D /* LigatureSubstProc2.cpp */, + A9015DA319A9E8E800F7FC7D /* LigatureSubstProc2.h */, + A9015DA419A9E8E800F7FC7D /* LigatureSubstSubtables.cpp */, + A9015DA519A9E8E800F7FC7D /* LigatureSubstSubtables.h */, + A9015DA619A9E8E800F7FC7D /* loengine.cpp */, + A9015DA719A9E8E800F7FC7D /* loengine.h */, + A9015DA819A9E8E800F7FC7D /* LookupProcessor.cpp */, + A9015DA919A9E8E800F7FC7D /* LookupProcessor.h */, + A9015DAA19A9E8E800F7FC7D /* Lookups.cpp */, + A9015DAB19A9E8E800F7FC7D /* Lookups.h */, + A9015DAC19A9E8E800F7FC7D /* LookupTables.cpp */, + A9015DAD19A9E8E800F7FC7D /* LookupTables.h */, + A9015DB019A9E8E800F7FC7D /* MarkArrays.cpp */, + A9015DB119A9E8E800F7FC7D /* MarkArrays.h */, + A9015DB219A9E8E800F7FC7D /* MarkToBasePosnSubtables.cpp */, + A9015DB319A9E8E800F7FC7D /* MarkToBasePosnSubtables.h */, + A9015DB419A9E8E800F7FC7D /* MarkToLigaturePosnSubtables.cpp */, + A9015DB519A9E8E800F7FC7D /* MarkToLigaturePosnSubtables.h */, + A9015DB619A9E8E800F7FC7D /* MarkToMarkPosnSubtables.cpp */, + A9015DB719A9E8E800F7FC7D /* MarkToMarkPosnSubtables.h */, + A9015DB819A9E8E800F7FC7D /* MirroredCharData.cpp */, + A9015DB919A9E8E800F7FC7D /* MorphStateTables.h */, + A9015DBA19A9E8E900F7FC7D /* MorphTables.cpp */, + A9015DBB19A9E8E900F7FC7D /* MorphTables.h */, + A9015DBC19A9E8E900F7FC7D /* MorphTables2.cpp */, + A9015DBD19A9E8E900F7FC7D /* MPreFixups.cpp */, + A9015DBE19A9E8E900F7FC7D /* MPreFixups.h */, + A9015DBF19A9E8E900F7FC7D /* MultipleSubstSubtables.cpp */, + A9015DC019A9E8E900F7FC7D /* MultipleSubstSubtables.h */, + A9015DC119A9E8E900F7FC7D /* NonContextualGlyphSubst.h */, + A9015DC219A9E8E900F7FC7D /* NonContextualGlyphSubstProc.cpp */, + A9015DC319A9E8E900F7FC7D /* NonContextualGlyphSubstProc.h */, + A9015DC419A9E8E900F7FC7D /* NonContextualGlyphSubstProc2.cpp */, + A9015DC519A9E8E900F7FC7D /* NonContextualGlyphSubstProc2.h */, + A9015DC619A9E8E900F7FC7D /* OpenTypeLayoutEngine.cpp */, + A9015DC719A9E8E900F7FC7D /* OpenTypeLayoutEngine.h */, + A9015DC819A9E8E900F7FC7D /* OpenTypeTables.h */, + A9015DC919A9E8E900F7FC7D /* OpenTypeUtilities.cpp */, + A9015DCA19A9E8E900F7FC7D /* OpenTypeUtilities.h */, + A9015DCB19A9E8E900F7FC7D /* PairPositioningSubtables.cpp */, + A9015DCC19A9E8E900F7FC7D /* PairPositioningSubtables.h */, + A9015DCD19A9E8E900F7FC7D /* ScriptAndLanguage.cpp */, + A9015DCE19A9E8E900F7FC7D /* ScriptAndLanguage.h */, + A9015DCF19A9E8E900F7FC7D /* ScriptAndLanguageTags.cpp */, + A9015DD019A9E8E900F7FC7D /* ScriptAndLanguageTags.h */, + A9015DD119A9E8E900F7FC7D /* SegmentArrayProcessor.cpp */, + A9015DD219A9E8E900F7FC7D /* SegmentArrayProcessor.h */, + A9015DD319A9E8E900F7FC7D /* SegmentArrayProcessor2.cpp */, + A9015DD419A9E8E900F7FC7D /* SegmentArrayProcessor2.h */, + A9015DD519A9E8E900F7FC7D /* SegmentSingleProcessor.cpp */, + A9015DD619A9E8E900F7FC7D /* SegmentSingleProcessor.h */, + A9015DD719A9E8E900F7FC7D /* SegmentSingleProcessor2.cpp */, + A9015DD819A9E8E900F7FC7D /* SegmentSingleProcessor2.h */, + A9015DD919A9E8E900F7FC7D /* ShapingTypeData.cpp */, + A9015DDA19A9E8E900F7FC7D /* SimpleArrayProcessor.cpp */, + A9015DDB19A9E8E900F7FC7D /* SimpleArrayProcessor.h */, + A9015DDC19A9E8E900F7FC7D /* SimpleArrayProcessor2.cpp */, + A9015DDD19A9E8E900F7FC7D /* SimpleArrayProcessor2.h */, + A9015DDE19A9E8E900F7FC7D /* SinglePositioningSubtables.cpp */, + A9015DDF19A9E8E900F7FC7D /* SinglePositioningSubtables.h */, + A9015DE019A9E8E900F7FC7D /* SingleSubstitutionSubtables.cpp */, + A9015DE119A9E8E900F7FC7D /* SingleSubstitutionSubtables.h */, + A9015DE219A9E8E900F7FC7D /* SingleTableProcessor.cpp */, + A9015DE319A9E8E900F7FC7D /* SingleTableProcessor.h */, + A9015DE419A9E8E900F7FC7D /* SingleTableProcessor2.cpp */, + A9015DE519A9E8E900F7FC7D /* SingleTableProcessor2.h */, + A9015DE619A9E8E900F7FC7D /* StateTableProcessor.cpp */, + A9015DE719A9E8E900F7FC7D /* StateTableProcessor.h */, + A9015DE819A9E8E900F7FC7D /* StateTableProcessor2.cpp */, + A9015DE919A9E8E900F7FC7D /* StateTableProcessor2.h */, + A9015DEA19A9E8E900F7FC7D /* StateTables.h */, + A9015DEB19A9E8E900F7FC7D /* SubstitutionLookups.cpp */, + A9015DEC19A9E8E900F7FC7D /* SubstitutionLookups.h */, + A9015DED19A9E8E900F7FC7D /* SubtableProcessor.cpp */, + A9015DEE19A9E8E900F7FC7D /* SubtableProcessor.h */, + A9015DEF19A9E8E900F7FC7D /* SubtableProcessor2.cpp */, + A9015DF019A9E8E900F7FC7D /* SubtableProcessor2.h */, + A9015DF119A9E8E900F7FC7D /* ThaiLayoutEngine.cpp */, + A9015DF219A9E8E900F7FC7D /* ThaiLayoutEngine.h */, + A9015DF319A9E8E900F7FC7D /* ThaiShaping.cpp */, + A9015DF419A9E8E900F7FC7D /* ThaiShaping.h */, + A9015DF519A9E8E900F7FC7D /* ThaiStateTables.cpp */, + A9015DF619A9E8E900F7FC7D /* TibetanLayoutEngine.cpp */, + A9015DF719A9E8E900F7FC7D /* TibetanLayoutEngine.h */, + A9015DF819A9E8E900F7FC7D /* TibetanReordering.cpp */, + A9015DF919A9E8E900F7FC7D /* TibetanReordering.h */, + A9015DFA19A9E8E900F7FC7D /* TrimmedArrayProcessor.cpp */, + A9015DFB19A9E8E900F7FC7D /* TrimmedArrayProcessor.h */, + A9015DFC19A9E8E900F7FC7D /* TrimmedArrayProcessor2.cpp */, + A9015DFD19A9E8E900F7FC7D /* TrimmedArrayProcessor2.h */, + A9015DFE19A9E8E900F7FC7D /* ValueRecords.cpp */, + A9015DFF19A9E8E900F7FC7D /* ValueRecords.h */, + ); + path = layout; + sourceTree = "<group>"; + }; + A90169D619AA169300F7FC7D /* stubdata */ = { + isa = PBXGroup; + children = ( + A90169D719AA16A600F7FC7D /* stubdata.c */, + ); + name = stubdata; + sourceTree = "<group>"; + }; A94EAE72117B32AF0018B06F /* Services */ = { isa = PBXGroup; children = ( @@ -1530,6 +3720,8 @@ A954A7EB13EE96FC0094E3FE /* Sword */ = { isa = PBXGroup; children = ( + 0A1F16991FBB70E200E0AEFA /* flatapi.cpp */, + A9A1291B19DF144D005BCBC1 /* include */, A954A7F313EE98570094E3FE /* Deps */, A954A7F513EE98B30094E3FE /* src */, ); @@ -1539,6 +3731,7 @@ A954A7F313EE98570094E3FE /* Deps */ = { isa = PBXGroup; children = ( + A90152A219A9E8E100F7FC7D /* icu */, A954A9E013EE9A2B0094E3FE /* clucene */, ); name = Deps; @@ -1628,6 +3821,7 @@ A954A83A13EE98B30094E3FE /* rawfiles */, A954A83E13EE98B30094E3FE /* swcom.cpp */, A954A83F13EE98B30094E3FE /* zcom */, + A982037019A09AE500DD808C /* zcom4 */, ); path = comments; sourceTree = "<group>"; @@ -1667,8 +3861,6 @@ A954A83F13EE98B30094E3FE /* zcom */ = { isa = PBXGroup; children = ( - A954A84013EE98B30094E3FE /* Makefile */, - A954A84113EE98B30094E3FE /* Makefile.am */, A954A84213EE98B30094E3FE /* zcom.cpp */, ); path = zcom; @@ -1678,7 +3870,6 @@ isa = PBXGroup; children = ( A999FF3917951C8900E65919 /* bz2comprs.cpp */, - A999FF3A17951C8900E65919 /* xzcomprs.cpp */, A954A84513EE98B30094E3FE /* entriesblk.cpp */, A954A84613EE98B30094E3FE /* lzsscomprs.cpp */, A954A84913EE98B30094E3FE /* rawstr.cpp */, @@ -1691,6 +3882,7 @@ A954A85113EE98B30094E3FE /* zipcomprs.cpp */, A954A85213EE98B30094E3FE /* zstr.cpp */, A954A85313EE98B30094E3FE /* zverse.cpp */, + A982037719A09B5C00DD808C /* zverse4.cpp */, ); path = common; sourceTree = "<group>"; @@ -1698,10 +3890,15 @@ A954A85413EE98B30094E3FE /* filters */ = { isa = PBXGroup; children = ( - A999FF3D17951CA000E65919 /* scsuutf8.cpp */, + A982039D19A0A5FA00DD808C /* scsuutf8.cpp */, + A982039E19A0A5FA00DD808C /* utf8scsu.cpp */, + A982037919A09B7800DD808C /* gbflatex.cpp */, + A982037A19A09B7800DD808C /* osislatex.cpp */, + A982037B19A09B7800DD808C /* osisxlit.cpp */, + A982037C19A09B7800DD808C /* teilatex.cpp */, + A982037D19A09B7800DD808C /* thmllatex.cpp */, A96C2353176AF19C008D714B /* osisenum.cpp */, A96C2354176AF19C008D714B /* osisglosses.cpp */, - A96C2355176AF19C008D714B /* osisxlit.cpp */, A96C2355176AF19C008D714B /* osisreferencelinks.cpp */, A9E9C5ED16806A2B00ECEB39 /* teixhtml.cpp */, A954A85513EE98B30094E3FE /* cipherfil.cpp */, @@ -1846,6 +4043,7 @@ A954A8C713EE98B30094E3FE /* rawtext4 */, A954A8CA13EE98B30094E3FE /* swtext.cpp */, A954A8CB13EE98B30094E3FE /* ztext */, + A982038519A09BC000DD808C /* ztext4 */, ); path = texts; sourceTree = "<group>"; @@ -1877,9 +4075,9 @@ A954A8CF13EE98B30094E3FE /* utilfuns */ = { isa = PBXGroup; children = ( + A9BB673F1C6BCD9600EB1A49 /* zlib */, A954A8D013EE98B30094E3FE /* ftplib.c */, A954A8D113EE98B30094E3FE /* ftpparse.c */, - A954A8D413EE98B30094E3FE /* regex.c */, A954A8D513EE98B30094E3FE /* roman.cpp */, A954A8D613EE98B30094E3FE /* swbuf.cpp */, A954A8D713EE98B30094E3FE /* swobject.cpp */, @@ -1887,34 +4085,10 @@ A954A8DA13EE98B30094E3FE /* url.cpp */, A954A8DB13EE98B30094E3FE /* utilstr.cpp */, A954A8DC13EE98B30094E3FE /* utilxml.cpp */, - A954A8E013EE98B30094E3FE /* zlib */, ); path = utilfuns; sourceTree = "<group>"; }; - A954A8E013EE98B30094E3FE /* zlib */ = { - isa = PBXGroup; - children = ( - A96C233E176AF139008D714B /* gzclose.c */, - A96C2340176AF139008D714B /* gzlib.c */, - A96C2341176AF139008D714B /* gzread.c */, - A96C2342176AF139008D714B /* gzwrite.c */, - A96C2343176AF139008D714B /* infback.c */, - A954A8E113EE98B30094E3FE /* adler32.c */, - A954A8E213EE98B30094E3FE /* compress.c */, - A954A8E313EE98B30094E3FE /* crc32.c */, - A954A8E413EE98B30094E3FE /* deflate.c */, - A954A8EB13EE98B30094E3FE /* inffast.c */, - A954A8EE13EE98B30094E3FE /* inflate.c */, - A954A8EF13EE98B30094E3FE /* inftrees.c */, - A954A8F413EE98B30094E3FE /* trees.c */, - A954A8F613EE98B30094E3FE /* uncompr.c */, - A954A8F713EE98B30094E3FE /* untgz.c */, - A954A8F813EE98B30094E3FE /* zutil.c */, - ); - path = zlib; - sourceTree = "<group>"; - }; A954A9E013EE9A2B0094E3FE /* clucene */ = { isa = PBXGroup; children = ( @@ -2268,10 +4442,272 @@ path = ../../utilities; sourceTree = SOURCE_ROOT; }; + A982037019A09AE500DD808C /* zcom4 */ = { + isa = PBXGroup; + children = ( + A982037319A09AE500DD808C /* zcom4.cpp */, + ); + path = zcom4; + sourceTree = "<group>"; + }; + A982038519A09BC000DD808C /* ztext4 */ = { + isa = PBXGroup; + children = ( + A982038819A09BC000DD808C /* ztext4.cpp */, + ); + path = ztext4; + sourceTree = "<group>"; + }; + A995E6251C876E9700843E13 /* TestResources */ = { + isa = PBXGroup; + children = ( + A995E6231C876E8900843E13 /* TestModules */, + ); + name = TestResources; + sourceTree = "<group>"; + }; + A9A1291B19DF144D005BCBC1 /* include */ = { + isa = PBXGroup; + children = ( + A9A94A351DCB21AB00F69260 /* canon_calvin.h */, + A9A94A361DCB21AB00F69260 /* canon_darbyfr.h */, + A9A94A371DCB21AB00F69260 /* canon_segond.h */, + A9A1291C19DF144D005BCBC1 /* bz2comprs.h */, + A9A1291D19DF144D005BCBC1 /* canon.h */, + A9A1291E19DF144D005BCBC1 /* canon_abbrevs.h */, + A9A1291F19DF144D005BCBC1 /* canon_catholic.h */, + A9A1292019DF144D005BCBC1 /* canon_catholic2.h */, + A9A1292119DF144D005BCBC1 /* canon_german.h */, + A9A1292219DF144D005BCBC1 /* canon_kjva.h */, + A9A1292319DF144D005BCBC1 /* canon_leningrad.h */, + A9A1292419DF144D005BCBC1 /* canon_luther.h */, + A9A1292519DF144D005BCBC1 /* canon_lxx.h */, + A9A1292619DF144D005BCBC1 /* canon_mt.h */, + A9A1292719DF144D005BCBC1 /* canon_nrsv.h */, + A9A1292819DF144D005BCBC1 /* canon_nrsva.h */, + A9A1292919DF144D005BCBC1 /* canon_null.h */, + A9A1292A19DF144D005BCBC1 /* canon_orthodox.h */, + A9A1292B19DF144D005BCBC1 /* canon_synodal.h */, + A9A1292C19DF144D005BCBC1 /* canon_synodalprot.h */, + A9A1292D19DF144D005BCBC1 /* canon_vulg.h */, + A9A1292E19DF144D005BCBC1 /* cipherfil.h */, + A9A1293019DF144D005BCBC1 /* curlftpt.h */, + A9A1293119DF144D005BCBC1 /* curlhttpt.h */, + A9A1293219DF144D005BCBC1 /* defs.h */, + A9A1293319DF144D005BCBC1 /* echomod.h */, + A9A1293419DF144D005BCBC1 /* encfiltmgr.h */, + A9A1293519DF144D005BCBC1 /* entriesblk.h */, + A9A1293619DF144D005BCBC1 /* femain.h */, + A9A1293719DF144D005BCBC1 /* filemgr.h */, + A9A1293819DF144D005BCBC1 /* flatapi.h */, + A9A1293919DF144D005BCBC1 /* ftplib.h */, + A9A1293A19DF144D005BCBC1 /* ftplibftpt.h */, + A9A1293B19DF144D005BCBC1 /* ftpparse.h */, + A9A1293C19DF144D005BCBC1 /* gbffootnotes.h */, + A9A1293D19DF144D005BCBC1 /* gbfheadings.h */, + A9A1293E19DF144D005BCBC1 /* gbfhtml.h */, + A9A1293F19DF144D005BCBC1 /* gbfhtmlhref.h */, + A9A1294019DF144D005BCBC1 /* gbflatex.h */, + A9A1294119DF144D005BCBC1 /* gbfmorph.h */, + A9A1294219DF144D005BCBC1 /* gbfosis.h */, + A9A1294319DF144D005BCBC1 /* gbfplain.h */, + A9A1294419DF144D005BCBC1 /* gbfredletterwords.h */, + A9A1294519DF144D005BCBC1 /* gbfrtf.h */, + A9A1294619DF144D005BCBC1 /* gbfstrongs.h */, + A9A1294719DF144D005BCBC1 /* gbfthml.h */, + A9A1294819DF144D005BCBC1 /* gbfwebif.h */, + A9A1294919DF144D005BCBC1 /* gbfwordjs.h */, + A9A1294A19DF144D005BCBC1 /* gbfxhtml.h */, + A9A1294B19DF144D005BCBC1 /* greeklexattribs.h */, + A9A1294C19DF144D005BCBC1 /* hebrewmcim.h */, + A9A1294D19DF144D005BCBC1 /* hrefcom.h */, + A9A1294E19DF144D005BCBC1 /* installmgr.h */, + A9A1294F19DF144D005BCBC1 /* internal */, + A9A1295219DF144D005BCBC1 /* latin1utf16.h */, + A9A1295319DF144D005BCBC1 /* latin1utf8.h */, + A9A1295419DF144D005BCBC1 /* listkey.h */, + A9A1295519DF144D005BCBC1 /* localemgr.h */, + A9A1295619DF144D005BCBC1 /* lzsscomprs.h */, + A9A1295919DF144D005BCBC1 /* markupfiltmgr.h */, + A9A1295A19DF144D005BCBC1 /* multimapwdef.h */, + A9A1295B19DF144D005BCBC1 /* nullim.h */, + A9A1295C19DF144D005BCBC1 /* osisenum.h */, + A9A1295D19DF144D005BCBC1 /* osisfootnotes.h */, + A9A1295E19DF144D005BCBC1 /* osisglosses.h */, + A9A1295F19DF144D005BCBC1 /* osisheadings.h */, + A9A1296019DF144D005BCBC1 /* osishtmlhref.h */, + A9A1296119DF144D005BCBC1 /* osislatex.h */, + A9A1296219DF144D005BCBC1 /* osislemma.h */, + A9A1296319DF144D005BCBC1 /* osismorph.h */, + A9A1296419DF144D005BCBC1 /* osismorphsegmentation.h */, + A9A1296519DF144D005BCBC1 /* osisosis.h */, + A9A1296619DF144D005BCBC1 /* osisplain.h */, + A9A1296719DF144D005BCBC1 /* osisredletterwords.h */, + A9A1296819DF144D005BCBC1 /* osisreferencelinks.h */, + A9A1296919DF144D005BCBC1 /* osisrtf.h */, + A9A1296A19DF144D005BCBC1 /* osisscripref.h */, + A9A1296B19DF144D005BCBC1 /* osisstrongs.h */, + A9A1296C19DF144D005BCBC1 /* osisvariants.h */, + A9A1296D19DF144D005BCBC1 /* osiswebif.h */, + A9A1296E19DF144D005BCBC1 /* osiswordjs.h */, + A9A1296F19DF144D005BCBC1 /* osisxhtml.h */, + A9A1297019DF144D005BCBC1 /* osisxlit.h */, + A9A1297119DF144D005BCBC1 /* papyriplain.h */, + A9A1297219DF144D005BCBC1 /* rawcom.h */, + A9A1297319DF144D005BCBC1 /* rawcom4.h */, + A9A1297419DF144D005BCBC1 /* rawfiles.h */, + A9A1297519DF144D005BCBC1 /* rawgenbook.h */, + A9A1297619DF144D005BCBC1 /* rawld.h */, + A9A1297719DF144D005BCBC1 /* rawld4.h */, + A9A1297819DF144D005BCBC1 /* rawstr.h */, + A9A1297919DF144D005BCBC1 /* rawstr4.h */, + A9A1297A19DF144D005BCBC1 /* rawtext.h */, + A9A1297B19DF144D005BCBC1 /* rawtext4.h */, + A9A1297C19DF144D005BCBC1 /* rawverse.h */, + A9A1297D19DF144D005BCBC1 /* rawverse4.h */, + A9A1297E19DF144D005BCBC1 /* remotetrans.h */, + A9A1297F19DF144D005BCBC1 /* roman.h */, + A9A1298019DF144D005BCBC1 /* rtfhtml.h */, + A9A1298119DF144D005BCBC1 /* sapphire.h */, + A9A1298219DF144D005BCBC1 /* scsuutf8.h */, + A9A1298419DF144D005BCBC1 /* stringmgr.h */, + A9A1298519DF144D005BCBC1 /* strkey.h */, + A9A1298619DF144D005BCBC1 /* swbasicfilter.h */, + A9A1298719DF144D005BCBC1 /* swbuf.h */, + A9A1298819DF144D005BCBC1 /* swcacher.h */, + A9A1298919DF144D005BCBC1 /* swcipher.h */, + A9A1298A19DF144D005BCBC1 /* swcom.h */, + A9A1298B19DF144D005BCBC1 /* swcomprs.h */, + A9A1298C19DF144D005BCBC1 /* swconfig.h */, + A9A1298D19DF144D005BCBC1 /* swdisp.h */, + A9A1298E19DF144D005BCBC1 /* swfilter.h */, + A9A1298F19DF144D005BCBC1 /* swfiltermgr.h */, + A9A1299019DF144D005BCBC1 /* swgenbook.h */, + A9A1299119DF144D005BCBC1 /* swinputmeth.h */, + A9A1299219DF144D005BCBC1 /* swkey.h */, + A9A1299319DF144D005BCBC1 /* swld.h */, + A9A1299419DF144D005BCBC1 /* swlocale.h */, + A9A1299519DF144D005BCBC1 /* swlog.h */, + A9A1299619DF144D005BCBC1 /* swmacs.h */, + A9A1299719DF144D005BCBC1 /* swmgr.h */, + A9A1299819DF144D005BCBC1 /* swmodule.h */, + A9A1299919DF144D005BCBC1 /* swobject.h */, + A9A1299A19DF144D005BCBC1 /* swoptfilter.h */, + A9A1299C19DF144D005BCBC1 /* swsearchable.h */, + A9A1299D19DF144D005BCBC1 /* swtext.h */, + A9A1299E19DF144D005BCBC1 /* swversion.h */, + A9A129A019DF144D005BCBC1 /* sysdata.h */, + A9A129A119DF144D005BCBC1 /* teihtmlhref.h */, + A9A129A219DF144D005BCBC1 /* teilatex.h */, + A9A129A319DF144D005BCBC1 /* teiplain.h */, + A9A129A419DF144D005BCBC1 /* teirtf.h */, + A9A129A519DF144D005BCBC1 /* teixhtml.h */, + A9A129A619DF144D005BCBC1 /* thmlfootnotes.h */, + A9A129A719DF144D005BCBC1 /* thmlgbf.h */, + A9A129A819DF144D005BCBC1 /* thmlheadings.h */, + A9A129A919DF144D005BCBC1 /* thmlhtml.h */, + A9A129AA19DF144D005BCBC1 /* thmlhtmlhref.h */, + A9A129AB19DF144D005BCBC1 /* thmllatex.h */, + A9A129AC19DF144D005BCBC1 /* thmllemma.h */, + A9A129AD19DF144D005BCBC1 /* thmlmorph.h */, + A9A129AE19DF144D005BCBC1 /* thmlosis.h */, + A9A129AF19DF144D005BCBC1 /* thmlplain.h */, + A9A129B019DF144D005BCBC1 /* thmlrtf.h */, + A9A129B119DF144D005BCBC1 /* thmlscripref.h */, + A9A129B219DF144D005BCBC1 /* thmlstrongs.h */, + A9A129B319DF144D005BCBC1 /* thmlvariants.h */, + A9A129B419DF144D005BCBC1 /* thmlwebif.h */, + A9A129B519DF144D005BCBC1 /* thmlwordjs.h */, + A9A129B619DF144D005BCBC1 /* thmlxhtml.h */, + A9A129B719DF144D005BCBC1 /* treekey.h */, + A9A129B819DF144D005BCBC1 /* treekeyidx.h */, + A9A129B919DF144D005BCBC1 /* unicodertf.h */, + A9A129BA19DF144D005BCBC1 /* untgz.h */, + A9A129BB19DF144D005BCBC1 /* url.h */, + A9A129BC19DF144D005BCBC1 /* utf16utf8.h */, + A9A129BD19DF144D005BCBC1 /* utf8arabicpoints.h */, + A9A129BE19DF144D005BCBC1 /* utf8arshaping.h */, + A9A129BF19DF144D005BCBC1 /* utf8bidireorder.h */, + A9A129C019DF144D005BCBC1 /* utf8cantillation.h */, + A9A129C119DF144D005BCBC1 /* utf8greekaccents.h */, + A9A129C219DF144D005BCBC1 /* utf8hebrewpoints.h */, + A9A129C319DF144D005BCBC1 /* utf8html.h */, + A9A129C419DF144D005BCBC1 /* utf8latin1.h */, + A9A129C519DF144D005BCBC1 /* utf8nfc.h */, + A9A129C619DF144D005BCBC1 /* utf8nfkd.h */, + A9A129C719DF144D005BCBC1 /* utf8scsu.h */, + A9A129C819DF144D005BCBC1 /* utf8transliterator.h */, + A9A129C919DF144D005BCBC1 /* utf8utf16.h */, + A9A129CA19DF144D005BCBC1 /* utilstr.h */, + A9A129CB19DF144D005BCBC1 /* utilxml.h */, + A9A129CC19DF144D005BCBC1 /* versekey.h */, + A9A129CD19DF144D005BCBC1 /* versetreekey.h */, + A9A129CE19DF144D005BCBC1 /* versificationmgr.h */, + A9A129CF19DF144D005BCBC1 /* xzcomprs.h */, + A9A129D019DF144D005BCBC1 /* zcom.h */, + A9A129D119DF144D005BCBC1 /* zcom4.h */, + A9A129D219DF144D005BCBC1 /* zconf.h */, + A9A129D319DF144D005BCBC1 /* zipcomprs.h */, + A9A129D419DF144D005BCBC1 /* zld.h */, + A9A129D519DF144D005BCBC1 /* zlib.h */, + A9A129D619DF144D005BCBC1 /* zstr.h */, + A9A129D719DF144D005BCBC1 /* ztext.h */, + A9A129D819DF144D005BCBC1 /* ztext4.h */, + A9A129D919DF144D005BCBC1 /* zverse.h */, + A9A129DA19DF144D005BCBC1 /* zverse4.h */, + ); + name = include; + path = ../../include; + sourceTree = "<group>"; + }; + A9A1294F19DF144D005BCBC1 /* internal */ = { + isa = PBXGroup; + children = ( + A9A1295019DF144D005BCBC1 /* regex */, + ); + path = internal; + sourceTree = "<group>"; + }; + A9A1295019DF144D005BCBC1 /* regex */ = { + isa = PBXGroup; + children = ( + A9A1295119DF144D005BCBC1 /* regex.h */, + ); + path = regex; + sourceTree = "<group>"; + }; + A9BB673F1C6BCD9600EB1A49 /* zlib */ = { + isa = PBXGroup; + children = ( + A9BB67401C6BCD9600EB1A49 /* adler32.c */, + A9BB67411C6BCD9600EB1A49 /* compress.c */, + A9BB67421C6BCD9600EB1A49 /* crc32.c */, + A9BB67441C6BCD9600EB1A49 /* deflate.c */, + A9BB67461C6BCD9600EB1A49 /* gzclose.c */, + A9BB67481C6BCD9600EB1A49 /* gzlib.c */, + A9BB67491C6BCD9600EB1A49 /* gzread.c */, + A9BB674A1C6BCD9600EB1A49 /* gzwrite.c */, + A9BB674B1C6BCD9600EB1A49 /* infback.c */, + A9BB674C1C6BCD9600EB1A49 /* inffast.c */, + A9BB674F1C6BCD9600EB1A49 /* inflate.c */, + A9BB67511C6BCD9600EB1A49 /* inftrees.c */, + A9BB67531C6BCD9600EB1A49 /* trees.c */, + A9BB67551C6BCD9600EB1A49 /* uncompr.c */, + A9BB67561C6BCD9600EB1A49 /* untgz.c */, + A9BB67591C6BCD9600EB1A49 /* zutil.c */, + ); + path = zlib; + sourceTree = "<group>"; + }; A9BFB0A313EDF51000032679 /* Frameworks */ = { isa = PBXGroup; children = ( - A9BFB0A413EDF51000032679 /* SenTestingKit.framework */, + A90169D419AA15D500F7FC7D /* icudt53l.dat */, + A9B77D4319A3BB3B00F34557 /* liblzma.dylib */, + A982039919A0A02C00DD808C /* libz.dylib */, + A982039719A0A02300DD808C /* libstdc++.dylib */, + A982039519A0A01200DD808C /* libicucore.dylib */, + A982039319A09FFD00DD808C /* libbz2.dylib */, A9BFB0A613EDF51100032679 /* Cocoa.framework */, A9BFB0A813EDF51100032679 /* Other Frameworks */, ); @@ -2292,22 +4728,245 @@ isa = PBXGroup; children = ( A917AF2516B1BE38006367FC /* Tests-Info.plist */, - A964658011C663E200640FAC /* SwordManagerTest.h */, - A964658111C663E200640FAC /* SwordManagerTest.m */, + A968BE4B19DFF831002C9B78 /* Tests-Bridging-Header.h */, + A995E60B1C87678B00843E13 /* TestGlobals.h */, + A995E6261C877DD000843E13 /* SwordManagerTest.m */, + A995E6091C8763B800843E13 /* SwordManagerTest.swift */, A918B8E211C6697400024D84 /* SwordModuleTest.h */, A918B8E311C6697400024D84 /* SwordModuleTest.m */, - A9BDFA7A1207FA2F0067ED5B /* SwordModuleLongRunTest.h */, - A9BDFA7B1207FA2F0067ED5B /* SwordModuleLongRunTest.mm */, A9BDFA761207F9F00067ED5B /* SwordListKeyTest.h */, A9BDFA771207F9F00067ED5B /* SwordListKeyTest.m */, + A968BE4C19DFF832002C9B78 /* SwordBibleTest.swift */, + 8C92C0CA467F3114A1DC89DD /* SwordInstallSourceManagerTest.m */, + A969DC7A1DA1289100C8E976 /* SwordLocaleManagerTest.swift */, ); name = Tests; path = test; sourceTree = "<group>"; }; + A9D8FD2B19E2EBD80055700C /* Samples */ = { + isa = PBXGroup; + children = ( + A9D8FD2C19E2EC0E0055700C /* introtest.cpp */, + ); + name = Samples; + sourceTree = "<group>"; + }; + A9EE8A8C19E286E500CFFE6A /* LongRunningTests */ = { + isa = PBXGroup; + children = ( + A9BDFA7A1207FA2F0067ED5B /* SwordModuleLongRunTest.h */, + A9BDFA7B1207FA2F0067ED5B /* SwordModuleLongRunTest.mm */, + A9EE8A8D19E286E500CFFE6A /* Supporting Files */, + ); + path = LongRunningTests; + sourceTree = "<group>"; + }; + A9EE8A8D19E286E500CFFE6A /* Supporting Files */ = { + isa = PBXGroup; + children = ( + A9EE8A8E19E286E500CFFE6A /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = "<group>"; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 0A011D9B1FB4142500778C2B /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 0A5888951FB44ABF00F7DAA3 /* thmlstrongs.h in Headers */, + 0A58887A1FB44ABE00F7DAA3 /* swlog.h in Headers */, + 0A5888981FB44ABF00F7DAA3 /* thmlwordjs.h in Headers */, + 0A5888481FB44ABE00F7DAA3 /* osislemma.h in Headers */, + 0A5888231FB44ABE00F7DAA3 /* flatapi.h in Headers */, + 0A5888341FB44ABE00F7DAA3 /* gbfwordjs.h in Headers */, + 0A58881D1FB44ABE00F7DAA3 /* defs.h in Headers */, + 0A5888671FB44ABE00F7DAA3 /* sapphire.h in Headers */, + 0A5888631FB44ABE00F7DAA3 /* rawverse4.h in Headers */, + 0A5888301FB44ABE00F7DAA3 /* gbfrtf.h in Headers */, + 0A5888491FB44ABE00F7DAA3 /* osismorph.h in Headers */, + 0A58885D1FB44ABE00F7DAA3 /* rawld4.h in Headers */, + 0A58889A1FB44ABF00F7DAA3 /* treekey.h in Headers */, + 0A5888B61FB44ABF00F7DAA3 /* zipcomprs.h in Headers */, + 0A5888971FB44ABF00F7DAA3 /* thmlwebif.h in Headers */, + 0A5888431FB44ABE00F7DAA3 /* osisfootnotes.h in Headers */, + 0A5888911FB44ABF00F7DAA3 /* thmlosis.h in Headers */, + 0A58882F1FB44ABE00F7DAA3 /* gbfredletterwords.h in Headers */, + 0A5888621FB44ABE00F7DAA3 /* rawverse.h in Headers */, + 0A5888AF1FB44ABF00F7DAA3 /* versekey.h in Headers */, + 0A5888681FB44ABE00F7DAA3 /* scsuutf8.h in Headers */, + 0A5888091FB44ABE00F7DAA3 /* canon.h in Headers */, + 0A5888111FB44ABE00F7DAA3 /* canon_lxx.h in Headers */, + 0A5888721FB44ABE00F7DAA3 /* swdisp.h in Headers */, + 0A5888401FB44ABE00F7DAA3 /* multimapwdef.h in Headers */, + 0A58882D1FB44ABE00F7DAA3 /* gbfosis.h in Headers */, + 0A58884B1FB44ABE00F7DAA3 /* osisosis.h in Headers */, + 0A5888221FB44ABE00F7DAA3 /* filemgr.h in Headers */, + 0A5888761FB44ABE00F7DAA3 /* swinputmeth.h in Headers */, + 0A5888251FB44ABE00F7DAA3 /* ftplibftpt.h in Headers */, + 0A5888891FB44ABF00F7DAA3 /* thmlfootnotes.h in Headers */, + 0A5888281FB44ABE00F7DAA3 /* gbfheadings.h in Headers */, + 0A5888851FB44ABF00F7DAA3 /* teilatex.h in Headers */, + 0A5888831FB44ABF00F7DAA3 /* sysdata.h in Headers */, + 0A5888101FB44ABE00F7DAA3 /* canon_luther.h in Headers */, + 0A5888151FB44ABE00F7DAA3 /* canon_null.h in Headers */, + 0A5888941FB44ABF00F7DAA3 /* thmlscripref.h in Headers */, + 0A5888241FB44ABE00F7DAA3 /* ftplib.h in Headers */, + 0A5888791FB44ABE00F7DAA3 /* swlocale.h in Headers */, + 0A58888E1FB44ABF00F7DAA3 /* thmllatex.h in Headers */, + 0A5888651FB44ABE00F7DAA3 /* roman.h in Headers */, + 0A58881E1FB44ABE00F7DAA3 /* echomod.h in Headers */, + 0A58880F1FB44ABE00F7DAA3 /* canon_leningrad.h in Headers */, + 0A5888501FB44ABE00F7DAA3 /* osisscripref.h in Headers */, + 0A5888551FB44ABE00F7DAA3 /* osisxhtml.h in Headers */, + 0A58889D1FB44ABF00F7DAA3 /* untgz.h in Headers */, + 0A5888601FB44ABE00F7DAA3 /* rawtext.h in Headers */, + 0A58886A1FB44ABE00F7DAA3 /* strkey.h in Headers */, + 0A58880D1FB44ABE00F7DAA3 /* canon_german.h in Headers */, + 0A58880A1FB44ABE00F7DAA3 /* canon_abbrevs.h in Headers */, + 0A5888211FB44ABE00F7DAA3 /* femain.h in Headers */, + 0A58880B1FB44ABE00F7DAA3 /* canon_catholic.h in Headers */, + 0A5888A21FB44ABF00F7DAA3 /* utf8bidireorder.h in Headers */, + 0A5888961FB44ABF00F7DAA3 /* thmlvariants.h in Headers */, + 0A58882A1FB44ABE00F7DAA3 /* gbfhtmlhref.h in Headers */, + 0A58886E1FB44ABE00F7DAA3 /* swcipher.h in Headers */, + 0A5888BA1FB44ABF00F7DAA3 /* ztext.h in Headers */, + 0A5888BC1FB44ABF00F7DAA3 /* zverse.h in Headers */, + 0A5888351FB44ABE00F7DAA3 /* gbfxhtml.h in Headers */, + 0A5888A91FB44ABF00F7DAA3 /* utf8nfkd.h in Headers */, + 0A5888451FB44ABE00F7DAA3 /* osisheadings.h in Headers */, + 0A5888881FB44ABF00F7DAA3 /* teixhtml.h in Headers */, + 0A58887B1FB44ABE00F7DAA3 /* swmacs.h in Headers */, + 0A58884C1FB44ABE00F7DAA3 /* osisplain.h in Headers */, + 0A58883C1FB44ABE00F7DAA3 /* listkey.h in Headers */, + 0A5888291FB44ABE00F7DAA3 /* gbfhtml.h in Headers */, + 0A5888181FB44ABE00F7DAA3 /* canon_synodalprot.h in Headers */, + 0A5888811FB44ABF00F7DAA3 /* swtext.h in Headers */, + 0A58880C1FB44ABE00F7DAA3 /* canon_catholic2.h in Headers */, + 0A5888131FB44ABE00F7DAA3 /* canon_nrsv.h in Headers */, + 0A5888771FB44ABE00F7DAA3 /* swkey.h in Headers */, + 0A5888321FB44ABE00F7DAA3 /* gbfthml.h in Headers */, + 0A58887E1FB44ABE00F7DAA3 /* swobject.h in Headers */, + 0A5888201FB44ABE00F7DAA3 /* entriesblk.h in Headers */, + 0A5888B81FB44ABF00F7DAA3 /* zlib.h in Headers */, + 0A5888B41FB44ABF00F7DAA3 /* zcom4.h in Headers */, + 0A5888B51FB44ABF00F7DAA3 /* zconf.h in Headers */, + 0A58886B1FB44ABE00F7DAA3 /* swbasicfilter.h in Headers */, + 0A58880E1FB44ABE00F7DAA3 /* canon_kjva.h in Headers */, + 0A58888A1FB44ABF00F7DAA3 /* thmlgbf.h in Headers */, + 0A58883D1FB44ABE00F7DAA3 /* localemgr.h in Headers */, + 0A5888701FB44ABE00F7DAA3 /* swcomprs.h in Headers */, + 0A58889F1FB44ABF00F7DAA3 /* utf16utf8.h in Headers */, + 0A58887C1FB44ABE00F7DAA3 /* swmgr.h in Headers */, + 0A5888AA1FB44ABF00F7DAA3 /* utf8scsu.h in Headers */, + 0A5888081FB44ABE00F7DAA3 /* bz2comprs.h in Headers */, + 0A5888421FB44ABE00F7DAA3 /* osisenum.h in Headers */, + 0A5888A61FB44ABF00F7DAA3 /* utf8html.h in Headers */, + 0A58888B1FB44ABF00F7DAA3 /* thmlheadings.h in Headers */, + 0A5888191FB44ABE00F7DAA3 /* canon_vulg.h in Headers */, + 0A5888171FB44ABE00F7DAA3 /* canon_synodal.h in Headers */, + 0A5888741FB44ABE00F7DAA3 /* swfiltermgr.h in Headers */, + 0A5888531FB44ABE00F7DAA3 /* osiswebif.h in Headers */, + 0A5888BD1FB44ABF00F7DAA3 /* zverse4.h in Headers */, + 0A5888051FB44ABE00F7DAA3 /* canon_calvin.h in Headers */, + 0A58882E1FB44ABE00F7DAA3 /* gbfplain.h in Headers */, + 0A58885E1FB44ABE00F7DAA3 /* rawstr.h in Headers */, + 0A58888C1FB44ABF00F7DAA3 /* thmlhtml.h in Headers */, + 0A5888471FB44ABE00F7DAA3 /* osislatex.h in Headers */, + 0A5888A71FB44ABF00F7DAA3 /* utf8latin1.h in Headers */, + 0A5888931FB44ABF00F7DAA3 /* thmlrtf.h in Headers */, + 0A5888391FB44ABE00F7DAA3 /* installmgr.h in Headers */, + 0A5888071FB44ABE00F7DAA3 /* canon_segond.h in Headers */, + 0A5888661FB44ABE00F7DAA3 /* rtfhtml.h in Headers */, + 0A58884D1FB44ABE00F7DAA3 /* osisredletterwords.h in Headers */, + 0A5888141FB44ABE00F7DAA3 /* canon_nrsva.h in Headers */, + 0A5888261FB44ABE00F7DAA3 /* ftpparse.h in Headers */, + 0AA1DD371FB46FD00082E131 /* sword.h in Headers */, + 0A58886F1FB44ABE00F7DAA3 /* swcom.h in Headers */, + 0A5888BE1FB44ACC00F7DAA3 /* regex.h in Headers */, + 0A5888821FB44ABF00F7DAA3 /* swversion.h in Headers */, + 0A5888311FB44ABE00F7DAA3 /* gbfstrongs.h in Headers */, + 0A5888461FB44ABE00F7DAA3 /* osishtmlhref.h in Headers */, + 0A5888411FB44ABE00F7DAA3 /* nullim.h in Headers */, + 0A5888271FB44ABE00F7DAA3 /* gbffootnotes.h in Headers */, + 0A5888591FB44ABE00F7DAA3 /* rawcom4.h in Headers */, + 0A5888A81FB44ABF00F7DAA3 /* utf8nfc.h in Headers */, + 0A5888991FB44ABF00F7DAA3 /* thmlxhtml.h in Headers */, + 0A5888541FB44ABE00F7DAA3 /* osiswordjs.h in Headers */, + 0A5888781FB44ABE00F7DAA3 /* swld.h in Headers */, + 0A58888F1FB44ABF00F7DAA3 /* thmllemma.h in Headers */, + 0A5888A41FB44ABF00F7DAA3 /* utf8greekaccents.h in Headers */, + 0A58881F1FB44ABE00F7DAA3 /* encfiltmgr.h in Headers */, + 0A5888AE1FB44ABF00F7DAA3 /* utilxml.h in Headers */, + 0A5888571FB44ABE00F7DAA3 /* papyriplain.h in Headers */, + 0A58885A1FB44ABE00F7DAA3 /* rawfiles.h in Headers */, + 0A5888561FB44ABE00F7DAA3 /* osisxlit.h in Headers */, + 0A5888871FB44ABF00F7DAA3 /* teirtf.h in Headers */, + 0A5888AC1FB44ABF00F7DAA3 /* utf8utf16.h in Headers */, + 0A5888511FB44ABE00F7DAA3 /* osisstrongs.h in Headers */, + 0A5888A31FB44ABF00F7DAA3 /* utf8cantillation.h in Headers */, + 0A5888731FB44ABE00F7DAA3 /* swfilter.h in Headers */, + 0A58885B1FB44ABE00F7DAA3 /* rawgenbook.h in Headers */, + 0A58884E1FB44ABE00F7DAA3 /* osisreferencelinks.h in Headers */, + 0A5888B01FB44ABF00F7DAA3 /* versetreekey.h in Headers */, + 0A5888861FB44ABF00F7DAA3 /* teiplain.h in Headers */, + 0A58888D1FB44ABF00F7DAA3 /* thmlhtmlhref.h in Headers */, + 0A5888371FB44ABE00F7DAA3 /* hebrewmcim.h in Headers */, + 0A58882C1FB44ABE00F7DAA3 /* gbfmorph.h in Headers */, + 0A5888121FB44ABE00F7DAA3 /* canon_mt.h in Headers */, + 0A58883A1FB44ABE00F7DAA3 /* latin1utf16.h in Headers */, + 0A5888B31FB44ABF00F7DAA3 /* zcom.h in Headers */, + 0A58884A1FB44ABE00F7DAA3 /* osismorphsegmentation.h in Headers */, + 0A5888B11FB44ABF00F7DAA3 /* versificationmgr.h in Headers */, + 0A58889E1FB44ABF00F7DAA3 /* url.h in Headers */, + 0A5888A11FB44ABF00F7DAA3 /* utf8arshaping.h in Headers */, + 0A5888B71FB44ABF00F7DAA3 /* zld.h in Headers */, + 0A58881B1FB44ABE00F7DAA3 /* curlftpt.h in Headers */, + 0A5888441FB44ABE00F7DAA3 /* osisglosses.h in Headers */, + 0A5888061FB44ABE00F7DAA3 /* canon_darbyfr.h in Headers */, + 0A5888641FB44ABE00F7DAA3 /* remotetrans.h in Headers */, + 0A58887D1FB44ABE00F7DAA3 /* swmodule.h in Headers */, + 0A58883F1FB44ABE00F7DAA3 /* markupfiltmgr.h in Headers */, + 0A5888841FB44ABF00F7DAA3 /* teihtmlhref.h in Headers */, + 0A5888B21FB44ABF00F7DAA3 /* xzcomprs.h in Headers */, + 0A5888691FB44ABE00F7DAA3 /* stringmgr.h in Headers */, + 0A5888BB1FB44ABF00F7DAA3 /* ztext4.h in Headers */, + 0A5888581FB44ABE00F7DAA3 /* rawcom.h in Headers */, + 0A58886D1FB44ABE00F7DAA3 /* swcacher.h in Headers */, + 0A5888381FB44ABE00F7DAA3 /* hrefcom.h in Headers */, + 0A5888161FB44ABE00F7DAA3 /* canon_orthodox.h in Headers */, + 0A5888A51FB44ABF00F7DAA3 /* utf8hebrewpoints.h in Headers */, + 0A58885C1FB44ABE00F7DAA3 /* rawld.h in Headers */, + 0A58885F1FB44ABE00F7DAA3 /* rawstr4.h in Headers */, + 0A5888801FB44ABF00F7DAA3 /* swsearchable.h in Headers */, + 0A58889C1FB44ABF00F7DAA3 /* unicodertf.h in Headers */, + 0A5888901FB44ABF00F7DAA3 /* thmlmorph.h in Headers */, + 0A58889B1FB44ABF00F7DAA3 /* treekeyidx.h in Headers */, + 0A58883B1FB44ABE00F7DAA3 /* latin1utf8.h in Headers */, + 0A5888611FB44ABE00F7DAA3 /* rawtext4.h in Headers */, + 0A5888711FB44ABE00F7DAA3 /* swconfig.h in Headers */, + 0A5888921FB44ABF00F7DAA3 /* thmlplain.h in Headers */, + 0A5888521FB44ABE00F7DAA3 /* osisvariants.h in Headers */, + 0A58887F1FB44ABE00F7DAA3 /* swoptfilter.h in Headers */, + 0A5888B91FB44ABF00F7DAA3 /* zstr.h in Headers */, + 0A58883E1FB44ABE00F7DAA3 /* lzsscomprs.h in Headers */, + 0A5888331FB44ABE00F7DAA3 /* gbfwebif.h in Headers */, + 0A5888AB1FB44ABF00F7DAA3 /* utf8transliterator.h in Headers */, + 0A58886C1FB44ABE00F7DAA3 /* swbuf.h in Headers */, + 0A58882B1FB44ABE00F7DAA3 /* gbflatex.h in Headers */, + 0A5888361FB44ABE00F7DAA3 /* greeklexattribs.h in Headers */, + 0A58884F1FB44ABE00F7DAA3 /* osisrtf.h in Headers */, + 0A5888A01FB44ABF00F7DAA3 /* utf8arabicpoints.h in Headers */, + 0A5888AD1FB44ABF00F7DAA3 /* utilstr.h in Headers */, + 0A58881A1FB44ABE00F7DAA3 /* cipherfil.h in Headers */, + 0A5888751FB44ABE00F7DAA3 /* swgenbook.h in Headers */, + 0A58881C1FB44ABE00F7DAA3 /* curlhttpt.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 8DC2EF500486A6940098B216 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -2316,6 +4975,192 @@ A94EAC0B117B28920018B06F /* SwordBible.h in Headers */, A94EAC0D117B28920018B06F /* SwordBibleBook.h in Headers */, A94EAC0F117B28920018B06F /* SwordBibleChapter.h in Headers */, + A9A12A2419DF1450005BCBC1 /* osisredletterwords.h in Headers */, + A9A12A3A19DF1452005BCBC1 /* rawverse4.h in Headers */, + A9A12A5719DF1455005BCBC1 /* swoptfilter.h in Headers */, + A9A12A8919DF145D005BCBC1 /* versekey.h in Headers */, + A9A12A1E19DF1450005BCBC1 /* osislatex.h in Headers */, + A9A12A8619DF145D005BCBC1 /* utf8utf16.h in Headers */, + A9A129E119DF144D005BCBC1 /* canon_kjva.h in Headers */, + A9A12A3E19DF1452005BCBC1 /* sapphire.h in Headers */, + A9A12A7819DF145A005BCBC1 /* url.h in Headers */, + A9A12A1A19DF144F005BCBC1 /* osisfootnotes.h in Headers */, + A9A12A7419DF145A005BCBC1 /* treekey.h in Headers */, + A9A12A9419DF1460005BCBC1 /* ztext.h in Headers */, + A9A12A7119DF1459005BCBC1 /* thmlwebif.h in Headers */, + A9A12A5D19DF1456005BCBC1 /* sysdata.h in Headers */, + A9A12A5919DF1456005BCBC1 /* swsearchable.h in Headers */, + A9A12A6119DF1457005BCBC1 /* teirtf.h in Headers */, + A9A12A4919DF1454005BCBC1 /* swconfig.h in Headers */, + A9A12A0E19DF144F005BCBC1 /* regex.h in Headers */, + A9A12A4719DF1453005BCBC1 /* swcom.h in Headers */, + A9A12A2219DF1450005BCBC1 /* osisosis.h in Headers */, + A9A12A2619DF1450005BCBC1 /* osisrtf.h in Headers */, + A9A12A5B19DF1456005BCBC1 /* swversion.h in Headers */, + A9A12A8F19DF145F005BCBC1 /* zconf.h in Headers */, + A9A12A7D19DF145B005BCBC1 /* utf8cantillation.h in Headers */, + A9A12A5F19DF1456005BCBC1 /* teilatex.h in Headers */, + A9A129FE19DF144E005BCBC1 /* gbfhtmlhref.h in Headers */, + A9A94A3A1DCB21AB00F69260 /* canon_segond.h in Headers */, + A9A129F319DF144D005BCBC1 /* encfiltmgr.h in Headers */, + A9A12A6F19DF1459005BCBC1 /* thmlstrongs.h in Headers */, + A9A12A2B19DF1451005BCBC1 /* osiswordjs.h in Headers */, + A9A12A7519DF145A005BCBC1 /* treekeyidx.h in Headers */, + A9A12A6B19DF1458005BCBC1 /* thmlosis.h in Headers */, + A9A129E019DF144D005BCBC1 /* canon_german.h in Headers */, + A9A12A4B19DF1454005BCBC1 /* swfilter.h in Headers */, + A9A12A5419DF1455005BCBC1 /* swmgr.h in Headers */, + A9A129F719DF144E005BCBC1 /* flatapi.h in Headers */, + A9A129FD19DF144E005BCBC1 /* gbfhtml.h in Headers */, + A9A12A8419DF145C005BCBC1 /* utf8scsu.h in Headers */, + A9A129DC19DF144D005BCBC1 /* canon.h in Headers */, + A9A12A4A19DF1454005BCBC1 /* swdisp.h in Headers */, + A9A129EA19DF144D005BCBC1 /* canon_synodal.h in Headers */, + A9A12A3519DF1452005BCBC1 /* rawstr.h in Headers */, + A9A12A7E19DF145B005BCBC1 /* utf8greekaccents.h in Headers */, + A9A12A4119DF1453005BCBC1 /* stringmgr.h in Headers */, + A9A129E719DF144D005BCBC1 /* canon_nrsva.h in Headers */, + A9A12A0C19DF144F005BCBC1 /* hrefcom.h in Headers */, + A9A12A6919DF1458005BCBC1 /* thmllemma.h in Headers */, + A9A12A2319DF1450005BCBC1 /* osisplain.h in Headers */, + A9A12A3B19DF1452005BCBC1 /* remotetrans.h in Headers */, + A9A12A3619DF1452005BCBC1 /* rawstr4.h in Headers */, + A9A12A0919DF144E005BCBC1 /* gbfxhtml.h in Headers */, + A9A129FB19DF144E005BCBC1 /* gbffootnotes.h in Headers */, + A9A12A6019DF1457005BCBC1 /* teiplain.h in Headers */, + A9A12A5019DF1455005BCBC1 /* swld.h in Headers */, + A9A12A8B19DF145E005BCBC1 /* versificationmgr.h in Headers */, + A9A12A0719DF144E005BCBC1 /* gbfwebif.h in Headers */, + A9A12A4C19DF1454005BCBC1 /* swfiltermgr.h in Headers */, + A9A12A3019DF1451005BCBC1 /* rawcom4.h in Headers */, + A9A12A5A19DF1456005BCBC1 /* swtext.h in Headers */, + A9A129F019DF144D005BCBC1 /* curlhttpt.h in Headers */, + A9A12A6619DF1457005BCBC1 /* thmlhtml.h in Headers */, + A9A12A8719DF145D005BCBC1 /* utilstr.h in Headers */, + A9A129ED19DF144D005BCBC1 /* cipherfil.h in Headers */, + A9A12A0A19DF144E005BCBC1 /* greeklexattribs.h in Headers */, + A9A12A0319DF144E005BCBC1 /* gbfredletterwords.h in Headers */, + A9A12A8119DF145C005BCBC1 /* utf8latin1.h in Headers */, + A9A12A9319DF145F005BCBC1 /* zstr.h in Headers */, + A9A12A7C19DF145B005BCBC1 /* utf8bidireorder.h in Headers */, + A9A12A9219DF145F005BCBC1 /* zlib.h in Headers */, + A9A12A2E19DF1451005BCBC1 /* papyriplain.h in Headers */, + A9A12A2919DF1450005BCBC1 /* osisvariants.h in Headers */, + A9A12A0419DF144E005BCBC1 /* gbfrtf.h in Headers */, + A9A12A7619DF145A005BCBC1 /* unicodertf.h in Headers */, + A9A129FA19DF144E005BCBC1 /* ftpparse.h in Headers */, + A9A12A7A19DF145B005BCBC1 /* utf8arabicpoints.h in Headers */, + A9A12A8A19DF145E005BCBC1 /* versetreekey.h in Headers */, + A9A12A6E19DF1459005BCBC1 /* thmlscripref.h in Headers */, + A9A12A8019DF145C005BCBC1 /* utf8html.h in Headers */, + A9A12A1D19DF1450005BCBC1 /* osishtmlhref.h in Headers */, + A9A12A4619DF1453005BCBC1 /* swcipher.h in Headers */, + A9A12A4E19DF1454005BCBC1 /* swinputmeth.h in Headers */, + A9A12A5219DF1455005BCBC1 /* swlog.h in Headers */, + A9A12A6419DF1457005BCBC1 /* thmlgbf.h in Headers */, + A9A129F119DF144D005BCBC1 /* defs.h in Headers */, + A9A129F519DF144E005BCBC1 /* femain.h in Headers */, + A9A12A1219DF144F005BCBC1 /* localemgr.h in Headers */, + A9A12A8C19DF145E005BCBC1 /* xzcomprs.h in Headers */, + A9A129E519DF144D005BCBC1 /* canon_mt.h in Headers */, + A9A12A1019DF144F005BCBC1 /* latin1utf8.h in Headers */, + A9A129EF19DF144D005BCBC1 /* curlftpt.h in Headers */, + A9A12A8E19DF145E005BCBC1 /* zcom4.h in Headers */, + A9A129DB19DF144D005BCBC1 /* bz2comprs.h in Headers */, + A9A12A0819DF144E005BCBC1 /* gbfwordjs.h in Headers */, + A9A12A2019DF1450005BCBC1 /* osismorph.h in Headers */, + A9A12A8219DF145C005BCBC1 /* utf8nfc.h in Headers */, + A9A12A5319DF1455005BCBC1 /* swmacs.h in Headers */, + A9A12A0219DF144E005BCBC1 /* gbfplain.h in Headers */, + A9A129F419DF144D005BCBC1 /* entriesblk.h in Headers */, + A9A12A4819DF1454005BCBC1 /* swcomprs.h in Headers */, + A9A12A3819DF1452005BCBC1 /* rawtext4.h in Headers */, + A9A12A7019DF1459005BCBC1 /* thmlvariants.h in Headers */, + A9A12A7F19DF145C005BCBC1 /* utf8hebrewpoints.h in Headers */, + A9A12A2719DF1450005BCBC1 /* osisscripref.h in Headers */, + A9A12A6519DF1457005BCBC1 /* thmlheadings.h in Headers */, + A9A12A4F19DF1454005BCBC1 /* swkey.h in Headers */, + A9A12A4219DF1453005BCBC1 /* strkey.h in Headers */, + A9A129DD19DF144D005BCBC1 /* canon_abbrevs.h in Headers */, + A9A12A4D19DF1454005BCBC1 /* swgenbook.h in Headers */, + A9A129DF19DF144D005BCBC1 /* canon_catholic2.h in Headers */, + A9A12A8D19DF145E005BCBC1 /* zcom.h in Headers */, + A9A12A2519DF1450005BCBC1 /* osisreferencelinks.h in Headers */, + A9A129E619DF144D005BCBC1 /* canon_nrsv.h in Headers */, + A9A12A1119DF144F005BCBC1 /* listkey.h in Headers */, + A9A12A4419DF1453005BCBC1 /* swbuf.h in Headers */, + A9A12A3419DF1451005BCBC1 /* rawld4.h in Headers */, + A9A12A1F19DF1450005BCBC1 /* osislemma.h in Headers */, + A9A129EC19DF144D005BCBC1 /* canon_vulg.h in Headers */, + A9A12A3219DF1451005BCBC1 /* rawgenbook.h in Headers */, + A9A12A8519DF145D005BCBC1 /* utf8transliterator.h in Headers */, + A9A12A0F19DF144F005BCBC1 /* latin1utf16.h in Headers */, + A9A94A381DCB21AB00F69260 /* canon_calvin.h in Headers */, + A9A12A8319DF145C005BCBC1 /* utf8nfkd.h in Headers */, + A9A12A9019DF145F005BCBC1 /* zipcomprs.h in Headers */, + A9A12A0519DF144E005BCBC1 /* gbfstrongs.h in Headers */, + A9A129E219DF144D005BCBC1 /* canon_leningrad.h in Headers */, + A9A12A1719DF144F005BCBC1 /* multimapwdef.h in Headers */, + A9A12A2F19DF1451005BCBC1 /* rawcom.h in Headers */, + A9A129F819DF144E005BCBC1 /* ftplib.h in Headers */, + A9A129FF19DF144E005BCBC1 /* gbflatex.h in Headers */, + A9A12A4319DF1453005BCBC1 /* swbasicfilter.h in Headers */, + A9A12A2C19DF1451005BCBC1 /* osisxhtml.h in Headers */, + A9A12A1619DF144F005BCBC1 /* markupfiltmgr.h in Headers */, + A9A12A7219DF1459005BCBC1 /* thmlwordjs.h in Headers */, + A9A12A5619DF1455005BCBC1 /* swobject.h in Headers */, + A9A12A2A19DF1451005BCBC1 /* osiswebif.h in Headers */, + A9A12A6A19DF1458005BCBC1 /* thmlmorph.h in Headers */, + A9A129F219DF144D005BCBC1 /* echomod.h in Headers */, + A9A12A1819DF144F005BCBC1 /* nullim.h in Headers */, + A9A12A6219DF1457005BCBC1 /* teixhtml.h in Headers */, + A9A12A0B19DF144E005BCBC1 /* hebrewmcim.h in Headers */, + A9A12A2819DF1450005BCBC1 /* osisstrongs.h in Headers */, + A9A12A8819DF145D005BCBC1 /* utilxml.h in Headers */, + A9A12A3319DF1451005BCBC1 /* rawld.h in Headers */, + A9A12A6D19DF1458005BCBC1 /* thmlrtf.h in Headers */, + A9A12A0619DF144E005BCBC1 /* gbfthml.h in Headers */, + A9A129F619DF144E005BCBC1 /* filemgr.h in Headers */, + A9A12A2D19DF1451005BCBC1 /* osisxlit.h in Headers */, + A9A12A5519DF1455005BCBC1 /* swmodule.h in Headers */, + A9A12A0019DF144E005BCBC1 /* gbfmorph.h in Headers */, + A9A12A1B19DF144F005BCBC1 /* osisglosses.h in Headers */, + A9A12A5E19DF1456005BCBC1 /* teihtmlhref.h in Headers */, + A9A12A1C19DF144F005BCBC1 /* osisheadings.h in Headers */, + A9A129E419DF144D005BCBC1 /* canon_lxx.h in Headers */, + A9A12A1319DF144F005BCBC1 /* lzsscomprs.h in Headers */, + A9A129DE19DF144D005BCBC1 /* canon_catholic.h in Headers */, + A9A12A3C19DF1452005BCBC1 /* roman.h in Headers */, + A9A12A1919DF144F005BCBC1 /* osisenum.h in Headers */, + A9A129FC19DF144E005BCBC1 /* gbfheadings.h in Headers */, + A9A12A9719DF1460005BCBC1 /* zverse4.h in Headers */, + A9A12A3F19DF1453005BCBC1 /* scsuutf8.h in Headers */, + A9A129E319DF144D005BCBC1 /* canon_luther.h in Headers */, + A9A12A6319DF1457005BCBC1 /* thmlfootnotes.h in Headers */, + A9A12A0119DF144E005BCBC1 /* gbfosis.h in Headers */, + A9A129EB19DF144D005BCBC1 /* canon_synodalprot.h in Headers */, + A9A12A7919DF145A005BCBC1 /* utf16utf8.h in Headers */, + A9A12A3D19DF1452005BCBC1 /* rtfhtml.h in Headers */, + A9A12A3719DF1452005BCBC1 /* rawtext.h in Headers */, + A9A12A9119DF145F005BCBC1 /* zld.h in Headers */, + A9A12A6719DF1458005BCBC1 /* thmlhtmlhref.h in Headers */, + A9A12A6819DF1458005BCBC1 /* thmllatex.h in Headers */, + A9A129E819DF144D005BCBC1 /* canon_null.h in Headers */, + A9A129F919DF144E005BCBC1 /* ftplibftpt.h in Headers */, + A9A12A7B19DF145B005BCBC1 /* utf8arshaping.h in Headers */, + A9A12A5119DF1455005BCBC1 /* swlocale.h in Headers */, + A9A129E919DF144D005BCBC1 /* canon_orthodox.h in Headers */, + A9A12A9519DF1460005BCBC1 /* ztext4.h in Headers */, + A9A12A6C19DF1458005BCBC1 /* thmlplain.h in Headers */, + A9A12A3119DF1451005BCBC1 /* rawfiles.h in Headers */, + A9A12A9619DF1460005BCBC1 /* zverse.h in Headers */, + A9A12A4519DF1453005BCBC1 /* swcacher.h in Headers */, + A9A12A0D19DF144F005BCBC1 /* installmgr.h in Headers */, + A9A12A2119DF1450005BCBC1 /* osismorphsegmentation.h in Headers */, + A9A12A7719DF145A005BCBC1 /* untgz.h in Headers */, + A9A12A3919DF1452005BCBC1 /* rawverse.h in Headers */, + A9A12A7319DF1459005BCBC1 /* thmlxhtml.h in Headers */, + A9A94A391DCB21AB00F69260 /* canon_darbyfr.h in Headers */, A94EAC11117B28920018B06F /* SwordBibleTextEntry.h in Headers */, A94EAC13117B28920018B06F /* SwordBook.h in Headers */, A94EAC15117B28920018B06F /* SwordCommentary.h in Headers */, @@ -2336,29 +5181,69 @@ A929619D16B1BA240094E5BE /* SwordKey.h in Headers */, A929619F16B1BA240094E5BE /* SwordListKey.h in Headers */, A92961A116B1BA240094E5BE /* SwordVerseKey.h in Headers */, + A9A127A519DE93A0005BCBC1 /* SwordUtil.h in Headers */, + A9A127A619DE93A0005BCBC1 /* FilterProviderFactory.h in Headers */, + A9A127A719DE93A0005BCBC1 /* DefaultFilterProvider.h in Headers */, + A9A127A819DE93A0005BCBC1 /* SwordFilter.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A954ABC113EE9AB00094E3FE /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 0A011D9D1FB4142500778C2B /* sword */ = { + isa = PBXNativeTarget; + buildConfigurationList = 0A011DAF1FB4142500778C2B /* Build configuration list for PBXNativeTarget "sword" */; + buildPhases = ( + 0A011D991FB4142500778C2B /* Sources */, + 0A011D9A1FB4142500778C2B /* Frameworks */, + 0A011D9B1FB4142500778C2B /* Headers */, + 0A011D9C1FB4142500778C2B /* Resources */, ); - runOnlyForDeploymentPostprocessing = 0; + buildRules = ( + ); + dependencies = ( + ); + name = sword; + productName = SWORD; + productReference = 0A011D9E1FB4142500778C2B /* sword.framework */; + productType = "com.apple.product-type.framework"; }; - A9BDFA651207F9870067ED5B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - A9BDFA661207F9870067ED5B /* SwordManagerTest.h in Headers */, - A9BDFA671207F9870067ED5B /* SwordModuleTest.h in Headers */, - A9BDFA7C1207FA2F0067ED5B /* SwordModuleLongRunTest.h in Headers */, + 0A011DA51FB4142500778C2B /* SWORDTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 0A011DB21FB4142500778C2B /* Build configuration list for PBXNativeTarget "SWORDTests" */; + buildPhases = ( + 0A011DA21FB4142500778C2B /* Sources */, + 0A011DA31FB4142500778C2B /* Frameworks */, + 0A011DA41FB4142500778C2B /* Resources */, ); - runOnlyForDeploymentPostprocessing = 0; + buildRules = ( + ); + dependencies = ( + 0A011DA91FB4142500778C2B /* PBXTargetDependency */, + ); + name = SWORDTests; + productName = SWORDTests; + productReference = 0A011DA61FB4142500778C2B /* SWORDTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 0A1F169F1FBB755B00E0AEFA /* SWORD */ = { + isa = PBXNativeTarget; + buildConfigurationList = 0A1F16A61FBB755B00E0AEFA /* Build configuration list for PBXNativeTarget "SWORD" */; + buildPhases = ( + 0A1F169C1FBB755B00E0AEFA /* Sources */, + 0A1F169D1FBB755B00E0AEFA /* Frameworks */, + 0A1F169E1FBB755B00E0AEFA /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SWORD; + productName = SWORD; + productReference = 0A1F16A01FBB755B00E0AEFA /* libSWORD.a */; + productType = "com.apple.product-type.library.static"; }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ 8DC2EF4F0486A6940098B216 /* ObjCSword */ = { isa = PBXNativeTarget; buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "ObjCSword" */; @@ -2372,31 +5257,13 @@ buildRules = ( ); dependencies = ( - A954ABCA13EE9D0F0094E3FE /* PBXTargetDependency */, ); name = ObjCSword; productInstallPath = "$(HOME)/Library/Frameworks"; productName = ObjCSword; - productReference = 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */; + productReference = 8DC2EF5B0486A6940098B216 /* SWORD.framework */; productType = "com.apple.product-type.framework"; }; - A954ABC213EE9AB00094E3FE /* sword */ = { - isa = PBXNativeTarget; - buildConfigurationList = A954ABC413EE9AB00094E3FE /* Build configuration list for PBXNativeTarget "sword" */; - buildPhases = ( - A954ABBF13EE9AB00094E3FE /* Sources */, - A954ABC013EE9AB00094E3FE /* Frameworks */, - A954ABC113EE9AB00094E3FE /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = sword; - productName = libsword; - productReference = A954ABC313EE9AB00094E3FE /* libsword.dylib */; - productType = "com.apple.product-type.library.dynamic"; - }; A975EED811C792B9007C1532 /* mod2osis */ = { isa = PBXNativeTarget; buildConfigurationList = A975EEE811C79326007C1532 /* Build configuration list for PBXNativeTarget "mod2osis" */; @@ -2407,7 +5274,6 @@ buildRules = ( ); dependencies = ( - A9A7EEAE14D5D4BB00B76B6A /* PBXTargetDependency */, ); name = mod2osis; productName = mod2osis; @@ -2424,33 +5290,12 @@ buildRules = ( ); dependencies = ( - A9A7EEC114D5D66400B76B6A /* PBXTargetDependency */, ); name = osis2mod; productName = osis2mod; productReference = A9A7EEB414D5D61700B76B6A /* osis2mod */; productType = "com.apple.product-type.tool"; }; - A9BDFA5A1207F9870067ED5B /* LongRunningTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = A9BDFA681207F9870067ED5B /* Build configuration list for PBXNativeTarget "LongRunningTests" */; - buildPhases = ( - A9BDFA5D1207F9870067ED5B /* Resources */, - A9BDFA5E1207F9870067ED5B /* Sources */, - A9BDFA611207F9870067ED5B /* Frameworks */, - A9BDFA641207F9870067ED5B /* ShellScript */, - A9BDFA651207F9870067ED5B /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - A9BDFA5B1207F9870067ED5B /* PBXTargetDependency */, - ); - name = LongRunningTests; - productName = Tests; - productReference = A9BDFA6B1207F9870067ED5B /* Tests.octest */; - productType = "com.apple.product-type.bundle"; - }; A9BFB0A113EDF51000032679 /* Tests */ = { isa = PBXNativeTarget; buildConfigurationList = A9BFB0B713EDF51100032679 /* Build configuration list for PBXNativeTarget "Tests" */; @@ -2458,7 +5303,6 @@ A9BFB09D13EDF51000032679 /* Sources */, A9BFB09E13EDF51000032679 /* Frameworks */, A9BFB09F13EDF51000032679 /* Resources */, - A9BFB0A013EDF51000032679 /* ShellScript */, ); buildRules = ( ); @@ -2467,8 +5311,8 @@ ); name = Tests; productName = "Tests-new"; - productReference = A9BFB0A213EDF51000032679 /* Tests.octest */; - productType = "com.apple.product-type.bundle"; + productReference = A9BFB0A213EDF51000032679 /* Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; A9D2714414D717D800DA8926 /* imp2gbs */ = { isa = PBXNativeTarget; @@ -2480,7 +5324,6 @@ buildRules = ( ); dependencies = ( - A9D2714514D717D800DA8926 /* PBXTargetDependency */, ); name = imp2gbs; productName = mod2osis; @@ -2497,7 +5340,6 @@ buildRules = ( ); dependencies = ( - A9D2715214D717FD00DA8926 /* PBXTargetDependency */, ); name = imp2ld; productName = mod2osis; @@ -2514,7 +5356,6 @@ buildRules = ( ); dependencies = ( - A9D2715F14D7181200DA8926 /* PBXTargetDependency */, ); name = imp2vs; productName = mod2osis; @@ -2531,7 +5372,6 @@ buildRules = ( ); dependencies = ( - A9D2716C14D7182300DA8926 /* PBXTargetDependency */, ); name = installmgr; productName = mod2osis; @@ -2548,7 +5388,6 @@ buildRules = ( ); dependencies = ( - A9D2717914D7183B00DA8926 /* PBXTargetDependency */, ); name = mod2imp; productName = mod2osis; @@ -2565,7 +5404,6 @@ buildRules = ( ); dependencies = ( - A9D2718614D7185800DA8926 /* PBXTargetDependency */, ); name = mod2vpl; productName = mod2osis; @@ -2582,7 +5420,6 @@ buildRules = ( ); dependencies = ( - A9D2719314D7186A00DA8926 /* PBXTargetDependency */, ); name = mod2zmod; productName = mod2osis; @@ -2599,7 +5436,6 @@ buildRules = ( ); dependencies = ( - A9D271A014D7187E00DA8926 /* PBXTargetDependency */, ); name = step2vpl; productName = osis2mod; @@ -2616,7 +5452,6 @@ buildRules = ( ); dependencies = ( - A9D271AD14D7189300DA8926 /* PBXTargetDependency */, ); name = stepdump; productName = osis2mod; @@ -2633,7 +5468,6 @@ buildRules = ( ); dependencies = ( - A9D271BA14D718A400DA8926 /* PBXTargetDependency */, ); name = tei2mod; productName = osis2mod; @@ -2650,7 +5484,6 @@ buildRules = ( ); dependencies = ( - A9D271C714D718B800DA8926 /* PBXTargetDependency */, ); name = vpl2mod; productName = osis2mod; @@ -2667,7 +5500,6 @@ buildRules = ( ); dependencies = ( - A9D271D414D718C800DA8926 /* PBXTargetDependency */, ); name = vs2osisref; productName = osis2mod; @@ -2684,7 +5516,6 @@ buildRules = ( ); dependencies = ( - A9D271E114D718DF00DA8926 /* PBXTargetDependency */, ); name = vs2osisreftxt; productName = osis2mod; @@ -2701,20 +5532,146 @@ buildRules = ( ); dependencies = ( - A9D271EE14D718F500DA8926 /* PBXTargetDependency */, ); name = xml2gbs; productName = osis2mod; productReference = A9D271F714D718F500DA8926 /* xml2gbs */; productType = "com.apple.product-type.tool"; }; + A9D8FD2D19E2EC5B0055700C /* introtest */ = { + isa = PBXNativeTarget; + buildConfigurationList = A9D8FD3419E2EC5B0055700C /* Build configuration list for PBXNativeTarget "introtest" */; + buildPhases = ( + A9D8FD3019E2EC5B0055700C /* Sources */, + A9D8FD3219E2EC5B0055700C /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = introtest; + productName = mod2osis; + productReference = A9D8FD3719E2EC5B0055700C /* introtest */; + productType = "com.apple.product-type.tool"; + }; + A9EE8A8A19E286E500CFFE6A /* LongRunningTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = A9EE8A9419E286E500CFFE6A /* Build configuration list for PBXNativeTarget "LongRunningTests" */; + buildPhases = ( + A9EE8A8719E286E500CFFE6A /* Sources */, + A9EE8A8819E286E500CFFE6A /* Frameworks */, + A9EE8A8919E286E500CFFE6A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + A9EE8A9319E286E500CFFE6A /* PBXTargetDependency */, + ); + name = LongRunningTests; + productName = LongRunningTests; + productReference = A9EE8A8B19E286E500CFFE6A /* LongRunningTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 0867D690FE84028FC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0460; + LastSwiftUpdateCheck = 0720; + LastTestingUpgradeCheck = 0610; + LastUpgradeCheck = 0910; + TargetAttributes = { + 0A011D9D1FB4142500778C2B = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = J9J97ZC4K5; + ProvisioningStyle = Automatic; + }; + 0A011DA51FB4142500778C2B = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = J9J97ZC4K5; + ProvisioningStyle = Automatic; + }; + 0A1F169F1FBB755B00E0AEFA = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = J9J97ZC4K5; + ProvisioningStyle = Automatic; + }; + 8DC2EF4F0486A6940098B216 = { + DevelopmentTeam = J9J97ZC4K5; + ProvisioningStyle = Automatic; + }; + A975EED811C792B9007C1532 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9A7EEB314D5D61700B76B6A = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9BFB0A113EDF51000032679 = { + LastSwiftMigration = 0830; + }; + A9D2714414D717D800DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D2715114D717FD00DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D2715E14D7181200DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D2716B14D7182300DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D2717814D7183B00DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D2718514D7185800DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D2719214D7186A00DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D2719F14D7187E00DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D271AC14D7189300DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D271B914D718A400DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D271C614D718B800DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D271D314D718C800DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D271E014D718DF00DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9D271ED14D718F500DA8926 = { + DevelopmentTeam = 27XS5W9C3J; + ProvisioningStyle = Automatic; + }; + A9EE8A8A19E286E500CFFE6A = { + CreatedOnToolsVersion = 6.1; + }; + }; }; buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "ObjCSword" */; compatibilityVersion = "Xcode 3.2"; @@ -2726,6 +5683,7 @@ French, German, en, + ru, ); mainGroup = 0867D691FE84028FC02AAC07 /* ObjCSword */; productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; @@ -2733,9 +5691,8 @@ projectRoot = ""; targets = ( 8DC2EF4F0486A6940098B216 /* ObjCSword */, - A9BDFA5A1207F9870067ED5B /* LongRunningTests */, A9BFB0A113EDF51000032679 /* Tests */, - A954ABC213EE9AB00094E3FE /* sword */, + A9EE8A8A19E286E500CFFE6A /* LongRunningTests */, A9D2714414D717D800DA8926 /* imp2gbs */, A9D2715114D717FD00DA8926 /* imp2ld */, A9D2715E14D7181200DA8926 /* imp2vs */, @@ -2753,11 +5710,29 @@ A9D271E014D718DF00DA8926 /* vs2osisreftxt */, A9D271ED14D718F500DA8926 /* xml2gbs */, A9D271FA14D7193300DA8926 /* Utilities */, + A9D8FD2D19E2EC5B0055700C /* introtest */, + 0A011D9D1FB4142500778C2B /* sword */, + 0A011DA51FB4142500778C2B /* SWORDTests */, + 0A1F169F1FBB755B00E0AEFA /* SWORD */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 0A011D9C1FB4142500778C2B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 0A011DA41FB4142500778C2B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 8DC2EF520486A6940098B216 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -2768,14 +5743,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A9BDFA5D1207F9870067ED5B /* Resources */ = { + A9BFB09F13EDF51000032679 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + A995E6241C876E8900843E13 /* TestModules in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A9BFB09F13EDF51000032679 /* Resources */ = { + A9EE8A8919E286E500CFFE6A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -2784,36 +5760,364 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - A9BDFA641207F9870067ED5B /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; +/* Begin PBXSourcesBuildPhase section */ + 0A011D991FB4142500778C2B /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - ); - inputPaths = ( - ); - outputPaths = ( + 0A5887E31FB41E1500F7DAA3 /* thmlxhtml.cpp in Sources */, + 0A5887DB1FB41E1500F7DAA3 /* thmlosis.cpp in Sources */, + 0A011DC41FB4149000778C2B /* zutil.c in Sources */, + 0A5887AF1FB41E1500F7DAA3 /* gbfhtmlhref.cpp in Sources */, + 0A5887B51FB41E1500F7DAA3 /* gbfstrongs.cpp in Sources */, + 0A5887C61FB41E1500F7DAA3 /* osisrtf.cpp in Sources */, + 0A5887DF1FB41E1500F7DAA3 /* thmlstrongs.cpp in Sources */, + 0A5887E11FB41E1500F7DAA3 /* thmlwebif.cpp in Sources */, + 0A011DD11FB414A900778C2B /* curlhttpt.cpp in Sources */, + 0A5887A31FB41E1500F7DAA3 /* osislatex.cpp in Sources */, + 0A011DD21FB414A900778C2B /* encfiltmgr.cpp in Sources */, + 0A5887901FB41DCF00F7DAA3 /* rawverse.cpp in Sources */, + 0A5887991FB41DED00F7DAA3 /* hrefcom.cpp in Sources */, + 0A5887AE1FB41E1500F7DAA3 /* gbfhtml.cpp in Sources */, + 0A58878F1FB41DCF00F7DAA3 /* rawstr4.cpp in Sources */, + 0A5887E01FB41E1500F7DAA3 /* thmlvariants.cpp in Sources */, + 0A5887A91FB41E1500F7DAA3 /* osisreferencelinks.cpp in Sources */, + 0A5887BE1FB41E1500F7DAA3 /* osisheadings.cpp in Sources */, + 0A5887D61FB41E1500F7DAA3 /* thmlheadings.cpp in Sources */, + 0A5887C71FB41E1500F7DAA3 /* osisscripref.cpp in Sources */, + 0A5887EA1FB41E1500F7DAA3 /* utf8greekaccents.cpp in Sources */, + 0A5887A11FB41E1500F7DAA3 /* utf8scsu.cpp in Sources */, + 0A5887EB1FB41E1500F7DAA3 /* utf8hebrewpoints.cpp in Sources */, + 0A5887A61FB41E1500F7DAA3 /* thmllatex.cpp in Sources */, + 0A5887DA1FB41E1500F7DAA3 /* thmlmorph.cpp in Sources */, + 0A5887951FB41DCF00F7DAA3 /* zipcomprs.cpp in Sources */, + 0A58879F1FB41DED00F7DAA3 /* zcom4.cpp in Sources */, + 0A011DDD1FB414A900778C2B /* swmgr.cpp in Sources */, + 0A58878E1FB41DCF00F7DAA3 /* rawstr.cpp in Sources */, + 0A5887DD1FB41E1500F7DAA3 /* thmlrtf.cpp in Sources */, + 0A5887C11FB41E1500F7DAA3 /* osismorph.cpp in Sources */, + 0A011DBA1FB4149000778C2B /* gzlib.c in Sources */, + 0A011DCA1FB4149000778C2B /* swversion.cpp in Sources */, + 0A5887F31FB41E5800F7DAA3 /* swgenbook.cpp in Sources */, + 0A011DCC1FB4149000778C2B /* utilstr.cpp in Sources */, + 0A5887E61FB41E1500F7DAA3 /* utf8arabicpoints.cpp in Sources */, + 0A5887A71FB41E1500F7DAA3 /* osisenum.cpp in Sources */, + 0A5887E51FB41E1500F7DAA3 /* utf16utf8.cpp in Sources */, + 0A5887C91FB41E1500F7DAA3 /* osisvariants.cpp in Sources */, + 0A5887E91FB41E1500F7DAA3 /* utf8cantillation.cpp in Sources */, + 0A5887EC1FB41E1500F7DAA3 /* utf8html.cpp in Sources */, + 0A5887C21FB41E1500F7DAA3 /* osismorphsegmentation.cpp in Sources */, + 0A011DD61FB414A900778C2B /* localemgr.cpp in Sources */, + 0A5887BC1FB41E1500F7DAA3 /* latin1utf8.cpp in Sources */, + 0A011DCB1FB4149000778C2B /* url.cpp in Sources */, + 0A5887CB1FB41E1500F7DAA3 /* osiswordjs.cpp in Sources */, + 0A5887A51FB41E1500F7DAA3 /* teilatex.cpp in Sources */, + 0A011DD91FB414A900778C2B /* swcacher.cpp in Sources */, + 0A5887B71FB41E1500F7DAA3 /* gbfwebif.cpp in Sources */, + 0A5887B41FB41E1500F7DAA3 /* gbfrtf.cpp in Sources */, + 0A5887941FB41DCF00F7DAA3 /* swcomprs.cpp in Sources */, + 0A5887A81FB41E1500F7DAA3 /* osisglosses.cpp in Sources */, + 0A5887D31FB41E1500F7DAA3 /* teirtf.cpp in Sources */, + 0A5887981FB41DCF00F7DAA3 /* zverse4.cpp in Sources */, + 0A5887C01FB41E1500F7DAA3 /* osislemma.cpp in Sources */, + 0A58878C1FB41DCF00F7DAA3 /* entriesblk.cpp in Sources */, + 0A011DE71FB414BE00778C2B /* swlog.cpp in Sources */, + 0A011DE11FB414B200778C2B /* swkey.cpp in Sources */, + 0A5887EE1FB41E1500F7DAA3 /* utf8nfc.cpp in Sources */, + 0A5887B01FB41E1500F7DAA3 /* gbfmorph.cpp in Sources */, + 0A011DE41FB414B200778C2B /* versekey.cpp in Sources */, + 0AA1DD361FB46FD00082E131 /* sword.m in Sources */, + 0A011DC91FB4149000778C2B /* swobject.cpp in Sources */, + 0A5887B11FB41E1500F7DAA3 /* gbfosis.cpp in Sources */, + 0A011DD71FB414A900778C2B /* markupfiltmgr.cpp in Sources */, + 0A5887F11FB41E1500F7DAA3 /* utf8utf16.cpp in Sources */, + 0A011DCF1FB414A900778C2B /* versificationmgr.cpp in Sources */, + 0A5887F71FB41E5800F7DAA3 /* zld.cpp in Sources */, + 0A011DBB1FB4149000778C2B /* gzread.c in Sources */, + 0A011DB71FB4149000778C2B /* crc32.c in Sources */, + 0A011DD01FB414A900778C2B /* curlftpt.cpp in Sources */, + 0A5887F41FB41E5800F7DAA3 /* rawld.cpp in Sources */, + 0A5887C51FB41E1500F7DAA3 /* osisredletterwords.cpp in Sources */, + 0A011DDC1FB414A900778C2B /* swlocale.cpp in Sources */, + 0A5887FA1FB41E5800F7DAA3 /* rawtext4.cpp in Sources */, + 0A5887DE1FB41E1500F7DAA3 /* thmlscripref.cpp in Sources */, + 0A5887971FB41DCF00F7DAA3 /* zverse.cpp in Sources */, + 0A5887C31FB41E1500F7DAA3 /* osisosis.cpp in Sources */, + 0A5887CD1FB41E1500F7DAA3 /* papyriplain.cpp in Sources */, + 0A58879D1FB41DED00F7DAA3 /* swcom.cpp in Sources */, + 0A5887DC1FB41E1500F7DAA3 /* thmlplain.cpp in Sources */, + 0A5887F91FB41E5800F7DAA3 /* rawtext.cpp in Sources */, + 0A011DE31FB414B200778C2B /* treekeyidx.cpp in Sources */, + 0A5887D11FB41E1500F7DAA3 /* teihtmlhref.cpp in Sources */, + 0A011DC31FB4149000778C2B /* untgz.c in Sources */, + 0A5887AB1FB41E1500F7DAA3 /* cipherfil.cpp in Sources */, + 0A5887D91FB41E1500F7DAA3 /* thmllemma.cpp in Sources */, + 0A011DC01FB4149000778C2B /* inftrees.c in Sources */, + 0A011DCE1FB414A900778C2B /* remotetrans.cpp in Sources */, + 0A011DDF1FB414B200778C2B /* listkey.cpp in Sources */, + 0A5887AC1FB41E1500F7DAA3 /* gbffootnotes.cpp in Sources */, + 0A5887D41FB41E1500F7DAA3 /* thmlfootnotes.cpp in Sources */, + 0A5887A21FB41E1500F7DAA3 /* gbflatex.cpp in Sources */, + 0A5887CA1FB41E1500F7DAA3 /* osiswebif.cpp in Sources */, + 0A011DB51FB4149000778C2B /* adler32.c in Sources */, + 0A5887FB1FB41E5800F7DAA3 /* swtext.cpp in Sources */, + 0A5887B31FB41E1500F7DAA3 /* gbfredletterwords.cpp in Sources */, + 0A011DB61FB4149000778C2B /* compress.c in Sources */, + 0A5887B21FB41E1500F7DAA3 /* gbfplain.cpp in Sources */, + 0A5887C41FB41E1500F7DAA3 /* osisplain.cpp in Sources */, + 0A58879C1FB41DED00F7DAA3 /* rawfiles.cpp in Sources */, + 0A5887FD1FB41E5800F7DAA3 /* ztext4.cpp in Sources */, + 0A58879E1FB41DED00F7DAA3 /* zcom.cpp in Sources */, + 0A011DBE1FB4149000778C2B /* inffast.c in Sources */, + 0A011DC71FB4149000778C2B /* roman.cpp in Sources */, + 0A011DBF1FB4149000778C2B /* inflate.c in Sources */, + 0A5887931FB41DCF00F7DAA3 /* swcipher.cpp in Sources */, + 0A011DC11FB4149000778C2B /* trees.c in Sources */, + 0A5887A01FB41E1500F7DAA3 /* scsuutf8.cpp in Sources */, + 0A58879A1FB41DED00F7DAA3 /* rawcom.cpp in Sources */, + 0A5887B61FB41E1500F7DAA3 /* gbfthml.cpp in Sources */, + 0A5887D21FB41E1500F7DAA3 /* teiplain.cpp in Sources */, + 0A5887EF1FB41E1500F7DAA3 /* utf8nfkd.cpp in Sources */, + 0A5887F01FB41E1500F7DAA3 /* utf8transliterator.cpp in Sources */, + 0A5887921FB41DCF00F7DAA3 /* sapphire.cpp in Sources */, + 0A5887E21FB41E1500F7DAA3 /* thmlwordjs.cpp in Sources */, + 0A5887BD1FB41E1500F7DAA3 /* osisfootnotes.cpp in Sources */, + 0A5887E41FB41E1500F7DAA3 /* unicodertf.cpp in Sources */, + 0A011DB91FB4149000778C2B /* gzclose.c in Sources */, + 0A5887E81FB41E1500F7DAA3 /* utf8bidireorder.cpp in Sources */, + 0A5887CF1FB41E1500F7DAA3 /* swbasicfilter.cpp in Sources */, + 0A011DC81FB4149000778C2B /* swbuf.cpp in Sources */, + 0A5887BF1FB41E1500F7DAA3 /* osishtmlhref.cpp in Sources */, + 0A58879B1FB41DED00F7DAA3 /* rawcom4.cpp in Sources */, + 0A011DE01FB414B200778C2B /* strkey.cpp in Sources */, + 0A58878D1FB41DCF00F7DAA3 /* lzsscomprs.cpp in Sources */, + 0A011DC21FB4149000778C2B /* uncompr.c in Sources */, + 0A011DD31FB414A900778C2B /* filemgr.cpp in Sources */, + 0A5887CC1FB41E1500F7DAA3 /* osisxhtml.cpp in Sources */, + 0A011DE61FB414BE00778C2B /* swdisp.cpp in Sources */, + 0A011DC51FB4149000778C2B /* ftplib.c in Sources */, + 0A5887F81FB41E5800F7DAA3 /* swmodule.cpp in Sources */, + 0A5887ED1FB41E1500F7DAA3 /* utf8latin1.cpp in Sources */, + 0A5887CE1FB41E1500F7DAA3 /* rtfhtml.cpp in Sources */, + 0A011DC61FB4149000778C2B /* ftpparse.c in Sources */, + 0A011DD51FB414A900778C2B /* installmgr.cpp in Sources */, + 0A5887D71FB41E1500F7DAA3 /* thmlhtml.cpp in Sources */, + 0A5887E71FB41E1500F7DAA3 /* utf8arshaping.cpp in Sources */, + 0A5887F61FB41E5800F7DAA3 /* swld.cpp in Sources */, + 0A5887D51FB41E1500F7DAA3 /* thmlgbf.cpp in Sources */, + 0A5887BB1FB41E1500F7DAA3 /* latin1utf16.cpp in Sources */, + 0A011DBC1FB4149000778C2B /* gzwrite.c in Sources */, + 0A5887C81FB41E1500F7DAA3 /* osisstrongs.cpp in Sources */, + 0A011DB81FB4149000778C2B /* deflate.c in Sources */, + 0A011DCD1FB4149000778C2B /* utilxml.cpp in Sources */, + 0A5887BA1FB41E1500F7DAA3 /* greeklexattribs.cpp in Sources */, + 0A1F169B1FBB70ED00E0AEFA /* flatapi.cpp in Sources */, + 0A011DD41FB414A900778C2B /* ftplibftpt.cpp in Sources */, + 0A5887F51FB41E5800F7DAA3 /* rawld4.cpp in Sources */, + 0A5887D01FB41E1500F7DAA3 /* swoptfilter.cpp in Sources */, + 0A5887911FB41DCF00F7DAA3 /* rawverse4.cpp in Sources */, + 0A5887FC1FB41E5800F7DAA3 /* ztext.cpp in Sources */, + 0A011DDA1FB414A900778C2B /* swconfig.cpp in Sources */, + 0A011DE51FB414B200778C2B /* versetreekey.cpp in Sources */, + 0A5887AD1FB41E1500F7DAA3 /* gbfheadings.cpp in Sources */, + 0A5887961FB41DCF00F7DAA3 /* zstr.cpp in Sources */, + 0A011DDB1FB414A900778C2B /* swfiltermgr.cpp in Sources */, + 0A5887F21FB41E5800F7DAA3 /* rawgenbook.cpp in Sources */, + 0A5887B81FB41E1500F7DAA3 /* gbfwordjs.cpp in Sources */, + 0A011DBD1FB4149000778C2B /* infback.c in Sources */, + 0A011DE21FB414B200778C2B /* treekey.cpp in Sources */, + 0A5887A41FB41E1500F7DAA3 /* osisxlit.cpp in Sources */, + 0A011DD81FB414A900778C2B /* stringmgr.cpp in Sources */, + 0A5887B91FB41E1500F7DAA3 /* gbfxhtml.cpp in Sources */, + 0A5887AA1FB41E1500F7DAA3 /* teixhtml.cpp in Sources */, + 0A5887D81FB41E1500F7DAA3 /* thmlhtmlhref.cpp in Sources */, + 0A011DDE1FB414A900778C2B /* swsearchable.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; }; - A9BFB0A013EDF51000032679 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; + 0A011DA21FB4142500778C2B /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0A011DAC1FB4142500778C2B /* SWORDTests.m in Sources */, ); - inputPaths = ( - ); - outputPaths = ( + runOnlyForDeploymentPostprocessing = 0; + }; + 0A1F169C1FBB755B00E0AEFA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0A1F16D21FBB762D00E0AEFA /* untgz.c in Sources */, + 0A1F170C1FBB768100E0AEFA /* osisosis.cpp in Sources */, + 0A1F17051FBB768100E0AEFA /* latin1utf8.cpp in Sources */, + 0A1F173D1FBB76A700E0AEFA /* rawcom4.cpp in Sources */, + 0A1F16F21FBB768100E0AEFA /* osisreferencelinks.cpp in Sources */, + 0A1F16D71FBB762D00E0AEFA /* swbuf.cpp in Sources */, + 0A1F16BB1FBB75D600E0AEFA /* localemgr.cpp in Sources */, + 0A1F16E01FBB765A00E0AEFA /* rawld4.cpp in Sources */, + 0A1F173A1FBB768100E0AEFA /* utf8utf16.cpp in Sources */, + 0A1F16BE1FBB75D600E0AEFA /* swcacher.cpp in Sources */, + 0A1F16B61FBB75D600E0AEFA /* curlhttpt.cpp in Sources */, + 0A1F16B31FBB75D600E0AEFA /* remotetrans.cpp in Sources */, + 0A1F16A41FBB755B00E0AEFA /* SWORD.m in Sources */, + 0A1F16E21FBB765A00E0AEFA /* zld.cpp in Sources */, + 0A1F16B11FBB75D600E0AEFA /* versekey.cpp in Sources */, + 0A1F16A91FBB75AB00E0AEFA /* flatapi.cpp in Sources */, + 0A1F17211FBB768100E0AEFA /* thmlhtmlhref.cpp in Sources */, + 0A1F17181FBB768100E0AEFA /* swbasicfilter.cpp in Sources */, + 0A1F17481FBB76A700E0AEFA /* rawverse4.cpp in Sources */, + 0A1F16B41FBB75D600E0AEFA /* versificationmgr.cpp in Sources */, + 0A1F17231FBB768100E0AEFA /* thmlmorph.cpp in Sources */, + 0A1F16D41FBB762D00E0AEFA /* ftplib.c in Sources */, + 0A1F17301FBB768100E0AEFA /* utf8arshaping.cpp in Sources */, + 0A1F171C1FBB768100E0AEFA /* teirtf.cpp in Sources */, + 0A1F17271FBB768100E0AEFA /* thmlscripref.cpp in Sources */, + 0A1F17221FBB768100E0AEFA /* thmllemma.cpp in Sources */, + 0A1F171E1FBB768100E0AEFA /* thmlgbf.cpp in Sources */, + 0A1F16B21FBB75D600E0AEFA /* versetreekey.cpp in Sources */, + 0A1F170A1FBB768100E0AEFA /* osismorph.cpp in Sources */, + 0A1F172B1FBB768100E0AEFA /* thmlwordjs.cpp in Sources */, + 0A1F16B81FBB75D600E0AEFA /* filemgr.cpp in Sources */, + 0A1F16B91FBB75D600E0AEFA /* ftplibftpt.cpp in Sources */, + 0A1F172E1FBB768100E0AEFA /* utf16utf8.cpp in Sources */, + 0A1F16D31FBB762D00E0AEFA /* zutil.c in Sources */, + 0A1F16F91FBB768100E0AEFA /* gbfmorph.cpp in Sources */, + 0A1F17081FBB768100E0AEFA /* osishtmlhref.cpp in Sources */, + 0A1F17121FBB768100E0AEFA /* osisvariants.cpp in Sources */, + 0A1F16E81FBB765A00E0AEFA /* ztext4.cpp in Sources */, + 0A1F173B1FBB76A700E0AEFA /* hrefcom.cpp in Sources */, + 0A1F16F41FBB768100E0AEFA /* cipherfil.cpp in Sources */, + 0A1F16AE1FBB75D600E0AEFA /* swkey.cpp in Sources */, + 0A1F17251FBB768100E0AEFA /* thmlplain.cpp in Sources */, + 0A1F16C61FBB762D00E0AEFA /* crc32.c in Sources */, + 0A1F16CD1FBB762D00E0AEFA /* inffast.c in Sources */, + 0A1F16FF1FBB768100E0AEFA /* gbfthml.cpp in Sources */, + 0A1F16FB1FBB768100E0AEFA /* gbfplain.cpp in Sources */, + 0A1F17391FBB768100E0AEFA /* utf8transliterator.cpp in Sources */, + 0A1F17371FBB768100E0AEFA /* utf8nfc.cpp in Sources */, + 0A1F170F1FBB768100E0AEFA /* osisrtf.cpp in Sources */, + 0A1F17441FBB76A700E0AEFA /* lzsscomprs.cpp in Sources */, + 0A1F16F61FBB768100E0AEFA /* gbfheadings.cpp in Sources */, + 0A1F17161FBB768100E0AEFA /* papyriplain.cpp in Sources */, + 0A1F16AB1FBB75D600E0AEFA /* swlog.cpp in Sources */, + 0A1F16DC1FBB762D00E0AEFA /* utilxml.cpp in Sources */, + 0A1F16DD1FBB765A00E0AEFA /* rawgenbook.cpp in Sources */, + 0A1F17001FBB768100E0AEFA /* gbfwebif.cpp in Sources */, + 0A1F16C31FBB75D600E0AEFA /* swsearchable.cpp in Sources */, + 0A1F17031FBB768100E0AEFA /* greeklexattribs.cpp in Sources */, + 0A1F17071FBB768100E0AEFA /* osisheadings.cpp in Sources */, + 0A1F17061FBB768100E0AEFA /* osisfootnotes.cpp in Sources */, + 0A1F16C71FBB762D00E0AEFA /* deflate.c in Sources */, + 0A1F174A1FBB76A700E0AEFA /* swcipher.cpp in Sources */, + 0A1F16E31FBB765A00E0AEFA /* swmodule.cpp in Sources */, + 0A1F174F1FBB76A700E0AEFA /* zverse4.cpp in Sources */, + 0A1F16DA1FBB762D00E0AEFA /* url.cpp in Sources */, + 0A1F17171FBB768100E0AEFA /* rtfhtml.cpp in Sources */, + 0A1F171F1FBB768100E0AEFA /* thmlheadings.cpp in Sources */, + 0A1F16CE1FBB762D00E0AEFA /* inflate.c in Sources */, + 0A1F16FA1FBB768100E0AEFA /* gbfosis.cpp in Sources */, + 0A1F16BF1FBB75D600E0AEFA /* swconfig.cpp in Sources */, + 0A1F16AD1FBB75D600E0AEFA /* strkey.cpp in Sources */, + 0A1F17361FBB768100E0AEFA /* utf8latin1.cpp in Sources */, + 0A1F16EA1FBB768100E0AEFA /* utf8scsu.cpp in Sources */, + 0A1F17281FBB768100E0AEFA /* thmlstrongs.cpp in Sources */, + 0A1F16DE1FBB765A00E0AEFA /* swgenbook.cpp in Sources */, + 0A1F16EF1FBB768100E0AEFA /* thmllatex.cpp in Sources */, + 0A1F16DF1FBB765A00E0AEFA /* rawld.cpp in Sources */, + 0A1F170E1FBB768100E0AEFA /* osisredletterwords.cpp in Sources */, + 0A1F17401FBB76A700E0AEFA /* zcom.cpp in Sources */, + 0A1F17141FBB768100E0AEFA /* osiswordjs.cpp in Sources */, + 0A1F17111FBB768100E0AEFA /* osisstrongs.cpp in Sources */, + 0A1F16C41FBB762D00E0AEFA /* adler32.c in Sources */, + 0A1F16B71FBB75D600E0AEFA /* encfiltmgr.cpp in Sources */, + 0A1F172C1FBB768100E0AEFA /* thmlxhtml.cpp in Sources */, + 0A1F16BA1FBB75D600E0AEFA /* installmgr.cpp in Sources */, + 0A1F16E61FBB765A00E0AEFA /* swtext.cpp in Sources */, + 0A1F16F51FBB768100E0AEFA /* gbffootnotes.cpp in Sources */, + 0A1F16C51FBB762D00E0AEFA /* compress.c in Sources */, + 0A1F16D11FBB762D00E0AEFA /* uncompr.c in Sources */, + 0A1F170B1FBB768100E0AEFA /* osismorphsegmentation.cpp in Sources */, + 0A1F16CA1FBB762D00E0AEFA /* gzread.c in Sources */, + 0A1F171B1FBB768100E0AEFA /* teiplain.cpp in Sources */, + 0A1F16F81FBB768100E0AEFA /* gbfhtmlhref.cpp in Sources */, + 0A1F17451FBB76A700E0AEFA /* rawstr.cpp in Sources */, + 0A1F17311FBB768100E0AEFA /* utf8bidireorder.cpp in Sources */, + 0A1F17331FBB768100E0AEFA /* utf8greekaccents.cpp in Sources */, + 0A1F16D91FBB762D00E0AEFA /* swversion.cpp in Sources */, + 0A1F17461FBB76A700E0AEFA /* rawstr4.cpp in Sources */, + 0A1F17021FBB768100E0AEFA /* gbfxhtml.cpp in Sources */, + 0A1F16F01FBB768100E0AEFA /* osisenum.cpp in Sources */, + 0A1F17261FBB768100E0AEFA /* thmlrtf.cpp in Sources */, + 0A1F17491FBB76A700E0AEFA /* sapphire.cpp in Sources */, + 0A1F17091FBB768100E0AEFA /* osislemma.cpp in Sources */, + 0A1F16F71FBB768100E0AEFA /* gbfhtml.cpp in Sources */, + 0A1F172A1FBB768100E0AEFA /* thmlwebif.cpp in Sources */, + 0A1F173E1FBB76A700E0AEFA /* rawfiles.cpp in Sources */, + 0A1F17191FBB768100E0AEFA /* swoptfilter.cpp in Sources */, + 0A1F16B51FBB75D600E0AEFA /* curlftpt.cpp in Sources */, + 0A1F16D61FBB762D00E0AEFA /* roman.cpp in Sources */, + 0A1F17431FBB76A700E0AEFA /* entriesblk.cpp in Sources */, + 0A1F16F11FBB768100E0AEFA /* osisglosses.cpp in Sources */, + 0A1F17381FBB768100E0AEFA /* utf8nfkd.cpp in Sources */, + 0A1F17471FBB76A700E0AEFA /* rawverse.cpp in Sources */, + 0A1F16BC1FBB75D600E0AEFA /* markupfiltmgr.cpp in Sources */, + 0A1F17421FBB76A700E0AEFA /* bz2comprs.cpp in Sources */, + 0A1F16DB1FBB762D00E0AEFA /* utilstr.cpp in Sources */, + 0A1F16ED1FBB768100E0AEFA /* osisxlit.cpp in Sources */, + 0A1F171D1FBB768100E0AEFA /* thmlfootnotes.cpp in Sources */, + 0A1F17341FBB768100E0AEFA /* utf8hebrewpoints.cpp in Sources */, + 0A1F174C1FBB76A700E0AEFA /* zipcomprs.cpp in Sources */, + 0A1F16EB1FBB768100E0AEFA /* gbflatex.cpp in Sources */, + 0A1F170D1FBB768100E0AEFA /* osisplain.cpp in Sources */, + 0A1F16F31FBB768100E0AEFA /* teixhtml.cpp in Sources */, + 0A1F17151FBB768100E0AEFA /* osisxhtml.cpp in Sources */, + 0A1F17101FBB768100E0AEFA /* osisscripref.cpp in Sources */, + 0A1F16E11FBB765A00E0AEFA /* swld.cpp in Sources */, + 0A1F16C21FBB75D600E0AEFA /* swmgr.cpp in Sources */, + 0A1F16EE1FBB768100E0AEFA /* teilatex.cpp in Sources */, + 0A1F17291FBB768100E0AEFA /* thmlvariants.cpp in Sources */, + 0A1F16C11FBB75D600E0AEFA /* swlocale.cpp in Sources */, + 0A1F16AF1FBB75D600E0AEFA /* treekey.cpp in Sources */, + 0A1F171A1FBB768100E0AEFA /* teihtmlhref.cpp in Sources */, + 0A1F16C81FBB762D00E0AEFA /* gzclose.c in Sources */, + 0A1F16E41FBB765A00E0AEFA /* rawtext.cpp in Sources */, + 0A1F16D81FBB762D00E0AEFA /* swobject.cpp in Sources */, + 0A1F16B01FBB75D600E0AEFA /* treekeyidx.cpp in Sources */, + 0A1F17241FBB768100E0AEFA /* thmlosis.cpp in Sources */, + 0A1F16D01FBB762D00E0AEFA /* trees.c in Sources */, + 0A1F16CC1FBB762D00E0AEFA /* infback.c in Sources */, + 0A1F174D1FBB76A700E0AEFA /* zstr.cpp in Sources */, + 0A1F172F1FBB768100E0AEFA /* utf8arabicpoints.cpp in Sources */, + 0A1F173C1FBB76A700E0AEFA /* rawcom.cpp in Sources */, + 0A1F16FD1FBB768100E0AEFA /* gbfrtf.cpp in Sources */, + 0A1F16CB1FBB762D00E0AEFA /* gzwrite.c in Sources */, + 0A1F16BD1FBB75D600E0AEFA /* stringmgr.cpp in Sources */, + 0A1F16CF1FBB762D00E0AEFA /* inftrees.c in Sources */, + 0A1F16E71FBB765A00E0AEFA /* ztext.cpp in Sources */, + 0A1F16EC1FBB768100E0AEFA /* osislatex.cpp in Sources */, + 0A1F16C91FBB762D00E0AEFA /* gzlib.c in Sources */, + 0A1F16FC1FBB768100E0AEFA /* gbfredletterwords.cpp in Sources */, + 0A1F16AC1FBB75D600E0AEFA /* listkey.cpp in Sources */, + 0A1F16E51FBB765A00E0AEFA /* rawtext4.cpp in Sources */, + 0A1F173F1FBB76A700E0AEFA /* swcom.cpp in Sources */, + 0A1F17411FBB76A700E0AEFA /* zcom4.cpp in Sources */, + 0A1F174B1FBB76A700E0AEFA /* swcomprs.cpp in Sources */, + 0A1F17201FBB768100E0AEFA /* thmlhtml.cpp in Sources */, + 0A1F16E91FBB768100E0AEFA /* scsuutf8.cpp in Sources */, + 0A1F174E1FBB76A700E0AEFA /* zverse.cpp in Sources */, + 0A1F17041FBB768100E0AEFA /* latin1utf16.cpp in Sources */, + 0A1F16FE1FBB768100E0AEFA /* gbfstrongs.cpp in Sources */, + 0A1F16C01FBB75D600E0AEFA /* swfiltermgr.cpp in Sources */, + 0A1F16D51FBB762D00E0AEFA /* ftpparse.c in Sources */, + 0A1F17131FBB768100E0AEFA /* osiswebif.cpp in Sources */, + 0A1F17351FBB768100E0AEFA /* utf8html.cpp in Sources */, + 0A1F17011FBB768100E0AEFA /* gbfwordjs.cpp in Sources */, + 0A1F172D1FBB768100E0AEFA /* unicodertf.cpp in Sources */, + 0A1F17321FBB768100E0AEFA /* utf8cantillation.cpp in Sources */, + 0A1F16AA1FBB75D600E0AEFA /* swdisp.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ 8DC2EF540486A6940098B216 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2823,6 +6127,7 @@ A94EAC10117B28920018B06F /* SwordBibleChapter.m in Sources */, A94EAC14117B28920018B06F /* SwordBook.mm in Sources */, A94EAC16117B28920018B06F /* SwordCommentary.mm in Sources */, + 0A1F169A1FBB70E300E0AEFA /* flatapi.cpp in Sources */, A94EAC18117B28920018B06F /* SwordDictionary.mm in Sources */, A94EAC1A117B28920018B06F /* SwordInstallSource.mm in Sources */, A94EAC1C117B28920018B06F /* SwordInstallSourceManager.mm in Sources */, @@ -2847,275 +6152,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A954ABBF13EE9AB00094E3FE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A999FF3F17951CCE00E65919 /* bz2comprs.cpp in Sources */, - A999FF4017951CCE00E65919 /* xzcomprs.cpp in Sources */, - A999FF4117951CCE00E65919 /* scsuutf8.cpp in Sources */, - A96C2359176AFA3C008D714B /* remotetrans.cpp in Sources */, - A96C235A176AFA3C008D714B /* osisenum.cpp in Sources */, - A96C235B176AFA3C008D714B /* osisglosses.cpp in Sources */, - A96C235C176AFA3C008D714B /* osisxlit.cpp in Sources */, - A96C235C176AFA3C008D714B /* osisreferencelinks.cpp in Sources */, - A96C235D176AFA3C008D714B /* gzclose.c in Sources */, - A96C235E176AFA3C008D714B /* gzlib.c in Sources */, - A96C235F176AFA3C008D714B /* gzread.c in Sources */, - A96C2360176AFA3C008D714B /* gzwrite.c in Sources */, - A96C2361176AFA3C008D714B /* infback.c in Sources */, - A91C8B6817523609008702B9 /* versificationmgr.cpp in Sources */, - A967FB5616806B16004ED73C /* teixhtml.cpp in Sources */, - A954ACCA13EEA5340094E3FE /* ftplib.c in Sources */, - A954ACCB13EEA5340094E3FE /* ftpparse.c in Sources */, - A954ACCD13EEA5340094E3FE /* adler32.c in Sources */, - A954ACCE13EEA5340094E3FE /* compress.c in Sources */, - A954ACCF13EEA5340094E3FE /* crc32.c in Sources */, - A954ACD013EEA5340094E3FE /* deflate.c in Sources */, - A954ACD413EEA5340094E3FE /* inffast.c in Sources */, - A954ACD513EEA5340094E3FE /* inflate.c in Sources */, - A954ACD613EEA5340094E3FE /* inftrees.c in Sources */, - A954ACD913EEA5340094E3FE /* trees.c in Sources */, - A954ACDA13EEA5340094E3FE /* uncompr.c in Sources */, - A954ACDB13EEA5340094E3FE /* untgz.c in Sources */, - A954ACDC13EEA5340094E3FE /* zutil.c in Sources */, - A954AC3A13EEA0C10094E3FE /* swdisp.cpp in Sources */, - A954AC3B13EEA0C10094E3FE /* swlog.cpp in Sources */, - A954AC3C13EEA0C10094E3FE /* listkey.cpp in Sources */, - A954AC3D13EEA0C10094E3FE /* strkey.cpp in Sources */, - A954AC3E13EEA0C10094E3FE /* swkey.cpp in Sources */, - A954AC3F13EEA0C10094E3FE /* treekey.cpp in Sources */, - A954AC4013EEA0C10094E3FE /* treekeyidx.cpp in Sources */, - A954AC4113EEA0C10094E3FE /* versekey.cpp in Sources */, - A954AC4213EEA0C10094E3FE /* versetreekey.cpp in Sources */, - A954AC4313EEA0C10094E3FE /* curlftpt.cpp in Sources */, - A954AC4413EEA0C10094E3FE /* curlhttpt.cpp in Sources */, - A954AC4513EEA0C10094E3FE /* encfiltmgr.cpp in Sources */, - A954AC4613EEA0C10094E3FE /* filemgr.cpp in Sources */, - A954AC4713EEA0C10094E3FE /* ftplibftpt.cpp in Sources */, - A954AC4913EEA0C10094E3FE /* installmgr.cpp in Sources */, - A954AC4A13EEA0C10094E3FE /* localemgr.cpp in Sources */, - A954AC4B13EEA0C10094E3FE /* markupfiltmgr.cpp in Sources */, - A954AC4C13EEA0C10094E3FE /* stringmgr.cpp in Sources */, - A954AC4D13EEA0C10094E3FE /* swcacher.cpp in Sources */, - A954AC4E13EEA0C10094E3FE /* swconfig.cpp in Sources */, - A954AC4F13EEA0C10094E3FE /* swfiltermgr.cpp in Sources */, - A954AC5013EEA0C10094E3FE /* swlocale.cpp in Sources */, - A954AC5113EEA0C10094E3FE /* swmgr.cpp in Sources */, - A954AC5213EEA0C10094E3FE /* swsearchable.cpp in Sources */, - A954AC5413EEA0C10094E3FE /* hrefcom.cpp in Sources */, - A954AC5513EEA0C10094E3FE /* rawcom.cpp in Sources */, - A954AC5613EEA0C10094E3FE /* rawcom4.cpp in Sources */, - A954AC5713EEA0C10094E3FE /* rawfiles.cpp in Sources */, - A954AC5813EEA0C10094E3FE /* swcom.cpp in Sources */, - A954AC5913EEA0C10094E3FE /* zcom.cpp in Sources */, - A954AC5A13EEA0C10094E3FE /* entriesblk.cpp in Sources */, - A954AC5B13EEA0C10094E3FE /* lzsscomprs.cpp in Sources */, - A954AC5C13EEA0C10094E3FE /* rawstr.cpp in Sources */, - A954AC5D13EEA0C10094E3FE /* rawstr4.cpp in Sources */, - A954AC5E13EEA0C10094E3FE /* rawverse.cpp in Sources */, - A954AC5F13EEA0C10094E3FE /* rawverse4.cpp in Sources */, - A954AC6013EEA0C10094E3FE /* sapphire.cpp in Sources */, - A954AC6113EEA0C10094E3FE /* swcipher.cpp in Sources */, - A954AC6213EEA0C10094E3FE /* swcomprs.cpp in Sources */, - A954AC6313EEA0C10094E3FE /* zipcomprs.cpp in Sources */, - A954AC6413EEA0C10094E3FE /* zstr.cpp in Sources */, - A954AC6513EEA0C10094E3FE /* zverse.cpp in Sources */, - A954AC6613EEA0C10094E3FE /* cipherfil.cpp in Sources */, - A954AC6713EEA0C10094E3FE /* gbffootnotes.cpp in Sources */, - A954AC6813EEA0C10094E3FE /* gbfheadings.cpp in Sources */, - A954AC6913EEA0C10094E3FE /* gbfhtml.cpp in Sources */, - A954AC6A13EEA0C10094E3FE /* gbfhtmlhref.cpp in Sources */, - A954AC6B13EEA0C10094E3FE /* gbfmorph.cpp in Sources */, - A954AC6C13EEA0C10094E3FE /* gbfosis.cpp in Sources */, - A954AC6D13EEA0C10094E3FE /* gbfplain.cpp in Sources */, - A954AC6E13EEA0C10094E3FE /* gbfredletterwords.cpp in Sources */, - A954AC6F13EEA0C10094E3FE /* gbfrtf.cpp in Sources */, - A954AC7013EEA0C10094E3FE /* gbfstrongs.cpp in Sources */, - A954AC7113EEA0C10094E3FE /* gbfthml.cpp in Sources */, - A954AC7213EEA0C10094E3FE /* gbfwebif.cpp in Sources */, - A954AC7313EEA0C10094E3FE /* gbfwordjs.cpp in Sources */, - A954AC7413EEA0C10094E3FE /* gbfxhtml.cpp in Sources */, - A954AC7513EEA0C10094E3FE /* greeklexattribs.cpp in Sources */, - A954AC7613EEA0C10094E3FE /* latin1utf16.cpp in Sources */, - A954AC7713EEA0C10094E3FE /* latin1utf8.cpp in Sources */, - A954AC7813EEA0C10094E3FE /* osisfootnotes.cpp in Sources */, - A954AC7913EEA0C10094E3FE /* osisheadings.cpp in Sources */, - A954AC7A13EEA0C10094E3FE /* osishtmlhref.cpp in Sources */, - A954AC7B13EEA0C10094E3FE /* osislemma.cpp in Sources */, - A954AC7C13EEA0C10094E3FE /* osismorph.cpp in Sources */, - A954AC7D13EEA0C10094E3FE /* osismorphsegmentation.cpp in Sources */, - A954AC7E13EEA0C10094E3FE /* osisosis.cpp in Sources */, - A954AC7F13EEA0C10094E3FE /* osisplain.cpp in Sources */, - A954AC8013EEA0C10094E3FE /* osisredletterwords.cpp in Sources */, - A954AC8113EEA0C10094E3FE /* osisrtf.cpp in Sources */, - A954AC8313EEA0C10094E3FE /* osisscripref.cpp in Sources */, - A954AC8413EEA0C10094E3FE /* osisstrongs.cpp in Sources */, - A954AC8513EEA0C10094E3FE /* osisvariants.cpp in Sources */, - A954AC8613EEA0C10094E3FE /* osiswebif.cpp in Sources */, - A954AC8713EEA0C10094E3FE /* osiswordjs.cpp in Sources */, - A954AC8813EEA0C10094E3FE /* osisxhtml.cpp in Sources */, - A954AC8913EEA0C10094E3FE /* papyriplain.cpp in Sources */, - A954AC8C13EEA0C10094E3FE /* rtfhtml.cpp in Sources */, - A954AC8D13EEA0C10094E3FE /* swbasicfilter.cpp in Sources */, - A954AC8E13EEA0C10094E3FE /* swoptfilter.cpp in Sources */, - A954AC8F13EEA0C10094E3FE /* teihtmlhref.cpp in Sources */, - A954AC9013EEA0C10094E3FE /* teiplain.cpp in Sources */, - A954AC9113EEA0C10094E3FE /* teirtf.cpp in Sources */, - A954AC9213EEA0C10094E3FE /* thmlfootnotes.cpp in Sources */, - A954AC9313EEA0C10094E3FE /* thmlgbf.cpp in Sources */, - A954AC9413EEA0C10094E3FE /* thmlheadings.cpp in Sources */, - A954AC9513EEA0C10094E3FE /* thmlhtml.cpp in Sources */, - A954AC9613EEA0C10094E3FE /* thmlhtmlhref.cpp in Sources */, - A954AC9713EEA0C10094E3FE /* thmllemma.cpp in Sources */, - A954AC9813EEA0C10094E3FE /* thmlmorph.cpp in Sources */, - A954AC9913EEA0C10094E3FE /* thmlosis.cpp in Sources */, - A954AC9A13EEA0C10094E3FE /* thmlplain.cpp in Sources */, - A954AC9B13EEA0C10094E3FE /* thmlrtf.cpp in Sources */, - A954AC9C13EEA0C10094E3FE /* thmlscripref.cpp in Sources */, - A954AC9D13EEA0C10094E3FE /* thmlstrongs.cpp in Sources */, - A954AC9E13EEA0C10094E3FE /* thmlvariants.cpp in Sources */, - A954AC9F13EEA0C10094E3FE /* thmlwebif.cpp in Sources */, - A954ACA013EEA0C10094E3FE /* thmlwordjs.cpp in Sources */, - A954ACA113EEA0C10094E3FE /* thmlxhtml.cpp in Sources */, - A954ACA213EEA0C10094E3FE /* unicodertf.cpp in Sources */, - A954ACA313EEA0C10094E3FE /* utf16utf8.cpp in Sources */, - A954ACA413EEA0C10094E3FE /* utf8arabicpoints.cpp in Sources */, - A954ACA513EEA0C10094E3FE /* utf8arshaping.cpp in Sources */, - A954ACA613EEA0C10094E3FE /* utf8bidireorder.cpp in Sources */, - A954ACA713EEA0C10094E3FE /* utf8cantillation.cpp in Sources */, - A954ACA813EEA0C10094E3FE /* utf8greekaccents.cpp in Sources */, - A954ACA913EEA0C10094E3FE /* utf8hebrewpoints.cpp in Sources */, - A954ACAA13EEA0C10094E3FE /* utf8html.cpp in Sources */, - A954ACAB13EEA0C10094E3FE /* utf8latin1.cpp in Sources */, - A954ACAC13EEA0C10094E3FE /* utf8nfc.cpp in Sources */, - A954ACAD13EEA0C10094E3FE /* utf8nfkd.cpp in Sources */, - A954ACAE13EEA0C10094E3FE /* utf8transliterator.cpp in Sources */, - A954ACAF13EEA0C10094E3FE /* utf8utf16.cpp in Sources */, - A954ACB013EEA0C10094E3FE /* rawgenbook.cpp in Sources */, - A954ACB113EEA0C10094E3FE /* swgenbook.cpp in Sources */, - A954ACB213EEA0C10094E3FE /* rawld.cpp in Sources */, - A954ACB313EEA0C10094E3FE /* rawld4.cpp in Sources */, - A954ACB413EEA0C10094E3FE /* swld.cpp in Sources */, - A954ACB513EEA0C10094E3FE /* zld.cpp in Sources */, - A954ACB613EEA0C10094E3FE /* swmodule.cpp in Sources */, - A954ACB713EEA0C10094E3FE /* rawtext.cpp in Sources */, - A954ACB813EEA0C10094E3FE /* rawtext4.cpp in Sources */, - A954ACB913EEA0C10094E3FE /* swtext.cpp in Sources */, - A954ACBA13EEA0C10094E3FE /* ztext.cpp in Sources */, - A954ACBB13EEA0C10094E3FE /* roman.cpp in Sources */, - A954ACBC13EEA0C10094E3FE /* swbuf.cpp in Sources */, - A954ACBD13EEA0C10094E3FE /* swobject.cpp in Sources */, - A954ACBF13EEA0C10094E3FE /* swversion.cpp in Sources */, - A954ACC013EEA0C10094E3FE /* url.cpp in Sources */, - A954ACC113EEA0C10094E3FE /* utilstr.cpp in Sources */, - A954ACC213EEA0C10094E3FE /* utilxml.cpp in Sources */, - A954ABCB13EE9E460094E3FE /* AnalysisHeader.cpp in Sources */, - A954ABCC13EE9E460094E3FE /* Analyzers.cpp in Sources */, - A954ABCD13EE9E470094E3FE /* StandardAnalyzer.cpp in Sources */, - A954ABCE13EE9E470094E3FE /* StandardFilter.cpp in Sources */, - A954ABCF13EE9E470094E3FE /* StandardTokenizer.cpp in Sources */, - A954ABD013EE9E470094E3FE /* gunichartables.cpp in Sources */, - A954ABD113EE9E470094E3FE /* repl_lltot.cpp in Sources */, - A954ABD213EE9E470094E3FE /* repl_tcscasecmp.cpp in Sources */, - A954ABD313EE9E470094E3FE /* repl_tcslwr.cpp in Sources */, - A954ABD413EE9E470094E3FE /* repl_tcstod.cpp in Sources */, - A954ABD513EE9E470094E3FE /* repl_tcstoll.cpp in Sources */, - A954ABD613EE9E470094E3FE /* repl_tprintf.cpp in Sources */, - A954ABD713EE9E470094E3FE /* threads.cpp in Sources */, - A954ABD813EE9E470094E3FE /* utf8.cpp in Sources */, - A954ABD913EE9E470094E3FE /* condition.cpp in Sources */, - A954ABDA13EE9E470094E3FE /* error.cpp in Sources */, - A954ABDB13EE9E470094E3FE /* memtracking.cpp in Sources */, - A954ABDC13EE9E470094E3FE /* DateField.cpp in Sources */, - A954ABDD13EE9E470094E3FE /* Document.cpp in Sources */, - A954ABDE13EE9E470094E3FE /* Field.cpp in Sources */, - A954ABDF13EE9E470094E3FE /* CompoundFile.cpp in Sources */, - A954ABE013EE9E470094E3FE /* DocumentWriter.cpp in Sources */, - A954ABE113EE9E470094E3FE /* FieldInfos.cpp in Sources */, - A954ABE213EE9E470094E3FE /* FieldsReader.cpp in Sources */, - A954ABE313EE9E470094E3FE /* FieldsWriter.cpp in Sources */, - A954ABE413EE9E470094E3FE /* IndexModifier.cpp in Sources */, - A954ABE513EE9E470094E3FE /* IndexReader.cpp in Sources */, - A954ABE613EE9E470094E3FE /* IndexWriter.cpp in Sources */, - A954ABE713EE9E470094E3FE /* MultiReader.cpp in Sources */, - A954ABE813EE9E470094E3FE /* SegmentInfos.cpp in Sources */, - A954ABE913EE9E470094E3FE /* SegmentMergeInfo.cpp in Sources */, - A954ABEA13EE9E470094E3FE /* SegmentMergeQueue.cpp in Sources */, - A954ABEB13EE9E470094E3FE /* SegmentMerger.cpp in Sources */, - A954ABEC13EE9E470094E3FE /* SegmentReader.cpp in Sources */, - A954ABED13EE9E470094E3FE /* SegmentTermDocs.cpp in Sources */, - A954ABEE13EE9E470094E3FE /* SegmentTermEnum.cpp in Sources */, - A954ABEF13EE9E470094E3FE /* SegmentTermPositions.cpp in Sources */, - A954ABF013EE9E470094E3FE /* SegmentTermVector.cpp in Sources */, - A954ABF113EE9E470094E3FE /* Term.cpp in Sources */, - A954ABF213EE9E470094E3FE /* TermInfo.cpp in Sources */, - A954ABF313EE9E470094E3FE /* TermInfosReader.cpp in Sources */, - A954ABF413EE9E470094E3FE /* TermInfosWriter.cpp in Sources */, - A954ABF513EE9E470094E3FE /* TermVectorReader.cpp in Sources */, - A954ABF613EE9E470094E3FE /* TermVectorWriter.cpp in Sources */, - A954ABF713EE9E470094E3FE /* Lexer.cpp in Sources */, - A954ABF813EE9E470094E3FE /* MultiFieldQueryParser.cpp in Sources */, - A954ABF913EE9E470094E3FE /* QueryParser.cpp in Sources */, - A954ABFA13EE9E470094E3FE /* QueryParserBase.cpp in Sources */, - A954ABFB13EE9E470094E3FE /* QueryToken.cpp in Sources */, - A954ABFC13EE9E470094E3FE /* TokenList.cpp in Sources */, - A954ABFD13EE9E470094E3FE /* BooleanQuery.cpp in Sources */, - A954ABFE13EE9E470094E3FE /* BooleanScorer.cpp in Sources */, - A954ABFF13EE9E470094E3FE /* CachingWrapperFilter.cpp in Sources */, - A954AC0013EE9E470094E3FE /* ChainedFilter.cpp in Sources */, - A954AC0113EE9E470094E3FE /* ConjunctionScorer.cpp in Sources */, - A954AC0213EE9E470094E3FE /* DateFilter.cpp in Sources */, - A954AC0313EE9E470094E3FE /* ExactPhraseScorer.cpp in Sources */, - A954AC0413EE9E470094E3FE /* Explanation.cpp in Sources */, - A954AC0513EE9E470094E3FE /* FieldCache.cpp in Sources */, - A954AC0613EE9E470094E3FE /* FieldCacheImpl.cpp in Sources */, - A954AC0713EE9E470094E3FE /* FieldDocSortedHitQueue.cpp in Sources */, - A954AC0813EE9E470094E3FE /* FieldSortedHitQueue.cpp in Sources */, - A954AC0913EE9E470094E3FE /* FilteredTermEnum.cpp in Sources */, - A954AC0A13EE9E470094E3FE /* FuzzyQuery.cpp in Sources */, - A954AC0B13EE9E470094E3FE /* HitQueue.cpp in Sources */, - A954AC0C13EE9E470094E3FE /* Hits.cpp in Sources */, - A954AC0D13EE9E470094E3FE /* IndexSearcher.cpp in Sources */, - A954AC0E13EE9E470094E3FE /* MultiSearcher.cpp in Sources */, - A954AC0F13EE9E470094E3FE /* MultiTermQuery.cpp in Sources */, - A954AC1013EE9E470094E3FE /* PhrasePositions.cpp in Sources */, - A954AC1113EE9E470094E3FE /* PhraseQuery.cpp in Sources */, - A954AC1213EE9E470094E3FE /* PhraseScorer.cpp in Sources */, - A954AC1313EE9E470094E3FE /* PrefixQuery.cpp in Sources */, - A954AC1413EE9E470094E3FE /* QueryFilter.cpp in Sources */, - A954AC1513EE9E470094E3FE /* RangeFilter.cpp in Sources */, - A954AC1613EE9E470094E3FE /* RangeQuery.cpp in Sources */, - A954AC1713EE9E470094E3FE /* SearchHeader.cpp in Sources */, - A954AC1813EE9E470094E3FE /* Similarity.cpp in Sources */, - A954AC1913EE9E470094E3FE /* SloppyPhraseScorer.cpp in Sources */, - A954AC1A13EE9E470094E3FE /* Sort.cpp in Sources */, - A954AC1B13EE9E470094E3FE /* TermQuery.cpp in Sources */, - A954AC1C13EE9E470094E3FE /* TermScorer.cpp in Sources */, - A954AC1D13EE9E470094E3FE /* WildcardQuery.cpp in Sources */, - A954AC1E13EE9E470094E3FE /* WildcardTermEnum.cpp in Sources */, - A954AC1F13EE9E470094E3FE /* StdHeader.cpp in Sources */, - A954AC2013EE9E470094E3FE /* FSDirectory.cpp in Sources */, - A954AC2113EE9E470094E3FE /* IndexInput.cpp in Sources */, - A954AC2213EE9E470094E3FE /* IndexOutput.cpp in Sources */, - A954AC2313EE9E470094E3FE /* Lock.cpp in Sources */, - A954AC2413EE9E470094E3FE /* MMapInput.cpp in Sources */, - A954AC2513EE9E470094E3FE /* RAMDirectory.cpp in Sources */, - A954AC2613EE9E470094E3FE /* TransactionalRAMDirectory.cpp in Sources */, - A954AC2713EE9E470094E3FE /* BitSet.cpp in Sources */, - A954AC2813EE9E470094E3FE /* dirent.cpp in Sources */, - A954AC2913EE9E470094E3FE /* Equators.cpp in Sources */, - A954AC2A13EE9E470094E3FE /* FastCharStream.cpp in Sources */, - A954AC2B13EE9E470094E3FE /* fileinputstream.cpp in Sources */, - A954AC2C13EE9E470094E3FE /* MD5Digester.cpp in Sources */, - A954AC2D13EE9E470094E3FE /* Misc.cpp in Sources */, - A954AC2E13EE9E470094E3FE /* Reader.cpp in Sources */, - A954AC2F13EE9E470094E3FE /* StringBuffer.cpp in Sources */, - A954AC3013EE9E470094E3FE /* StringIntern.cpp in Sources */, - A954AC3113EE9E470094E3FE /* ThreadLocal.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A975EED611C792B9007C1532 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3132,21 +6168,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A9BDFA5E1207F9870067ED5B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A9BDFA7D1207FA2F0067ED5B /* SwordModuleLongRunTest.mm in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A9BFB09D13EDF51000032679 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A9BFB0BC13EDF5C900032679 /* SwordManagerTest.m in Sources */, + A995E6271C877DD000843E13 /* SwordManagerTest.m in Sources */, + A968BE4D19DFF832002C9B78 /* SwordBibleTest.swift in Sources */, A9BFB0BD13EDF5C900032679 /* SwordModuleTest.m in Sources */, + A969DC7B1DA1289100C8E976 /* SwordLocaleManagerTest.swift in Sources */, A9BFB0BE13EDF5C900032679 /* SwordListKeyTest.m in Sources */, + 8C92CC9CEC8A341B902C53E2 /* SwordInstallSourceManagerTest.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3262,109 +6293,35 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + A9D8FD3019E2EC5B0055700C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A9D8FD3819E2EC730055700C /* introtest.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A9EE8A8719E286E500CFFE6A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A9EE8A9719E2877500CFFE6A /* SwordModuleLongRunTest.mm in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - A954ABCA13EE9D0F0094E3FE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A954ABC913EE9D0F0094E3FE /* PBXContainerItemProxy */; - }; - A9A7EEAE14D5D4BB00B76B6A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9A7EEAD14D5D4BB00B76B6A /* PBXContainerItemProxy */; - }; - A9A7EEC114D5D66400B76B6A /* PBXTargetDependency */ = { + 0A011DA91FB4142500778C2B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9A7EEC014D5D66400B76B6A /* PBXContainerItemProxy */; - }; - A9BDFA5B1207F9870067ED5B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8DC2EF4F0486A6940098B216 /* ObjCSword */; - targetProxy = A9BDFA5C1207F9870067ED5B /* PBXContainerItemProxy */; + target = 0A011D9D1FB4142500778C2B /* sword */; + targetProxy = 0A011DA81FB4142500778C2B /* PBXContainerItemProxy */; }; A9BFB0BB13EDF5B600032679 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 8DC2EF4F0486A6940098B216 /* ObjCSword */; targetProxy = A9BFB0BA13EDF5B600032679 /* PBXContainerItemProxy */; }; - A9D2714514D717D800DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D2714614D717D800DA8926 /* PBXContainerItemProxy */; - }; - A9D2715214D717FD00DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D2715314D717FD00DA8926 /* PBXContainerItemProxy */; - }; - A9D2715F14D7181200DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D2716014D7181200DA8926 /* PBXContainerItemProxy */; - }; - A9D2716C14D7182300DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D2716D14D7182300DA8926 /* PBXContainerItemProxy */; - }; - A9D2717914D7183B00DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D2717A14D7183B00DA8926 /* PBXContainerItemProxy */; - }; - A9D2718614D7185800DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D2718714D7185800DA8926 /* PBXContainerItemProxy */; - }; - A9D2719314D7186A00DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D2719414D7186A00DA8926 /* PBXContainerItemProxy */; - }; - A9D271A014D7187E00DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D271A114D7187E00DA8926 /* PBXContainerItemProxy */; - }; - A9D271AD14D7189300DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D271AE14D7189300DA8926 /* PBXContainerItemProxy */; - }; - A9D271BA14D718A400DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D271BB14D718A400DA8926 /* PBXContainerItemProxy */; - }; - A9D271C714D718B800DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D271C814D718B800DA8926 /* PBXContainerItemProxy */; - }; - A9D271D414D718C800DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D271D514D718C800DA8926 /* PBXContainerItemProxy */; - }; - A9D271E114D718DF00DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D271E214D718DF00DA8926 /* PBXContainerItemProxy */; - }; - A9D271EE14D718F500DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D271EF14D718F500DA8926 /* PBXContainerItemProxy */; - }; - A9D271FF14D7193A00DA8926 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A954ABC213EE9AB00094E3FE /* sword */; - targetProxy = A9D271FE14D7193A00DA8926 /* PBXContainerItemProxy */; - }; A9D2720114D7194E00DA8926 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = A9D2714414D717D800DA8926 /* imp2gbs */; @@ -3445,6 +6402,11 @@ target = A9D271ED14D718F500DA8926 /* xml2gbs */; targetProxy = A9D2721E14D7194E00DA8926 /* PBXContainerItemProxy */; }; + A9EE8A9319E286E500CFFE6A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 8DC2EF4F0486A6940098B216 /* ObjCSword */; + targetProxy = A9EE8A9219E286E500CFFE6A /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -3459,34 +6421,305 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 0A011DB01FB4142500778C2B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = J9J97ZC4K5; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = SWORD/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = NO; + PRODUCT_BUNDLE_IDENTIFIER = org.crosswire.apple.SWORD; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 0A011DB11FB4142500778C2B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = J9J97ZC4K5; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = SWORD/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = org.crosswire.apple.SWORD; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 0A011DB31FB4142500778C2B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = J9J97ZC4K5; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = SWORDTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.1; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = org.crosswire.apple.SWORDTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 0A011DB41FB4142500778C2B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = J9J97ZC4K5; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = SWORDTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.1; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = org.crosswire.apple.SWORDTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 0A1F16A71FBB755B00E0AEFA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = J9J97ZC4K5; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + IPHONEOS_DEPLOYMENT_TARGET = 11.1; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 0A1F16A81FBB755B00E0AEFA /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = J9J97ZC4K5; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + IPHONEOS_DEPLOYMENT_TARGET = 11.1; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; 1DEB91AE08733DA50010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = J9J97ZC4K5; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(PROJECT_DIR)/dependencies", ); FRAMEWORK_VERSION = A; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_GC = required; GCC_INLINES_ARE_PRIVATE_EXTERN = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = ObjCSword_Prefix.pch; GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = ""; - HEADER_SEARCH_PATHS = "../../include/**"; + HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "@rpath"; LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; + OBJROOT = "$(PROJECT_DIR)/Build/Intermediates"; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DDEBUG"; OTHER_LDFLAGS = ( @@ -3494,8 +6727,10 @@ "-lz", "-licucore", ); - PRODUCT_NAME = ObjCSword; + PRODUCT_BUNDLE_IDENTIFIER = org.crosswire.apple.SWORD; + PRODUCT_NAME = SWORD; SDKROOT = macosx; + SYMROOT = "$(PROJECT_DIR)/Build/Products"; VALID_ARCHS = x86_64; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = framework; @@ -3506,38 +6741,46 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = J9J97ZC4K5; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(PROJECT_DIR)/dependencies", ); FRAMEWORK_VERSION = A; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_GC = required; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_INLINES_ARE_PRIVATE_EXTERN = NO; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = ObjCSword_Prefix.pch; GCC_VERSION = ""; - HEADER_SEARCH_PATHS = "../../include/**"; + HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "@rpath"; LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; + OBJROOT = "$(PROJECT_DIR)/Build/Intermediates"; OTHER_CFLAGS = "-DRELEASE"; OTHER_LDFLAGS = ( "-lcurl", "-lz", "-licucore", ); - PRODUCT_NAME = ObjCSword; + PRODUCT_BUNDLE_IDENTIFIER = org.crosswire.apple.SWORD; + PRODUCT_NAME = SWORD; SDKROOT = macosx; + SYMROOT = "$(PROJECT_DIR)/Build/Products"; VALID_ARCHS = x86_64; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = framework; @@ -3547,102 +6790,111 @@ 1DEB91B208733DA50010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - GCC_C_LANGUAGE_STANDARD = gnu99; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - }; - name = Debug; - }; - 1DEB91B308733DA50010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_VERSION = ""; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - SDKROOT = macosx; - }; - name = Release; - }; - A954ABC513EE9AB00094E3FE /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - EXECUTABLE_PREFIX = lib; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../../include/**", - "$(SRCROOT)/dependencies/clucene/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(PROJECT_DIR)/../../include", + "$(PROJECT_DIR)/dependencies/curl/include", ); - INSTALL_PATH = "@rpath"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/dependencies/curl/lib"; + OBJROOT = Build/Intermediates; + ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( - "-DCURLAVAILABLE", + "-DUNIX", "-Dunix", "-D__unix__", - "-DUSELUCENE", - "-D_ICU_", + "-DEXCLUDEBZIP2", + "-DEXCLUDEXZ", + "-DCURLAVAILABLE", + ); + OTHER_LDFLAGS = ( + "-lcurl", + "-lz", + "-licucore", ); - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../include/**/** $(SRCROOT)/dependencies/clucene/** $(SRCROOT)/dependencies/icu/include/**"; VALID_ARCHS = x86_64; }; name = Debug; }; - A954ABC613EE9AB00094E3FE /* Release */ = { + 1DEB91B308733DA50010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - EXECUTABLE_PREFIX = lib; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../../include/**", - "$(SRCROOT)/dependencies/clucene/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(PROJECT_DIR)/../../include", + "$(PROJECT_DIR)/dependencies/curl/include", ); - INSTALL_PATH = "@rpath"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/dependencies/curl/lib"; + OBJROOT = Build/Intermediates; OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "-DCURLAVAILABLE", + "-DUNIX", "-Dunix", "-D__unix__", - "-DUSELUCENE", - "-D_ICU_", + "-DEXCLUDEBZIP2", + "-DEXCLUDEXZ", + "-DCURLAVAILABLE", + ); + OTHER_LDFLAGS = ( + "-lcurl", + "-lz", + "-licucore", ); - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; - USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../include/**/** $(SRCROOT)/dependencies/clucene/** $(SRCROOT)/dependencies/icu/include/**"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; VALID_ARCHS = x86_64; }; name = Release; @@ -3651,21 +6903,27 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -3676,6 +6934,7 @@ PRODUCT_NAME = mod2osis; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -3683,20 +6942,26 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -3707,6 +6972,7 @@ PRODUCT_NAME = mod2osis; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; ZERO_LINK = NO; }; name = Release; @@ -3715,8 +6981,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -3728,15 +6995,19 @@ GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -3745,6 +7016,7 @@ "-licucore", ); PRODUCT_NAME = "$(TARGET_NAME)"; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -3752,23 +7024,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -3777,68 +7054,7 @@ "-licucore", ); PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - A9BDFA691207F9870067ED5B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_ENABLE_OBJC_GC = required; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "test/Tests-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PRODUCT_NAME = Tests; - SDKROOT = macosx; VALID_ARCHS = x86_64; - WRAPPER_EXTENSION = octest; - }; - name = Debug; - }; - A9BDFA6A1207F9870067ED5B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_ENABLE_OBJC_GC = required; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "test/Tests-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PRODUCT_NAME = Tests; - SDKROOT = macosx; - VALID_ARCHS = x86_64; - WRAPPER_EXTENSION = octest; - ZERO_LINK = NO; }; name = Release; }; @@ -3846,28 +7062,41 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_ENABLE_OBJC_GC = required; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", + "INSTALL_SOURCE_PATH=\"$PROJECT_DIR/LocalTestInstallSource\"", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/../../include", + /Users/mbergmann/Development/Apps/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ); INFOPLIST_FILE = "test/Tests-Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + OTHER_SWIFT_FLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "de.mabe.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; + SWIFT_OBJC_BRIDGING_HEADER = "test/Tests-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + SYMROOT = "$(PROJECT_DIR)/Build/Products"; VALID_ARCHS = x86_64; - WRAPPER_EXTENSION = octest; }; name = Debug; }; @@ -3875,23 +7104,34 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_ENABLE_OBJC_GC = required; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/../../include", + /Users/mbergmann/Development/Apps/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ); INFOPLIST_FILE = "test/Tests-Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + OTHER_SWIFT_FLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "de.mabe.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; + SWIFT_OBJC_BRIDGING_HEADER = "test/Tests-Bridging-Header.h"; + SWIFT_VERSION = 3.0; + SYMROOT = "$(PROJECT_DIR)/Build/Products"; VALID_ARCHS = x86_64; - WRAPPER_EXTENSION = octest; }; name = Release; }; @@ -3899,21 +7139,27 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -3924,6 +7170,7 @@ PRODUCT_NAME = imp2gbs; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -3931,20 +7178,26 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -3955,6 +7208,7 @@ PRODUCT_NAME = imp2gbs; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; ZERO_LINK = NO; }; name = Release; @@ -3963,21 +7217,27 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -3988,6 +7248,7 @@ PRODUCT_NAME = imp2ld; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -3995,20 +7256,26 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4019,6 +7286,7 @@ PRODUCT_NAME = imp2ld; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; ZERO_LINK = NO; }; name = Release; @@ -4027,21 +7295,27 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4052,6 +7326,7 @@ PRODUCT_NAME = imp2vs; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4059,20 +7334,26 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4083,6 +7364,7 @@ PRODUCT_NAME = imp2vs; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; ZERO_LINK = NO; }; name = Release; @@ -4091,21 +7373,27 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4116,6 +7404,7 @@ PRODUCT_NAME = installmgr; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4123,20 +7412,26 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4147,6 +7442,7 @@ PRODUCT_NAME = installmgr; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; ZERO_LINK = NO; }; name = Release; @@ -4155,21 +7451,27 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4180,6 +7482,7 @@ PRODUCT_NAME = mod2imp; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4187,20 +7490,26 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4211,6 +7520,7 @@ PRODUCT_NAME = mod2imp; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; ZERO_LINK = NO; }; name = Release; @@ -4219,21 +7529,27 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4244,6 +7560,7 @@ PRODUCT_NAME = mod2vpl; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4251,20 +7568,26 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4275,6 +7598,7 @@ PRODUCT_NAME = mod2vpl; SDKROOT = macosx; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; ZERO_LINK = NO; }; name = Release; @@ -4283,21 +7607,27 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4315,20 +7645,26 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); INSTALL_PATH = /usr/local/bin; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4347,8 +7683,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -4360,15 +7697,19 @@ GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4377,6 +7718,7 @@ "-licucore", ); PRODUCT_NAME = step2vpl; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4384,23 +7726,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4409,6 +7756,7 @@ "-licucore", ); PRODUCT_NAME = step2vpl; + VALID_ARCHS = x86_64; }; name = Release; }; @@ -4416,8 +7764,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -4429,15 +7778,19 @@ GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4446,6 +7799,7 @@ "-licucore", ); PRODUCT_NAME = stepdump; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4453,23 +7807,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4478,6 +7837,7 @@ "-licucore", ); PRODUCT_NAME = stepdump; + VALID_ARCHS = x86_64; }; name = Release; }; @@ -4485,8 +7845,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -4498,15 +7859,19 @@ GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4515,6 +7880,7 @@ "-licucore", ); PRODUCT_NAME = tei2mod; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4522,23 +7888,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4547,6 +7918,7 @@ "-licucore", ); PRODUCT_NAME = tei2mod; + VALID_ARCHS = x86_64; }; name = Release; }; @@ -4554,8 +7926,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -4567,15 +7940,19 @@ GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4584,6 +7961,7 @@ "-licucore", ); PRODUCT_NAME = vpl2mod; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4591,23 +7969,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4616,6 +7999,7 @@ "-licucore", ); PRODUCT_NAME = vpl2mod; + VALID_ARCHS = x86_64; }; name = Release; }; @@ -4623,8 +8007,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -4636,15 +8021,19 @@ GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4653,6 +8042,7 @@ "-licucore", ); PRODUCT_NAME = vs2osisref; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4660,23 +8050,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4685,6 +8080,7 @@ "-licucore", ); PRODUCT_NAME = vs2osisref; + VALID_ARCHS = x86_64; }; name = Release; }; @@ -4692,8 +8088,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -4705,15 +8102,19 @@ GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4722,6 +8123,7 @@ "-licucore", ); PRODUCT_NAME = vs2osisreftxt; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4729,23 +8131,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4754,6 +8161,7 @@ "-licucore", ); PRODUCT_NAME = vs2osisreftxt; + VALID_ARCHS = x86_64; }; name = Release; }; @@ -4761,8 +8169,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -4774,15 +8183,19 @@ GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4791,6 +8204,7 @@ "-licucore", ); PRODUCT_NAME = xml2gbs; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4798,23 +8212,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 27XS5W9C3J; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; HEADER_SEARCH_PATHS = ( - "../../include/**", - "$(SRCROOT)/dependencies/icu/include/**", + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", ); LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-DCURLAVAILABLE", "-Dunix", "-D__unix__", + "-DEXCLUDEXZ", "-D_ICU_", ); OTHER_LDFLAGS = ( @@ -4823,6 +8242,7 @@ "-licucore", ); PRODUCT_NAME = xml2gbs; + VALID_ARCHS = x86_64; }; name = Release; }; @@ -4830,7 +8250,9 @@ isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; PRODUCT_NAME = "$(TARGET_NAME)"; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -4838,6 +8260,178 @@ isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "$(TARGET_NAME)"; + VALID_ARCHS = x86_64; + }; + name = Release; + }; + A9D8FD3519E2EC5B0055700C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application: Manfred Bergmann"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", + ); + INSTALL_PATH = /usr/local/bin; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + OTHER_CFLAGS = ( + "-DCURLAVAILABLE", + "-Dunix", + "-D__unix__", + "-DEXCLUDEXZ", + "-D_ICU_", + ); + OTHER_LDFLAGS = ( + "-lcurl", + "-lz", + "-licucore", + ); + PRODUCT_NAME = introtest; + SDKROOT = macosx; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; + }; + name = Debug; + }; + A9D8FD3619E2EC5B0055700C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application: Manfred Bergmann"; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_MODEL_TUNING = G5; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../include", + "$(SRCROOT)/dependencies/icu/source/i18n", + "$(SRCROOT)/dependencies/icu/source/common", + "$(SRCROOT)/dependencies/icu/source/io", + "$(SRCROOT)/dependencies/clucene", + ); + INSTALL_PATH = /usr/local/bin; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks/ObjCSword.framework/Versions/A/Frameworks"; + OTHER_CFLAGS = ( + "-DCURLAVAILABLE", + "-Dunix", + "-D__unix__", + "-DEXCLUDEXZ", + "-D_ICU_", + ); + OTHER_LDFLAGS = ( + "-lcurl", + "-lz", + "-licucore", + ); + PRODUCT_NAME = introtest; + SDKROOT = macosx; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + VALID_ARCHS = x86_64; + ZERO_LINK = NO; + }; + name = Release; + }; + A9EE8A9519E286E500CFFE6A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(inherited)", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Users/mbergmann/Development/Apps/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(PROJECT_DIR)/../../include", + ); + INFOPLIST_FILE = LongRunningTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "de.mabe.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + A9EE8A9619E286E500CFFE6A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Users/mbergmann/Development/Apps/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(PROJECT_DIR)/../../include", + ); + INFOPLIST_FILE = LongRunningTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "de.mabe.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; @@ -4845,56 +8439,65 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "ObjCSword" */ = { + 0A011DAF1FB4142500778C2B /* Build configuration list for PBXNativeTarget "sword" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1DEB91AE08733DA50010E9CD /* Debug */, - 1DEB91AF08733DA50010E9CD /* Release */, + 0A011DB01FB4142500778C2B /* Debug */, + 0A011DB11FB4142500778C2B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "ObjCSword" */ = { + 0A011DB21FB4142500778C2B /* Build configuration list for PBXNativeTarget "SWORDTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1DEB91B208733DA50010E9CD /* Debug */, - 1DEB91B308733DA50010E9CD /* Release */, + 0A011DB31FB4142500778C2B /* Debug */, + 0A011DB41FB4142500778C2B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A954ABC413EE9AB00094E3FE /* Build configuration list for PBXNativeTarget "sword" */ = { + 0A1F16A61FBB755B00E0AEFA /* Build configuration list for PBXNativeTarget "SWORD" */ = { isa = XCConfigurationList; buildConfigurations = ( - A954ABC513EE9AB00094E3FE /* Debug */, - A954ABC613EE9AB00094E3FE /* Release */, + 0A1F16A71FBB755B00E0AEFA /* Debug */, + 0A1F16A81FBB755B00E0AEFA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A975EEE811C79326007C1532 /* Build configuration list for PBXNativeTarget "mod2osis" */ = { + 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "ObjCSword" */ = { isa = XCConfigurationList; buildConfigurations = ( - A975EEDE11C792BA007C1532 /* Debug */, - A975EEDF11C792BA007C1532 /* Release */, + 1DEB91AE08733DA50010E9CD /* Debug */, + 1DEB91AF08733DA50010E9CD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A9A7EEBB14D5D61700B76B6A /* Build configuration list for PBXNativeTarget "osis2mod" */ = { + 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "ObjCSword" */ = { isa = XCConfigurationList; buildConfigurations = ( - A9A7EEBC14D5D61700B76B6A /* Debug */, - A9A7EEBD14D5D61700B76B6A /* Release */, + 1DEB91B208733DA50010E9CD /* Debug */, + 1DEB91B308733DA50010E9CD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A9BDFA681207F9870067ED5B /* Build configuration list for PBXNativeTarget "LongRunningTests" */ = { + A975EEE811C79326007C1532 /* Build configuration list for PBXNativeTarget "mod2osis" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A975EEDE11C792BA007C1532 /* Debug */, + A975EEDF11C792BA007C1532 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A9A7EEBB14D5D61700B76B6A /* Build configuration list for PBXNativeTarget "osis2mod" */ = { isa = XCConfigurationList; buildConfigurations = ( - A9BDFA691207F9870067ED5B /* Debug */, - A9BDFA6A1207F9870067ED5B /* Release */, + A9A7EEBC14D5D61700B76B6A /* Debug */, + A9A7EEBD14D5D61700B76B6A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -5043,6 +8646,24 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + A9D8FD3419E2EC5B0055700C /* Build configuration list for PBXNativeTarget "introtest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A9D8FD3519E2EC5B0055700C /* Debug */, + A9D8FD3619E2EC5B0055700C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A9EE8A9419E286E500CFFE6A /* Build configuration list for PBXNativeTarget "LongRunningTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A9EE8A9519E286E500CFFE6A /* Debug */, + A9EE8A9619E286E500CFFE6A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 0867D690FE84028FC02AAC07 /* Project object */; diff --git a/bindings/objc/ObjCSword_preLion.xcodeproj/project.pbxproj b/bindings/objc/ObjCSword_preLion.xcodeproj/project.pbxproj deleted file mode 100644 index ecd4c13..0000000 --- a/bindings/objc/ObjCSword_preLion.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1060 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 45; - objects = { - -/* Begin PBXBuildFile section */ - 8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; }; - 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; - A918B8E411C6697400024D84 /* SwordModuleTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A918B8E211C6697400024D84 /* SwordModuleTest.h */; }; - A918B8E511C6697400024D84 /* SwordModuleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A918B8E311C6697400024D84 /* SwordModuleTest.m */; }; - A94EAC0B117B28920018B06F /* SwordBible.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABE3117B28910018B06F /* SwordBible.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC0C117B28920018B06F /* SwordBible.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABE4117B28910018B06F /* SwordBible.mm */; }; - A94EAC0D117B28920018B06F /* SwordBibleBook.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABE5117B28920018B06F /* SwordBibleBook.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC0E117B28920018B06F /* SwordBibleBook.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABE6117B28920018B06F /* SwordBibleBook.mm */; }; - A94EAC0F117B28920018B06F /* SwordBibleChapter.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABE7117B28920018B06F /* SwordBibleChapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC10117B28920018B06F /* SwordBibleChapter.m in Sources */ = {isa = PBXBuildFile; fileRef = A94EABE8117B28920018B06F /* SwordBibleChapter.m */; }; - A94EAC11117B28920018B06F /* SwordBibleTextEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABE9117B28920018B06F /* SwordBibleTextEntry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC12117B28920018B06F /* SwordBibleTextEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = A94EABEA117B28920018B06F /* SwordBibleTextEntry.m */; }; - A94EAC13117B28920018B06F /* SwordBook.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABEB117B28920018B06F /* SwordBook.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC14117B28920018B06F /* SwordBook.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABEC117B28920018B06F /* SwordBook.mm */; }; - A94EAC15117B28920018B06F /* SwordCommentary.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABED117B28920018B06F /* SwordCommentary.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC16117B28920018B06F /* SwordCommentary.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABEE117B28920018B06F /* SwordCommentary.mm */; }; - A94EAC17117B28920018B06F /* SwordDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABEF117B28920018B06F /* SwordDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC18117B28920018B06F /* SwordDictionary.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF0117B28920018B06F /* SwordDictionary.mm */; }; - A94EAC19117B28920018B06F /* SwordInstallSource.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF1117B28920018B06F /* SwordInstallSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC1A117B28920018B06F /* SwordInstallSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF2117B28920018B06F /* SwordInstallSource.mm */; }; - A94EAC1B117B28920018B06F /* SwordInstallSourceController.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF3117B28920018B06F /* SwordInstallSourceController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC1C117B28920018B06F /* SwordInstallSourceController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF4117B28920018B06F /* SwordInstallSourceController.mm */; }; - A94EAC1D117B28920018B06F /* SwordKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF5117B28920018B06F /* SwordKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC1E117B28920018B06F /* SwordKey.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF6117B28920018B06F /* SwordKey.mm */; }; - A94EAC1F117B28920018B06F /* SwordListKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF7117B28920018B06F /* SwordListKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC20117B28920018B06F /* SwordListKey.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF8117B28920018B06F /* SwordListKey.mm */; }; - A94EAC21117B28920018B06F /* SwordManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF9117B28920018B06F /* SwordManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC22117B28920018B06F /* SwordManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABFA117B28920018B06F /* SwordManager.mm */; }; - A94EAC25117B28920018B06F /* SwordModule.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABFD117B28920018B06F /* SwordModule.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC26117B28920018B06F /* SwordModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABFE117B28920018B06F /* SwordModule.mm */; }; - A94EAC27117B28920018B06F /* SwordModuleTextEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABFF117B28920018B06F /* SwordModuleTextEntry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC28117B28920018B06F /* SwordModuleTextEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC00117B28920018B06F /* SwordModuleTextEntry.m */; }; - A94EAC29117B28920018B06F /* SwordModuleTreeEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EAC01117B28920018B06F /* SwordModuleTreeEntry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC2A117B28920018B06F /* SwordModuleTreeEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC02117B28920018B06F /* SwordModuleTreeEntry.m */; }; - A94EAC2D117B28920018B06F /* SwordVerseKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EAC05117B28920018B06F /* SwordVerseKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC2E117B28920018B06F /* SwordVerseKey.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC06117B28920018B06F /* SwordVerseKey.mm */; }; - A94EAC2F117B28920018B06F /* SwordVerseManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EAC07117B28920018B06F /* SwordVerseManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC30117B28920018B06F /* SwordVerseManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC08117B28920018B06F /* SwordVerseManager.mm */; }; - A94EAC31117B28920018B06F /* VerseEnumerator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EAC09117B28920018B06F /* VerseEnumerator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94EAC32117B28920018B06F /* VerseEnumerator.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC0A117B28920018B06F /* VerseEnumerator.mm */; }; - A956316611FD8C5B007DC7AD /* libsword-ub.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A956316411FD8C55007DC7AD /* libsword-ub.a */; }; - A956316711FD8C5E007DC7AD /* libsword-ub.a in CopyFiles */ = {isa = PBXBuildFile; fileRef = A956316411FD8C55007DC7AD /* libsword-ub.a */; }; - A956324411FD90CE007DC7AD /* libclucene-ub.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A956324211FD90C9007DC7AD /* libclucene-ub.a */; }; - A956324511FD90D2007DC7AD /* libclucene-ub.a in CopyFiles */ = {isa = PBXBuildFile; fileRef = A956324211FD90C9007DC7AD /* libclucene-ub.a */; }; - A964657C11C662CF00640FAC /* ObjCSword.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */; }; - A964658F11C6654300640FAC /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2818D11C43BD400803CB5 /* SenTestingKit.framework */; }; - A96465A511C6657900640FAC /* SwordManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A964658111C663E200640FAC /* SwordManagerTest.m */; }; - A96465AD11C6658200640FAC /* SwordManagerTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A964658011C663E200640FAC /* SwordManagerTest.h */; }; - A975EAC511C77862007C1532 /* ObjCSword.h in Headers */ = {isa = PBXBuildFile; fileRef = A975EAC411C77862007C1532 /* ObjCSword.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A975EEE511C79308007C1532 /* mod2osis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A975EDAC11C7925C007C1532 /* mod2osis.cpp */; }; - A9A2C17D118D9D3D0002873D /* Notifications.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A2C17C118D9D3D0002873D /* Notifications.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A9BDFA621207F9870067ED5B /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2818D11C43BD400803CB5 /* SenTestingKit.framework */; }; - A9BDFA631207F9870067ED5B /* ObjCSword.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */; }; - A9BDFA661207F9870067ED5B /* SwordManagerTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A964658011C663E200640FAC /* SwordManagerTest.h */; }; - A9BDFA671207F9870067ED5B /* SwordModuleTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A918B8E211C6697400024D84 /* SwordModuleTest.h */; }; - A9BDFA781207F9F00067ED5B /* SwordListKeyTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A9BDFA761207F9F00067ED5B /* SwordListKeyTest.h */; }; - A9BDFA791207F9F00067ED5B /* SwordListKeyTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A9BDFA771207F9F00067ED5B /* SwordListKeyTest.m */; }; - A9BDFA7C1207FA2F0067ED5B /* SwordModuleLongRunTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A9BDFA7A1207FA2F0067ED5B /* SwordModuleLongRunTest.h */; }; - A9BDFA7D1207FA2F0067ED5B /* SwordModuleLongRunTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9BDFA7B1207FA2F0067ED5B /* SwordModuleLongRunTest.mm */; }; - A9C2856F11C446B700803CB5 /* Configuration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2856D11C446B700803CB5 /* Configuration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A9C2857311C4471400803CB5 /* OSXConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2857111C4471400803CB5 /* OSXConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A9C2857411C4471400803CB5 /* OSXConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A9C2857211C4471400803CB5 /* OSXConfiguration.m */; }; - A9C2858311C44A0A00803CB5 /* Configuration.m in Sources */ = {isa = PBXBuildFile; fileRef = A9C2858211C44A0A00803CB5 /* Configuration.m */; }; - A9D4360511C4FE97007AFE83 /* SwordModule+Index.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D4360311C4FE97007AFE83 /* SwordModule+Index.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A9D4360611C4FE97007AFE83 /* SwordModule+Index.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9D4360411C4FE97007AFE83 /* SwordModule+Index.mm */; }; - A9D4382311C52947007AFE83 /* locales.d in Resources */ = {isa = PBXBuildFile; fileRef = A9D437CE11C52947007AFE83 /* locales.d */; }; - A9EF1416120595650078A27C /* SwordLocaleManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9EF1414120595650078A27C /* SwordLocaleManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A9EF1417120595650078A27C /* SwordLocaleManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9EF1415120595650078A27C /* SwordLocaleManager.mm */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - A964657A11C662CA00640FAC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8DC2EF4F0486A6940098B216; - remoteInfo = ObjCSword; - }; - A9BDFA5C1207F9870067ED5B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8DC2EF4F0486A6940098B216; - remoteInfo = ObjCSword; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - A9A5050211C75C4B00EB6EA5 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - A956324511FD90D2007DC7AD /* libclucene-ub.a in CopyFiles */, - A956316711FD8C5E007DC7AD /* libsword-ub.a in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; - 0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; - 089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; - 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; - 32DBCF5E0370ADEE00C91783 /* ObjCSword_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjCSword_Prefix.pch; sourceTree = "<group>"; }; - 8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObjCSword.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A9013D3F11E316C700E1CCCA /* Info copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info copy.plist"; sourceTree = "<group>"; }; - A918B8E211C6697400024D84 /* SwordModuleTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordModuleTest.h; path = test/SwordModuleTest.h; sourceTree = "<group>"; }; - A918B8E311C6697400024D84 /* SwordModuleTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordModuleTest.m; path = test/SwordModuleTest.m; sourceTree = "<group>"; }; - A94EABE3117B28910018B06F /* SwordBible.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordBible.h; path = src/SwordBible.h; sourceTree = "<group>"; }; - A94EABE4117B28910018B06F /* SwordBible.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordBible.mm; path = src/SwordBible.mm; sourceTree = "<group>"; }; - A94EABE5117B28920018B06F /* SwordBibleBook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordBibleBook.h; path = src/SwordBibleBook.h; sourceTree = "<group>"; }; - A94EABE6117B28920018B06F /* SwordBibleBook.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordBibleBook.mm; path = src/SwordBibleBook.mm; sourceTree = "<group>"; }; - A94EABE7117B28920018B06F /* SwordBibleChapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordBibleChapter.h; path = src/SwordBibleChapter.h; sourceTree = "<group>"; }; - A94EABE8117B28920018B06F /* SwordBibleChapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordBibleChapter.m; path = src/SwordBibleChapter.m; sourceTree = "<group>"; }; - A94EABE9117B28920018B06F /* SwordBibleTextEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordBibleTextEntry.h; path = src/SwordBibleTextEntry.h; sourceTree = "<group>"; }; - A94EABEA117B28920018B06F /* SwordBibleTextEntry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordBibleTextEntry.m; path = src/SwordBibleTextEntry.m; sourceTree = "<group>"; }; - A94EABEB117B28920018B06F /* SwordBook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordBook.h; path = src/SwordBook.h; sourceTree = "<group>"; }; - A94EABEC117B28920018B06F /* SwordBook.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordBook.mm; path = src/SwordBook.mm; sourceTree = "<group>"; }; - A94EABED117B28920018B06F /* SwordCommentary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordCommentary.h; path = src/SwordCommentary.h; sourceTree = "<group>"; }; - A94EABEE117B28920018B06F /* SwordCommentary.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordCommentary.mm; path = src/SwordCommentary.mm; sourceTree = "<group>"; }; - A94EABEF117B28920018B06F /* SwordDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordDictionary.h; path = src/SwordDictionary.h; sourceTree = "<group>"; }; - A94EABF0117B28920018B06F /* SwordDictionary.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordDictionary.mm; path = src/SwordDictionary.mm; sourceTree = "<group>"; }; - A94EABF1117B28920018B06F /* SwordInstallSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordInstallSource.h; path = src/SwordInstallSource.h; sourceTree = "<group>"; }; - A94EABF2117B28920018B06F /* SwordInstallSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordInstallSource.mm; path = src/SwordInstallSource.mm; sourceTree = "<group>"; }; - A94EABF3117B28920018B06F /* SwordInstallSourceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordInstallSourceController.h; path = src/SwordInstallSourceController.h; sourceTree = "<group>"; }; - A94EABF4117B28920018B06F /* SwordInstallSourceController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordInstallSourceController.mm; path = src/SwordInstallSourceController.mm; sourceTree = "<group>"; }; - A94EABF5117B28920018B06F /* SwordKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordKey.h; path = src/SwordKey.h; sourceTree = "<group>"; }; - A94EABF6117B28920018B06F /* SwordKey.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordKey.mm; path = src/SwordKey.mm; sourceTree = "<group>"; }; - A94EABF7117B28920018B06F /* SwordListKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordListKey.h; path = src/SwordListKey.h; sourceTree = "<group>"; }; - A94EABF8117B28920018B06F /* SwordListKey.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordListKey.mm; path = src/SwordListKey.mm; sourceTree = "<group>"; }; - A94EABF9117B28920018B06F /* SwordManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordManager.h; path = src/SwordManager.h; sourceTree = "<group>"; }; - A94EABFA117B28920018B06F /* SwordManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordManager.mm; path = src/SwordManager.mm; sourceTree = "<group>"; }; - A94EABFD117B28920018B06F /* SwordModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordModule.h; path = src/SwordModule.h; sourceTree = "<group>"; }; - A94EABFE117B28920018B06F /* SwordModule.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordModule.mm; path = src/SwordModule.mm; sourceTree = "<group>"; }; - A94EABFF117B28920018B06F /* SwordModuleTextEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordModuleTextEntry.h; path = src/SwordModuleTextEntry.h; sourceTree = "<group>"; }; - A94EAC00117B28920018B06F /* SwordModuleTextEntry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordModuleTextEntry.m; path = src/SwordModuleTextEntry.m; sourceTree = "<group>"; }; - A94EAC01117B28920018B06F /* SwordModuleTreeEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordModuleTreeEntry.h; path = src/SwordModuleTreeEntry.h; sourceTree = "<group>"; }; - A94EAC02117B28920018B06F /* SwordModuleTreeEntry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordModuleTreeEntry.m; path = src/SwordModuleTreeEntry.m; sourceTree = "<group>"; }; - A94EAC05117B28920018B06F /* SwordVerseKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordVerseKey.h; path = src/SwordVerseKey.h; sourceTree = "<group>"; }; - A94EAC06117B28920018B06F /* SwordVerseKey.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordVerseKey.mm; path = src/SwordVerseKey.mm; sourceTree = "<group>"; }; - A94EAC07117B28920018B06F /* SwordVerseManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordVerseManager.h; path = src/SwordVerseManager.h; sourceTree = "<group>"; }; - A94EAC08117B28920018B06F /* SwordVerseManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordVerseManager.mm; path = src/SwordVerseManager.mm; sourceTree = "<group>"; }; - A94EAC09117B28920018B06F /* VerseEnumerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VerseEnumerator.h; path = src/VerseEnumerator.h; sourceTree = "<group>"; }; - A94EAC0A117B28920018B06F /* VerseEnumerator.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = VerseEnumerator.mm; path = src/VerseEnumerator.mm; sourceTree = "<group>"; }; - A956316411FD8C55007DC7AD /* libsword-ub.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libsword-ub.a"; path = "build_sword/build/result_inst/lib/libsword-ub.a"; sourceTree = "<group>"; }; - A956324211FD90C9007DC7AD /* libclucene-ub.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libclucene-ub.a"; path = "build_clucene/build/result_inst/lib/libclucene-ub.a"; sourceTree = "<group>"; }; - A964658011C663E200640FAC /* SwordManagerTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordManagerTest.h; path = test/SwordManagerTest.h; sourceTree = "<group>"; }; - A964658111C663E200640FAC /* SwordManagerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordManagerTest.m; path = test/SwordManagerTest.m; sourceTree = "<group>"; }; - A975EAC411C77862007C1532 /* ObjCSword.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjCSword.h; sourceTree = "<group>"; }; - A975ED9811C7925C007C1532 /* imp2gbs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imp2gbs.cpp; sourceTree = "<group>"; }; - A975ED9911C7925C007C1532 /* imp2ld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imp2ld.cpp; sourceTree = "<group>"; }; - A975ED9A11C7925C007C1532 /* imp2vs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imp2vs.cpp; sourceTree = "<group>"; }; - A975ED9B11C7925C007C1532 /* installmgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = installmgr.cpp; sourceTree = "<group>"; }; - A975EDAB11C7925C007C1532 /* mod2imp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mod2imp.cpp; sourceTree = "<group>"; }; - A975EDAC11C7925C007C1532 /* mod2osis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mod2osis.cpp; sourceTree = "<group>"; }; - A975EDAD11C7925C007C1532 /* mod2vpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mod2vpl.cpp; sourceTree = "<group>"; }; - A975EDAE11C7925C007C1532 /* mod2zmod.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mod2zmod.cpp; sourceTree = "<group>"; }; - A975EDB111C7925C007C1532 /* osis2mod.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osis2mod.cpp; sourceTree = "<group>"; }; - A975EDB811C7925C007C1532 /* step2vpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = step2vpl.cpp; sourceTree = "<group>"; }; - A975EDB911C7925C007C1532 /* stepdump.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stepdump.cpp; sourceTree = "<group>"; }; - A975EDBB11C7925C007C1532 /* tei2mod.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tei2mod.cpp; sourceTree = "<group>"; }; - A975EDD811C7925C007C1532 /* vpl2mod.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vpl2mod.cpp; sourceTree = "<group>"; }; - A975EDD911C7925C007C1532 /* vs2osisref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vs2osisref.cpp; sourceTree = "<group>"; }; - A975EDDA11C7925C007C1532 /* vs2osisreftxt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vs2osisreftxt.cpp; sourceTree = "<group>"; }; - A975EDDB11C7925C007C1532 /* xml2gbs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = xml2gbs.cpp; sourceTree = "<group>"; }; - A975EED911C792B9007C1532 /* mod2osis */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mod2osis; sourceTree = BUILT_PRODUCTS_DIR; }; - A9921A1911FD9CA8002DAA72 /* libSword.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSword.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; - A9A2C17C118D9D3D0002873D /* Notifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Notifications.h; path = src/Notifications.h; sourceTree = "<group>"; }; - A9BDFA6B1207F9870067ED5B /* Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; - A9BDFA6E1207F9870067ED5B /* Tests-Info copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info copy.plist"; sourceTree = "<group>"; }; - A9BDFA761207F9F00067ED5B /* SwordListKeyTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordListKeyTest.h; path = test/SwordListKeyTest.h; sourceTree = "<group>"; }; - A9BDFA771207F9F00067ED5B /* SwordListKeyTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SwordListKeyTest.m; path = test/SwordListKeyTest.m; sourceTree = "<group>"; }; - A9BDFA7A1207FA2F0067ED5B /* SwordModuleLongRunTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordModuleLongRunTest.h; path = test/SwordModuleLongRunTest.h; sourceTree = "<group>"; }; - A9BDFA7B1207FA2F0067ED5B /* SwordModuleLongRunTest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordModuleLongRunTest.mm; path = test/SwordModuleLongRunTest.mm; sourceTree = "<group>"; }; - A9C2818D11C43BD400803CB5 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; - A9C2819611C43C4900803CB5 /* Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; - A9C2819711C43C4900803CB5 /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = "<group>"; }; - A9C2856D11C446B700803CB5 /* Configuration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Configuration.h; path = src/services/Configuration.h; sourceTree = "<group>"; }; - A9C2857111C4471400803CB5 /* OSXConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OSXConfiguration.h; path = src/services/OSXConfiguration.h; sourceTree = "<group>"; }; - A9C2857211C4471400803CB5 /* OSXConfiguration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OSXConfiguration.m; path = src/services/OSXConfiguration.m; sourceTree = "<group>"; }; - A9C2858211C44A0A00803CB5 /* Configuration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Configuration.m; path = src/services/Configuration.m; sourceTree = "<group>"; }; - A9D4360311C4FE97007AFE83 /* SwordModule+Index.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "SwordModule+Index.h"; path = "src/SwordModule+Index.h"; sourceTree = "<group>"; }; - A9D4360411C4FE97007AFE83 /* SwordModule+Index.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "SwordModule+Index.mm"; path = "src/SwordModule+Index.mm"; sourceTree = "<group>"; }; - A9D437CE11C52947007AFE83 /* locales.d */ = {isa = PBXFileReference; lastKnownFileType = folder; name = locales.d; path = ../../locales.d; sourceTree = SOURCE_ROOT; }; - A9EF1414120595650078A27C /* SwordLocaleManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwordLocaleManager.h; path = src/SwordLocaleManager.h; sourceTree = "<group>"; }; - A9EF1415120595650078A27C /* SwordLocaleManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SwordLocaleManager.mm; path = src/SwordLocaleManager.mm; sourceTree = "<group>"; }; - D2F7E79907B2D74100F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8DC2EF560486A6940098B216 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A956324411FD90CE007DC7AD /* libclucene-ub.a in Frameworks */, - A956316611FD8C5B007DC7AD /* libsword-ub.a in Frameworks */, - 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A975EED711C792B9007C1532 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A9BDFA611207F9870067ED5B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A9BDFA621207F9870067ED5B /* SenTestingKit.framework in Frameworks */, - A9BDFA631207F9870067ED5B /* ObjCSword.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A9C2819311C43C4900803CB5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A964658F11C6654300640FAC /* SenTestingKit.framework in Frameworks */, - A964657C11C662CF00640FAC /* ObjCSword.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 034768DFFF38A50411DB9C8B /* Products */ = { - isa = PBXGroup; - children = ( - 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */, - A9C2819611C43C4900803CB5 /* Tests.octest */, - A975EED911C792B9007C1532 /* mod2osis */, - A9921A1911FD9CA8002DAA72 /* libSword.dylib */, - A9BDFA6B1207F9870067ED5B /* Tests.octest */, - ); - name = Products; - sourceTree = "<group>"; - }; - 0867D691FE84028FC02AAC07 /* ObjCSword */ = { - isa = PBXGroup; - children = ( - A975ECD211C7925B007C1532 /* Utilities */, - A9C2857911C4486400803CB5 /* Tests */, - A94EAE72117B32AF0018B06F /* Services */, - 08FB77AEFE84172EC02AAC07 /* SwordWrapper */, - 32C88DFF0371C24200C91783 /* Other Sources */, - 089C1665FE841158C02AAC07 /* Resources */, - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, - 034768DFFF38A50411DB9C8B /* Products */, - A9C2819711C43C4900803CB5 /* Tests-Info.plist */, - A9BDFA6E1207F9870067ED5B /* Tests-Info copy.plist */, - ); - name = ObjCSword; - sourceTree = "<group>"; - }; - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */, - 1058C7B2FEA5585E11CA2CBB /* Other Frameworks */, - ); - name = "External Frameworks and Libraries"; - sourceTree = "<group>"; - }; - 089C1665FE841158C02AAC07 /* Resources */ = { - isa = PBXGroup; - children = ( - A9D437CE11C52947007AFE83 /* locales.d */, - 8DC2EF5A0486A6940098B216 /* Info.plist */, - 089C1666FE841158C02AAC07 /* InfoPlist.strings */, - A9013D3F11E316C700E1CCCA /* Info copy.plist */, - ); - name = Resources; - sourceTree = "<group>"; - }; - 08FB77AEFE84172EC02AAC07 /* SwordWrapper */ = { - isa = PBXGroup; - children = ( - A9EF1414120595650078A27C /* SwordLocaleManager.h */, - A9EF1415120595650078A27C /* SwordLocaleManager.mm */, - A94EABF9117B28920018B06F /* SwordManager.h */, - A94EABFA117B28920018B06F /* SwordManager.mm */, - A94EAC07117B28920018B06F /* SwordVerseManager.h */, - A94EAC08117B28920018B06F /* SwordVerseManager.mm */, - A94EABFD117B28920018B06F /* SwordModule.h */, - A94EABFE117B28920018B06F /* SwordModule.mm */, - A94EABE3117B28910018B06F /* SwordBible.h */, - A94EABE4117B28910018B06F /* SwordBible.mm */, - A94EABEB117B28920018B06F /* SwordBook.h */, - A94EABEC117B28920018B06F /* SwordBook.mm */, - A94EABED117B28920018B06F /* SwordCommentary.h */, - A94EABEE117B28920018B06F /* SwordCommentary.mm */, - A94EABEF117B28920018B06F /* SwordDictionary.h */, - A94EABF0117B28920018B06F /* SwordDictionary.mm */, - A94EABE5117B28920018B06F /* SwordBibleBook.h */, - A94EABE6117B28920018B06F /* SwordBibleBook.mm */, - A94EABE7117B28920018B06F /* SwordBibleChapter.h */, - A94EABE8117B28920018B06F /* SwordBibleChapter.m */, - A94EABFF117B28920018B06F /* SwordModuleTextEntry.h */, - A94EAC00117B28920018B06F /* SwordModuleTextEntry.m */, - A94EAC01117B28920018B06F /* SwordModuleTreeEntry.h */, - A94EAC02117B28920018B06F /* SwordModuleTreeEntry.m */, - A94EABE9117B28920018B06F /* SwordBibleTextEntry.h */, - A94EABEA117B28920018B06F /* SwordBibleTextEntry.m */, - A94EABF5117B28920018B06F /* SwordKey.h */, - A94EABF6117B28920018B06F /* SwordKey.mm */, - A94EABF7117B28920018B06F /* SwordListKey.h */, - A94EABF8117B28920018B06F /* SwordListKey.mm */, - A94EABE7117B28920018B06F /* SwordBibleChapter.h */, - A94EABE8117B28920018B06F /* SwordBibleChapter.m */, - A94EABE9117B28920018B06F /* SwordBibleTextEntry.h */, - A94EABEA117B28920018B06F /* SwordBibleTextEntry.m */, - A94EABF5117B28920018B06F /* SwordKey.h */, - A94EABF6117B28920018B06F /* SwordKey.mm */, - A94EABF7117B28920018B06F /* SwordListKey.h */, - A94EABF8117B28920018B06F /* SwordListKey.mm */, - A94EAC05117B28920018B06F /* SwordVerseKey.h */, - A94EAC06117B28920018B06F /* SwordVerseKey.mm */, - A94EAC09117B28920018B06F /* VerseEnumerator.h */, - A94EAC0A117B28920018B06F /* VerseEnumerator.mm */, - A94EABF1117B28920018B06F /* SwordInstallSource.h */, - A94EABF2117B28920018B06F /* SwordInstallSource.mm */, - A94EABF3117B28920018B06F /* SwordInstallSourceController.h */, - A94EABF4117B28920018B06F /* SwordInstallSourceController.mm */, - A9D4360311C4FE97007AFE83 /* SwordModule+Index.h */, - A9D4360411C4FE97007AFE83 /* SwordModule+Index.mm */, - ); - name = SwordWrapper; - sourceTree = "<group>"; - }; - 1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */, - A956316411FD8C55007DC7AD /* libsword-ub.a */, - A956324211FD90C9007DC7AD /* libclucene-ub.a */, - ); - name = "Linked Frameworks"; - sourceTree = "<group>"; - }; - 1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 0867D6A5FE840307C02AAC07 /* AppKit.framework */, - D2F7E79907B2D74100F64583 /* CoreData.framework */, - 0867D69BFE84028FC02AAC07 /* Foundation.framework */, - A9C2818D11C43BD400803CB5 /* SenTestingKit.framework */, - ); - name = "Other Frameworks"; - sourceTree = "<group>"; - }; - 32C88DFF0371C24200C91783 /* Other Sources */ = { - isa = PBXGroup; - children = ( - A9A2C17C118D9D3D0002873D /* Notifications.h */, - 32DBCF5E0370ADEE00C91783 /* ObjCSword_Prefix.pch */, - A975EAC411C77862007C1532 /* ObjCSword.h */, - ); - name = "Other Sources"; - sourceTree = "<group>"; - }; - A94EAE72117B32AF0018B06F /* Services */ = { - isa = PBXGroup; - children = ( - A9C2856D11C446B700803CB5 /* Configuration.h */, - A9C2858211C44A0A00803CB5 /* Configuration.m */, - A9C2857111C4471400803CB5 /* OSXConfiguration.h */, - A9C2857211C4471400803CB5 /* OSXConfiguration.m */, - ); - name = Services; - sourceTree = "<group>"; - }; - A975ECD211C7925B007C1532 /* Utilities */ = { - isa = PBXGroup; - children = ( - A975ED9811C7925C007C1532 /* imp2gbs.cpp */, - A975ED9911C7925C007C1532 /* imp2ld.cpp */, - A975ED9A11C7925C007C1532 /* imp2vs.cpp */, - A975ED9B11C7925C007C1532 /* installmgr.cpp */, - A975EDAB11C7925C007C1532 /* mod2imp.cpp */, - A975EDAC11C7925C007C1532 /* mod2osis.cpp */, - A975EDAD11C7925C007C1532 /* mod2vpl.cpp */, - A975EDAE11C7925C007C1532 /* mod2zmod.cpp */, - A975EDB111C7925C007C1532 /* osis2mod.cpp */, - A975EDB811C7925C007C1532 /* step2vpl.cpp */, - A975EDB911C7925C007C1532 /* stepdump.cpp */, - A975EDBB11C7925C007C1532 /* tei2mod.cpp */, - A975EDD811C7925C007C1532 /* vpl2mod.cpp */, - A975EDD911C7925C007C1532 /* vs2osisref.cpp */, - A975EDDA11C7925C007C1532 /* vs2osisreftxt.cpp */, - A975EDDB11C7925C007C1532 /* xml2gbs.cpp */, - ); - name = Utilities; - path = ../../utilities; - sourceTree = SOURCE_ROOT; - }; - A9C2857911C4486400803CB5 /* Tests */ = { - isa = PBXGroup; - children = ( - A964658011C663E200640FAC /* SwordManagerTest.h */, - A964658111C663E200640FAC /* SwordManagerTest.m */, - A918B8E211C6697400024D84 /* SwordModuleTest.h */, - A918B8E311C6697400024D84 /* SwordModuleTest.m */, - A9BDFA7A1207FA2F0067ED5B /* SwordModuleLongRunTest.h */, - A9BDFA7B1207FA2F0067ED5B /* SwordModuleLongRunTest.mm */, - A9BDFA761207F9F00067ED5B /* SwordListKeyTest.h */, - A9BDFA771207F9F00067ED5B /* SwordListKeyTest.m */, - ); - name = Tests; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 8DC2EF500486A6940098B216 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - A975EAC511C77862007C1532 /* ObjCSword.h in Headers */, - A94EAC0B117B28920018B06F /* SwordBible.h in Headers */, - A94EAC0D117B28920018B06F /* SwordBibleBook.h in Headers */, - A94EAC0F117B28920018B06F /* SwordBibleChapter.h in Headers */, - A94EAC11117B28920018B06F /* SwordBibleTextEntry.h in Headers */, - A94EAC13117B28920018B06F /* SwordBook.h in Headers */, - A94EAC15117B28920018B06F /* SwordCommentary.h in Headers */, - A94EAC17117B28920018B06F /* SwordDictionary.h in Headers */, - A94EAC19117B28920018B06F /* SwordInstallSource.h in Headers */, - A94EAC1B117B28920018B06F /* SwordInstallSourceController.h in Headers */, - A94EAC1D117B28920018B06F /* SwordKey.h in Headers */, - A94EAC1F117B28920018B06F /* SwordListKey.h in Headers */, - A94EAC21117B28920018B06F /* SwordManager.h in Headers */, - A94EAC25117B28920018B06F /* SwordModule.h in Headers */, - A94EAC27117B28920018B06F /* SwordModuleTextEntry.h in Headers */, - A94EAC29117B28920018B06F /* SwordModuleTreeEntry.h in Headers */, - A94EAC2D117B28920018B06F /* SwordVerseKey.h in Headers */, - A94EAC2F117B28920018B06F /* SwordVerseManager.h in Headers */, - A94EAC31117B28920018B06F /* VerseEnumerator.h in Headers */, - A9A2C17D118D9D3D0002873D /* Notifications.h in Headers */, - A9C2856F11C446B700803CB5 /* Configuration.h in Headers */, - A9C2857311C4471400803CB5 /* OSXConfiguration.h in Headers */, - A9D4360511C4FE97007AFE83 /* SwordModule+Index.h in Headers */, - A9EF1416120595650078A27C /* SwordLocaleManager.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A9BDFA651207F9870067ED5B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - A9BDFA661207F9870067ED5B /* SwordManagerTest.h in Headers */, - A9BDFA671207F9870067ED5B /* SwordModuleTest.h in Headers */, - A9BDFA7C1207FA2F0067ED5B /* SwordModuleLongRunTest.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A9C281B611C43DB800803CB5 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - A96465AD11C6658200640FAC /* SwordManagerTest.h in Headers */, - A918B8E411C6697400024D84 /* SwordModuleTest.h in Headers */, - A9BDFA781207F9F00067ED5B /* SwordListKeyTest.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 8DC2EF4F0486A6940098B216 /* ObjCSword */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "ObjCSword" */; - buildPhases = ( - 8DC2EF500486A6940098B216 /* Headers */, - 8DC2EF520486A6940098B216 /* Resources */, - 8DC2EF540486A6940098B216 /* Sources */, - 8DC2EF560486A6940098B216 /* Frameworks */, - A9A5050211C75C4B00EB6EA5 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ObjCSword; - productInstallPath = "$(HOME)/Library/Frameworks"; - productName = ObjCSword; - productReference = 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */; - productType = "com.apple.product-type.framework"; - }; - A975EED811C792B9007C1532 /* mod2osis */ = { - isa = PBXNativeTarget; - buildConfigurationList = A975EEE811C79326007C1532 /* Build configuration list for PBXNativeTarget "mod2osis" */; - buildPhases = ( - A975EED611C792B9007C1532 /* Sources */, - A975EED711C792B9007C1532 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = mod2osis; - productName = mod2osis; - productReference = A975EED911C792B9007C1532 /* mod2osis */; - productType = "com.apple.product-type.tool"; - }; - A9BDFA5A1207F9870067ED5B /* LongRunningTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = A9BDFA681207F9870067ED5B /* Build configuration list for PBXNativeTarget "LongRunningTests" */; - buildPhases = ( - A9BDFA5D1207F9870067ED5B /* Resources */, - A9BDFA5E1207F9870067ED5B /* Sources */, - A9BDFA611207F9870067ED5B /* Frameworks */, - A9BDFA641207F9870067ED5B /* ShellScript */, - A9BDFA651207F9870067ED5B /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - A9BDFA5B1207F9870067ED5B /* PBXTargetDependency */, - ); - name = LongRunningTests; - productName = Tests; - productReference = A9BDFA6B1207F9870067ED5B /* Tests.octest */; - productType = "com.apple.product-type.bundle"; - }; - A9C2819511C43C4900803CB5 /* Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = A9C2819A11C43C4900803CB5 /* Build configuration list for PBXNativeTarget "Tests" */; - buildPhases = ( - A9C2819111C43C4900803CB5 /* Resources */, - A9C2819211C43C4900803CB5 /* Sources */, - A9C2819311C43C4900803CB5 /* Frameworks */, - A9C2819411C43C4900803CB5 /* ShellScript */, - A9C281B611C43DB800803CB5 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - A964657B11C662CA00640FAC /* PBXTargetDependency */, - ); - name = Tests; - productName = Tests; - productReference = A9C2819611C43C4900803CB5 /* Tests.octest */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0867D690FE84028FC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "ObjCSword" */; - compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 0867D691FE84028FC02AAC07 /* ObjCSword */; - productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8DC2EF4F0486A6940098B216 /* ObjCSword */, - A9C2819511C43C4900803CB5 /* Tests */, - A9BDFA5A1207F9870067ED5B /* LongRunningTests */, - A975EED811C792B9007C1532 /* mod2osis */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8DC2EF520486A6940098B216 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */, - A9D4382311C52947007AFE83 /* locales.d in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A9BDFA5D1207F9870067ED5B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A9C2819111C43C4900803CB5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - A9BDFA641207F9870067ED5B /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; - A9C2819411C43C4900803CB5 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8DC2EF540486A6940098B216 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A94EAC0C117B28920018B06F /* SwordBible.mm in Sources */, - A94EAC0E117B28920018B06F /* SwordBibleBook.mm in Sources */, - A94EAC10117B28920018B06F /* SwordBibleChapter.m in Sources */, - A94EAC12117B28920018B06F /* SwordBibleTextEntry.m in Sources */, - A94EAC14117B28920018B06F /* SwordBook.mm in Sources */, - A94EAC16117B28920018B06F /* SwordCommentary.mm in Sources */, - A94EAC18117B28920018B06F /* SwordDictionary.mm in Sources */, - A94EAC1A117B28920018B06F /* SwordInstallSource.mm in Sources */, - A94EAC1C117B28920018B06F /* SwordInstallSourceController.mm in Sources */, - A94EAC1E117B28920018B06F /* SwordKey.mm in Sources */, - A94EAC20117B28920018B06F /* SwordListKey.mm in Sources */, - A94EAC22117B28920018B06F /* SwordManager.mm in Sources */, - A94EAC26117B28920018B06F /* SwordModule.mm in Sources */, - A94EAC28117B28920018B06F /* SwordModuleTextEntry.m in Sources */, - A94EAC2A117B28920018B06F /* SwordModuleTreeEntry.m in Sources */, - A94EAC2E117B28920018B06F /* SwordVerseKey.mm in Sources */, - A94EAC30117B28920018B06F /* SwordVerseManager.mm in Sources */, - A94EAC32117B28920018B06F /* VerseEnumerator.mm in Sources */, - A9C2857411C4471400803CB5 /* OSXConfiguration.m in Sources */, - A9C2858311C44A0A00803CB5 /* Configuration.m in Sources */, - A9D4360611C4FE97007AFE83 /* SwordModule+Index.mm in Sources */, - A9EF1417120595650078A27C /* SwordLocaleManager.mm in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A975EED611C792B9007C1532 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A975EEE511C79308007C1532 /* mod2osis.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A9BDFA5E1207F9870067ED5B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A9BDFA7D1207FA2F0067ED5B /* SwordModuleLongRunTest.mm in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A9C2819211C43C4900803CB5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A96465A511C6657900640FAC /* SwordManagerTest.m in Sources */, - A918B8E511C6697400024D84 /* SwordModuleTest.m in Sources */, - A9BDFA791207F9F00067ED5B /* SwordListKeyTest.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - A964657B11C662CA00640FAC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8DC2EF4F0486A6940098B216 /* ObjCSword */; - targetProxy = A964657A11C662CA00640FAC /* PBXContainerItemProxy */; - }; - A9BDFA5B1207F9870067ED5B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8DC2EF4F0486A6940098B216 /* ObjCSword */; - targetProxy = A9BDFA5C1207F9870067ED5B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 089C1666FE841158C02AAC07 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 089C1667FE841158C02AAC07 /* English */, - ); - name = InfoPlist.strings; - sourceTree = "<group>"; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 1DEB91AE08733DA50010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(NATIVE_ARCH_ACTUAL)"; - COPY_PHASE_STRIP = NO; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", - ); - FRAMEWORK_VERSION = A; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_GC = required; - GCC_ENABLE_SYMBOL_SEPARATION = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = ObjCSword_Prefix.pch; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "../../include/**"; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "@rpath"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/build_sword/build/result_inst/lib\"", - "\"$(SRCROOT)/build_clucene/build/result_inst/lib\"", - ); - MACOSX_DEPLOYMENT_TARGET = 10.5; - ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = "-DDEBUG"; - OTHER_LDFLAGS = ( - "-lcurl", - "-lz", - "-licucore", - ); - PRODUCT_NAME = ObjCSword; - SDKROOT = macosx10.5; - WARNING_CFLAGS = "-Wall"; - WRAPPER_EXTENSION = framework; - }; - name = Debug; - }; - 1DEB91AF08733DA50010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - ppc, - "$(ARCHS_STANDARD_32_64_BIT)", - ); - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", - ); - FRAMEWORK_VERSION = A; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_GC = required; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = ObjCSword_Prefix.pch; - HEADER_SEARCH_PATHS = "../../include/**"; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "@rpath"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/build_sword/build/result_inst/lib\"", - "\"$(SRCROOT)/build_clucene/build/result_inst/lib\"", - ); - MACOSX_DEPLOYMENT_TARGET = 10.5; - OTHER_CFLAGS = "-DRELEASE"; - OTHER_LDFLAGS = ( - "-lcurl", - "-lz", - "-licucore", - ); - PRODUCT_NAME = ObjCSword; - SDKROOT = macosx10.5; - WARNING_CFLAGS = "-Wall"; - WRAPPER_EXTENSION = framework; - }; - name = Release; - }; - 1DEB91B208733DA50010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - ONLY_ACTIVE_ARCH = YES; - PREBINDING = NO; - SDKROOT = macosx10.6; - }; - name = Debug; - }; - 1DEB91B308733DA50010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = macosx10.6; - }; - name = Release; - }; - A975EEDE11C792BA007C1532 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - HEADER_SEARCH_PATHS = "../../include/**"; - INSTALL_PATH = /usr/local/bin; - LD_RUNPATH_SEARCH_PATHS = "@loader_path"; - PREBINDING = NO; - PRODUCT_NAME = mod2osis; - SDKROOT = macosx10.5; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - }; - name = Debug; - }; - A975EEDF11C792BA007C1532 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_MODEL_TUNING = G5; - HEADER_SEARCH_PATHS = "../../include/**"; - INSTALL_PATH = /usr/local/bin; - LD_RUNPATH_SEARCH_PATHS = "@loader_path"; - PREBINDING = NO; - PRODUCT_NAME = mod2osis; - SDKROOT = macosx10.5; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - ZERO_LINK = NO; - }; - name = Release; - }; - A9BDFA691207F9870067ED5B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_ENABLE_OBJC_GC = required; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "Tests-Info copy.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = Tests; - SDKROOT = macosx10.5; - WRAPPER_EXTENSION = octest; - }; - name = Debug; - }; - A9BDFA6A1207F9870067ED5B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_ENABLE_OBJC_GC = required; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "Tests-Info copy.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = Tests; - SDKROOT = macosx10.5; - WRAPPER_EXTENSION = octest; - ZERO_LINK = NO; - }; - name = Release; - }; - A9C2819811C43C4900803CB5 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_ENABLE_OBJC_GC = required; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "Tests-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = Tests; - SDKROOT = macosx10.5; - WRAPPER_EXTENSION = octest; - }; - name = Debug; - }; - A9C2819911C43C4900803CB5 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_ENABLE_OBJC_GC = required; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "Tests-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = Tests; - SDKROOT = macosx10.5; - WRAPPER_EXTENSION = octest; - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "ObjCSword" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB91AE08733DA50010E9CD /* Debug */, - 1DEB91AF08733DA50010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "ObjCSword" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB91B208733DA50010E9CD /* Debug */, - 1DEB91B308733DA50010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A975EEE811C79326007C1532 /* Build configuration list for PBXNativeTarget "mod2osis" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A975EEDE11C792BA007C1532 /* Debug */, - A975EEDF11C792BA007C1532 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A9BDFA681207F9870067ED5B /* Build configuration list for PBXNativeTarget "LongRunningTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A9BDFA691207F9870067ED5B /* Debug */, - A9BDFA6A1207F9870067ED5B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A9C2819A11C43C4900803CB5 /* Build configuration list for PBXNativeTarget "Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A9C2819811C43C4900803CB5 /* Debug */, - A9C2819911C43C4900803CB5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0867D690FE84028FC02AAC07 /* Project object */; -} diff --git a/bindings/objc/README b/bindings/objc/README deleted file mode 100644 index 8d1b5ed..0000000 --- a/bindings/objc/README +++ /dev/null @@ -1,27 +0,0 @@ -Building ObjCSword wrapper framework howto (>= Mac OSX Lion (10.7) -=================================================================== -Open Xcode Project (ObjCSword.xcodeproj) and build. - - -Building ObjCSword wrapper framework howto (pre Mac OSX Lion (10.7) -=================================================================== - -Mac OS X target: -The framework for Mac OS X relies on a manually, via makefile compiled SWORD library. -The Xcode project also includes a target which builds the SWORD library but the result of this library does not work properly on PPC aritectures. Therefore the library has to be build manually. -But don't worry, this process it relatively easy. - -1. build CLucene dependency -cd to the "build_clucene" folder and type "make release-fat". -This will compile clucene binaries for PPC, i686 and x86_64 and a universal binary will be created which is used in the Xcode project. - -2. build SWORD library -cd to "build_sword" folder and type "make release-fat". -This will similarly as for CLucene build binaries for PPC, i686 and x86_64 including a resulting universal binary that is used in the Xcode project. - -1. and 2. only need to be done if you are starting from a fresh SVN checkout. -2. only needs to be repeated if the SWORD sources are changed. - -3. open the Xcode project and create ObjCSword framework. - - diff --git a/bindings/objc/SWORDTests/Info.plist b/bindings/objc/SWORDTests/Info.plist new file mode 100644 index 0000000..6c40a6c --- /dev/null +++ b/bindings/objc/SWORDTests/Info.plist @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>$(DEVELOPMENT_LANGUAGE)</string> + <key>CFBundleExecutable</key> + <string>$(EXECUTABLE_NAME)</string> + <key>CFBundleIdentifier</key> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundlePackageType</key> + <string>BNDL</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleVersion</key> + <string>1</string> +</dict> +</plist> diff --git a/bindings/objc/SWORDTests/SWORDTests.m b/bindings/objc/SWORDTests/SWORDTests.m new file mode 100644 index 0000000..130e6ae --- /dev/null +++ b/bindings/objc/SWORDTests/SWORDTests.m @@ -0,0 +1,38 @@ +// +// SWORDTests.m +// SWORDTests +// +// Created by scribe on 11/8/17. +// + +#import <XCTest/XCTest.h> + +@interface SWORDTests : XCTestCase + +@end + +@implementation SWORDTests + +- (void)setUp { + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testExample { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. +} + +- (void)testPerformanceExample { + // This is an example of a performance test case. + [self measureBlock:^{ + // Put the code you want to measure the time of here. + }]; +} + +@end diff --git a/bindings/objc/TestResources/TestModules/populate.sh b/bindings/objc/TestResources/TestModules/populate.sh new file mode 100755 index 0000000..1ee531b --- /dev/null +++ b/bindings/objc/TestResources/TestModules/populate.sh @@ -0,0 +1,2 @@ +#!/bin/sh +wget "http://crosswire.org/ftpmirror/pub/sword/packages/rawzip/KJV.zip" -O KJV.zip && unzip KJV.zip && rm KJV.zip diff --git a/bindings/objc/build_clucene/Makefile b/bindings/objc/build_clucene/Makefile deleted file mode 100644 index e75feb9..0000000 --- a/bindings/objc/build_clucene/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -.PHONY: default release-ppc release-intel release-fat debug-ppc debug-intel debug-fat clean - -default: release-fat - -release-ppc: - ./build_mac_clucene.sh release ppc - -release-intel: - ./build_mac_clucene.sh release intel - -release-fat: - ./build_mac_clucene.sh release fat - -debug-ppc: - ./build_mac_clucene.sh debug ppc - -debug-intel: - ./build_mac_clucene.sh debug intel - -debug-fat: - ./build_mac_clucene.sh debug fat - -clean: - rm -rf build - diff --git a/bindings/objc/build_clucene/build_mac_clucene.sh b/bindings/objc/build_clucene/build_mac_clucene.sh deleted file mode 100755 index 9ff2169..0000000 --- a/bindings/objc/build_clucene/build_mac_clucene.sh +++ /dev/null @@ -1,158 +0,0 @@ -#!/bin/sh -e -# script by Manfred Bergmann in 2006, updated in 2010 -# - -APP=clucene -COMP=core -VERS=0.9.21b -BDIR=`pwd` - -SRCPACKAGE="$APP-$COMP-$VERS.tar.gz" - -DEBUG=0 -FAT=0 -PPC=0 -INTEL=0 - -# check commandline -for arg in "$@" -do - if [ "$arg" = "debug" ]; then - DEBUG=1 - echo "building debug version" - fi - if [ "$arg" = "fat" ]; then - FAT=1 - PPC=1 - INTEL=1 - echo "building fat version" - fi - if [ "$arg" = "ppc" ]; then - PPC=1 - echo "building ppc version" - else - PPC=0 - fi - if [ "$arg" = "intel" ]; then - INTEL=1 - echo "building intel version" - else - INTEL=0 - fi -done - -# using seperate build dirs and building in them doesn't work with sword -BUILD=$BDIR/build -PPCPREFIX=$BUILD/ppc_inst -INTELPREFIX=$BUILD/intel_inst -INTEL64PREFIX=$BUILD/intel64_inst -RESULTPREFIX=$BUILD/result_inst - -# Create install dirs if they doesn't exist -if [ ! -d $BUILD ]; then - mkdir -p $BUILD -fi -if [ ! -d $PPCPREFIX ]; then - mkdir -p $PPCPREFIX -fi -if [ ! -d $INTELPREFIX ]; then - mkdir -p $INTELPREFIX -fi -if [ ! -d $INTEL64PREFIX ]; then - mkdir -p $INTEL64PREFIX -fi -if [ ! -d $RESULTPREFIX ]; then - mkdir -p $RESULTPREFIX - if [ ! -d $RESULTPREFIX/lib ]; then - mkdir -p $RESULTPREFIX/lib - fi -fi - -# delete old source dir -/bin/rm -rf $SRCPACKAGE - -# download first is not exist -# due to size limitation in the source repo this file wil be downloaded -# and buiding will need an internet connection -if [ ! -f $SRCPACKAGE ]; then - curl -o $SRCPACKAGE http://www.crosswire.org/~mbergmann/$SRCPACKAGE -fi -# ungzip src -tar -xzf $SRCPACKAGE - -CLUCENEPATH="$BDIR/$APP-$COMP-$VERS" - -# build stuff -if [ $PPC -eq 1 ] || [ $FAT -eq 1 ]; then - echo "building PPC version of library..." - cd $CLUCENEPATH - export CC=gcc - export CXX=g++ - export SDK=/Developer/SDKs/MacOSX10.5.sdk - if [ $DEBUG -eq 1 ]; then - export CFLAGS="-O0 -g -arch ppc -mmacosx-version-min=10.5 -isysroot $SDK -I$SDK/usr/include" - else - export CFLAGS="-O2 -g0 -arch ppc -mmacosx-version-min=10.5 -isysroot $SDK -I$SDK/usr/include" - fi - export CXXFLAGS="$CFLAGS" - export LDFLAGS="-isysroot $SDK -Wl,-syslibroot,$SDK" - ./configure --prefix=$PPCPREFIX - make install - make clean - cd $BDIR - # copy to result dir - PPC_LIB_EXPORT="$RESULTPREFIX/lib/lib$APP-ppc.a" - cp $PPCPREFIX/lib/lib$APP.a $PPC_LIB_EXPORT - echo "building PPC version of library...done" -fi - -if [ $INTEL -eq 1 ] || [ $FAT -eq 1 ]; then - echo "building INTEL version of library..." - cd $CLUCENEPATH - export CC=gcc - export CXX=g++ - export SDK=/Developer/SDKs/MacOSX10.5.sdk - if [ $DEBUG -eq 1 ]; then - export CFLAGS="-O0 -g -arch i686 -mmacosx-version-min=10.5 -isysroot $SDK -I$SDK/usr/include -I$ICUPATH/include" - else - export CFLAGS="-O2 -g0 -arch i686 -mmacosx-version-min=10.5 -isysroot $SDK -I$SDK/usr/include -I$ICUPATH/include" - fi - export CXXFLAGS="$CFLAGS" - export LDFLAGS="-isysroot $SDK -Wl,-syslibroot,$SDK" - ./configure --prefix=$INTELPREFIX - make install - make clean - cd $BDIR - # copy to result dir - INTEL_LIB_EXPORT="$RESULTPREFIX/lib/lib$APP-intel.a" - cp $INTELPREFIX/lib/lib$APP.a $INTEL_LIB_EXPORT - echo "building INTEL version of library...done" - - echo "building INTEL64 version of library..." - cd $CLUCENEPATH - export CC=gcc - export CXX=g++ - export SDK=/Developer/SDKs/MacOSX10.5.sdk - if [ $DEBUG -eq 1 ]; then - export CFLAGS="-O0 -g -arch x86_64 -mmacosx-version-min=10.5 -isysroot $SDK -I$SDK/usr/include" - else - export CFLAGS="-O2 -g0 -arch x86_64 -mmacosx-version-min=10.5 -isysroot $SDK -I$SDK/usr/include" - fi - export CXXFLAGS="$CFLAGS" - export LDFLAGS="-isysroot $SDK -Wl,-syslibroot,$SDK" - ./configure --prefix=$INTEL64PREFIX - make install - make clean - cd $BDIR - # copy to result dir - INTEL64_LIB_EXPORT="$RESULTPREFIX/lib/lib$APP-intel64.a" - cp $INTEL64PREFIX/lib/lib$APP.a $INTEL64_LIB_EXPORT - echo "building INTEL64 version of library...done" -fi - -# only for fat version -if [ $FAT -eq 1 ]; then - # creating result - # build fat binary with lipo - lipo -create $PPC_LIB_EXPORT $INTEL_LIB_EXPORT $INTEL64_LIB_EXPORT -output $RESULTPREFIX/lib/lib$APP-ub.a -fi diff --git a/bindings/objc/build_sword/build_mac_sword.sh b/bindings/objc/build_sword/build_mac_sword.sh deleted file mode 100755 index 77cfff9..0000000 --- a/bindings/objc/build_sword/build_mac_sword.sh +++ /dev/null @@ -1,225 +0,0 @@ -#!/bin/sh -e -# script by Manfred Bergmann in 2006, updated in 2010 -# - -APP=sword -VERS=1.6.2 -BDIR=`pwd` - -SWORDPATH="$BDIR/../../../" -ICUPATH="$BDIR/../dependencies/icu" -PPCCLUCENEPATH="$BDIR/../build_clucene/build/ppc_inst" -INTELCLUCENEPATH="$BDIR/../build_clucene/build/intel_inst" -INTEL64CLUCENEPATH="$BDIR/../build_clucene/build/intel64_inst" - -usage() { -cat << EOF -usage: $0 options - -OPTIONS: - -d Buildtype debug version - -a Architecture [intel|intel64|ppc|fat] - -b Buildpath, default = "build" - -c With clucene - -s Path to SDK i.e. "/Developer/SDKs/MacOSX10.5.sdk" - -t Deplyoment target i.e. "10.5" -EOF -} - -DEBUG=0 -FAT=0 -PPC=0 -INTEL=0 -INTEL64=0 -USECLUCENE=0 -BUILDDIR=build -SDKDIR=/Developer/SDKs/MacOSX10.5.sdk -DTARGET=10.5 - -while getopts “da:b:s:t:c?” OPTION -do - case $OPTION in - d) - DEBUG=1 - echo "building debug version" - ;; - a) - if [ "$OPTARG" = "fat" ]; then - FAT=1 - PPC=1 - INTEL=1 - INTEL64=1 - echo "building fat version" - fi - if [ "$OPTARG" = "ppc" ]; then - PPC=1 - echo "building ppc version" - fi - if [ "$OPTARG" = "intel" ]; then - INTEL=1 - echo "building intel version" - fi - if [ "$OPTARG" = "intel64" ]; then - INTEL64=1 - echo "building intel64 version" - fi - ;; - b) - BUILDDIR="$OPTARG" - echo "using builddir $BUILDDIR" - ;; - s) - SDKDIR="$OPTARG" - echo "using SDK at $SDKDIR" - ;; - t) - DTARGET="$OPTARG" - echo "using deployment target $DTARGET" - ;; - c) - USECLUCENE=1 - echo "building with clucene" - ;; - ?) - usage - exit - ;; - esac -done - -# using seperate build dirs and building in them doesn't work with sword -BUILD=$BDIR/"$BUILDDIR" -PPCPREFIX=$BUILD/ppc_inst -INTELPREFIX=$BUILD/intel_inst -INTEL64PREFIX=$BUILD/intel64_inst -RESULTPREFIX=$BUILD/result_inst - -# Create install dirs if they doesn't exist -if [ ! -d $BUILD ]; then - mkdir -p $BUILD -fi -if [ ! -d $PPCPREFIX ]; then - mkdir -p $PPCPREFIX -fi -if [ ! -d $INTELPREFIX ]; then - mkdir -p $INTELPREFIX -fi -if [ ! -d $INTEL64PREFIX ]; then - mkdir -p $INTEL64PREFIX -fi -if [ ! -d $RESULTPREFIX ]; then - mkdir -p $RESULTPREFIX - if [ ! -d $RESULTPREFIX/lib ]; then - mkdir -p $RESULTPREFIX/lib - fi -fi - -# add icu tools to path -export PATH="$PATH:$ICUPATH/bin" -export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:$ICUPATH/lib" - -PPC_LIB_EXPORT= -INTEL_LIB_EXPORT= -INTEL64_LIB_EXPORT= - -# build stuff -if [ $PPC -eq 1 ] || [ $FAT -eq 1 ]; then - echo "building PPC version of library..." - cd $SWORDPATH - echo 'autogen.sh ...' - ./autogen.sh - echo 'autogen.sh ... done' - export CC=gcc - export CXX=g++ - export SDK=$SDKDIR - if [ $DEBUG -eq 1 ]; then - export CFLAGS="-O0 -g -arch ppc -mmacosx-version-min=$DTARGET -isysroot $SDK -I$SDK/usr/include -I$ICUPATH/include" - else - export CFLAGS="-O2 -g0 -arch ppc -mmacosx-version-min=$DTARGET -isysroot $SDK -I$SDK/usr/include -I$ICUPATH/include" - fi - export CXXFLAGS="$CFLAGS" - export LDFLAGS="-isysroot $SDK -Wl,-syslibroot,$SDK" - if [ $USECLUCENE -eq 1 ]; then - ./configure --prefix=$PPCPREFIX --with-clucene=$PPCCLUCENEPATH --with-zlib --with-conf --with-icu --with-curl --disable-tests --disable-shared - else - ./configure --prefix=$PPCPREFIX --without-clucene --with-zlib --with-conf --with-icu --with-curl --disable-tests --disable-shared --enable-utilities - fi - make all install - make clean - cd $BDIR - # copy to result dir - PPC_LIB_EXPORT="$RESULTPREFIX/lib/lib$APP-ppc.a" - cp $PPCPREFIX/lib/lib$APP.a $PPC_LIB_EXPORT - echo "building PPC version of library...done" -fi - -if [ $INTEL -eq 1 ] || [ $FAT -eq 1 ]; then - echo "building INTEL version of library..." - cd $SWORDPATH - echo 'autogen.sh ...' - ./autogen.sh - echo 'autogen.sh ... done' - export CC=gcc - export CXX=g++ - export SDK=$SDKDIR - if [ $DEBUG -eq 1 ]; then - export CFLAGS="-O0 -g -arch i686 -mmacosx-version-min=$DTARGET -isysroot $SDK -I$SDK/usr/include -I$ICUPATH/include" - else - export CFLAGS="-O2 -g0 -arch i686 -mmacosx-version-min=$DTARGET -isysroot $SDK -I$SDK/usr/include -I$ICUPATH/include" - fi - export CXXFLAGS="$CFLAGS" - export LDFLAGS="-isysroot $SDK -Wl,-syslibroot,$SDK" - if [ $USECLUCENE -eq 1 ]; then - ./configure --prefix=$INTELPREFIX --with-clucene=$INTELCLUCENEPATH --with-zlib --with-conf --with-icu --with-curl --enable-tests --disable-shared - else - ./configure --prefix=$INTELPREFIX --without-clucene --with-zlib --with-conf --with-icu --with-curl --enable-tests --disable-shared --enable-utilities - fi - make all install - make clean - cd $BDIR - # copy to result dir - INTEL_LIB_EXPORT="$RESULTPREFIX/lib/lib$APP-intel.a" - cp $INTELPREFIX/lib/lib$APP.a $INTEL_LIB_EXPORT - echo "building INTEL version of library...done" -fi - -if [ $INTEL64 -eq 1 ] || [ $FAT -eq 1 ]; then - echo "building INTEL64 version of library..." - cd $SWORDPATH - echo 'autogen.sh ...' - ./autogen.sh - echo 'autogen.sh ... done' - export CC=gcc - export CXX=g++ - export SDK=$SDKDIR - if [ $DEBUG -eq 1 ]; then - export CFLAGS="-O0 -g -arch x86_64 -mmacosx-version-min=$DTARGET -isysroot $SDK -I$SDK/usr/include -I$ICUPATH/include" - else - export CFLAGS="-O2 -g0 -arch x86_64 -mmacosx-version-min=$DTARGET -isysroot $SDK -I$SDK/usr/include -I$ICUPATH/include" - fi - export CXXFLAGS="$CFLAGS" - export LDFLAGS="-isysroot $SDK -Wl,-syslibroot,$SDK" - if [ $USECLUCENE -eq 1 ]; then - ./configure --prefix=$INTEL64PREFIX --with-clucene=$INTEL64CLUCENEPATH --with-zlib --with-conf --with-icu --with-curl --enable-tests --disable-shared - else - ./configure --prefix=$INTEL64PREFIX --without-clucene --with-zlib --with-conf --with-icu --with-curl --enable-tests --disable-shared --enable-utilities - fi - make all install - make clean - cd $BDIR - # copy to result dir - INTEL64_LIB_EXPORT="$RESULTPREFIX/lib/lib$APP-intel64.a" - cp $INTEL64PREFIX/lib/lib$APP.a $INTEL64_LIB_EXPORT - echo "building INTEL64 version of library...done" -fi - -# only for fat version -if [ $FAT -eq 1 ]; then - # creating result - # build fat binary with lipo - lipo -create $PPC_LIB_EXPORT $INTEL_LIB_EXPORT $INTEL64_LIB_EXPORT -output $RESULTPREFIX/lib/lib$APP-ub.a -fi - - -# run runlib to update the library content -#ranlib $RESULTPREFIX/lib/* diff --git a/bindings/objc/build_sword/build_ub_mac_swordutils.sh b/bindings/objc/build_sword/build_ub_mac_swordutils.sh deleted file mode 100755 index 55c21f7..0000000 --- a/bindings/objc/build_sword/build_ub_mac_swordutils.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh -e -# script by Manfred Bergmann in 2006 -# - -# dependencies for this script are: -# that "build_mac_sword.sh" has been executed in "fat" mode and -# successfully created a "build_tools" folder with directories: "ppc_inst" and "intel_inst" - -# first build library -./build_mac_sword.sh -a fat -b build_tools - -BDIR=. -SWORDBUILD=$BDIR/build_tools -PPCPREFIX=$SWORDBUILD/ppc_inst -INTELPREFIX=$SWORDBUILD/intel_inst -RESULTPREFIX=$SWORDBUILD/result_inst - -# Create install dirs if they doesn't exist -if [ ! -d $SWORDBUILD ]; then - echo "build folder doesn't exist!\n" - exit 1 -fi -if [ ! -d $PPCPREFIX ]; then - echo "ppc installation folder doesn't exist!\n" - exit 1 -fi -if [ ! -d $INTELPREFIX ]; then - echo "intel installation folder doesn't exist!\n" - exit 1 -fi -if [ ! -d $RESULTPREFIX ]; then - echo "result(fat) installation folder doesn't exist!\n" - exit 1 -fi - -BINDESTINATION=$RESULTPREFIX/bin -if [ -d $BINDESTINATION ]; then - rm -r $BINDESTINATION -fi -mkdir $BINDESTINATION - -function callLipo { - lipo -create $INTELPREFIX/bin/$1 $PPCPREFIX/bin/$1 -output $BINDESTINATION/$1 -} - -callLipo imp2gbs -callLipo imp2ld -callLipo imp2vs -callLipo installmgr -callLipo mod2imp -callLipo mod2osis -callLipo mod2vpl -callLipo mod2zmod -callLipo osis2mod -callLipo tei2mod -callLipo vpl2mod -callLipo vs2osisref -callLipo vs2osisreftxt -callLipo xml2gbs diff --git a/bindings/objc/build_sword/readme.txt b/bindings/objc/build_sword/readme.txt deleted file mode 100644 index f20e49e..0000000 --- a/bindings/objc/build_sword/readme.txt +++ /dev/null @@ -1,9 +0,0 @@ -Building sword library for Eloquent: - -- make a symlink for libtoolize: -ln -s /usr/bin/glibtoolize /usr/bin/libtoolize - -- build the library as it is a dependency for the Xcode project: -./build_mac_sword.sh -a fat -c -(check -? for possible options). - diff --git a/bindings/objc/dependencies/Makefile b/bindings/objc/dependencies/Makefile new file mode 100644 index 0000000..94b5ba4 --- /dev/null +++ b/bindings/objc/dependencies/Makefile @@ -0,0 +1,39 @@ +LIBCURLVERSION=7.57.0 +ICUVERSION=53.1 +CLUCENEVERSION=9.21b + +all: curl/unpacked icu/unpacked clucene/unpacked + +clean: curlclean icuclean cluceneclean + +libcurl_src.tar.gz: + wget http://crosswire.org/ftpmirror/pub/sword/dependencies/apple/libcurl-${LIBCURLVERSION}/libcurl_src.tar.gz + +clucene_src.tar.gz: + wget http://crosswire.org/ftpmirror/pub/sword/dependencies/apple/clucene-${CLUCENEVERSION}/clucene_src.tar.gz + +icu_src.tar.gz: + wget http://crosswire.org/ftpmirror/pub/sword/dependencies/apple/icu-${ICUVERSION}/icu_src.tar.gz + + +curl/unpacked: libcurl_src.tar.gz + tar xjfv libcurl_src.tar.gz + touch curl/unpacked + +icu/unpacked: icu_src.tar.gz + tar xzfv icu_src.tar.gz + touch icu/unpacked + +clucene/unpacked: clucene_src.tar.gz + tar xzfv clucene_src.tar.gz + touch clucene/unpacked + +curlclean: + rm -rf libcurl* curl + +icuclean: + rm -rf icu* + +cluceneclean: + rm -rf clucene* + diff --git a/bindings/objc/dependencies/readme.txt b/bindings/objc/dependencies/readme.txt new file mode 100644 index 0000000..446403d --- /dev/null +++ b/bindings/objc/dependencies/readme.txt @@ -0,0 +1,4 @@ +These dependencies have been moved from version control to downloads from crosswire.org/ftpmirror/pub/sword/dependencies/apple. The included Makefile in this folder should get and expand these for you. It should... + +Unpack clucene, libcurl, and icu source packages so that you end up with folders "clucene", "curl", and "icu" within dependencies. + diff --git a/bindings/objc/dependencies/retrieve.sh b/bindings/objc/dependencies/retrieve.sh deleted file mode 100755 index 547a9fe..0000000 --- a/bindings/objc/dependencies/retrieve.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# this script downloads icu dependencies and unpacks them -# ICU is needed for building SWORD - -curl -o icu_build-ub.tar.gz http://www.crosswire.org/~mbergmann/icu_build-ub.tar.gz -tar -xzf icu_build-ub.tar.gz - -curl -o clucene_src.tar.gz http://www.crosswire.org/~mbergmann/clucene_src.tar.gz -tar -xzf clucene_src.tar.gz - -cd icu/lib -ln -s libicudata.dylib libicudata.dylib.36 -ln -s libicui18n.dylib libicui18n.dylib.36 -ln -s libicuio.dylib libicuio.dylib.36 -ln -s libicule.dylib libicule.dylib.36 -ln -s libiculx.dylib libiculx.dylib.36 -ln -s libicutu.dylib libicutu.dylib.36 -ln -s libicuuc.dylib libicuuc.dylib.36 diff --git a/bindings/objc/dependencies/retrieve_iOS.sh b/bindings/objc/dependencies/retrieve_iOS.sh deleted file mode 100755 index 4415a3b..0000000 --- a/bindings/objc/dependencies/retrieve_iOS.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -# this script downloads dependencies for iOS project - -curl -o libcurl_build.tar.gz http://www.crosswire.org/~mbergmann/libcurl_build.tar.gz -tar -xzf libcurl_build.tar.gz diff --git a/bindings/objc/src/DefaultFilterProvider.h b/bindings/objc/src/DefaultFilterProvider.h index 435daa0..7484212 100644 --- a/bindings/objc/src/DefaultFilterProvider.h +++ b/bindings/objc/src/DefaultFilterProvider.h @@ -18,7 +18,6 @@ - (SwordFilter *)newThmlPlainFilter; - (SwordFilter *)newTeiRenderFilter; - (SwordFilter *)newTeiPlainFilter; -- (SwordFilter *)newHtmlPlainFilter; @end @@ -32,6 +31,5 @@ - (SwordFilter *)newThmlPlainFilter; - (SwordFilter *)newTeiRenderFilter; - (SwordFilter *)newTeiPlainFilter; -- (SwordFilter *)newHtmlPlainFilter; @end diff --git a/bindings/objc/src/DefaultFilterProvider.mm b/bindings/objc/src/DefaultFilterProvider.mm index 65d8c0a..aaae02c 100644 --- a/bindings/objc/src/DefaultFilterProvider.mm +++ b/bindings/objc/src/DefaultFilterProvider.mm @@ -5,11 +5,11 @@ #import "DefaultFilterProvider.h" -#import "SwordFilter.h" @implementation DefaultFilterProvider - (SwordFilter *)newOsisRenderFilter { +// return [SwordOsisXHtmlFilter filter]; return [SwordOsisHtmlRefFilter filter]; } diff --git a/bindings/objc/src/FilterProviderFactory.mm b/bindings/objc/src/FilterProviderFactory.mm index 75abc68..6da290c 100644 --- a/bindings/objc/src/FilterProviderFactory.mm +++ b/bindings/objc/src/FilterProviderFactory.mm @@ -9,7 +9,7 @@ @interface FilterProviderFactory () -@property(nonatomic, retain) id <FilterProvider> filterProvider; +@property(nonatomic, strong) id <FilterProvider> filterProvider; @end @@ -33,10 +33,6 @@ return self.filterProvider; } -- (void)dealloc { - self.filterProvider = nil; - [super dealloc]; -} @end
\ No newline at end of file diff --git a/bindings/objc/src/Notifications.h b/bindings/objc/src/Notifications.h index 3972646..556c1fd 100644 --- a/bindings/objc/src/Notifications.h +++ b/bindings/objc/src/Notifications.h @@ -8,9 +8,3 @@ */ // Notification identifiers - -/** -\brief this notification is send, when the modules have changed (updated, added, removed) - */ -#define NotificationModulesChanged @"NotificationModulesChanged" -#define SendNotifyModulesChanged(X) [[NSNotificationCenter defaultCenter] postNotificationName:NotificationModulesChanged object:X]; diff --git a/bindings/objc/src/SwordBible.h b/bindings/objc/src/SwordBible.h index f57d322..ce8a926 100644 --- a/bindings/objc/src/SwordBible.h +++ b/bindings/objc/src/SwordBible.h @@ -26,10 +26,10 @@ typedef enum { }Testament; @interface SwordBible : SwordModule { - NSMutableDictionary *books; + NSDictionary *_books; } -@property (retain, readwrite) NSMutableDictionary *books; +@property (strong, readwrite) NSDictionary *books; // ----------- class methods ------------- + (void)decodeRef:(NSString *)ref intoBook:(NSString **)bookName book:(int *)book chapter:(int *)chapter verse:(int *)verse; @@ -47,11 +47,12 @@ typedef enum { - (NSArray *)bookList; - (NSString *)bookIntroductionFor:(SwordBibleBook *)aBook; -- (NSString *)chapterIntroductionFor:(SwordBibleBook *)aBook chapter:(int)chapter; +- (NSString *)chapterIntroductionIn:(SwordBibleBook *)aBook forChapter:(int)chapter; - (NSString *)moduleIntroduction; // some numbers -- (SwordBibleBook *)bookForLocalizedName:(NSString *)bookName; +- (SwordBibleBook *)bookWithNamePrefix:(NSString *)aPrefix; +- (SwordBibleBook *)bookForName:(NSString *)bookName; - (int)chaptersForBookName:(NSString *)bookName; - (int)versesForChapter:(int)chapter bookName:(NSString *)bookName; - (int)versesForBible; diff --git a/bindings/objc/src/SwordBible.mm b/bindings/objc/src/SwordBible.mm index 03e378e..7b78af5 100644 --- a/bindings/objc/src/SwordBible.mm +++ b/bindings/objc/src/SwordBible.mm @@ -19,7 +19,7 @@ using sword::AttributeValue; @interface SwordBible () -- (void)buildBookList; +- (NSDictionary *)buildBookList; - (BOOL)containsBookNumber:(int)aBookNum; - (NSArray *)textEntriesForReference:(NSString *)aReference context:(int)context textType:(TextPullType)textType; @@ -78,14 +78,14 @@ NSLock *bibleLock = nil; //if abbr contains : or . then we are a verse so return a chapter if([abbr rangeOfString:@":"].location != NSNotFound || [abbr rangeOfString:@"."].location != NSNotFound) { - return [firstBits objectAtIndex:0]; + return firstBits[0]; } //otherwise return a book firstBits = [first componentsSeparatedByString:@" "]; if([firstBits count] > 0) { - return [firstBits objectAtIndex:0]; + return firstBits[0]; } return abbr; @@ -96,22 +96,13 @@ NSLock *bibleLock = nil; that is: book number + testament * 100 */ + (int)bookIndexForSWKey:(sword::VerseKey *)key { - return key->Book() + key->Testament() * 100; + return key->getBookMax() + key->getTestamentMax() * 100; } #pragma mark - Initializers -- (id)initWithName:(NSString *)aName swordManager:(SwordManager *)aManager { - self = [super initWithName:aName swordManager:aManager]; - if(self) { - [self setBooks:nil]; - } - - return self; -} - - (id)initWithSWModule:(sword::SWModule *)aModule swordManager:(SwordManager *)aManager { - self = [super initWithSWModule:aModule swordManager:aManager]; + self = [super initWithSWModule:aModule]; if(self) { [self setBooks:nil]; } @@ -119,20 +110,11 @@ NSLock *bibleLock = nil; return self; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [books release]; - [super dealloc]; -} #pragma mark - Bible information -- (void)buildBookList { - [moduleLock lock]; - +- (NSDictionary *)buildBookList { sword::VersificationMgr *vmgr = sword::VersificationMgr::getSystemVersificationMgr(); const sword::VersificationMgr::System *system = vmgr->getVersificationSystem([[self versification] UTF8String]); @@ -141,15 +123,13 @@ NSLock *bibleLock = nil; for(int i = 0;i < bookCount;i++) { sword::VersificationMgr::Book *book = (sword::VersificationMgr::Book *)system->getBook(i); - SwordBibleBook *bb = [[[SwordBibleBook alloc] initWithBook:book] autorelease]; + SwordBibleBook *bb = [[SwordBibleBook alloc] initWithBook:book]; [bb setNumber:i+1]; NSString *bookName = [bb name]; - [buf setObject:bb forKey:bookName]; + buf[bookName] = bb; } - self.books = buf; - - [moduleLock unlock]; + return [NSDictionary dictionaryWithDictionary:buf]; } - (BOOL)containsBookNumber:(int)aBookNum { @@ -161,17 +141,15 @@ NSLock *bibleLock = nil; return NO; } -- (NSMutableDictionary *)books { - if(books == nil) { - [self buildBookList]; +- (NSDictionary *)books { + if(_books == nil) { + _books = [self buildBookList]; } - return books; + return _books; } -- (void)setBooks:(NSMutableDictionary *)aBooks { - [aBooks retain]; - [books release]; - books = aBooks; +- (void)setBooks:(NSDictionary *)aBooks { + _books = aBooks; } - (NSArray *)bookList { @@ -181,15 +159,15 @@ NSLock *bibleLock = nil; } - (BOOL)hasReference:(NSString *)ref { - [moduleLock lock]; + [self.moduleLock lock]; - sword::VerseKey *key = (sword::VerseKey *)(swModule->CreateKey()); + sword::VerseKey *key = (sword::VerseKey *)(swModule->createKey()); (*key) = [ref UTF8String]; NSString *bookName = [NSString stringWithUTF8String:key->getBookName()]; - int chapter = key->Chapter(); - int verse = key->Verse(); + int chapter = key->getChapterMax(); + int verse = key->getVerseMax(); - SwordBibleBook *bb = [[self books] objectForKey:bookName]; + SwordBibleBook *bb = [self books][bookName]; if(bb) { if(chapter > 0 && chapter < [bb numberOfChapters]) { if(verse > 0 && verse < [bb numberOfVersesForChapter:chapter]) { @@ -198,7 +176,7 @@ NSLock *bibleLock = nil; } } - [moduleLock unlock]; + [self.moduleLock unlock]; return NO; } @@ -208,41 +186,29 @@ NSLock *bibleLock = nil; if(aReference && [aReference length] > 0) { sword::VerseKey vk; - sword::ListKey listKey = vk.ParseVerseList([aReference UTF8String], "Gen1", true); + sword::ListKey listKey = vk.parseVerseList([aReference UTF8String], "Gen1", true); // unfortunately there is no other way then loop though all verses to know how many - for(listKey = sword::TOP; !listKey.Error(); listKey++) ret++; + for(listKey = sword::TOP; !listKey.popError(); listKey++) ret++; } return ret; } - (int)chaptersForBookName:(NSString *)bookName { - [moduleLock lock]; - - int maxChapters; - sword::VerseKey *key = (sword::VerseKey *)swModule->CreateKey(); - (*key) = [bookName UTF8String]; - maxChapters = key->getChapterMax(); - delete key; - - [moduleLock unlock]; - - return maxChapters; + SwordBibleBook *book = [self bookForName:bookName]; + if(book != nil) { + return [book numberOfChapters]; + } + return -1; } - - (int)versesForChapter:(int)chapter bookName:(NSString *)bookName { int ret = -1; - [moduleLock lock]; - - SwordBibleBook *bb = [[self books] objectForKey:bookName]; + SwordBibleBook *bb = [self books][bookName]; if(bb) { ret = [bb numberOfVersesForChapter:chapter]; } - - [moduleLock unlock]; - return ret; } @@ -261,9 +227,18 @@ NSLock *bibleLock = nil; return ret; } -- (SwordBibleBook *)bookForLocalizedName:(NSString *)bookName { +- (SwordBibleBook *)bookForName:(NSString *)bookName { for(SwordBibleBook *book in [[self books] allValues]) { - if([[book localizedName] isEqualToString:bookName]) { + if([[book localizedName] isEqualToString:bookName] || [[book name] isEqualToString:bookName]) { + return book; + } + } + return nil; +} + +- (SwordBibleBook *)bookWithNamePrefix:(NSString *)aPrefix { + for(SwordBibleBook *book in [[self books] allValues]) { + if([[book localizedName] hasPrefix:aPrefix] || [[book name] hasPrefix:aPrefix]) { return book; } } @@ -273,62 +248,69 @@ NSLock *bibleLock = nil; - (NSString *)moduleIntroduction { NSString *ret; + [self.moduleLock lock]; + // save key - SwordVerseKey *save = [(SwordVerseKey *)[self getKeyCopy] autorelease]; + SwordVerseKey *save = (SwordVerseKey *)[self getKeyCopy]; SwordVerseKey *key = [SwordVerseKey verseKeyWithVersification:[self versification]]; [key setHeadings:YES]; - [key setPosition:0]; + [key setTestament:0]; [self setSwordKey:key]; ret = [self renderedText]; // restore old key [self setSwordKey:save]; + [self.moduleLock unlock]; + return ret; } - (NSString *)bookIntroductionFor:(SwordBibleBook *)aBook { NSString *ret; + [self.moduleLock lock]; + // save key - SwordVerseKey *save = [(SwordVerseKey *)[self getKeyCopy] autorelease]; + SwordVerseKey *save = (SwordVerseKey *)[self getKeyCopy]; SwordVerseKey *key = [SwordVerseKey verseKeyWithVersification:[self versification]]; [key setHeadings:YES]; - [key setAutoNormalize:NO]; - [key setTestament:[aBook testament]]; - [key setBook:[aBook numberInTestament]]; - [key setChapter:0]; - [key setVerse:0]; + [key setTestament:(char) [aBook testament]]; + [key setBook:(char) [aBook numberInTestament]]; [self setSwordKey:key]; ret = [self renderedText]; // restore old key [self setSwordKey:save]; + [self.moduleLock unlock]; + return ret; } -- (NSString *)chapterIntroductionFor:(SwordBibleBook *)aBook chapter:(int)chapter { +- (NSString *)chapterIntroductionIn:(SwordBibleBook *)aBook forChapter:(int)chapter { NSString *ret; - + + [self.moduleLock lock]; + // save key - SwordVerseKey *save = [(SwordVerseKey *)[self getKeyCopy] autorelease]; + SwordVerseKey *save = (SwordVerseKey *)[self getKeyCopy]; SwordVerseKey *key = [SwordVerseKey verseKeyWithVersification:[self versification]]; [key setHeadings:YES]; - [key setAutoNormalize:NO]; - [key setTestament:[aBook testament]]; - [key setBook:[aBook numberInTestament]]; + [key setTestament:(char) [aBook testament]]; + [key setBook:(char) [aBook numberInTestament]]; [key setChapter:chapter]; - [key setVerse:0]; [self setSwordKey:key]; ret = [self renderedText]; // restore old key [self setSwordKey:save]; + [self.moduleLock unlock]; + return ret; } @@ -336,7 +318,7 @@ NSLock *bibleLock = nil; SwordBibleTextEntry *ret = nil; if(aKey) { - [moduleLock lock]; + [self.moduleLock lock]; [self setSwordKey:aKey]; if(![self error]) { NSString *txt; @@ -352,32 +334,32 @@ NSLock *bibleLock = nil; ALog(@"nil key"); } - if([swManager globalOption:SW_OPTION_HEADINGS] && [self hasFeature:SWMOD_FEATURE_HEADINGS]) { + if([self.swManager globalOption:SW_OPTION_HEADINGS] && [self hasFeature:SWMOD_FEATURE_HEADINGS]) { NSString *preverseHeading = [self entryAttributeValuePreverse]; if(preverseHeading && [preverseHeading length] > 0) { [ret setPreVerseHeading:preverseHeading]; } } } - [moduleLock unlock]; + [self.moduleLock unlock]; } return ret; } - (NSString *)versification { - NSString *versification = [configEntries objectForKey:SWMOD_CONFENTRY_VERSIFICATION]; + NSString *versification = self.configEntries[SWMOD_CONFENTRY_VERSIFICATION]; if(versification == nil) { versification = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_VERSIFICATION]; if(versification != nil) { - [configEntries setObject:versification forKey:SWMOD_CONFENTRY_VERSIFICATION]; + self.configEntries[SWMOD_CONFENTRY_VERSIFICATION] = versification; } } // if still nil, use KJV versification if(versification == nil) { versification = @"KJV"; - [configEntries setObject:versification forKey:SWMOD_CONFENTRY_VERSIFICATION]; + self.configEntries[SWMOD_CONFENTRY_VERSIFICATION] = versification; } return versification; @@ -386,7 +368,7 @@ NSLock *bibleLock = nil; #pragma mark - SwordModuleAccess - (SwordKey *)createKey { - sword::VerseKey *vk = (sword::VerseKey *)swModule->CreateKey(); + sword::VerseKey *vk = (sword::VerseKey *)swModule->createKey(); SwordVerseKey *newKey = [SwordVerseKey verseKeyWithSWVerseKey:vk makeCopy:YES]; delete vk; @@ -403,9 +385,9 @@ NSLock *bibleLock = nil; - (long)entryCount { swModule->setPosition(sword::TOP); - long verseLowIndex = swModule->Index(); + long verseLowIndex = swModule->getIndex(); swModule->setPosition(sword::BOTTOM); - long verseHighIndex = swModule->Index(); + long verseHighIndex = swModule->getIndex(); return verseHighIndex - verseLowIndex; } @@ -435,7 +417,6 @@ NSLock *bibleLock = nil; SwordListKey *lk = [SwordListKey listKeyWithRef:aReference v11n:[self versification]]; [lk setPosition:SWPOS_TOP]; - [lk setPersist:NO]; SwordVerseKey *vk = [SwordVerseKey verseKeyWithRef:[lk keyText] v11n:[self versification]]; while(![lk error]) { // set current key to vk @@ -466,16 +447,16 @@ NSLock *bibleLock = nil; - (void)writeEntry:(SwordModuleTextEntry *)anEntry { const char *data = [[anEntry text] UTF8String]; - int dLen = strlen(data); + size_t dLen = strlen(data); - [moduleLock lock]; + [self.moduleLock lock]; [self setKeyString:[anEntry key]]; if(![self error]) { swModule->setEntry(data, dLen); // save text to module at current position } else { ALog(@"error at positioning module!"); } - [moduleLock unlock]; + [self.moduleLock unlock]; } @end diff --git a/bindings/objc/src/SwordBibleBook.h b/bindings/objc/src/SwordBibleBook.h index af48bb4..9e77df9 100644 --- a/bindings/objc/src/SwordBibleBook.h +++ b/bindings/objc/src/SwordBibleBook.h @@ -8,11 +8,12 @@ #import <Foundation/Foundation.h> +@class SwordBibleChapter; + #ifdef __cplusplus #include <versificationmgr.h> #include <versekey.h> #include <localemgr.h> -class sword::VersificationMgr::Book; #endif @interface SwordBibleBook : NSObject { @@ -22,16 +23,16 @@ class sword::VersificationMgr::Book; NSString *localizedName; int number; - char numberInTestament; - char testament; + int numberInTestament; + int testament; NSArray *chapters; } @property (readwrite) int number; -@property (readwrite) char numberInTestament; -@property (readwrite) char testament; -@property (retain, readwrite) NSString *localizedName; -@property (retain, readwrite) NSArray *chapters; +@property (readwrite) int numberInTestament; +@property (readwrite) int testament; +@property (strong, readwrite) NSString *localizedName; +@property (strong, readwrite) NSArray *chapters; #ifdef __cplusplus - (id)initWithBook:(sword::VersificationMgr::Book *)aBook; diff --git a/bindings/objc/src/SwordBibleBook.mm b/bindings/objc/src/SwordBibleBook.mm index eeb956b..931963c 100644 --- a/bindings/objc/src/SwordBibleBook.mm +++ b/bindings/objc/src/SwordBibleBook.mm @@ -37,26 +37,30 @@ swBook = aBook; sword::VerseKey vk = sword::VerseKey(aBook->getOSISName()); - [self setTestament:vk.Testament()]; - [self setNumberInTestament:vk.Book()]; + [self setTestament:vk.getTestament()]; + [self setNumberInTestament:vk.getBook()]; // get system localeMgr to be able to translate the english bookName sword::LocaleMgr *lmgr = sword::LocaleMgr::getSystemLocaleMgr(); - self.localizedName = [NSString stringWithUTF8String:lmgr->translate(swBook->getLongName())]; + const char *translated = lmgr->translate(swBook->getLongName()); + self.localizedName = [NSString stringWithUTF8String:translated]; + + // in case we don't have ICU support this still works. + if(self.localizedName == nil) { + self.localizedName = [NSString stringWithCString:translated encoding:NSISOLatin1StringEncoding]; + } + if(self.localizedName == nil) { + DLog(@"Unable to get this bookname: %s", translated); + } } return self; } -- (void)finalize { - [super finalize]; -} - (void)dealloc { - [self setLocalizedName:nil]; [self setChapters:nil]; - - [super dealloc]; + [self setLocalizedName:nil]; } - (NSString *)name { @@ -76,8 +80,6 @@ } - (void)setChapters:(NSArray *)anArray { - [anArray retain]; - [chapters release]; chapters = anArray; } @@ -85,7 +87,7 @@ if(chapters == nil) { NSMutableArray *temp = [NSMutableArray array]; for(int i = 0;i < swBook->getChapterMax();i++) { - [temp addObject:[[[SwordBibleChapter alloc] initWithBook:self andChapter:i+1] autorelease]]; + [temp addObject:[[SwordBibleChapter alloc] initWithBook:self andChapter:i+1]]; } [self setChapters:[NSArray arrayWithArray:temp]]; } @@ -106,7 +108,7 @@ /** we implement this for sorting */ - (NSComparisonResult)compare:(SwordBibleBook *)b { - return [[NSNumber numberWithInt:number] compare:[NSNumber numberWithInt:[b number]]]; + return [@(number) compare:@([b number])]; } @end diff --git a/bindings/objc/src/SwordBibleChapter.h b/bindings/objc/src/SwordBibleChapter.h index 11e4cff..a8a27a9 100644 --- a/bindings/objc/src/SwordBibleChapter.h +++ b/bindings/objc/src/SwordBibleChapter.h @@ -12,12 +12,12 @@ @interface SwordBibleChapter : NSObject { /** the back reference */ - SwordBibleBook *book; + SwordBibleBook *__unsafe_unretained book; int number; } @property (readwrite) int number; -@property (readwrite, assign) SwordBibleBook *book; +@property (readwrite, unsafe_unretained) SwordBibleBook *book; - (id)initWithBook:(SwordBibleBook *)aBook andChapter:(int)aNumber; diff --git a/bindings/objc/src/SwordBibleChapter.m b/bindings/objc/src/SwordBibleChapter.m index 8855227..e4086a1 100644 --- a/bindings/objc/src/SwordBibleChapter.m +++ b/bindings/objc/src/SwordBibleChapter.m @@ -24,12 +24,6 @@ return self; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [super dealloc]; -} @end diff --git a/bindings/objc/src/SwordBibleTextEntry.h b/bindings/objc/src/SwordBibleTextEntry.h index 42969cd..1d326a0 100644 --- a/bindings/objc/src/SwordBibleTextEntry.h +++ b/bindings/objc/src/SwordBibleTextEntry.h @@ -13,7 +13,7 @@ NSString *preVerseHeading; } -@property (readwrite, retain) NSString *preVerseHeading; +@property (readwrite, strong) NSString *preVerseHeading; + (id)textEntryForKey:(NSString *)aKey andText:(NSString *)aText; - (id)initWithKey:(NSString *)aKey andText:(NSString *)aText; diff --git a/bindings/objc/src/SwordBibleTextEntry.m b/bindings/objc/src/SwordBibleTextEntry.m index 115a33c..b5a4a51 100644 --- a/bindings/objc/src/SwordBibleTextEntry.m +++ b/bindings/objc/src/SwordBibleTextEntry.m @@ -13,7 +13,7 @@ @synthesize preVerseHeading; + (id)textEntryForKey:(NSString *)aKey andText:(NSString *)aText { - return [[[SwordBibleTextEntry alloc] initWithKey:aKey andText:aText] autorelease]; + return [[SwordBibleTextEntry alloc] initWithKey:aKey andText:aText]; } - (id)initWithKey:(NSString *)aKey andText:(NSString *)aText { @@ -21,18 +21,11 @@ if(self) { self.key = aKey; self.text = aText; + self.preVerseHeading = @""; } return self; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [self setPreVerseHeading:nil]; - - [super dealloc]; -} @end diff --git a/bindings/objc/src/SwordBook.h b/bindings/objc/src/SwordBook.h index b0c520a..50740f3 100644 --- a/bindings/objc/src/SwordBook.h +++ b/bindings/objc/src/SwordBook.h @@ -26,7 +26,7 @@ NSMutableDictionary *contents; } -@property(readwrite, retain) NSMutableDictionary *contents; +@property(readwrite, strong) NSMutableDictionary *contents; /** return the tree content for the given treeKey diff --git a/bindings/objc/src/SwordBook.mm b/bindings/objc/src/SwordBook.mm index bcee1e4..c11b800 100644 --- a/bindings/objc/src/SwordBook.mm +++ b/bindings/objc/src/SwordBook.mm @@ -24,17 +24,8 @@ @synthesize contents; -- (id)initWithName:(NSString *)aName swordManager:(SwordManager *)aManager { - self = [super initWithName:aName swordManager:aManager]; - if(self) { - [self setContents:[NSMutableDictionary dictionary]]; - } - - return self; -} - - (id)initWithSWModule:(sword::SWModule *)aModule swordManager:(SwordManager *)aManager { - self = [super initWithSWModule:aModule swordManager:aManager]; + self = [super initWithSWModule:aModule]; if(self) { [self setContents:[NSMutableDictionary dictionary]]; } @@ -42,30 +33,20 @@ return self; } -- (void)finalize { - [super finalize]; -} - -- (void)dealloc { - [self setContents:nil]; - - [super dealloc]; -} - - (SwordModuleTreeEntry *)treeEntryForKey:(NSString *)treeKey { SwordModuleTreeEntry * ret; - [moduleLock lock]; + [self.moduleLock lock]; if(treeKey == nil) { - ret = [contents objectForKey:@"root"]; + ret = contents[@"root"]; if(ret == nil) { sword::TreeKeyIdx *tk = dynamic_cast<sword::TreeKeyIdx*>((sword::SWKey *)*(swModule)); ret = [self _treeEntryForKey:tk]; // add to content - [contents setObject:ret forKey:@"root"]; + contents[@"root"] = ret; } } else { - ret = [contents objectForKey:treeKey]; + ret = contents[treeKey]; if(ret == nil) { const char *keyStr = [treeKey UTF8String]; if(![self isUnicode]) { @@ -77,16 +58,16 @@ sword::TreeKeyIdx *key = dynamic_cast<sword::TreeKeyIdx*>((sword::SWKey *)*(swModule)); ret = [self _treeEntryForKey:key]; // add to content - [contents setObject:ret forKey:treeKey]; + contents[treeKey] = ret; } } - [moduleLock unlock]; + [self.moduleLock unlock]; return ret; } - (SwordModuleTreeEntry *)_treeEntryForKey:(sword::TreeKeyIdx *)treeKey { - SwordModuleTreeEntry *ret = [[[SwordModuleTreeEntry alloc] init] autorelease]; + SwordModuleTreeEntry *ret = [[SwordModuleTreeEntry alloc] init]; char *treeNodeName = (char *)treeKey->getText(); NSString *nName; diff --git a/bindings/objc/src/SwordCommentary.h b/bindings/objc/src/SwordCommentary.h index feaf619..95fd93d 100644 --- a/bindings/objc/src/SwordCommentary.h +++ b/bindings/objc/src/SwordCommentary.h @@ -16,8 +16,6 @@ #ifdef __cplusplus #include <rawfiles.h> -class sword::RawFiles; -class sword::SWConfig; #endif diff --git a/bindings/objc/src/SwordCommentary.mm b/bindings/objc/src/SwordCommentary.mm index 3b81738..93a01d0 100644 --- a/bindings/objc/src/SwordCommentary.mm +++ b/bindings/objc/src/SwordCommentary.mm @@ -69,12 +69,6 @@ return [super init]; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [super dealloc]; -} @end diff --git a/bindings/objc/src/SwordDictionary.mm b/bindings/objc/src/SwordDictionary.mm index 4924d00..13d5967 100644 --- a/bindings/objc/src/SwordDictionary.mm +++ b/bindings/objc/src/SwordDictionary.mm @@ -15,7 +15,7 @@ @interface SwordDictionary (/* Private, class continuation */) /** private property */ -@property(readwrite, retain) NSMutableArray *keys; +@property(readwrite, strong) NSMutableArray *keys; @end @interface SwordDictionary (PrivateAPI) @@ -40,17 +40,17 @@ if([keys count] == 0) { NSMutableArray *arr = [NSMutableArray array]; - [moduleLock lock]; + [self.moduleLock lock]; swModule->setSkipConsecutiveLinks(true); *swModule = sword::TOP; swModule->getRawEntry(); while(![self error]) { - char *cStrKeyText = (char *)swModule->KeyText(); + char *cStrKeyText = (char *)swModule->getKeyText(); if(cStrKeyText) { NSString *keyText = [NSString stringWithUTF8String:cStrKeyText]; if(!keyText) { - keyText = [NSString stringWithCString:swModule->KeyText() encoding:NSISOLatin1StringEncoding]; + keyText = [NSString stringWithCString:swModule->getKeyText() encoding:NSISOLatin1StringEncoding]; if(!keyText) { ALog(@"Unable to create NSString instance from string: %s", cStrKeyText); } @@ -66,7 +66,7 @@ (*swModule)++; } - [moduleLock unlock]; + [self.moduleLock unlock]; self.keys = arr; [self writeToCache]; @@ -96,18 +96,9 @@ @synthesize keys; -- (id)initWithName:(NSString *)aName swordManager:(SwordManager *)aManager { - self = [super initWithName:aName swordManager:aManager]; - if(self) { - self.keys = nil; - } - - return self; -} - /** init with given SWModule */ - (id)initWithSWModule:(sword::SWModule *)aModule swordManager:(SwordManager *)aManager { - self = [super initWithSWModule:aModule swordManager:aManager]; + self = [super initWithSWModule:aModule]; if(self) { self.keys = nil; } @@ -115,15 +106,7 @@ return self; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [self setKeys:nil]; - - [super dealloc]; -} - (NSArray *)allKeys { NSArray *ret = self.keys; @@ -141,14 +124,14 @@ - (NSString *)entryForKey:(NSString *)aKey { NSString *ret = nil; - [moduleLock lock]; + [self.moduleLock lock]; [self setKeyString:aKey]; if([self error]) { ALog(@"Error on setting key!"); } else { ret = [self strippedText]; } - [moduleLock unlock]; + [self.moduleLock unlock]; return ret; } @@ -160,13 +143,13 @@ - (id)attributeValueForParsedLinkData:(NSDictionary *)data withTextRenderType:(TextPullType)textType { id ret = nil; - NSString *attrType = [data objectForKey:ATTRTYPE_TYPE]; + NSString *attrType = data[ATTRTYPE_TYPE]; if([attrType isEqualToString:@"scriptRef"] || [attrType isEqualToString:@"scripRef"] || [attrType isEqualToString:@"Greek"] || [attrType isEqualToString:@"Hebrew"] || [attrType hasPrefix:@"strongMorph"] || [attrType hasPrefix:@"robinson"]) { - NSString *key = [data objectForKey:ATTRTYPE_VALUE]; + NSString *key = data[ATTRTYPE_VALUE]; ret = [self strippedTextEntriesForRef:key]; } diff --git a/bindings/objc/src/SwordFilter.mm b/bindings/objc/src/SwordFilter.mm index 7d609bc..450e986 100644 --- a/bindings/objc/src/SwordFilter.mm +++ b/bindings/objc/src/SwordFilter.mm @@ -30,9 +30,6 @@ return self; } -- (void)dealloc { - [super dealloc]; -} - (sword::SWFilter *)swFilter { return swFilter; @@ -42,7 +39,7 @@ @implementation SwordOsisHtmlRefFilter + (SwordOsisHtmlRefFilter *)filter { - return [[[SwordOsisHtmlRefFilter alloc] init] autorelease]; + return [[SwordOsisHtmlRefFilter alloc] init]; } - (id)init { @@ -52,7 +49,7 @@ @implementation SwordOsisXHtmlFilter + (SwordOsisXHtmlFilter *)filter { - return [[[SwordOsisXHtmlFilter alloc] init] autorelease]; + return [[SwordOsisXHtmlFilter alloc] init]; } - (id)init { @@ -62,7 +59,7 @@ @implementation SwordOsisPlainFilter + (SwordOsisPlainFilter *)filter { - return [[[SwordOsisPlainFilter alloc] init] autorelease]; + return [[SwordOsisPlainFilter alloc] init]; } - (id)init { @@ -72,7 +69,7 @@ @implementation SwordThmlHtmlFilter + (SwordThmlHtmlFilter *)filter { - return [[[SwordThmlHtmlFilter alloc] init] autorelease]; + return [[SwordThmlHtmlFilter alloc] init]; } - (id)init { @@ -82,7 +79,7 @@ @implementation SwordThmlPlainFilter + (SwordThmlPlainFilter *)filter { - return [[[SwordThmlPlainFilter alloc] init] autorelease]; + return [[SwordThmlPlainFilter alloc] init]; } - (id)init { @@ -92,7 +89,7 @@ @implementation SwordGbfHtmlFilter + (SwordGbfHtmlFilter *)filter { - return [[[SwordGbfHtmlFilter alloc] init] autorelease]; + return [[SwordGbfHtmlFilter alloc] init]; } - (id)init { @@ -102,7 +99,7 @@ @implementation SwordGbfPlainFilter + (SwordGbfPlainFilter *)filter { - return [[[SwordGbfPlainFilter alloc] init] autorelease]; + return [[SwordGbfPlainFilter alloc] init]; } - (id)init { @@ -112,7 +109,7 @@ @implementation SwordTeiHtmlFilter + (SwordTeiHtmlFilter *)filter { - return [[[SwordTeiHtmlFilter alloc] init] autorelease]; + return [[SwordTeiHtmlFilter alloc] init]; } - (id)init { @@ -122,7 +119,7 @@ @implementation SwordTeiXHtmlFilter + (SwordTeiXHtmlFilter *)filter { - return [[[SwordTeiXHtmlFilter alloc] init] autorelease]; + return [[SwordTeiXHtmlFilter alloc] init]; } - (id)init { @@ -132,7 +129,7 @@ @implementation SwordTeiPlainFilter + (SwordTeiPlainFilter *)filter { - return [[[SwordTeiPlainFilter alloc] init] autorelease]; + return [[SwordTeiPlainFilter alloc] init]; } - (id)init { diff --git a/bindings/objc/src/SwordInstallSource.h b/bindings/objc/src/SwordInstallSource.h index 1b1bdf3..ca19e2f 100644 --- a/bindings/objc/src/SwordInstallSource.h +++ b/bindings/objc/src/SwordInstallSource.h @@ -12,7 +12,6 @@ #ifdef __cplusplus #include <swmgr.h> #include <installmgr.h> -class sword::SWModule; #endif @class SwordManager; @@ -25,11 +24,6 @@ class sword::SWModule; #ifdef __cplusplus sword::InstallSource *swInstallSource; #endif - - BOOL temporarySource; - - /** the sword manager for this source */ - SwordManager *swordManager; } // init @@ -60,7 +54,7 @@ class sword::SWModule; withInstallController:(SwordInstallSourceManager *)sim; /** List of available InstallSources */ -- (NSArray *)listModules; +- (NSDictionary *)allModules; /** List of modules for given type */ - (NSArray *)listModulesForType:(ModuleType)aType; @@ -68,9 +62,8 @@ class sword::SWModule; /** list module types */ - (NSArray *)listModuleTypes; -/** Returns the SwordManager attached to this SwordInstallSourceController */ +/** Returns the SwordManager attached to this SwordInstallSource */ - (SwordManager *)swordManager; -- (void)setSwordManager:(SwordManager *)swManager; #ifdef __cplusplus - (sword::InstallSource *)installSource; diff --git a/bindings/objc/src/SwordInstallSource.mm b/bindings/objc/src/SwordInstallSource.mm index b1f71d3..6870b74 100644 --- a/bindings/objc/src/SwordInstallSource.mm +++ b/bindings/objc/src/SwordInstallSource.mm @@ -12,6 +12,8 @@ @interface SwordInstallSource () +@property (nonatomic) BOOL deleteSwInstallSource; + @end @implementation SwordInstallSource @@ -20,16 +22,8 @@ - (id)init { self = [super init]; if(self) { - temporarySource = NO; - - // at first we have no sword manager - [self setSwordManager:nil]; - - // init InstallMgr swInstallSource = new sword::InstallSource("", ""); - if(swInstallSource == nil) { - ALog(@"Could not init sword install source!"); - } + self.deleteSwInstallSource = YES; } return self; @@ -38,8 +32,7 @@ - (id)initWithType:(NSString *)aType { self = [self init]; if(self) { - // set type - swInstallSource->type = [aType cStringUsingEncoding:NSUTF8StringEncoding]; + swInstallSource->type = [aType UTF8String]; } return self; @@ -49,72 +42,55 @@ - (id)initWithSource:(sword::InstallSource *)is { self = [super init]; if(self) { - temporarySource = YES; - - // at first we have no sword manager - [self setSwordManager:nil]; - swInstallSource = is; + self.deleteSwInstallSource = NO; } return self; } -- (void)finalize { - if(temporarySource == NO) { - //LogL(LOG_DEBUG, @"[SwordInstallSource -finalize] deleting swInstallSource"); - //delete swInstallSource; - } - - [super finalize]; -} - - (void)dealloc { - [swordManager release]; - [super dealloc]; -} - -- (void)setSwordManager:(SwordManager *)swManager { - [swManager retain]; - [swordManager release]; - swordManager = swManager; + ALog(@""); + if(swInstallSource != NULL && self.deleteSwInstallSource) { + ALog(@"Deleting InstallSource"); + delete swInstallSource; + } } -// accessors - (NSString *)caption { const char *str = swInstallSource->caption; - return [[[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding] autorelease]; + return [[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding]; } - (void)setCaption:(NSString *)aCaption { - swInstallSource->caption = [aCaption cStringUsingEncoding:NSUTF8StringEncoding]; + swInstallSource->caption = [aCaption UTF8String]; } - (NSString *)type { const char *str = swInstallSource->type; - return [[[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding] autorelease]; + return [[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding]; } - (void)setType:(NSString *)aType { - swInstallSource->type = [aType cStringUsingEncoding:NSUTF8StringEncoding]; + swInstallSource->type = [aType UTF8String]; } - (NSString *)source { const char *str = swInstallSource->source; - return [[[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding] autorelease]; + return [[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding]; } - (void)setSource:(NSString *)aSource { - swInstallSource->source = [aSource cStringUsingEncoding:NSUTF8StringEncoding]; + swInstallSource->source = [aSource UTF8String]; } - (NSString *)directory { const char *str = swInstallSource->directory; - return [[[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding] autorelease]; + return [[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding]; } - (void)setDirectory:(NSString *)aDir { - swInstallSource->directory = [aDir cStringUsingEncoding:NSUTF8StringEncoding]; + swInstallSource->directory = [aDir UTF8String]; } - (BOOL)isLocalSource { @@ -133,60 +109,49 @@ } /** list all modules of this source */ -- (NSArray *)listModules { - NSArray *ret = [NSArray array]; - +- (NSDictionary *)allModules { SwordManager *sm = [self swordManager]; if(sm) { - ret = [sm listModules]; + return [sm allModules]; } else { ALog(@"Have nil SwordManager"); } - - return ret; + return nil; } - (NSArray *)listModulesForType:(ModuleType)aType { - NSArray *ret = [NSArray array]; - SwordManager *sm = [self swordManager]; if(sm) { - ret = [sm modulesForType:aType]; + return [sm modulesForType:aType]; } else { ALog(@"Have nil SwordManager"); - } - - return ret; + } + return nil; } /** list module types */ - (NSArray *)listModuleTypes { - NSArray *ret = [SwordManager moduleTypes]; - return ret; + return [SwordManager moduleTypes]; } -// get associated SwordManager - (SwordManager *)swordManager { - - if(swordManager == nil) { + // create SwordManager from the SWMgr of this source + sword::SWMgr *mgr; + if([self isLocalSource]) { + // create SwordManager from new SWMgr of path + mgr = new sword::SWMgr([[self directory] UTF8String], true, NULL, false, false); + } else { // create SwordManager from the SWMgr of this source - sword::SWMgr *mgr; - if([[self source] isEqualToString:@"localhost"]) { - // create SwordManager from new SWMgr of path - mgr = new sword::SWMgr([[self directory] UTF8String], true, NULL, false, false); - } else { - // create SwordManager from the SWMgr of this source - mgr = swInstallSource->getMgr(); - } - - if(mgr == nil) { - ALog(@"Have a nil SWMgr!"); - } else { - swordManager = [[SwordManager alloc] initWithSWMgr:mgr]; - } + mgr = swInstallSource->getMgr(); + } + + if(mgr == nil) { + ALog(@"Have a nil SWMgr!"); + return nil; + + } else { + return [[SwordManager alloc] initWithSWMgr:mgr]; } - - return swordManager; } /** low level API */ diff --git a/bindings/objc/src/SwordInstallSourceManager.h b/bindings/objc/src/SwordInstallSourceManager.h index ee22c48..9f8922e 100755 --- a/bindings/objc/src/SwordInstallSourceManager.h +++ b/bindings/objc/src/SwordInstallSourceManager.h @@ -13,8 +13,6 @@ #include <installmgr.h> #include <swconfig.h> #include <multimapwdef.h> -class sword::SWModule; -class sword::InstallMgr; using sword::SWModule; using sword::InstallMgr; #endif @@ -37,44 +35,39 @@ typedef enum _ModuleStatusConst { #ifdef __cplusplus sword::InstallMgr *swInstallMgr; #endif - - BOOL createPath; - - NSString *configPath; } -// ------------------- getter / setter ------------------- -@property (retain, readwrite) NSString *configPath; -@property (retain, readwrite) NSString *configFilePath; -@property (retain, readwrite) NSMutableArray *installSourceList; +// ------------------- properties ------------------- /** Dictionary of InstallSources. Key: Caption */ -@property (retain, readwrite) NSMutableDictionary *installSources; +@property (strong, readonly) NSDictionary *installSources; +@property (strong, nonatomic) NSString *ftpUser; +@property (strong, nonatomic) NSString *ftpPassword; +@property (strong, readwrite) NSString *configPath; +@property (readwrite) BOOL createConfigPath; // -------------------- methods -------------------- // initialization -+ (SwordInstallSourceManager *)defaultController; -+ (SwordInstallSourceManager *)defaultControllerWithPath:(NSString *)aPath; -+ (SwordInstallSourceManager *)controllerWithPath:(NSString *)aPath; ++ (SwordInstallSourceManager *)defaultManager; /** -base path of the module installation + base path of the module installation */ -- (id)init; - (id)initWithPath:(NSString *)aPath createPath:(BOOL)create; -/** re-init after adding or removing new modules */ -- (void)reinitialize; +/** marks this manager as the default one / singleton */ +- (void)useAsDefaultManager; + +/** init after adding or removing new modules */ +- (void)initManager; // installation/unInstallation - (int)installModule:(SwordModule *)aModule fromSource:(SwordInstallSource *)is withManager:(SwordManager *)manager; - (int)uninstallModule:(SwordModule *)aModule fromManager:(SwordManager *)swManager; // add/remove install sources -- (void)addInstallSource:(SwordInstallSource *)is; -- (void)addInstallSource:(SwordInstallSource *)is withReinitialize:(BOOL)reinit; -- (void)removeInstallSource:(SwordInstallSource *)is; -- (void)removeInstallSource:(SwordInstallSource *)is withReinitialize:(BOOL)reinit; +- (void)addInstallSource:(SwordInstallSource *)is reload:(BOOL)doReload; +- (void)removeInstallSource:(SwordInstallSource *)is reload:(BOOL)doReload; - (void)updateInstallSource:(SwordInstallSource *)is; - (int)refreshMasterRemoteInstallSourceList; @@ -83,7 +76,7 @@ base path of the module installation - (void)setUserDisclaimerConfirmed:(BOOL)flag; // list modules in sources -- (NSArray *)listModulesForSource:(SwordInstallSource *)is; +- (NSDictionary *)listModulesForSource:(SwordInstallSource *)is; // remote source list - (int)refreshInstallSource:(SwordInstallSource *)is; diff --git a/bindings/objc/src/SwordInstallSourceManager.mm b/bindings/objc/src/SwordInstallSourceManager.mm index 98d6cac..ecdae3a 100755 --- a/bindings/objc/src/SwordInstallSourceManager.mm +++ b/bindings/objc/src/SwordInstallSourceManager.mm @@ -19,73 +19,20 @@ typedef sword::multimapwithdefault<sword::SWBuf, sword::SWBuf, std::less <sword: #define INSTALLSOURCE_SECTION_TYPE_FTP "FTPSource" #define INSTALLSOURCE_SECTION_TYPE_HTTP "HTTPSource" -@implementation SwordInstallSourceManager -@dynamic configPath; +@interface SwordInstallSourceManager () -// ------------------- getter / setter ------------------- -- (NSString *)configPath { - return configPath; -} +@property (strong, readwrite) NSDictionary *installSources; -- (void)setConfigPath:(NSString *)value { - DLog(@""); - - if(configPath != value) { - [configPath release]; - configPath = [value copy]; - - if(value == nil) { - return; - } - - - // check for existence - NSFileManager *fm = [NSFileManager defaultManager]; - BOOL isDir; - if(([fm fileExistsAtPath:configPath] == NO) && createPath == YES) { - // create path - [fm createDirectoryAtPath:configPath withIntermediateDirectories:NO attributes:nil error:NULL]; - } - - if(([fm fileExistsAtPath:configPath isDirectory:&isDir] == YES) && (isDir)) { - // set configFilePath - [self setConfigFilePath:[configPath stringByAppendingPathComponent:@"InstallMgr.conf"]]; - - // check config - if([fm fileExistsAtPath:self.configFilePath] == NO) { - // create config entry - sword::SWConfig config([self.configFilePath cStringUsingEncoding:NSUTF8StringEncoding]); - config["General"]["PassiveFTP"] = "true"; - config.Save(); - - // create default Install source - SwordInstallSource *is = [[[SwordInstallSource alloc] initWithType:INSTALLSOURCE_TYPE_FTP] autorelease]; - [is setCaption:@"CrossWire"]; - [is setSource:@"ftp.crosswire.org"]; - [is setDirectory:@"/pub/sword/raw"]; - - // addInstallSource will reinitialize - [self addInstallSource:is withReinitialize:NO]; - - } - // init installMgr - [self reinitialize]; - - // sync with master install source list - //[self refreshMasterRemoteInstallSourceList]; +@end - } else { - ALog(@"Config path does not exist: %@", configPath); - } - } -} +@implementation SwordInstallSourceManager // -------------------- methods -------------------- +static SwordInstallSourceManager *singleton = nil; // initialization -+ (SwordInstallSourceManager *)defaultController { - static SwordInstallSourceManager *singleton = nil; ++ (SwordInstallSourceManager *)defaultManager { if(singleton == nil) { singleton = [[SwordInstallSourceManager alloc] init]; } @@ -93,27 +40,17 @@ typedef sword::multimapwithdefault<sword::SWBuf, sword::SWBuf, std::less <sword: return singleton; } -+ (SwordInstallSourceManager *)defaultControllerWithPath:(NSString *)aPath { - SwordInstallSourceManager *m = [SwordInstallSourceManager defaultController]; - [m setConfigPath:aPath]; - return m; -} - -+ (SwordInstallSourceManager *)controllerWithPath:(NSString *)aPath { - return [[[SwordInstallSourceManager alloc] initWithPath:aPath createPath:YES] autorelease]; -} - /** base path of the module installation */ - (id)init { self = [super init]; if(self) { - createPath = NO; + [self setCreateConfigPath:NO]; [self setConfigPath:nil]; - [self setConfigFilePath:nil]; - [self setInstallSources:[NSMutableDictionary dictionary]]; - [self setInstallSourceList:[NSMutableArray array]]; + [self setInstallSources:[NSDictionary dictionary]]; + [self setFtpUser:@"ftp"]; + [self setFtpPassword:@"ObjCSword@crosswire.org"]; } return self; @@ -125,103 +62,168 @@ base path of the module installation - (id)initWithPath:(NSString *)aPath createPath:(BOOL)create { self = [self init]; if(self) { - createPath = create; + [self setCreateConfigPath:create]; [self setConfigPath:aPath]; } return self; } -/** re-init after adding or removing new modules */ -- (void)reinitialize { - sword::SWConfig config([self.configFilePath UTF8String]); - config.Load(); +- (void)useAsDefaultManager { + singleton = self; +} - // init installMgr - BOOL disclaimerConfirmed = NO; +- (void)dealloc { + DLog(@""); if(swInstallMgr != nil) { + DLog(@"deleting InstallMgr"); + delete swInstallMgr; + } +} + +/** init after adding or removing new modules */ +- (void)initManager { + [self setupConfig]; + + // safe disclaimer flag + BOOL disclaimerConfirmed = NO; + if(swInstallMgr != NULL) { disclaimerConfirmed = [self userDisclaimerConfirmed]; } - swInstallMgr = new sword::InstallMgr([configPath UTF8String]); - if(swInstallMgr == nil) { - ALog(@"Could not initialize InstallMgr!"); + + if(swInstallMgr == NULL) { + DLog(@"Initializing swInstallMgr"); + swInstallMgr = [self newDefaultInstallMgr]; + if(swInstallMgr == nil) { + ALog(@"Could not initialize InstallMgr!"); + + } else { + [self setUserDisclaimerConfirmed:disclaimerConfirmed]; + + if(![self existsDefaultInstallSource]) { + [self addDefaultInstallSource]; + [self readInstallMgrConf]; + } + + [self setupInstallSources]; + } + } else { - [self setUserDisclaimerConfirmed:disclaimerConfirmed]; - - // empty all lists - [self.installSources removeAllObjects]; - [self.installSourceList removeAllObjects]; - - // init install sources - for(InstallSourceMap::iterator it = swInstallMgr->sources.begin(); it != swInstallMgr->sources.end(); it++) { - sword::InstallSource *sis = it->second; - SwordInstallSource *is = [[[SwordInstallSource alloc] initWithSource:sis] autorelease]; - - [self.installSources setObject:is forKey:[is caption]]; - // also add to list - [self.installSourceList addObject:is]; + ALog(@"Re-initializing swInstallMgr"); + [self reloadManager]; + } +} + +- (void)reloadManager { + [self readInstallMgrConf]; + [self setupInstallSources]; +} + +- (sword::InstallMgr *)newDefaultInstallMgr { + ALog(@"Creating InstallMgr with: %@, %i, %@, %@", [self configPath], 0, [self ftpUser], [self ftpPassword]); + return new sword::InstallMgr( + [[self configPath] UTF8String], + 0, + sword::SWBuf([[self ftpUser] UTF8String]), + sword::SWBuf([[self ftpPassword] UTF8String])); +} + +- (BOOL)existsDefaultInstallSource { + sword::InstallMgr mgr = sword::InstallMgr([[self configPath] UTF8String]); + + for(InstallSourceMap::iterator it = mgr.sources.begin(); it != mgr.sources.end(); it++) { + sword::InstallSource *sis = it->second; + + if([[NSString stringWithCString:sis->caption.c_str() encoding:NSUTF8StringEncoding] isEqualToString:@"CrossWire"]) { + return YES; } } + return NO; } -- (void)finalize { - if(swInstallMgr != nil) { - delete swInstallMgr; +- (void)addDefaultInstallSource { + SwordInstallSource *is = [[SwordInstallSource alloc] initWithType:INSTALLSOURCE_TYPE_FTP]; + [is setCaption:@"CrossWire"]; + [is setSource:@"ftp.crosswire.org"]; + [is setDirectory:@"/pub/sword/raw"]; + + [self addInstallSource:is reload:NO]; +} + +- (void)setupConfig { + if([self configPath] == nil) { + ALog(@"No config path configured!"); + return; } - [super finalize]; + // check for existence + NSFileManager *fm = [NSFileManager defaultManager]; + BOOL isDir; + ALog(@"Checking for config path at: %@", [self configPath]); + if(![fm fileExistsAtPath:[self configPath]] && [self createConfigPath]) { + ALog(@"Config dir doesn't exist, creating it..."); + [fm createDirectoryAtPath:[self configPath] withIntermediateDirectories:NO attributes:nil error:NULL]; + ALog(@"Config dir doesn't exist, creating it...done"); + } + + if([fm fileExistsAtPath:[self configPath] isDirectory:&isDir] && (isDir)) { + // check config + if(![fm fileExistsAtPath:[self createInstallMgrConfPath]]) { + // create config entry + sword::SWConfig config([[self createInstallMgrConfPath] UTF8String]); + config["General"]["PassiveFTP"] = "true"; + config.Save(); + } + + } else { + ALog(@"Config path does not exist: %@", [self configPath]); + } } -- (void)dealloc { - if(swInstallMgr != nil) { - delete swInstallMgr; +- (void)setupInstallSources { + NSMutableDictionary *dict = [NSMutableDictionary dictionary]; + for(InstallSourceMap::iterator it = swInstallMgr->sources.begin(); it != swInstallMgr->sources.end(); it++) { + sword::InstallSource *sis = it->second; + SwordInstallSource *is = [[SwordInstallSource alloc] initWithSource:sis]; + + ALog(@"Adding install source: %@", [is caption]); + dict[[is caption]] = is; } - - [self setConfigPath:nil]; - [self setInstallSources:nil]; - [self setInstallSourceList:nil]; - [self setConfigFilePath:nil]; - - [super dealloc]; + + [self setInstallSources:dict]; } -- (void)addInstallSource:(SwordInstallSource *)is { - [self addInstallSource:is withReinitialize:YES]; +- (NSString *)createInstallMgrConfPath { + return [[self configPath] stringByAppendingPathComponent:@"InstallMgr.conf"]; } -// add/remove install sources -- (void)addInstallSource:(SwordInstallSource *)is withReinitialize:(BOOL)reinit { - - // save at once - sword::SWConfig config([self.configFilePath cStringUsingEncoding:NSUTF8StringEncoding]); +- (void)addInstallSource:(SwordInstallSource *)is reload:(BOOL)doReload { + ALog(@"Adding install source: %@", [is caption]); + + // modify conf file + sword::SWConfig config([[self createInstallMgrConfPath] UTF8String]); if([[is type] isEqualToString:INSTALLSOURCE_TYPE_FTP]) { config["Sources"].insert(ConfigEntMap::value_type(INSTALLSOURCE_SECTION_TYPE_FTP, [[is configEntry] UTF8String])); } else { config["Sources"].insert(ConfigEntMap::value_type(INSTALLSOURCE_SECTION_TYPE_HTTP, [[is configEntry] UTF8String])); } config.Save(); - - if(reinit) - [self reinitialize]; -} -- (void)removeInstallSource:(SwordInstallSource *)is { - [self removeInstallSource:is withReinitialize:NO]; + if(doReload) [self reloadManager]; } -- (void)removeInstallSource:(SwordInstallSource *)is withReinitialize:(BOOL)reinit { - - // remove source - [self.installSources removeObjectForKey:[is caption]]; - [self.installSourceList removeObject:is]; - - // save at once - sword::SWConfig config([self.configFilePath cStringUsingEncoding:NSUTF8StringEncoding]); +- (void)removeInstallSource:(SwordInstallSource *)is reload:(BOOL)doReload { + ALog(@"Removing install source: %@", [is caption]); + NSMutableDictionary *dict = [[self installSources] mutableCopy]; + [dict removeObjectForKey:[is caption]]; + + // modify conf file + sword::SWConfig config([[self createInstallMgrConfPath] UTF8String]); config["Sources"].erase(INSTALLSOURCE_SECTION_TYPE_HTTP); config["Sources"].erase(INSTALLSOURCE_SECTION_TYPE_FTP); - + // build up new - for(SwordInstallSource *sis in self.installSources) { + for(SwordInstallSource *sis in [dict allValues]) { if([[sis type] isEqualToString:INSTALLSOURCE_TYPE_FTP]) { config["Sources"].insert(ConfigEntMap::value_type(INSTALLSOURCE_SECTION_TYPE_FTP, [[sis configEntry] UTF8String])); } else { @@ -229,63 +231,65 @@ base path of the module installation } } config.Save(); - - if(reinit) - [self reinitialize]; + + if(doReload) [self reloadManager]; } - (void)updateInstallSource:(SwordInstallSource *)is { + ALog(@"Updating install source [remove|add]: %@", [is caption]); + // hold a ref to the is + SwordInstallSource *save = is; // first remove, then add again - [self removeInstallSource:is withReinitialize:NO]; - [self addInstallSource:is]; + [self removeInstallSource:save reload:NO]; + [self addInstallSource:save reload:NO]; + save = nil; + + [self reloadManager]; } -// installation/unInstallation - (int)installModule:(SwordModule *)aModule fromSource:(SwordInstallSource *)is withManager:(SwordManager *)manager { - + ALog(@"Installing module: %@, from source: %@", [aModule name], [is caption]); int stat; - if([[is source] isEqualToString:@"localhost"]) { + if([is isLocalSource]) { stat = swInstallMgr->installModule([manager swManager], [[is directory] UTF8String], [[aModule name] UTF8String]); } else { stat = swInstallMgr->installModule([manager swManager], 0, [[aModule name] UTF8String], [is installSource]); } - return stat; } +- (int)uninstallModule:(SwordModule *)aModule fromManager:(SwordManager *)swManager { + ALog(@"Removing module: %@", [aModule name]); + return swInstallMgr->removeModule([swManager swManager], [[aModule name] UTF8String]); +} + - (int)refreshMasterRemoteInstallSourceList { + ALog(@"Refreshing remote install sources from master repo."); int stat = swInstallMgr->refreshRemoteSourceConfiguration(); if(stat) { ALog(@"Unable to refresh with master install source!"); + } else { + [self reloadManager]; } return stat; } -/** - uninstalls a module from a SwordManager - */ -- (int)uninstallModule:(SwordModule *)aModule fromManager:(SwordManager *)swManager { - int stat = swInstallMgr->removeModule([swManager swManager], [[aModule name] UTF8String]); - - return stat; -} - // list modules in sources -- (NSArray *)listModulesForSource:(SwordInstallSource *)is { - return [is listModules]; +- (NSDictionary *)listModulesForSource:(SwordInstallSource *)is { + return [is allModules]; } /** refresh modules of this source refreshing the install source is necessary before installation of */ - (int)refreshInstallSource:(SwordInstallSource *)is { + ALog(@"Refreshing install source:%@", [is caption]); int ret = 1; - if(is == nil) { ALog(@"Install source is nil"); } else { - if([[is source] isEqualToString:@"localhost"] == NO) { + if(![[is source] isEqualToString:@"localhost"]) { ret = swInstallMgr->refreshRemoteSource([is installSource]); } } @@ -294,12 +298,10 @@ base path of the module installation } /** - returns an array of Modules with status set, nil on error + returns an array of Modules with status set */ - (NSArray *)moduleStatusInInstallSource:(SwordInstallSource *)is baseManager:(SwordManager *)baseMgr { - - NSArray *ret = nil; - + ALog(@"Retrieving module status for install source:%@", [is caption]); // get modules map NSMutableArray *ar = [NSMutableArray array]; std::map<sword::SWModule *, int> modStats = swInstallMgr->getModuleStatus(*[baseMgr swManager], *[[is swordManager] swManager]); @@ -309,16 +311,12 @@ base path of the module installation module = it->first; status = it->second; - SwordModule *mod = [[[SwordModule alloc] initWithSWModule:module] autorelease]; + SwordModule *mod = [[SwordModule alloc] initWithSWModule:module]; [mod setStatus:status]; [ar addObject:mod]; } - - if(ar) { - ret = [NSArray arrayWithArray:ar]; - } - - return ret; + + return [NSArray arrayWithArray:ar]; } - (BOOL)userDisclaimerConfirmed { @@ -329,6 +327,10 @@ base path of the module installation swInstallMgr->setUserDisclaimerConfirmed(flag); } +- (void)readInstallMgrConf { + swInstallMgr->readInstallConf(); +} + /** low level access */ - (sword::InstallMgr *)installMgr { return swInstallMgr; diff --git a/bindings/objc/src/SwordKey.mm b/bindings/objc/src/SwordKey.mm index 5254443..fc0449d 100644 --- a/bindings/objc/src/SwordKey.mm +++ b/bindings/objc/src/SwordKey.mm @@ -12,19 +12,19 @@ @implementation SwordKey + (SwordKey *)swordKey { - return [[[SwordKey alloc] init] autorelease]; + return [[SwordKey alloc] init]; } + (SwordKey *)swordKeyWithRef:(NSString *)aRef { - return [[[SwordKey alloc] initWithRef:aRef] autorelease]; + return [[SwordKey alloc] initWithRef:aRef]; } + (SwordKey *)swordKeyWithSWKey:(sword::SWKey *)aSk { - return [[[SwordKey alloc] initWithSWKey:aSk] autorelease]; + return [[SwordKey alloc] initWithSWKey:aSk]; } + (SwordKey *)swordKeyWithSWKey:(sword::SWKey *)aSk makeCopy:(BOOL)copy { - return [[[SwordKey alloc] initWithSWKey:aSk makeCopy:copy] autorelease]; + return [[SwordKey alloc] initWithSWKey:aSk makeCopy:copy]; } - (id)init { @@ -40,8 +40,9 @@ if(self) { if(copy) { if(aSk) { - sk = aSk->clone(); - created = YES; + sk = aSk->clone(); + sk->setPersist(true); + created = YES; } else { created = NO; } @@ -49,7 +50,7 @@ sk = aSk; created = NO; } - } + } return self; } @@ -63,20 +64,11 @@ return self; } -- (void)finalize { - if(created) { - delete sk; - } - - [super finalize]; -} - (void)dealloc { if(created) { delete sk; } - - [super dealloc]; } - (SwordKey *)clone { @@ -86,15 +78,15 @@ #pragma mark - Methods - (void)setPersist:(BOOL)flag { - sk->Persist((int)flag); + sk->setPersist(flag); } - (BOOL)persist { - return (BOOL)sk->Persist(); + return (BOOL)sk->isPersist(); } - (int)error { - return sk->Error(); + return sk->popError(); } - (void)setPosition:(int)aPosition { diff --git a/bindings/objc/src/SwordListKey.mm b/bindings/objc/src/SwordListKey.mm index 07aa8f8..dfe0150 100644 --- a/bindings/objc/src/SwordListKey.mm +++ b/bindings/objc/src/SwordListKey.mm @@ -11,23 +11,23 @@ @implementation SwordListKey + (SwordListKey *)listKeyWithRef:(NSString *)aRef { - return [[[SwordListKey alloc] initWithRef:aRef] autorelease]; + return [[SwordListKey alloc] initWithRef:aRef]; } + (SwordListKey *)listKeyWithRef:(NSString *)aRef v11n:(NSString *)scheme { - return [[[SwordListKey alloc] initWithRef:aRef v11n:scheme] autorelease]; + return [[SwordListKey alloc] initWithRef:aRef v11n:scheme]; } + (SwordListKey *)listKeyWithRef:(NSString *)aRef headings:(BOOL)headings v11n:(NSString *)scheme { - return [[[SwordListKey alloc] initWithRef:aRef headings:headings v11n:scheme] autorelease]; + return [[SwordListKey alloc] initWithRef:aRef headings:headings v11n:scheme]; } + (SwordListKey *)listKeyWithSWListKey:(sword::ListKey *)aLk { - return [[[SwordListKey alloc] initWithSWListKey:aLk] autorelease]; + return [[SwordListKey alloc] initWithSWListKey:aLk]; } + (SwordListKey *)listKeyWithSWListKey:(sword::ListKey *)aLk makeCopy:(BOOL)copy { - return [[[SwordListKey alloc] initWithSWListKey:aLk makeCopy:copy] autorelease]; + return [[SwordListKey alloc] initWithSWListKey:aLk makeCopy:copy]; } - (id)init { @@ -52,49 +52,40 @@ - (SwordListKey *)initWithRef:(NSString *)aRef headings:(BOOL)headings v11n:(NSString *)scheme { sword::VerseKey vk; - vk.Headings((char)headings); + vk.setIntros((char)headings); if(scheme) { vk.setVersificationSystem([scheme UTF8String]); } - sword::ListKey listKey = vk.ParseVerseList([aRef UTF8String], "gen", true); + sword::ListKey listKey = vk.parseVerseList([aRef UTF8String], "gen", true); sword::ListKey *lk = new sword::ListKey(listKey); - return (SwordListKey *) [super initWithSWKey:lk]; -} + lk->setPersist(true); -- (void)finalize { - [super finalize]; -} - -- (void)dealloc { - [super dealloc]; + return (SwordListKey *) [super initWithSWKey:lk]; } - (NSInteger)numberOfVerses { NSInteger ret = 0; - if(sk) { - for(*sk = sword::TOP; !sk->Error(); *sk++) ret++; + for(*sk = sword::TOP; !sk->popError(); *sk++) ret++; } - return ret; } - (void)parse { - } - (void)parseWithHeaders { } - (VerseEnumerator *)verseEnumerator { - return [[[VerseEnumerator alloc] initWithListKey:self] autorelease]; + return [[VerseEnumerator alloc] initWithListKey:self]; } - (BOOL)containsKey:(SwordVerseKey *)aVerseKey { BOOL ret = NO; if(sk) { *sk = [[aVerseKey osisRef] UTF8String]; - ret = !sk->Error(); + ret = !sk->popError(); } return ret; } diff --git a/bindings/objc/src/SwordLocaleManager.h b/bindings/objc/src/SwordLocaleManager.h index dd67a13..2cfbe63 100644 --- a/bindings/objc/src/SwordLocaleManager.h +++ b/bindings/objc/src/SwordLocaleManager.h @@ -25,4 +25,9 @@ */ - (void)initLocaleWithLocaledPath:(NSString *)aPath; +/** + Retrieves the configured default locale name + */ +- (NSString *)getDefaultLocaleName; + @end diff --git a/bindings/objc/src/SwordLocaleManager.mm b/bindings/objc/src/SwordLocaleManager.mm index 18e4eba..1d8d647 100644 --- a/bindings/objc/src/SwordLocaleManager.mm +++ b/bindings/objc/src/SwordLocaleManager.mm @@ -49,10 +49,10 @@ sword::SWBuf locale; for(it = localeList.begin(); it != localeList.end(); ++it) { locale = *it; - NSString *swLoc = [NSString stringWithCString:locale.c_str() encoding:NSUTF8StringEncoding]; - if([swLoc hasPrefix:loc]) { + NSString *swLoc = [NSString stringWithUTF8String:locale.c_str()]; + if([loc hasPrefix:swLoc]) { haveLocale = YES; - lang = loc; + lang = swLoc; break; } } @@ -63,4 +63,12 @@ } } +- (NSString *)getDefaultLocaleName { + sword::LocaleMgr *lManager = sword::LocaleMgr::getSystemLocaleMgr(); + + const char *localeName = lManager->getDefaultLocaleName(); + if(localeName == NULL) return nil; + else return [NSString stringWithUTF8String:localeName]; +} + @end diff --git a/bindings/objc/src/SwordManager.h b/bindings/objc/src/SwordManager.h index daf8ece..33439f1 100644 --- a/bindings/objc/src/SwordManager.h +++ b/bindings/objc/src/SwordManager.h @@ -18,7 +18,6 @@ #include <swmgr.h> // C++ Sword API #include <localemgr.h> #include <versekey.h> -class sword::SWModule; #endif /** the major types as returned in -[SwordModule -typeString] */ @@ -106,21 +105,13 @@ class sword::SWModule; #ifdef __cplusplus sword::SWMgr *swManager; - SwordFilter *plainFilter, *thmlFilter, *gbfFilter, *osisFilter, *teiFilter; - SwordFilter *thmlStripFilter, *gbfStripFilter, *osisStripFilter, *teiStripFilter; #endif - NSDictionary *modules; - NSString *modulesPath; - NSLock *managerLock; - BOOL temporaryManager; } // ------------------- getter / setter ------------------- -@property (retain, readwrite) NSDictionary *modules; -@property (retain, readwrite) NSString *modulesPath; -@property (retain, readwrite) NSLock *managerLock; -@property (readwrite) BOOL temporaryManager; +@property (strong, readwrite) NSString *modulesPath; +@property (strong, readwrite) NSLock *managerLock; // --------------------- methods ----------------------- @@ -143,6 +134,9 @@ class sword::SWModule; */ + (NSArray *)moduleTypes; +/** uses the current instance as default manager */ +- (void)useAsDefaultManager; + /** Initializes this manager for the given module path. */ @@ -154,10 +148,12 @@ class sword::SWModule; - (void)addModulesPath:(NSString*)path; /** - re-init - reloads all modules, filters and such - This will be triggered if new module had been installed in the module installer. + Loads all modules, filters and such */ -- (void)reInit; +- (void)initManager; + +/** should be called to reload all modules and such */ +- (void)reloadManager; /** Set a cipher key for the given module to make it unlocked and in order to render it's text. @@ -174,6 +170,9 @@ class sword::SWModule; */ - (BOOL)globalOption:(NSString *)option; +/** the number of modules */ +- (NSInteger)numberOfModules; + /** List of module names known by this manager */ @@ -182,7 +181,7 @@ class sword::SWModule; /** List of modules known by this manager */ -- (NSArray *)listModules; +- (NSDictionary *)allModules; /** Module list sorted by name diff --git a/bindings/objc/src/SwordManager.mm b/bindings/objc/src/SwordManager.mm index c2962fb..af5b721 100644 --- a/bindings/objc/src/SwordManager.mm +++ b/bindings/objc/src/SwordManager.mm @@ -13,131 +13,38 @@ #import <ObjCSword/ObjCSword.h> #import "Notifications.h" -#import "FilterProviderFactory.h" -#import "DefaultFilterProvider.h" #include "encfiltmgr.h" -#import "SwordFilter.h" using std::string; using std::list; -@interface SwordManager (PrivateAPI) +@interface SwordManager () + +@property (strong, readwrite) NSDictionary *modules; +@property (readwrite) BOOL deleteSWMgr; -- (void)refreshModules; - (void)addFiltersToModule:(SwordModule *)mod; @end -@implementation SwordManager (PrivateAPI) - -- (void)refreshModules { - NSMutableDictionary *dict = [NSMutableDictionary dictionary]; - - // loop over modules - sword::SWModule *mod; - for(sword::ModMap::iterator it = swManager->Modules.begin(); it != swManager->Modules.end(); it++) { - mod = it->second; - - if(mod) { - // temporary instance - SwordModule *swMod = [SwordModule moduleForSWModule:mod]; - NSString *type = [swMod typeString]; - - ModuleType aType = [SwordModule moduleTypeForModuleTypeString:type]; - SwordModule *sm = [SwordModule moduleForType:aType swModule:mod swordManager:self]; - [dict setObject:sm forKey:[[sm name] lowercaseString]]; - - [self addFiltersToModule:sm]; - } - } - - // set modules - self.modules = dict; -} - -- (void)addFiltersToModule:(SwordModule *)mod { - // prepare display filters - - id<FilterProvider> filterProvider = [[FilterProviderFactory providerFactory] get]; - - switch([mod swModule]->Markup()) { - case sword::FMT_GBF: - if(!gbfFilter) { - gbfFilter = [filterProvider newGbfRenderFilter]; - } - if(!gbfStripFilter) { - gbfStripFilter = [filterProvider newGbfPlainFilter]; - } - [mod addRenderFilter:gbfFilter]; - [mod addStripFilter:gbfStripFilter]; - break; - case sword::FMT_THML: - if(!thmlFilter) { - thmlFilter = [filterProvider newThmlRenderFilter]; - } - if(!thmlStripFilter) { - thmlStripFilter = [filterProvider newThmlPlainFilter]; - } - [mod addRenderFilter:thmlFilter]; - [mod addStripFilter:thmlStripFilter]; - break; - case sword::FMT_OSIS: - if(!osisFilter) { - osisFilter = [filterProvider newOsisRenderFilter]; - } - if(!osisStripFilter) { - osisStripFilter = [filterProvider newOsisPlainFilter]; - } - [mod addRenderFilter:osisFilter]; - [mod addStripFilter:osisStripFilter]; - break; - case sword::FMT_TEI: - if(!teiFilter) { - teiFilter = [filterProvider newTeiRenderFilter]; - } - if(!teiStripFilter) { - teiStripFilter = [filterProvider newTeiPlainFilter]; - } - [mod addRenderFilter:teiFilter]; - [mod addStripFilter:teiStripFilter]; - break; - case sword::FMT_PLAIN: - default: - if(!plainFilter) { - plainFilter = [filterProvider newHtmlPlainFilter]; - } - [mod addRenderFilter:plainFilter]; - break; - } -} - -@end @implementation SwordManager -@synthesize modules; -@synthesize modulesPath; -@synthesize managerLock; -@synthesize temporaryManager; - # pragma mark - class methods +static SwordManager *instance = nil; + + (NSArray *)moduleTypes { - return [NSArray arrayWithObjects: - SWMOD_TYPES_BIBLES, - SWMOD_TYPES_COMMENTARIES, - SWMOD_TYPES_DICTIONARIES, - SWMOD_TYPES_GENBOOKS, nil]; + return @[SWMOD_TYPES_BIBLES, SWMOD_TYPES_COMMENTARIES, SWMOD_TYPES_DICTIONARIES, SWMOD_TYPES_GENBOOKS]; } + (SwordManager *)managerWithPath:(NSString *)path { - SwordManager *manager = [[[SwordManager alloc] initWithPath:path] autorelease]; + SwordManager *manager = [[SwordManager alloc] initWithPath:path]; return manager; } + (SwordManager *)defaultManager { - static SwordManager *instance = nil; if(instance == nil) { // use default path instance = [[SwordManager alloc] initWithPath:[[Configuration config] defaultModulePath]]; @@ -146,24 +53,25 @@ using std::list; return instance; } -- (id)initWithPath:(NSString *)path { +- (void)useAsDefaultManager { + instance = self; +} +- (id)initWithPath:(NSString *)path { if((self = [super init])) { - // this is our main swManager - temporaryManager = NO; - + ALog(@"Init with path:%@", path); + self.deleteSWMgr = YES; self.modulesPath = path; + self.managerLock = (id) [[NSRecursiveLock alloc] init]; - self.modules = [NSDictionary dictionary]; - self.managerLock = (NSLock *)[[[NSRecursiveLock alloc] init] autorelease]; - - [self reInit]; + [self initManager]; + // all global options off sword::StringList options = swManager->getGlobalOptions(); sword::StringList::iterator it; for(it = options.begin(); it != options.end(); it++) { [self setGlobalOption:[NSString stringWithCString:it->c_str() encoding:NSUTF8StringEncoding] value:SW_OFF]; - } + } } return self; @@ -172,62 +80,44 @@ using std::list; - (id)initWithSWMgr:(sword::SWMgr *)aSWMgr { self = [super init]; if(self) { + ALog(@"Init with temporary SWMgr"); swManager = aSWMgr; - // this is a temporary swManager - temporaryManager = YES; - - self.modules = [NSDictionary dictionary]; - self.managerLock = [(NSLock *)[[NSRecursiveLock alloc] init] autorelease]; + self.deleteSWMgr = NO; + self.managerLock = (id) [[NSRecursiveLock alloc] init]; - [self refreshModules]; + [self applyFilters]; } return self; } -- (void)finalize { - if(!temporaryManager) { - delete swManager; - } - - [super finalize]; -} - (void)dealloc { - if(!temporaryManager) { + DLog(@""); + if(self.deleteSWMgr) { + // only delete swManager is we created it + // if it came from someplace else then we're not responsible + ALog(@"Deleting SWMgr!"); delete swManager; } - [self setModules:nil]; - [self setModulesPath:nil]; - [self setManagerLock:nil]; - - [gbfFilter release]; - [gbfStripFilter release]; - [thmlFilter release]; - [thmlStripFilter release]; - [osisFilter release]; - [osisStripFilter release]; - [teiFilter release]; - [teiStripFilter release]; - [plainFilter release]; - [super dealloc]; } -- (void)reInit { - [managerLock lock]; - if(modulesPath && [modulesPath length] > 0) { +- (void)initManager { + DLog(@""); + [self.managerLock lock]; + if(self.modulesPath && [self.modulesPath length] > 0) { - // modulePath is the main sw manager - swManager = new sword::SWMgr([modulesPath UTF8String], true, new sword::EncodingFilterMgr(sword::ENC_UTF8)); + NSFileManager *fm = [NSFileManager defaultManager]; + if(![fm fileExistsAtPath:self.modulesPath]) { + [self createModuleFolderTemplate]; + } + + swManager = new sword::SWMgr([self.modulesPath UTF8String], true, new sword::EncodingFilterMgr(sword::ENC_UTF8)); if(!swManager) { ALog(@"Cannot create SWMgr instance for default module path!"); } else { - NSFileManager *fm = [NSFileManager defaultManager]; - NSArray *subDirs = [fm contentsOfDirectoryAtPath:modulesPath error:NULL]; - // for all sub directories add module - BOOL directory; - NSString *fullSubDir; + NSArray *subDirs = [fm contentsOfDirectoryAtPath:self.modulesPath error:NULL]; NSString *subDir; for(subDir in subDirs) { // as long as it's not hidden @@ -235,10 +125,11 @@ using std::list; ![subDir isEqualToString:@"InstallMgr"] && ![subDir isEqualToString:@"mods.d"] && ![subDir isEqualToString:@"modules"]) { - fullSubDir = [modulesPath stringByAppendingPathComponent:subDir]; + NSString *fullSubDir = [self.modulesPath stringByAppendingPathComponent:subDir]; fullSubDir = [fullSubDir stringByStandardizingPath]; //if its a directory + BOOL directory; if([fm fileExistsAtPath:fullSubDir isDirectory:&directory]) { if(directory) { DLog(@"Augmenting folder: %@", fullSubDir); @@ -249,78 +140,125 @@ using std::list; } } - // clear some data - [self refreshModules]; - - SendNotifyModulesChanged(NULL); + [self applyFilters]; } } - [managerLock unlock]; + [self.managerLock unlock]; } -- (void)addModulesPath:(NSString *)path { - [managerLock lock]; - if(swManager == nil) { - swManager = new sword::SWMgr([path UTF8String], true, new sword::EncodingFilterMgr(sword::ENC_UTF8)); - } else { - swManager->augmentModules([path UTF8String]); +- (void)reloadManager { + if(swManager != NULL) { + + swManager->Load(); + [self applyFilters]; } +} + +- (void)createModuleFolderTemplate { + NSFileManager *fm = [NSFileManager defaultManager]; + [fm createDirectoryAtPath:self.modulesPath withIntermediateDirectories:NO attributes:nil error:NULL]; + [fm createDirectoryAtPath:[self.modulesPath stringByAppendingPathComponent:@"mods.d"] withIntermediateDirectories:NO attributes:nil error:NULL]; + [fm createDirectoryAtPath:[self.modulesPath stringByAppendingPathComponent:@"modules"] withIntermediateDirectories:NO attributes:nil error:NULL]; +} + +- (void)addModulesPath:(NSString *)path { + [self.managerLock lock]; + swManager->augmentModules([path UTF8String]); - [self refreshModules]; - [managerLock unlock]; - - SendNotifyModulesChanged(NULL); + [self applyFilters]; + [self.managerLock unlock]; } -- (SwordModule *)moduleWithName:(NSString *)name { - - SwordModule *ret = [modules objectForKey:[name lowercaseString]]; - if(ret == nil) { - sword::SWModule *mod = [self getSWModuleWithName:name]; - if(mod == NULL) { - ALog(@"No module by that name: %@!", name); - } else { - // temporary instance - SwordModule *swMod = [SwordModule moduleForSWModule:mod]; - NSString *type = [swMod typeString]; - - ModuleType aType = [SwordModule moduleTypeForModuleTypeString:type]; - ret = [SwordModule moduleForType:aType swModule:mod swordManager:self]; +- (void)applyFilters { + for(SwordModule *mod in [[self allModules] allValues]) { + [self addFiltersToModule:mod]; + } +} - if(ret != nil) { - NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:modules]; - [dict setObject:ret forKey:[name lowercaseString]]; - self.modules = dict; - } - } +- (void)addFiltersToModule:(SwordModule *)mod { + // prepare display filters + + id<FilterProvider> filterProvider = [[FilterProviderFactory providerFactory] get]; + + switch([mod swModule]->getMarkup()) { + case sword::FMT_GBF: + [mod addRenderFilter:[filterProvider newGbfRenderFilter]]; + [mod addStripFilter:[filterProvider newGbfPlainFilter]]; + break; + case sword::FMT_THML: + [mod addRenderFilter:[filterProvider newThmlRenderFilter]]; + [mod addStripFilter:[filterProvider newThmlPlainFilter]]; + break; + case sword::FMT_OSIS: + [mod addRenderFilter:[filterProvider newOsisRenderFilter]]; + [mod addStripFilter:[filterProvider newOsisPlainFilter]]; + break; + case sword::FMT_TEI: + [mod addRenderFilter:[filterProvider newTeiRenderFilter]]; + [mod addStripFilter:[filterProvider newTeiPlainFilter]]; + break; + case sword::FMT_PLAIN: + default: + [mod addRenderFilter:[filterProvider newOsisPlainFilter]]; + break; } +} + +- (SwordModule *)moduleWithName:(NSString *)name { - return ret; + sword::SWModule *mod = [self getSWModuleWithName:name]; + if(mod == NULL) { + ALog(@"No module by that name: %@!", name); + return nil; + + } else { + // temporary instance + NSString *type = [NSString stringWithUTF8String:mod->getType()]; + + ModuleType aType = [SwordModule moduleTypeForModuleTypeString:type]; + return [SwordModule moduleForType:aType swModule:mod]; + } } - (void)setCipherKey:(NSString *)key forModuleNamed:(NSString *)name { - [managerLock lock]; swManager->setCipherKey([name UTF8String], [key UTF8String]); - [managerLock unlock]; } #pragma mark - module access - (void)setGlobalOption:(NSString *)option value:(NSString *)value { - [managerLock lock]; + [self.managerLock lock]; swManager->setGlobalOption([option UTF8String], [value UTF8String]); - [managerLock unlock]; + [self.managerLock unlock]; } - (BOOL)globalOption:(NSString *)option { return [[NSString stringWithUTF8String:swManager->getGlobalOption([option UTF8String])] isEqualToString:SW_ON]; } -- (NSArray *)listModules { - return [modules allValues]; +- (NSInteger)numberOfModules { + return swManager->Modules.size(); } + +- (NSDictionary *)allModules { + NSMutableDictionary *dict = [NSMutableDictionary dictionary]; + sword::SWModule *mod; + for(sword::ModMap::iterator it = swManager->Modules.begin(); it != swManager->Modules.end(); it++) { + mod = it->second; + + if(mod) { + NSString *type = [NSString stringWithUTF8String:mod->getType()]; + + ModuleType aType = [SwordModule moduleTypeForModuleTypeString:type]; + SwordModule *swMod = [SwordModule moduleForType:aType swModule:mod]; + [dict setObject:swMod forKey:[swMod name]]; + } + } + return [NSDictionary dictionaryWithDictionary:dict]; +} + - (NSArray *)moduleNames { - return [modules allKeys]; + return [[self allModules] allKeys]; } - (NSArray *)sortedModuleNames { @@ -329,14 +267,14 @@ using std::list; - (NSArray *)modulesForFeature:(NSString *)feature { NSMutableArray *ret = [NSMutableArray array]; - for(SwordModule *mod in [modules allValues]) { + for(SwordModule *mod in [[self allModules] allValues]) { if([mod hasFeature:feature]) { [ret addObject:mod]; } } // sort - NSArray *sortDescriptors = [NSArray arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES] autorelease]]; + NSArray *sortDescriptors = @[[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]]; [ret sortUsingDescriptors:sortDescriptors]; return [NSArray arrayWithArray:ret]; @@ -344,14 +282,14 @@ using std::list; - (NSArray *)modulesForType:(ModuleType)type { NSMutableArray *ret = [NSMutableArray array]; - for(SwordModule *mod in [modules allValues]) { + for(SwordModule *mod in [[self allModules] allValues]) { if([mod type] == type || type == All) { [ret addObject:mod]; } } // sort - NSArray *sortDescriptors = [NSArray arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES] autorelease]]; + NSArray *sortDescriptors = @[[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]]; [ret sortUsingDescriptors:sortDescriptors]; return [NSArray arrayWithArray:ret]; @@ -359,14 +297,13 @@ using std::list; - (NSArray *)modulesForCategory:(ModuleCategory)cat { NSMutableArray *ret = [NSMutableArray array]; - for(SwordModule *mod in [modules allValues]) { + for(SwordModule *mod in [[self allModules] allValues]) { if([mod category] == cat) { [ret addObject:mod]; } } - // sort - NSArray *sortDescriptors = [NSArray arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES] autorelease]]; + NSArray *sortDescriptors = @[[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]]; [ret sortUsingDescriptors:sortDescriptors]; return [NSArray arrayWithArray:ret]; @@ -379,13 +316,7 @@ using std::list; } - (sword::SWModule *)getSWModuleWithName:(NSString *)moduleName { - sword::SWModule *module; - - [managerLock lock]; - module = swManager->Modules[[moduleName UTF8String]]; - [managerLock unlock]; - - return module; + return swManager->Modules[[moduleName UTF8String]]; } @end diff --git a/bindings/objc/src/SwordModule+Index.mm b/bindings/objc/src/SwordModule+Index.mm index 91dfa06..a19dc60 100644 --- a/bindings/objc/src/SwordModule+Index.mm +++ b/bindings/objc/src/SwordModule+Index.mm @@ -36,12 +36,11 @@ results.sort(); NSMutableArray *retArray = [NSMutableArray array]; - if(results.Count() > 0) { - while(!results.Error()) { + if(results.getCount() > 0) { + while(!results.popError()) { NSString *keyString = [NSString stringWithUTF8String:results.getText()]; SwordModuleTextEntry *entry = [SwordModuleTextEntry textEntryForKey:keyString andText:nil]; [retArray addObject:entry]; - [entry release]; results++; } } diff --git a/bindings/objc/src/SwordModule.h b/bindings/objc/src/SwordModule.h index 9f1e0ad..4660b5f 100644 --- a/bindings/objc/src/SwordModule.h +++ b/bindings/objc/src/SwordModule.h @@ -30,8 +30,7 @@ #define SWPOS_TOP 1 -@class SwordManager, SwordModuleTextEntry, SwordKey; -@class SwordFilter; +@class SwordManager, SwordModuleTextEntry, SwordKey, SwordFilter; typedef enum { TextTypeStripped = 1, @@ -65,21 +64,8 @@ typedef enum { @interface SwordModule : NSObject { - NSMutableDictionary *configEntries; - ModuleType type; ModuleCategory category; - int status; - SwordManager *swManager; - NSRecursiveLock *moduleLock; - NSLock *indexLock; - - /** we store the name separately */ - NSString *typeString; - NSString *name; - NSString *descr; - NSString *lang; - /** yes, we have a delegate to report any action to */ id delegate; @@ -91,15 +77,10 @@ typedef enum { // ------------- properties --------------- @property (readwrite) ModuleType type; @property (readwrite) int status; -@property (retain, readwrite) NSRecursiveLock *moduleLock; -@property (retain, readwrite) NSLock *indexLock; -@property (retain, readwrite) SwordManager *swManager; - -// swmodule properties -@property (retain, readonly) NSString *name; -@property (retain, readonly) NSString *typeString; -@property (retain, readonly) NSString *descr; -@property (retain, readonly) NSString *lang; +@property (strong, readwrite) SwordManager *swManager; +@property (strong, readwrite) NSLock *indexLock; +@property (strong, readwrite) NSRecursiveLock *moduleLock; +@property (strong, readwrite) NSMutableDictionary *configEntries; #ifdef __cplusplus @@ -107,12 +88,11 @@ typedef enum { Convenience initializer */ + (id)moduleForSWModule:(sword::SWModule *)aModule; -+ (id)moduleForSWModule:(sword::SWModule *)aModule swordManager:(SwordManager *)aManager; /** Factory method that creates the correct module type instance for the given type */ -+ (id)moduleForType:(ModuleType)aType swModule:(sword::SWModule *)swModule swordManager:(SwordManager *)aManager; ++ (id)moduleForType:(ModuleType)aType swModule:(sword::SWModule *)swModule; /** Initialize this module with an the SWModule. @@ -121,12 +101,6 @@ typedef enum { - (id)initWithSWModule:(sword::SWModule *)aModule; /** - Initialize this module with an the SWModule and a SwordManager instance. - This initializer should normally not need to be used. - */ -- (id)initWithSWModule:(sword::SWModule *)aModule swordManager:(SwordManager *)aManager; - -/** Retrieve the underlying SWModule instance */ - (sword::SWModule *)swModule; @@ -149,12 +123,6 @@ typedef enum { // ------------- instance methods --------------- -/** - Initializes module with a given name and SwordManager. - The SwordManager is needed because the underlying SWModule is retrieved from SwordManager. - */ -- (id)initWithName:(NSString *)aName swordManager:(SwordManager *)aManager; - /** Adds a render filter to this module */ - (void)addRenderFilter:(SwordFilter *)aFilter; @@ -166,8 +134,16 @@ typedef enum { */ - (NSInteger)error; -// --------------- Conf entries -------------- +/** module name */ +- (NSString *)name; +/** module description */ +- (NSString *)descr; +/** module language */ +- (NSString *)lang; +/** module type string */ +- (NSString *)typeString; +// --------------- Conf entries -------------- /** Module category as string */ @@ -226,13 +202,6 @@ typedef enum { */ - (NSString *)configFileEntryForConfigKey:(NSString *)entryKey; -// ------------------ module unlocking ------------------ - -/** - Unlock this module with a cipher key, if it is encrypted. - */ -- (BOOL)unlock:(NSString *)unlockKey; - // ------------------ module access semaphores ----------------- /** @@ -303,19 +272,11 @@ typedef enum { - (NSString *)entryAttributeValueFootnoteOfType:(NSString *)fnType indexValue:(NSString *)index forKey:(SwordKey *)aKey; - (NSArray *)entryAttributeValuesLemma; +- (NSArray *)entryAttributeValuesLemmaNormalized; // ----------------- Module text access ---------------------- /** - Retrieves a text entry for a given key. - Type can be: "rendered" or "stripped" - */ -- (SwordModuleTextEntry *)textEntryForKey:(SwordKey *)aKey textType:(TextPullType)aType; -/** - Convenience method with a key-string - */ -- (SwordModuleTextEntry *)textEntryForKeyString:(NSString *)aKeyString textType:(TextPullType)aType; -/** Pulls all text entries for the given reference @return Array of SwordModuleTextEntry */ @@ -354,6 +315,9 @@ typedef enum { */ - (NSArray *)renderedTextEntriesForRef:(NSString *)reference; +- (SwordModuleTextEntry *)renderedTextEntryForRef:(NSString *)reference; +- (SwordModuleTextEntry *)strippedTextEntryForRef:(NSString *)reference; + /** number of entries abstract method, should be overriden by subclasses diff --git a/bindings/objc/src/SwordModule.mm b/bindings/objc/src/SwordModule.mm index 12e2ad8..484877f 100644 --- a/bindings/objc/src/SwordModule.mm +++ b/bindings/objc/src/SwordModule.mm @@ -18,56 +18,30 @@ #import "SwordVerseKey.h" #import "SwordBible.h" #import "SwordCommentary.h" -#import "SwordDictionary.h" -#import "SwordBook.h" -#import "SwordFilter.h" +#import "SwordUtil.h" @interface SwordModule () -@property (retain, readwrite) NSString *name; -@property (retain, readwrite) NSString *typeString; -@property (retain, readwrite) NSString *descr; -@property (retain, readwrite) NSString *lang; -@property(readwrite, retain) NSMutableDictionary *configEntries; - -- (void)mainInit; - @end @implementation SwordModule -@synthesize configEntries; -@synthesize type; -@synthesize status; -@synthesize moduleLock; -@synthesize indexLock; -@synthesize swManager; -@synthesize name; -@synthesize typeString; -@synthesize descr; -@synthesize lang; - - + (id)moduleForSWModule:(sword::SWModule *)aModule { - return [[[SwordModule alloc] initWithSWModule:aModule] autorelease]; -} - -+ (id)moduleForSWModule:(sword::SWModule *)aModule swordManager:(SwordManager *)aManager { - return [[[SwordModule alloc] initWithSWModule:aModule swordManager:aManager] autorelease]; + return [[SwordModule alloc] initWithSWModule:aModule]; } -+ (id)moduleForType:(ModuleType)aType swModule:(sword::SWModule *)swModule swordManager:(SwordManager *)aManager { ++ (id)moduleForType:(ModuleType)aType swModule:(sword::SWModule *)swModule { SwordModule *sm; if(aType == Bible) { - sm = [[[SwordBible alloc] initWithSWModule:swModule swordManager:aManager] autorelease]; + sm = [[SwordBible alloc] initWithSWModule:swModule]; } else if(aType == Commentary) { - sm = [[[SwordCommentary alloc] initWithSWModule:swModule swordManager:aManager] autorelease]; + sm = [[SwordCommentary alloc] initWithSWModule:swModule]; } else if(aType == Dictionary) { - sm = [[[SwordDictionary alloc] initWithSWModule:swModule swordManager:aManager] autorelease]; + sm = [[SwordDictionary alloc] initWithSWModule:swModule]; } else if(aType == Genbook) { - sm = [[[SwordBook alloc] initWithSWModule:swModule swordManager:aManager] autorelease]; + sm = [[SwordBook alloc] initWithSWModule:swModule]; } else { - sm = [[[SwordModule alloc] initWithSWModule:swModule swordManager:aManager] autorelease]; + sm = [[SwordModule alloc] initWithSWModule:swModule]; } return sm; @@ -123,38 +97,17 @@ - (void)mainInit { category = Unset; - self.name = [self retrieveName]; - self.typeString = [self retrieveType]; - self.descr = [self retrieveDescr]; - self.lang = [self retrieveLang]; - - self.type = [SwordModule moduleTypeForModuleTypeString:self.typeString]; - self.moduleLock = [[[NSRecursiveLock alloc] init] autorelease]; - self.indexLock = [[[NSLock alloc] init] autorelease]; - self.configEntries = [NSMutableDictionary dictionary]; -} -- (id)initWithName:(NSString *)aName swordManager:(SwordManager *)aManager { - self = [super init]; - if(self) { - swModule = [aManager getSWModuleWithName:aName]; - self.swManager = aManager; - - [self mainInit]; - } - - return self; + self.type = [SwordModule moduleTypeForModuleTypeString:[self typeString]]; + self.moduleLock = [[NSRecursiveLock alloc] init]; + self.indexLock = [[NSLock alloc] init]; + self.configEntries = [NSMutableDictionary dictionary]; } - (id)initWithSWModule:(sword::SWModule *)aModule { - return [self initWithSWModule:aModule swordManager:nil]; -} - -- (id)initWithSWModule:(sword::SWModule *)aModule swordManager:(SwordManager *)aManager { self = [super init]; if(self) { swModule = aModule; - self.swManager = aManager; [self mainInit]; } @@ -162,91 +115,75 @@ return self; } -- (void)finalize { - [super finalize]; -} - -- (void)dealloc { - [self setConfigEntries:nil]; - [self setSwManager:nil]; - [self setModuleLock:nil]; - [self setIndexLock:nil]; - [self setName:nil]; - [self setDescr:nil]; - [self setTypeString:nil]; - [self setLang:nil]; - - [super dealloc]; -} - #pragma mark - Filters - (void)addRenderFilter:(SwordFilter *)aFilter { - swModule->AddRenderFilter([aFilter swFilter]); + swModule->removeRenderFilter([aFilter swFilter]); + swModule->addRenderFilter([aFilter swFilter]); } - (void)addStripFilter:(SwordFilter *)aFilter { - swModule->AddStripFilter([aFilter swFilter]); + swModule->addStripFilter([aFilter swFilter]); } #pragma mark - Module access semaphores - (void)lockModuleAccess { - [moduleLock lock]; + [self.moduleLock lock]; } - (void)unlockModuleAccess { - [moduleLock unlock]; + [self.moduleLock unlock]; } -#pragma mark - Conf entries - -- (NSAttributedString *)fullAboutText { - return [[[NSAttributedString alloc] initWithString:@""] autorelease]; -} - -- (NSInteger)error { - return swModule->Error(); -} - -- (NSString *)retrieveName { - NSString *str = [NSString stringWithCString:swModule->Name() encoding:NSUTF8StringEncoding]; +- (NSString *)name { + NSString *str = [NSString stringWithCString:swModule->getName() encoding:NSUTF8StringEncoding]; if(!str) { - str = [NSString stringWithCString:swModule->Name() encoding:NSISOLatin1StringEncoding]; + str = [NSString stringWithCString:swModule->getName() encoding:NSISOLatin1StringEncoding]; } return str; } -- (NSString *)retrieveDescr { - NSString *str = [NSString stringWithCString:swModule->Description() encoding:NSUTF8StringEncoding]; +- (NSString *)descr { + NSString *str = [NSString stringWithCString:swModule->getDescription() encoding:NSUTF8StringEncoding]; if(!str) { - str = [NSString stringWithCString:swModule->Description() encoding:NSISOLatin1StringEncoding]; + str = [NSString stringWithCString:swModule->getDescription() encoding:NSISOLatin1StringEncoding]; } return str; } -- (NSString *)retrieveLang { - NSString *str = [NSString stringWithCString:swModule->Lang() encoding:NSUTF8StringEncoding]; +- (NSString *)lang { + NSString *str = [NSString stringWithCString:swModule->getLanguage() encoding:NSUTF8StringEncoding]; if(!str) { - str = [NSString stringWithCString:swModule->Lang() encoding:NSISOLatin1StringEncoding]; + str = [NSString stringWithCString:swModule->getLanguage() encoding:NSISOLatin1StringEncoding]; } return str; } -- (NSString *)retrieveType { - NSString *str = [NSString stringWithCString:swModule->Type() encoding:NSUTF8StringEncoding]; +- (NSString *)typeString { + NSString *str = [NSString stringWithCString:swModule->getType() encoding:NSUTF8StringEncoding]; if(!str) { - str = [NSString stringWithCString:swModule->Type() encoding:NSISOLatin1StringEncoding]; + str = [NSString stringWithCString:swModule->getType() encoding:NSISOLatin1StringEncoding]; } return str; } +- (NSAttributedString *)fullAboutText { + return [[NSAttributedString alloc] initWithString:@""]; +} + +- (NSInteger)error { + return swModule->popError(); +} + +#pragma mark - Conf entries + - (NSString *)categoryString { - NSString *cat = [configEntries objectForKey:SWMOD_CONFENTRY_CATEGORY]; + NSString *cat = self.configEntries[SWMOD_CONFENTRY_CATEGORY]; if(cat == nil) { cat = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_CATEGORY]; if(cat != nil) { - [configEntries setObject:cat forKey:SWMOD_CONFENTRY_CATEGORY]; + self.configEntries[SWMOD_CONFENTRY_CATEGORY] = cat; } } @@ -261,11 +198,11 @@ } - (NSString *)cipherKey { - NSString *cipherKey = [configEntries objectForKey:SWMOD_CONFENTRY_CIPHERKEY]; + NSString *cipherKey = self.configEntries[SWMOD_CONFENTRY_CIPHERKEY]; if(cipherKey == nil) { cipherKey = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_CIPHERKEY]; if(cipherKey != nil) { - [configEntries setObject:cipherKey forKey:SWMOD_CONFENTRY_CIPHERKEY]; + self.configEntries[SWMOD_CONFENTRY_CIPHERKEY] = cipherKey; } } @@ -273,11 +210,11 @@ } - (NSString *)version { - NSString *version = [configEntries objectForKey:SWMOD_CONFENTRY_VERSION]; + NSString *version = self.configEntries[SWMOD_CONFENTRY_VERSION]; if(version == nil) { version = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_VERSION]; if(version != nil) { - [configEntries setObject:version forKey:SWMOD_CONFENTRY_VERSION]; + self.configEntries[SWMOD_CONFENTRY_VERSION] = version; } } @@ -285,11 +222,11 @@ } - (NSString *)minVersion { - NSString *minVersion = [configEntries objectForKey:SWMOD_CONFENTRY_MINVERSION]; + NSString *minVersion = self.configEntries[SWMOD_CONFENTRY_MINVERSION]; if(minVersion == nil) { minVersion = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_MINVERSION]; if(minVersion != nil) { - [configEntries setObject:minVersion forKey:SWMOD_CONFENTRY_MINVERSION]; + self.configEntries[SWMOD_CONFENTRY_MINVERSION] = minVersion; } } @@ -298,7 +235,7 @@ /** this might be RTF string but the return value will be converted to UTF8 */ - (NSString *)aboutText { - NSMutableString *aboutText = [configEntries objectForKey:SWMOD_CONFENTRY_ABOUT]; + NSMutableString *aboutText = self.configEntries[SWMOD_CONFENTRY_ABOUT]; if(aboutText == nil) { aboutText = [NSMutableString stringWithString:[self configFileEntryForConfigKey:SWMOD_CONFENTRY_ABOUT]]; if(aboutText != nil) { @@ -311,7 +248,7 @@ [aboutText replaceOccurrencesOfString:@"\\pard" withString:@"" options:0 range:NSMakeRange(0, [aboutText length])]; [aboutText replaceOccurrencesOfString:@"\\par" withString:@"\n" options:0 range:NSMakeRange(0, [aboutText length])]; - NSMutableString *retStr = [[@"" mutableCopy] autorelease]; + NSMutableString *retStr = [@"" mutableCopy]; for(NSUInteger i=0; i<[aboutText length]; i++) { unichar c = [aboutText characterAtIndex:i]; @@ -321,7 +258,7 @@ //we have an unicode character! @try { NSInteger unicodeChar = 0; - NSMutableString *unicodeCharString = [[@"" mutableCopy] autorelease]; + NSMutableString *unicodeCharString = [@"" mutableCopy]; int j = 0; BOOL negative = NO; if ([aboutText characterAtIndex:(i+2)] == '-') { @@ -336,7 +273,7 @@ unicodeChar = [unicodeCharString integerValue]; if (negative) unicodeChar = 65536 - unicodeChar; i += j+2; - [retStr appendFormat:@"%C", unicodeChar]; + [retStr appendFormat:@"%C", (unichar)unicodeChar]; } @catch (NSException * e) { [retStr appendFormat:@"%C", c]; @@ -354,7 +291,7 @@ } else { aboutText = [NSMutableString string]; } - [configEntries setObject:aboutText forKey:SWMOD_CONFENTRY_ABOUT]; + self.configEntries[SWMOD_CONFENTRY_ABOUT] = aboutText; } return aboutText; @@ -367,11 +304,11 @@ - (BOOL)isEditable { BOOL ret = NO; - NSString *editable = [configEntries objectForKey:SWMOD_CONFENTRY_EDITABLE]; + NSString *editable = self.configEntries[SWMOD_CONFENTRY_EDITABLE]; if(editable == nil) { editable = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_EDITABLE]; if(editable != nil) { - [configEntries setObject:editable forKey:SWMOD_CONFENTRY_EDITABLE]; + self.configEntries[SWMOD_CONFENTRY_EDITABLE] = editable; } } @@ -386,11 +323,11 @@ - (BOOL)isRTL { BOOL ret = NO; - NSString *direction = [configEntries objectForKey:SWMOD_CONFENTRY_DIRECTION]; + NSString *direction = self.configEntries[SWMOD_CONFENTRY_DIRECTION]; if(direction == nil) { direction = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_DIRECTION]; if(direction != nil) { - [configEntries setObject:direction forKey:SWMOD_CONFENTRY_DIRECTION]; + self.configEntries[SWMOD_CONFENTRY_DIRECTION] = direction; } } @@ -423,7 +360,7 @@ if(key != nil) { // check user defaults, that's where we store the entered keys NSDictionary *cipherKeys = [[NSUserDefaults standardUserDefaults] objectForKey:DefaultsModuleCipherKeysKey]; - if([key length] == 0 && [[cipherKeys allKeys] containsObject:[self name]] == NO) { + if([key length] == 0 && ![[cipherKeys allKeys] containsObject:[self name]]) { locked = YES; } } @@ -455,7 +392,7 @@ - (NSString *)configFileEntryForConfigKey:(NSString *)entryKey { NSString *result = nil; - [moduleLock lock]; + [self.moduleLock lock]; const char *entryStr = swModule->getConfigEntry([entryKey UTF8String]); if(entryStr) { result = [NSString stringWithUTF8String:entryStr]; @@ -463,29 +400,11 @@ result = [NSString stringWithCString:entryStr encoding:NSISOLatin1StringEncoding]; } } - [moduleLock unlock]; + [self.moduleLock unlock]; return result; } -#pragma mark - Module unlocking - -- (BOOL)unlock:(NSString *)unlockKey { - - if (![self isEncrypted]) { - return NO; - } - - NSMutableDictionary *cipherKeys = [NSMutableDictionary dictionaryWithDictionary: - [[NSUserDefaults standardUserDefaults] objectForKey:DefaultsModuleCipherKeysKey]]; - [cipherKeys setObject:unlockKey forKey:[self name]]; - [[NSUserDefaults standardUserDefaults] setObject:cipherKeys forKey:DefaultsModuleCipherKeysKey]; - - [swManager setCipherKey:unlockKey forModuleNamed:[self name]]; - - return YES; -} - #pragma mark - Module positioning - (void)incKeyPosition { @@ -501,11 +420,12 @@ } - (void)setSwordKey:(SwordKey *)aKey { + swModule->getKey()->setPersist(true); swModule->setKey([aKey swKey]); } - (SwordKey *)createKey { - sword::SWKey *sk = swModule->CreateKey(); + sword::SWKey *sk = swModule->createKey(); SwordKey *newKey = [SwordKey swordKeyWithSWKey:sk makeCopy:YES]; delete sk; @@ -529,25 +449,25 @@ - (id)attributeValueForParsedLinkData:(NSDictionary *)data withTextRenderType:(TextPullType)textType { id ret = nil; - NSString *passage = [data objectForKey:ATTRTYPE_PASSAGE]; + NSString *passage = data[ATTRTYPE_PASSAGE]; if(passage) { passage = [[passage stringByReplacingOccurrencesOfString:@"+" withString:@" "] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; } - NSString *attrType = [data objectForKey:ATTRTYPE_TYPE]; + NSString *attrType = data[ATTRTYPE_TYPE]; if([attrType isEqualToString:@"n"]) { NSString *footnoteText = [self entryAttributeValueFootnoteOfType:attrType - indexValue:[data objectForKey:ATTRTYPE_VALUE] + indexValue:data[ATTRTYPE_VALUE] forKey:[SwordKey swordKeyWithRef:passage]]; ret = footnoteText; } else if([attrType isEqualToString:@"x"] || [attrType isEqualToString:@"scriptRef"] || [attrType isEqualToString:@"scripRef"]) { NSString *key = @""; if([attrType isEqualToString:@"x"]) { key = [self entryAttributeValueFootnoteOfType:attrType - indexValue:[data objectForKey:ATTRTYPE_VALUE] + indexValue:data[ATTRTYPE_VALUE] forKey:[SwordKey swordKeyWithRef:passage]]; } else { - key = [[[data objectForKey:ATTRTYPE_VALUE] stringByReplacingOccurrencesOfString:@"+" - withString:@" "] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + key = [[data[ATTRTYPE_VALUE] stringByReplacingOccurrencesOfString:@"+" + withString:@" "] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; } if(textType == TextTypeRendered) { ret = [self renderedTextEntriesForRef:key]; @@ -560,7 +480,7 @@ } - (void)setProcessEntryAttributes:(BOOL)flag { - swModule->processEntryAttributes(flag); + swModule->setProcessEntryAttributes(flag); } - (BOOL)processEntryAttributes { @@ -586,7 +506,9 @@ - (NSArray *)entryAttributeValuesLemma { NSMutableArray *array = [NSMutableArray array]; - // parse entry attributes and look for Lemma (String's numbers) + swModule->stripText(); // force processing of key, if it hasn't been done already + + // parse entry attributes and look for Lemma (Strong's numbers) sword::AttributeTypeList::iterator words; sword::AttributeList::iterator word; sword::AttributeValue::iterator strongVal; @@ -611,21 +533,28 @@ return [NSArray arrayWithArray:array]; } +- (NSArray *)entryAttributeValuesLemmaNormalized { + NSArray *lemmas = [self entryAttributeValuesLemma]; + // post process all codes and mormalize the number + // Hebrew keys should have 5 number digits + return [SwordUtil padStrongsNumbers:lemmas]; +} + - (NSString *)entryAttributeValuePreverseForKey:(SwordKey *)aKey { - [moduleLock lock]; + [self.moduleLock lock]; [self setSwordKey:aKey]; - swModule->RenderText(); // force processing of key + swModule->renderText(); // force processing of key NSString *value = [self entryAttributeValuePreverse]; - [moduleLock unlock]; + [self.moduleLock unlock]; return value; } - (NSString *)entryAttributeValueFootnoteOfType:(NSString *)fnType indexValue:(NSString *)index forKey:(SwordKey *)aKey { - [moduleLock lock]; + [self.moduleLock lock]; [self setSwordKey:aKey]; - swModule->RenderText(); // force processing of key + swModule->renderText(); // force processing of key NSString *value = [self entryAttributeValueFootnoteOfType:fnType indexValue:index]; - [moduleLock unlock]; + [self.moduleLock unlock]; return value; } @@ -638,36 +567,36 @@ - (NSString *)renderedText { NSString *ret = @""; - ret = [NSString stringWithUTF8String:swModule->RenderText()]; + ret = [NSString stringWithUTF8String:swModule->renderText()]; if(!ret) { - ret = [NSString stringWithCString:swModule->RenderText() encoding:NSISOLatin1StringEncoding]; + ret = [NSString stringWithCString:swModule->renderText() encoding:NSISOLatin1StringEncoding]; } return ret; } - (NSString *)renderedTextFromString:(NSString *)aString { NSString *ret = @""; - ret = [NSString stringWithUTF8String:swModule->RenderText([aString UTF8String])]; + ret = [NSString stringWithUTF8String:swModule->renderText([aString UTF8String])]; if(!ret) { - ret = [NSString stringWithCString:swModule->RenderText([aString UTF8String]) encoding:NSISOLatin1StringEncoding]; + ret = [NSString stringWithCString:swModule->renderText([aString UTF8String]) encoding:NSISOLatin1StringEncoding]; } return ret; } - (NSString *)strippedText { NSString *ret = @""; - ret = [NSString stringWithUTF8String:swModule->StripText()]; + ret = [NSString stringWithUTF8String:swModule->stripText()]; if(!ret) { - ret = [NSString stringWithCString:swModule->StripText() encoding:NSISOLatin1StringEncoding]; + ret = [NSString stringWithCString:swModule->stripText() encoding:NSISOLatin1StringEncoding]; } return ret; } - (NSString *)strippedTextFromString:(NSString *)aString { NSString *ret = @""; - ret = [NSString stringWithUTF8String:swModule->RenderText([aString UTF8String])]; + ret = [NSString stringWithUTF8String:swModule->renderText([aString UTF8String])]; if(!ret) { - ret = [NSString stringWithCString:swModule->RenderText([aString UTF8String]) encoding:NSISOLatin1StringEncoding]; + ret = [NSString stringWithCString:swModule->renderText([aString UTF8String]) encoding:NSISOLatin1StringEncoding]; } return ret; } @@ -680,11 +609,35 @@ return [self textEntriesForReference:reference textType:TextTypeRendered]; } +- (NSArray *)textEntriesForReference:(NSString *)aReference textType:(TextPullType)textType { + NSArray *ret = nil; + + SwordModuleTextEntry *entry = [self textEntryForKey:[SwordKey swordKeyWithRef:aReference] + textType:textType]; + if(entry) { + ret = @[entry]; + } + + return ret; +} + +- (SwordModuleTextEntry *)renderedTextEntryForRef:(NSString *)reference { + return [self textEntryForKeyString:reference textType:TextTypeRendered]; +} + +- (SwordModuleTextEntry *)strippedTextEntryForRef:(NSString *)reference { + return [self textEntryForKeyString:reference textType:TextTypeStripped]; +} + +- (SwordModuleTextEntry *)textEntryForKeyString:(NSString *)aKeyString textType:(TextPullType)aType { + return [self textEntryForKey:[SwordKey swordKeyWithRef:aKeyString] textType:aType]; +} + - (SwordModuleTextEntry *)textEntryForKey:(SwordKey *)aKey textType:(TextPullType)aType { SwordModuleTextEntry *ret = nil; if(aKey) { - [moduleLock lock]; + [self.moduleLock lock]; [self setSwordKey:aKey]; if(![self error]) { NSString *txt = @""; @@ -700,28 +653,12 @@ ALog(@"Nil key"); } } - [moduleLock unlock]; + [self.moduleLock unlock]; } return ret; } -- (SwordModuleTextEntry *)textEntryForKeyString:(NSString *)aKeyString textType:(TextPullType)aType { - return [self textEntryForKey:[SwordKey swordKeyWithRef:aKeyString] textType:aType]; -} - -- (NSArray *)textEntriesForReference:(NSString *)aReference textType:(TextPullType)textType { - NSArray *ret = nil; - - SwordModuleTextEntry *entry = [self textEntryForKey:[SwordKey swordKeyWithRef:aReference] - textType:textType]; - if(entry) { - ret = [NSArray arrayWithObject:entry]; - } - - return ret; -} - - (void)writeEntry:(SwordModuleTextEntry *)anEntry {} - (long)entryCount { diff --git a/bindings/objc/src/SwordModuleTextEntry.h b/bindings/objc/src/SwordModuleTextEntry.h index 7759be4..f9664fe 100644 --- a/bindings/objc/src/SwordModuleTextEntry.h +++ b/bindings/objc/src/SwordModuleTextEntry.h @@ -15,8 +15,8 @@ NSString *text; } -@property (readwrite, retain) NSString *key; -@property (readwrite, retain) NSString *text; +@property (readwrite, strong) NSString *key; +@property (readwrite, strong) NSString *text; + (id)textEntryForKey:(NSString *)aKey andText:(NSString *)aText; - (id)initWithKey:(NSString *)aKey andText:(NSString *)aText; diff --git a/bindings/objc/src/SwordModuleTextEntry.m b/bindings/objc/src/SwordModuleTextEntry.m index 3dec05d..0d5e3e0 100644 --- a/bindings/objc/src/SwordModuleTextEntry.m +++ b/bindings/objc/src/SwordModuleTextEntry.m @@ -15,7 +15,7 @@ @synthesize text; + (id)textEntryForKey:(NSString *)aKey andText:(NSString *)aText { - return [[[SwordModuleTextEntry alloc] initWithKey:aKey andText:aText] autorelease]; + return [[SwordModuleTextEntry alloc] initWithKey:aKey andText:aText]; } - (id)initWithKey:(NSString *)aKey andText:(NSString *)aText { @@ -28,15 +28,6 @@ return self; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [self setKey:nil]; - [self setText:nil]; - - [super dealloc]; -} @end diff --git a/bindings/objc/src/SwordModuleTreeEntry.h b/bindings/objc/src/SwordModuleTreeEntry.h index cd27cbe..7c75498 100644 --- a/bindings/objc/src/SwordModuleTreeEntry.h +++ b/bindings/objc/src/SwordModuleTreeEntry.h @@ -14,8 +14,8 @@ NSArray *content; } -@property (retain, readwrite) NSString *key; -@property (retain, readwrite) NSArray *content; +@property (strong, readwrite) NSString *key; +@property (strong, readwrite) NSArray *content; - (id)initWithKey:(NSString *)aKey content:(NSArray *)aContent; diff --git a/bindings/objc/src/SwordModuleTreeEntry.m b/bindings/objc/src/SwordModuleTreeEntry.m index fea0b16..9fbba84 100644 --- a/bindings/objc/src/SwordModuleTreeEntry.m +++ b/bindings/objc/src/SwordModuleTreeEntry.m @@ -24,15 +24,6 @@ return self; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [self setKey:nil]; - [self setContent:nil]; - - [super dealloc]; -} @end diff --git a/bindings/objc/src/SwordUtil.h b/bindings/objc/src/SwordUtil.h index 92779bf..512670c 100644 --- a/bindings/objc/src/SwordUtil.h +++ b/bindings/objc/src/SwordUtil.h @@ -17,4 +17,23 @@ */ + (NSDictionary *)dictionaryFromUrl:(NSURL *)aURL; +/** + Pads an array of unpadded Strong's numbers to 5 digits. + I.e. H0430 => H00430, G11 => G00011 + */ ++ (NSArray *)padStrongsNumbers:(NSArray *)unpaddedNumbers; + +/** + Pads a single unpadded Strong's numbers to 5 digits. + I.e. H0430 => H00430, G11 => G00011 + Since an unpadded number can be combined with multiple numbers concatenated by space we'll return an array here. + */ ++ (NSArray *)padStrongsNumber:(NSString *)unpaddedNumber; + +/** + * Pads a string on the left until 5 digits is reached + */ ++ (NSString *)leftPadStrongsFormat:(NSString *)unpadded; + + @end diff --git a/bindings/objc/src/SwordUtil.m b/bindings/objc/src/SwordUtil.m index 9f53870..abf11b2 100644 --- a/bindings/objc/src/SwordUtil.m +++ b/bindings/objc/src/SwordUtil.m @@ -17,12 +17,11 @@ NSString *scheme = [aURL scheme]; if([scheme isEqualToString:@"sword"]) { // in this case host is the module and path the reference - [ret setObject:[aURL host] forKey:ATTRTYPE_MODULE]; - [ret setObject:[[[aURL path] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] - stringByReplacingOccurrencesOfString:@"/" withString:@""] - forKey:ATTRTYPE_VALUE]; - [ret setObject:@"scriptRef" forKey:ATTRTYPE_TYPE]; - [ret setObject:@"showRef" forKey:ATTRTYPE_ACTION]; + ret[ATTRTYPE_MODULE] = [aURL host]; + ret[ATTRTYPE_VALUE] = [[[aURL path] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] + stringByReplacingOccurrencesOfString:@"/" withString:@""]; + ret[ATTRTYPE_TYPE] = @"scriptRef"; + ret[ATTRTYPE_ACTION] = @"showRef"; } else if([scheme isEqualToString:@"applewebdata"]) { // in this case NSString *path = [aURL path]; @@ -36,29 +35,73 @@ NSString *action = @""; for(NSString *entry in data) { if([entry hasPrefix:@"type="]) { - type = [[entry componentsSeparatedByString:@"="] objectAtIndex:1]; + type = [entry componentsSeparatedByString:@"="][1]; } else if([entry hasPrefix:@"module="]) { - module = [[entry componentsSeparatedByString:@"="] objectAtIndex:1]; + module = [entry componentsSeparatedByString:@"="][1]; } else if([entry hasPrefix:@"passage="]) { - passage = [[entry componentsSeparatedByString:@"="] objectAtIndex:1]; + passage = [entry componentsSeparatedByString:@"="][1]; } else if([entry hasPrefix:@"action="]) { - action = [[entry componentsSeparatedByString:@"="] objectAtIndex:1]; + action = [entry componentsSeparatedByString:@"="][1]; } else if([entry hasPrefix:@"value="]) { - value = [[entry componentsSeparatedByString:@"="] objectAtIndex:1]; + value = [entry componentsSeparatedByString:@"="][1]; } else { ALog(@"Unknown parameter: %@", entry); } } - [ret setObject:[module stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] forKey:ATTRTYPE_MODULE]; - [ret setObject:[passage stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] forKey:ATTRTYPE_PASSAGE]; - [ret setObject:[value stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] forKey:ATTRTYPE_VALUE]; - [ret setObject:[action stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] forKey:ATTRTYPE_ACTION]; - [ret setObject:[type stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] forKey:ATTRTYPE_TYPE]; + ret[ATTRTYPE_MODULE] = [module stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + ret[ATTRTYPE_PASSAGE] = [passage stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + ret[ATTRTYPE_VALUE] = [value stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + ret[ATTRTYPE_ACTION] = [action stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + ret[ATTRTYPE_TYPE] = [type stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; } } return ret; } ++ (NSArray *)padStrongsNumbers:(NSArray *)unpaddedNumbers { + NSMutableArray *buf = [NSMutableArray array]; + for(NSString *lemma in unpaddedNumbers) { + [buf addObjectsFromArray:[self padStrongsNumber:lemma]]; + } + return [NSArray arrayWithArray:buf]; +} + ++ (NSArray *)padStrongsNumber:(NSString *)unpaddedNumber { + NSMutableArray *buf = [NSMutableArray array]; + // Hebrew + NSString *prefix = nil; + if([unpaddedNumber hasPrefix:@"H"]) { + prefix = @"H"; + } + if([unpaddedNumber hasPrefix:@"G"]) { + prefix = @"G"; + } + + if(prefix != nil) { + // lemma may contain more codes concatenated by space + NSArray *keys = [unpaddedNumber componentsSeparatedByString:@" "]; + for(__strong NSString *key in keys) { + // trim + key = [key stringByReplacingOccurrencesOfString:@" " withString:@""]; + NSArray *keyComps = [key componentsSeparatedByString:prefix]; + if(keyComps.count == 2) { + NSString *keyValue = [self leftPadStrongsFormat:keyComps[1]]; + // add to result array + [buf addObject:[NSString stringWithFormat:@"%@%@", prefix, keyValue]]; + } + } + } else { + [buf addObject:unpaddedNumber]; + } + + return [NSArray arrayWithArray:buf]; +} + ++ (NSString *)leftPadStrongsFormat:(NSString *)unpadded { + int number = [unpadded intValue]; + return [NSString stringWithFormat:@"%005i", number]; +} + @end
\ No newline at end of file diff --git a/bindings/objc/src/SwordVerseKey.h b/bindings/objc/src/SwordVerseKey.h index a72911b..a3235f3 100644 --- a/bindings/objc/src/SwordVerseKey.h +++ b/bindings/objc/src/SwordVerseKey.h @@ -33,7 +33,7 @@ - (SwordVerseKey *)initWithRef:(NSString *)aRef; - (SwordVerseKey *)initWithRef:(NSString *)aRef v11n:(NSString *)scheme; -- (int)index; +- (long)index; - (int)testament; - (void)setTestament:(char)val; - (int)book; @@ -41,7 +41,7 @@ - (int)chapter; - (void)setChapter:(int)val; - (int)verse; -- (void)setVerse:(int)val; +- (void)setVerse:(long)val; - (BOOL)headings; - (void)setHeadings:(BOOL)flag; - (BOOL)autoNormalize; diff --git a/bindings/objc/src/SwordVerseKey.mm b/bindings/objc/src/SwordVerseKey.mm index ca15f17..c745a9b 100644 --- a/bindings/objc/src/SwordVerseKey.mm +++ b/bindings/objc/src/SwordVerseKey.mm @@ -12,27 +12,27 @@ @implementation SwordVerseKey + (SwordVerseKey *)verseKey { - return [[[SwordVerseKey alloc] init] autorelease]; + return [[SwordVerseKey alloc] init]; } + (SwordVerseKey *)verseKeyWithVersification:(NSString *)scheme { - return [[[SwordVerseKey alloc] initWithVersification:scheme] autorelease]; + return [[SwordVerseKey alloc] initWithVersification:scheme]; } + (SwordVerseKey *)verseKeyWithRef:(NSString *)aRef { - return [[[SwordVerseKey alloc] initWithRef:aRef] autorelease]; + return [[SwordVerseKey alloc] initWithRef:aRef]; } + (SwordVerseKey *)verseKeyWithRef:(NSString *)aRef v11n:(NSString *)scheme { - return [[[SwordVerseKey alloc] initWithRef:aRef v11n:scheme] autorelease]; + return [[SwordVerseKey alloc] initWithRef:aRef v11n:scheme]; } + (SwordVerseKey *)verseKeyWithSWVerseKey:(sword::VerseKey *)aVk { - return [[[SwordVerseKey alloc] initWithSWVerseKey:aVk] autorelease]; + return [[SwordVerseKey alloc] initWithSWVerseKey:aVk]; } + (SwordVerseKey *)verseKeyWithSWVerseKey:(sword::VerseKey *)aVk makeCopy:(BOOL)copy { - return [[[SwordVerseKey alloc] initWithSWVerseKey:aVk makeCopy:copy] autorelease]; + return [[SwordVerseKey alloc] initWithSWVerseKey:aVk makeCopy:copy]; } - (id)init { @@ -60,48 +60,46 @@ } - (SwordVerseKey *)initWithRef:(NSString *)aRef v11n:(NSString *)scheme { - sword::VerseKey *vk = new sword::VerseKey(); - self = [super initWithSWKey:vk]; + sword::VerseKey vk; + self = [super initWithSWKey:&vk makeCopy:YES]; if(self) { created = YES; if(scheme) { [self setVersification:scheme]; } - + if(aRef) { [self setKeyText:aRef]; - } - } + } + } return self; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [super dealloc]; -} - (SwordKey *)clone { return [SwordVerseKey verseKeyWithSWVerseKey:(sword::VerseKey *)sk]; } +- (long)index { + return ((sword::VerseKey *)sk)->getIndex(); +} + - (BOOL)headings { - return (BOOL)((sword::VerseKey *)sk)->Headings(); + return (BOOL)((sword::VerseKey *)sk)->isIntros(); } - (void)setHeadings:(BOOL)flag { - ((sword::VerseKey *)sk)->Headings(flag); + ((sword::VerseKey *)sk)->setIntros(flag); } - (BOOL)autoNormalize { - return (BOOL)((sword::VerseKey *)sk)->AutoNormalize(); + return (BOOL)((sword::VerseKey *)sk)->isAutoNormalize(); } - (void)setAutoNormalize:(BOOL)flag { - ((sword::VerseKey *)sk)->AutoNormalize(flag); + ((sword::VerseKey *)sk)->setAutoNormalize(flag); } - (int)testament { @@ -132,8 +130,8 @@ ((sword::VerseKey *)sk)->setChapter(val); } -- (void)setVerse:(int)val { - ((sword::VerseKey *)sk)->setVerse(val); +- (void)setVerse:(long)val { + ((sword::VerseKey *)sk)->setVerse((int)val); } - (NSString *)bookName { diff --git a/bindings/objc/src/SwordVerseManager.h b/bindings/objc/src/SwordVerseManager.h index c9667c5..776d672 100644 --- a/bindings/objc/src/SwordVerseManager.h +++ b/bindings/objc/src/SwordVerseManager.h @@ -10,7 +10,6 @@ #ifdef __cplusplus #include <versificationmgr.h> -class sword::VersificationMgr::Book; #endif #define SW_VERSIFICATION_KJV @"KJV" diff --git a/bindings/objc/src/SwordVerseManager.mm b/bindings/objc/src/SwordVerseManager.mm index 72f26fc..9c661dd 100644 --- a/bindings/objc/src/SwordVerseManager.mm +++ b/bindings/objc/src/SwordVerseManager.mm @@ -12,7 +12,7 @@ @interface SwordVerseManager () -@property (retain, readwrite) NSMutableDictionary *booksPerVersification; +@property (strong, readwrite) NSMutableDictionary *booksPerVersification; @end @@ -39,15 +39,7 @@ return self; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [self setBooksPerVersification:nil]; - - [super dealloc]; -} /** convenience method that returns the books for default scheme (KJV) */ - (NSArray *)books { @@ -56,7 +48,7 @@ /** books for a versification scheme */ - (NSArray *)booksForVersification:(NSString *)verseScheme { - NSArray *ret = [booksPerVersification objectForKey:verseScheme]; + NSArray *ret = booksPerVersification[verseScheme]; if(ret == nil) { // hasn't been initialized yet const sword::VersificationMgr::System *system = verseMgr->getVersificationSystem([verseScheme UTF8String]); @@ -65,13 +57,13 @@ for(int i = 0;i < bookCount;i++) { sword::VersificationMgr::Book *book = (sword::VersificationMgr::Book *)system->getBook(i); - SwordBibleBook *bb = [[[SwordBibleBook alloc] initWithBook:book] autorelease]; + SwordBibleBook *bb = [[SwordBibleBook alloc] initWithBook:book]; [bb setNumber:i+1]; // VerseKey-Book() starts at index 1 // add to array [buf addObject:bb]; } - [booksPerVersification setObject:buf forKey:verseScheme]; + booksPerVersification[verseScheme] = buf; ret = buf; } diff --git a/bindings/objc/src/VerseEnumerator.mm b/bindings/objc/src/VerseEnumerator.mm index cd5c665..e7fc44d 100644 --- a/bindings/objc/src/VerseEnumerator.mm +++ b/bindings/objc/src/VerseEnumerator.mm @@ -10,7 +10,7 @@ #import "SwordListKey.h" @interface VerseEnumerator () -@property (retain, readwrite) SwordListKey *listKey; +@property (strong, readwrite) SwordListKey *listKey; @end @implementation VerseEnumerator @@ -26,18 +26,11 @@ return self; } -- (void)finalize { - [super finalize]; -} -- (void)dealloc { - [listKey release]; - [super dealloc]; -} - (NSArray *)allObjects { NSMutableArray *t = [NSMutableArray array]; - for(*[listKey swListKey] = sword::TOP;![listKey swListKey]->Error(); *[listKey swListKey] += 1) { + for(*[listKey swListKey] = sword::TOP;![listKey swListKey]->popError(); *[listKey swListKey] += 1) { [t addObject:[listKey keyText]]; } // position TOP again @@ -48,7 +41,7 @@ - (NSString *)nextObject { NSString *ret = nil; - if(![listKey swListKey]->Error()) { + if(![listKey swListKey]->popError()) { ret = [listKey keyText]; *[listKey swListKey] += 1; } diff --git a/bindings/objc/src/services/Configuration.m b/bindings/objc/src/services/Configuration.m index 67ec709..b48b1e7 100644 --- a/bindings/objc/src/services/Configuration.m +++ b/bindings/objc/src/services/Configuration.m @@ -27,19 +27,10 @@ return [super init]; } -- (void)finalize { - [super finalize]; -} - -- (void)dealloc { - [impl release]; - [super dealloc]; -} - (void)setImpl:(id<Configuration>)configImpl { impl = (Configuration *)configImpl; - [impl retain]; } #pragma mark Configuration implementation diff --git a/bindings/objc/src/services/OSXConfiguration.m b/bindings/objc/src/services/OSXConfiguration.m index 7d53987..3cfcf07 100644 --- a/bindings/objc/src/services/OSXConfiguration.m +++ b/bindings/objc/src/services/OSXConfiguration.m @@ -20,19 +20,43 @@ } - (NSString *)defaultModulePath { - return [@"~/Library/Application Support/Sword" stringByExpandingTildeInPath]; + NSArray *urls = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask]; + if(urls.count > 0) { + return [[(NSURL *)urls[0] path] stringByAppendingPathComponent:@"Sword"]; + } + return nil; } - (NSString *)defaultAppSupportPath { - return [@"~/Library/Application Support/MacSword" stringByExpandingTildeInPath]; + NSArray *urls = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask]; + if(urls.count > 0) { + NSString *folder = [[(NSURL *)urls[0] path] stringByAppendingPathComponent:@"ObjCSword"]; + if(![[NSFileManager defaultManager] fileExistsAtPath:folder]) { + [[NSFileManager defaultManager] createDirectoryAtPath:folder withIntermediateDirectories:NO attributes:nil error:NULL]; + } + return folder; + } + return nil; } - (NSString *)tempFolder { - return [@"~/Library/Caches/ObjCSword" stringByExpandingTildeInPath]; + NSArray *urls = [[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask]; + if(urls.count > 0) { + NSString *folder = [[(NSURL *)urls[0] path] stringByAppendingPathComponent:@"ObjCSword"]; + if(![[NSFileManager defaultManager] fileExistsAtPath:folder]) { + [[NSFileManager defaultManager] createDirectoryAtPath:folder withIntermediateDirectories:NO attributes:nil error:NULL]; + } + return folder; + } + return nil; } - (NSString *)logFile { - return [@"~/Library/Logs/ObjCSword.log" stringByExpandingTildeInPath]; + NSArray *urls = [[NSFileManager defaultManager] URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask]; + if(urls.count > 0) { + return [[[(NSURL *)urls[0] path] stringByAppendingPathComponent:@"Logs"] stringByAppendingPathComponent:@"ObjCSword.log"]; + } + return nil; } @end diff --git a/bindings/objc/sword/Info.plist b/bindings/objc/sword/Info.plist new file mode 100644 index 0000000..1007fd9 --- /dev/null +++ b/bindings/objc/sword/Info.plist @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>$(DEVELOPMENT_LANGUAGE)</string> + <key>CFBundleExecutable</key> + <string>$(EXECUTABLE_NAME)</string> + <key>CFBundleIdentifier</key> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundlePackageType</key> + <string>FMWK</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleVersion</key> + <string>$(CURRENT_PROJECT_VERSION)</string> + <key>NSPrincipalClass</key> + <string></string> +</dict> +</plist> diff --git a/bindings/objc/sword/SWORD.h b/bindings/objc/sword/SWORD.h new file mode 100644 index 0000000..ed64f79 --- /dev/null +++ b/bindings/objc/sword/SWORD.h @@ -0,0 +1,12 @@ +// +// SWORD.h +// SWORD +// +// Created by scribe on 11/14/17. +// + +#import <Foundation/Foundation.h> + +//@interface SWORD : NSObject + +//@end diff --git a/bindings/objc/sword/sword.m b/bindings/objc/sword/sword.m new file mode 100644 index 0000000..30c0096 --- /dev/null +++ b/bindings/objc/sword/sword.m @@ -0,0 +1,12 @@ +// +// SWORD.m +// SWORD +// +// Created by scribe on 11/14/17. +// + +#import "SWORD.h" + +//@implementation SWORD + +//@end diff --git a/bindings/objc/test/SwordBibleTest.swift b/bindings/objc/test/SwordBibleTest.swift new file mode 100644 index 0000000..e5af36b --- /dev/null +++ b/bindings/objc/test/SwordBibleTest.swift @@ -0,0 +1,28 @@ +// +// SwordBibleTest.swift +// ObjCSword +// +// Created by Manfred Bergmann on 04.10.14. +// +// + +import Foundation +import XCTest + +class SwordBibleTest: XCTestCase { + + var mgr: SwordManager? + + override func setUp() { + super.setUp() + + Configuration.config(withImpl: OSXConfiguration()) + FilterProviderFactory().initWithImpl(DefaultFilterProvider()) + mgr = SwordManager(path:Configuration.config().defaultModulePath()) + } + + func testGetBible() { + let bibleMod = mgr?.module(withName: "GerNeUe") + XCTAssertNotNil(bibleMod); + } +} diff --git a/bindings/objc/test/SwordInstallSourceManagerTest.m b/bindings/objc/test/SwordInstallSourceManagerTest.m new file mode 100644 index 0000000..81f0fb2 --- /dev/null +++ b/bindings/objc/test/SwordInstallSourceManagerTest.m @@ -0,0 +1,253 @@ +// +// SwordInstallSourceManagerTest.m +// ObjCSword +// +// Created by Manfred Bergmann on 12.04.15. +// +// + +#import <XCTest/XCTest.h> +#import "SwordInstallSourceManager.h" +#import "SwordInstallSource.h" +#import "SwordManager.h" +#import "TestGlobals.h" + +@interface SwordInstallSourceManagerTest : XCTestCase + +@end + +@implementation SwordInstallSourceManagerTest + +NSString *testConfigPath = @"/tmp/testmodinst"; +NSString *testModuleManagerPath = @"/tmp/testmodmgr"; +NSString *localInstallSourcePath = @"/Users/mbergmann/Development/MySources/crosswire/Eloquent_MacOS/trunk/sword_src/sword-trunk/bindings/objc/LocalTestInstallSource"; + +- (void)setUp { + NSFileManager *fm = [NSFileManager defaultManager]; + [fm removeItemAtPath:testConfigPath error:NULL]; + [fm removeItemAtPath:testModuleManagerPath error:NULL]; + + [super setUp]; +} + +- (void)tearDown { + [super tearDown]; +} + +- (void)testObjectCreate { + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:@"" createPath:YES]; + XCTAssertTrue(mgr != nil, @""); +} + +- (void)testLocalInstallSource { + SwordInstallSource *is = [[SwordInstallSource alloc] init]; + [is setSource:@"localhost"]; + [is setDirectory:localInstallSourcePath]; + [is setCaption:@"LocalTest"]; + + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + [mgr addInstallSource:is reload:YES]; + + NSDictionary *mods = [mgr listModulesForSource:is]; + XCTAssertTrue([mods count] == 1); + XCTAssertTrue([[((SwordModule *) [mods allValues][0]) name] isEqualToString:@"KJV"]); +} + +- (void)testLocalInstallSourceStatusNew { + SwordInstallSource *is = [[SwordInstallSource alloc] init]; + [is setSource:@"localhost"]; + [is setDirectory:localInstallSourcePath]; + [is setCaption:@"LocalTest"]; + + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + [mgr addInstallSource:is reload:YES]; + + SwordManager *swMgr = [SwordManager managerWithPath:testModuleManagerPath]; + NSArray *stats = [mgr moduleStatusInInstallSource:is baseManager:swMgr]; + for(SwordModule *mod in stats) { + NSLog(@"mod.name=%@", [mod name]); + NSLog(@"mod.stat=%i", [mod status]); + } + + XCTAssertTrue([((SwordModule *) stats[0]).name isEqualToString:@"KJV"]); + XCTAssertTrue(((SwordModule *) stats[0]).status == ModStatNew); +} + +- (void)testLocalInstallSourceStatusSame { + SwordInstallSource *is = [[SwordInstallSource alloc] init]; + [is setSource:@"localhost"]; + [is setDirectory:localInstallSourcePath]; + [is setCaption:@"LocalTest"]; + + SwordManager *swMgr = [SwordManager managerWithPath:testModuleManagerPath]; + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + [mgr addInstallSource:is reload:YES]; + + [mgr installModule:[[mgr listModulesForSource:is] allValues][0] fromSource:is withManager:swMgr]; + + [swMgr reloadManager]; + NSArray *stats = [mgr moduleStatusInInstallSource:is baseManager:swMgr]; + for(SwordModule *mod in stats) { + NSLog(@"mod.name=%@", [mod name]); + NSLog(@"mod.stat=%i", [mod status]); + } + + XCTAssertTrue([((SwordModule *) stats[0]).name isEqualToString:@"KJV"]); + XCTAssertTrue(((SwordModule *) stats[0]).status == ModStatSameVersion); +} + +- (void)testInstallModuleFromLocalSource { + SwordInstallSource *is = [[SwordInstallSource alloc] init]; + [is setSource:@"localhost"]; + [is setDirectory:localInstallSourcePath]; + [is setCaption:@"LocalTest"]; + + SwordManager *swMgr = [SwordManager managerWithPath:testModuleManagerPath]; + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + [mgr addInstallSource:is reload:YES]; + + int stat = [mgr installModule:[[mgr listModulesForSource:is] allValues][0] fromSource:is withManager:swMgr]; + XCTAssertTrue(stat == 0); +} + +- (void)testInitManagerCheckConfigPath { + // make sure this folder doesn't exist at start + NSFileManager *fm = [NSFileManager defaultManager]; + BOOL isDir; + BOOL existsFolder = [fm fileExistsAtPath:testConfigPath isDirectory:&isDir]; + XCTAssertFalse(existsFolder, @""); + + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + + // make sure the folder was created + existsFolder = [fm fileExistsAtPath:testConfigPath isDirectory:&isDir]; + BOOL existsInstallMgrConf = [fm fileExistsAtPath:[testConfigPath stringByAppendingPathComponent:@"InstallMgr.conf"]]; + + XCTAssertTrue(isDir, @""); + XCTAssertTrue(existsFolder, @""); + XCTAssertTrue(existsInstallMgrConf, @""); +} + +- (void)testHasOneInitialInstallSource { + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + + XCTAssertTrue([[mgr installSources] count] == 1, @""); + XCTAssertTrue([[[[[mgr installSources] allValues] firstObject] caption] isEqualToString:@"CrossWire"], @""); + XCTAssertTrue([[[[[mgr installSources] allValues] firstObject] source] isEqualToString:@"ftp.crosswire.org"], @""); + XCTAssertTrue([[[[[mgr installSources] allValues] firstObject] directory] isEqualToString:@"/pub/sword/raw"], @""); +} + +- (void)testDisclaimerNotApproved { + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + + XCTAssertTrue([[mgr installSources] count] == 1, @""); + + NSInteger stat = [mgr refreshInstallSource:[[mgr installSources] allValues][0]]; + NSLog(@"stat: %li", stat); + XCTAssertTrue(stat == -1); +} + +- (void)testRefreshInstallSource { + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + + XCTAssertTrue([[mgr installSources] count] == 1, @""); + + [mgr setUserDisclaimerConfirmed:YES]; + NSInteger stat = [mgr refreshInstallSource:[[mgr installSources] allValues][0]]; + NSLog(@"stat: %li", stat); + XCTAssertTrue(stat == 0); +} + +- (void)testAddInstallSource { + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + + SwordInstallSource *is = [[SwordInstallSource alloc] initWithType:INSTALLSOURCE_TYPE_FTP]; + [is setCaption:@"test"]; + [is setSource:@"foo.bar.local"]; + [is setDirectory:@"/foobar"]; + + [mgr addInstallSource:is reload:YES]; + + XCTAssertTrue([[mgr installSources] count] == 2, @""); + + XCTAssertTrue([[[mgr installSources][@"test"] caption] isEqualToString:@"test"], @""); + XCTAssertTrue([[[mgr installSources][@"test"] source] isEqualToString:@"foo.bar.local"], @""); + XCTAssertTrue([[[mgr installSources][@"test"] directory] isEqualToString:@"/foobar"], @""); +} + +- (void)testRemoveInstallSource { + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + + // first add + SwordInstallSource *is = [[SwordInstallSource alloc] initWithType:INSTALLSOURCE_TYPE_FTP]; + [is setCaption:@"test"]; + [is setSource:@"foo.bar.local"]; + [is setDirectory:@"/foobar"]; + + [mgr addInstallSource:is reload:YES]; + + XCTAssertTrue([[mgr installSources] count] == 2, @""); + + XCTAssertTrue([[[mgr installSources][@"test"] caption] isEqualToString:@"test"], @""); + XCTAssertTrue([[[mgr installSources][@"test"] source] isEqualToString:@"foo.bar.local"], @""); + XCTAssertTrue([[[mgr installSources][@"test"] directory] isEqualToString:@"/foobar"], @""); + + // then remove + [mgr removeInstallSource:is reload:YES]; + + XCTAssertTrue([[mgr installSources] count] == 1, @""); + is = [[[mgr installSources] allValues] firstObject]; + NSLog(@"IS caption: %@", [is caption]); + XCTAssertTrue([[is caption] isEqualToString:@"CrossWire"], @""); +} + +- (void)testUpdateInstallSource { + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr initManager]; + + // first add + SwordInstallSource *is = [[SwordInstallSource alloc] initWithType:INSTALLSOURCE_TYPE_FTP]; + [is setCaption:@"test"]; + [is setSource:@"foo.bar.local"]; + [is setDirectory:@"/foobar"]; + [mgr addInstallSource:is reload:YES]; + + XCTAssertTrue([[mgr installSources] count] == 2, @""); + XCTAssertTrue([[[mgr installSources][@"test"] caption] isEqualToString:@"test"], @""); + XCTAssertTrue([[[mgr installSources][@"test"] source] isEqualToString:@"foo.bar.local"], @""); + XCTAssertTrue([[[mgr installSources][@"test"] directory] isEqualToString:@"/foobar"], @""); + + SwordInstallSource *update = [mgr installSources][@"test"]; + [update setSource:@"local.bar.foo"]; + + [mgr updateInstallSource:update]; + + XCTAssertTrue([[mgr installSources] count] == 2, @""); + XCTAssertTrue([[[mgr installSources][@"test"] caption] isEqualToString:@"test"], @""); + XCTAssertTrue([[[mgr installSources][@"test"] source] isEqualToString:@"local.bar.foo"], @""); + XCTAssertTrue([[[mgr installSources][@"test"] directory] isEqualToString:@"/foobar"], @""); +} + +- (void)testUseAsDefaultManager { + SwordInstallSourceManager *mgr = [[SwordInstallSourceManager alloc] initWithPath:testConfigPath createPath:YES]; + [mgr useAsDefaultManager]; + + SwordInstallSourceManager *mgr2 = [SwordInstallSourceManager defaultManager]; + XCTAssertEqual(mgr, mgr2); +} + +- (void)testExample { + XCTAssert(YES, @"Pass"); +} + +@end diff --git a/bindings/objc/test/SwordListKeyTest.h b/bindings/objc/test/SwordListKeyTest.h index 4d4ff43..fea4ab6 100644 --- a/bindings/objc/test/SwordListKeyTest.h +++ b/bindings/objc/test/SwordListKeyTest.h @@ -6,9 +6,9 @@ // Copyright 2009 __MyCompanyName__. All rights reserved. // -#import <SenTestingKit/SenTestingKit.h> +#import <XCTest/XCTest.h> -@interface SwordListKeyTest : SenTestCase { +@interface SwordListKeyTest : XCTestCase { } @end diff --git a/bindings/objc/test/SwordListKeyTest.m b/bindings/objc/test/SwordListKeyTest.m index 73d47dc..7b3181c 100644 --- a/bindings/objc/test/SwordListKeyTest.m +++ b/bindings/objc/test/SwordListKeyTest.m @@ -12,32 +12,32 @@ @implementation SwordListKeyTest - (void)testContainsKey { - SwordListKey *lk = [SwordListKey listKeyWithRef:@"Gen 1:1-5"]; + SwordListKey *lk = [SwordListKey listKeyWithRef:@"Gen 1:1-5" v11n:@"KJV"]; SwordVerseKey *vk = [SwordVerseKey verseKeyWithRef:@"Gen 1:3"]; - STAssertTrue([lk containsKey:vk], @""); + XCTAssertTrue([lk containsKey:vk], @""); } /* - (void)testNumberOfVerses { - SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:2-20"]; - STAssertNotNil(lk, @""); - STAssertTrue(([lk numberOfVerses] == 19), @""); + SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:2-20" v11n:@"KJV"]; + XCTAssertNotNil(lk, @""); + XCTAssertTrue(([lk numberOfVerses] == 19), @""); } */ - (void)testVerseEnumeratorAllObjects { - SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:2-20"]; - STAssertNotNil(lk, @""); + SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:2-20" v11n:@"KJV"]; + XCTAssertNotNil(lk, @""); VerseEnumerator *ve = [lk verseEnumerator]; NSArray *verseRefs = [ve allObjects]; - STAssertNotNil(verseRefs, @""); - STAssertTrue(([verseRefs count] == 19), @""); + XCTAssertNotNil(verseRefs, @""); + XCTAssertTrue(([verseRefs count] == 19), @""); } - (void)testVerseEnumeratorNextObject { - SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:2-20"]; - STAssertNotNil(lk, @""); + SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:2-20" v11n:@"KJV"]; + XCTAssertNotNil(lk, @""); VerseEnumerator *ve = [lk verseEnumerator]; int count = 0; @@ -45,7 +45,7 @@ while((ref = [ve nextObject])) { count++; } - STAssertTrue((count == 19), @""); + XCTAssertTrue((count == 19), @""); } @end diff --git a/bindings/objc/test/SwordLocaleManagerTest.swift b/bindings/objc/test/SwordLocaleManagerTest.swift new file mode 100644 index 0000000..7360af3 --- /dev/null +++ b/bindings/objc/test/SwordLocaleManagerTest.swift @@ -0,0 +1,30 @@ +// +// SwordLocaleManagerTest.swift +// ObjCSword +// +// Created by Manfred Bergmann on 02.10.16. +// +// + +import XCTest + +class SwordLocaleManagerTest: XCTestCase { + + override func setUp() { + super.setUp() + } + + override func tearDown() { + super.tearDown() + } + + func testDefaultLocalSetup() { + let locMgr = SwordLocaleManager.default() + locMgr?.initLocale() + + let defaultLocName = locMgr?.getDefaultLocaleName() + print(defaultLocName) + XCTAssert(defaultLocName != nil) + XCTAssert(defaultLocName == "de") + } +} diff --git a/bindings/objc/test/SwordManagerTest.h b/bindings/objc/test/SwordManagerTest.h deleted file mode 100644 index 167d335..0000000 --- a/bindings/objc/test/SwordManagerTest.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// SwordManagerTest.h -// ObjCSword -// -// Created by Manfred Bergmann on 14.06.10. -// Copyright 2010 Software by MABE. All rights reserved. -// - -#import <SenTestingKit/SenTestingKit.h> - - -@interface SwordManagerTest : SenTestCase { - -} - -@end diff --git a/bindings/objc/test/SwordManagerTest.m b/bindings/objc/test/SwordManagerTest.m index d2c93dd..5b48c3e 100644 --- a/bindings/objc/test/SwordManagerTest.m +++ b/bindings/objc/test/SwordManagerTest.m @@ -2,25 +2,89 @@ // SwordManagerTest.m // ObjCSword // -// Created by Manfred Bergmann on 14.06.10. -// Copyright 2010 Software by MABE. All rights reserved. +// Created by Manfred Bergmann on 02.03.16. +// // +#import <XCTest/XCTest.h> #import <ObjCSword/ObjCSword.h> -#import "SwordManagerTest.h" -@implementation SwordManagerTest +@interface SwordManagerTest : XCTestCase + +@end + +@implementation SwordManagerTest { + SwordManager *mgr; +} - (void)setUp { - [Configuration configWithImpl:[[[OSXConfiguration alloc] init] autorelease]]; + [super setUp]; + + [Configuration configWithImpl:[[OSXConfiguration alloc] init]]; + [[FilterProviderFactory providerFactory] initWithImpl:[[DefaultFilterProvider alloc] init]]; + + NSString *modulePath = [[[NSBundle bundleForClass:[self class]] resourcePath] stringByAppendingPathComponent:@"TestModules"]; + + mgr = [SwordManager managerWithPath:modulePath]; +} + +- (void)testAvailableModules { + XCTAssert(mgr != nil); + + NSInteger count = [[mgr allModules] count]; + XCTAssert(count > 0); + NSLog(@"Modules: %lu", count); } -- (void)testSwordManagerInit { - NSString *modPath = [[Configuration config] defaultModulePath]; - NSLog(@"%@", modPath); +- (void)testGetModule { + SwordModule *mod = [mgr moduleWithName:@"KJV"]; + XCTAssert(mod != nil); + XCTAssert([[mod name] isEqualToString:@"KJV"]); +} + +- (void)testReloadWithRenderedKey_String { + SwordModule *mod = [mgr moduleWithName:@"KJV"]; + + [mod setKeyString:@"Gen 1:1"]; + NSString *text = [mod renderedText]; + XCTAssert(text != nil); + XCTAssert(text.length > 0); + NSLog(@"text: %@", text); + + [mgr reloadManager]; + mod = [mgr moduleWithName:@"KJV"]; + XCTAssert(mod != nil); + XCTAssert([[mod name] isEqualToString:@"KJV"]); +} + +- (void)testReloadWithRenderedKey_SwordKey { + SwordModule *mod = [mgr moduleWithName:@"KJV"]; + + SwordKey *key = [SwordKey swordKeyWithRef:@"Gen 1"]; + [mod setSwordKey:key]; + NSString *text = [mod renderedText]; + XCTAssert(text != nil); + XCTAssert(text.length > 0); + NSLog(@"text: %@", text); + + [mgr reloadManager]; + mod = [mgr moduleWithName:@"KJV"]; + XCTAssert(mod != nil); + XCTAssert([[mod name] isEqualToString:@"KJV"]); +} + +- (void)testReloadWithRenderedKey_CustomRender { + SwordModule *mod = [mgr moduleWithName:@"KJV"]; + + NSArray *textEntries = [(SwordBible *)mod renderedTextEntriesForRef:@"Gen 1" context:0]; + XCTAssert(textEntries != nil); + NSLog(@"Entries: %lu", [textEntries count]); + XCTAssert([textEntries count] == 31); - SwordManager *sm = [SwordManager managerWithPath:modPath]; - STAssertTrue([[sm modules] count] > 0, @""); + [mgr reloadManager]; + mod = [mgr moduleWithName:@"KJV"]; + XCTAssert(mod != nil); + XCTAssert([[mod name] isEqualToString:@"KJV"]); } @end diff --git a/bindings/objc/test/SwordManagerTest.swift b/bindings/objc/test/SwordManagerTest.swift new file mode 100644 index 0000000..8500eae --- /dev/null +++ b/bindings/objc/test/SwordManagerTest.swift @@ -0,0 +1,67 @@ +// +// SwordManagerTest.swift +// ObjCSword +// +// Created by Manfred Bergmann on 02.03.16. +// +// + +import XCTest + +class SwordManagerTest: XCTestCase { + + var mgr: SwordManager? + + override func setUp() { + super.setUp() + + let modulesDir = NSBundle(forClass:self.dynamicType).resourcePath!.stringByAppendingString("/TestModules") + NSLog("modulesDir: \(modulesDir)") + + Configuration.configWithImpl(OSXConfiguration()) + FilterProviderFactory().initWithImpl(DefaultFilterProvider()) + mgr = SwordManager(path:modulesDir) + } + + func testAvailableModules() { + XCTAssert(mgr != nil) + XCTAssert(mgr?.modules.count > 0) + NSLog("modules: \(mgr?.modules.count)") + } + + func testGetModule() { + let mod = mgr?.moduleWithName("kjv") + XCTAssert(mod != nil) + XCTAssert(mod?.name() == "KJV") + } + + func testReload() { + var mod = mgr?.moduleWithName("kjv") + + mgr?.reloadManager() + mod = mgr?.moduleWithName("kjv") + + XCTAssert(mod != nil) + XCTAssert(mod?.name() == "KJV") + } + + func testReloadWithKeyString() { + var mod = mgr?.moduleWithName("kjv") + + let te = mod?.renderedTextEntriesForRef("Gen 1") + XCTAssert(te?.count > 0) + NSLog(te![0] as! String) + +// mod?.setKeyString("Gen 1") +// let text = mod?.renderedText() +// XCTAssert(text != nil) +// XCTAssert(text?.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) > 0) +// NSLog(text!) + + mgr?.reloadManager() + mod = mgr?.moduleWithName("kjv") + + XCTAssert(mod != nil) + XCTAssert(mod?.name() == "KJV") + } +} diff --git a/bindings/objc/test/SwordModuleLongRunTest.h b/bindings/objc/test/SwordModuleLongRunTest.h index d415885..5eda8da 100644 --- a/bindings/objc/test/SwordModuleLongRunTest.h +++ b/bindings/objc/test/SwordModuleLongRunTest.h @@ -6,11 +6,11 @@ // Copyright 2008 __MyCompanyName__. All rights reserved. // -#import <SenTestingKit/SenTestingKit.h> +#import <XCTest/XCTest.h> @class SwordModule; -@interface SwordModuleTest : SenTestCase { +@interface SwordModuleLongRunTest : XCTestCase { SwordModule *mod; } diff --git a/bindings/objc/test/SwordModuleLongRunTest.mm b/bindings/objc/test/SwordModuleLongRunTest.mm index 699a18c..d63d4f5 100644 --- a/bindings/objc/test/SwordModuleLongRunTest.mm +++ b/bindings/objc/test/SwordModuleLongRunTest.mm @@ -6,33 +6,20 @@ // Copyright 2008 __MyCompanyName__. All rights reserved. // -#import "SwordModuleTest.h" -#ifdef TARGET_IPHONE_SIMULATOR -#import "SwordManager.h" -#import "Configuration.h" -#import "iOSConfiguration.h" -#import "SwordModule.h" -#import "SwordBibleTextEntry.h" -#import "VerseEnumerator.h" -#import "SwordListKey.h" -#else #import "ObjCSword/ObjCSword.h" -#endif +#import "SwordModuleLongRunTest.h" +#import "SwordModule+Index.h" -@implementation SwordModuleTest +@implementation SwordModuleLongRunTest - (void)setUp { -#ifdef TARGET_IPHONE_SIMULATOR - [[Configuration config] setClass:[iOSConfiguration class]]; -#else - [[Configuration config] setClass:[OSXConfiguration class]]; -#endif - mod = [[SwordManager defaultManager] moduleWithName:@"GerNeUe"]; + [Configuration configWithImpl:[[OSXConfiguration alloc] init]]; + mod = [[SwordManager defaultManager] moduleWithName:@"GerNeUe"]; } - (void)testCreateSearchIndex { SwordModule *sm = [[SwordManager defaultManager] moduleWithName:@"GerSch"]; - STAssertNotNil(sm, @"Module is nil"); + XCTAssertNotNil(sm, @"Module is nil"); NSLog(@"creating clucene search index..."); [sm createSearchIndex]; @@ -77,7 +64,7 @@ [com incKeyPosition]; count++; } - STAssertTrue((count == 1), @""); + XCTAssertTrue((count == 1), @""); } - (void)testCommentarySkipLinksNoPersist { @@ -97,7 +84,7 @@ [lk increment]; count++; } - STAssertTrue((count == 1), @""); + XCTAssertTrue((count == 1), @""); } @end diff --git a/bindings/objc/test/SwordModuleTest.h b/bindings/objc/test/SwordModuleTest.h index 95135fc..0eda60b 100644 --- a/bindings/objc/test/SwordModuleTest.h +++ b/bindings/objc/test/SwordModuleTest.h @@ -6,13 +6,4 @@ // Copyright 2010 Software by MABE. All rights reserved. // -#import <SenTestingKit/SenTestingKit.h> - -@class SwordModule, SwordManager; - -@interface SwordModuleTest : SenTestCase { - SwordManager *mgr; - SwordModule *mod; -} - -@end +#import <XCTest/XCTest.h> diff --git a/bindings/objc/test/SwordModuleTest.m b/bindings/objc/test/SwordModuleTest.m index a308513..2f1a489 100644 --- a/bindings/objc/test/SwordModuleTest.m +++ b/bindings/objc/test/SwordModuleTest.m @@ -6,43 +6,184 @@ // Copyright 2010 Software by MABE. All rights reserved. // -#import <ObjCSword/ObjCSword.h> #import "SwordModuleTest.h" +#import <ObjCSword/ObjCSword.h> + +@class SwordModule, SwordManager; + +@interface SwordModuleTest : XCTestCase { + SwordManager *mgr; + SwordModule *mod; +} + +@end @implementation SwordModuleTest - (void)setUp { - [Configuration configWithImpl:[[[OSXConfiguration alloc] init] autorelease]]; - mgr = [SwordManager managerWithPath:[[Configuration config] defaultModulePath]]; - mod = [mgr moduleWithName:@"GerNeUe"]; + [Configuration configWithImpl:[[OSXConfiguration alloc] init]]; + + [[FilterProviderFactory providerFactory] initWithImpl:[[DefaultFilterProvider alloc] init]]; + + mgr = [SwordManager managerWithPath:[[[NSBundle bundleForClass:[self class]] resourcePath] stringByAppendingPathComponent:@"TestModules"]]; + mod = [mgr moduleWithName:@"KJV"]; } -- (void)testLoopRenderedVerses { - SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"GerSch"]; - STAssertNotNil(bible, @"Module is nil"); +- (void)testModuleIntroductionGer { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"GerNeUe"]; - NSArray *verses = [bible renderedTextEntriesForRef:@"Gen"]; - STAssertNotNil(verses, @""); - STAssertTrue([bible numberOfVerseKeysForReference:@"Gen"] == [verses count], @""); + NSString *modIntro = [bible moduleIntroduction]; + NSLog(@"mod intro: %@", modIntro); + XCTAssertNotNil(modIntro); + XCTAssertTrue([@"Im Anfang schuf Gott Himmel und Erde." isEqualToString:modIntro]); } -- (void)testRenderedVerseText { - SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"GerSch"]; - STAssertNotNil(bible, @"Module is nil"); +/* +- (void)testFirstBookATIntro { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; - SwordModuleTextEntry *text = [bible textEntryForKeyString:@"gen1.1" textType:TextTypeRendered]; - STAssertNotNil(text, @""); - STAssertTrue([[text text] length] > 0, @""); + SwordBibleBook *book = [bible bookList][0]; + NSString *intro = [bible bookIntroductionFor:book]; + NSLog(@"testament: '%i', book '%@' intro: %@", [book testament], [book name], intro); + XCTAssertNotNil(intro); + XCTAssertTrue([intro hasPrefix:@" <!P><br />Das erste Buch der Bibel wird auch Genesis"]); } +*/ -- (void)testCloneModule { - SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"GerSch"]; - STAssertNotNil(bible, @"Module is nil"); +- (void)testFirstBookATIntroGer { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"GerNeUe"]; - /* - SwordBible *cloned = (SwordBible *)[bible clone]; - STAssertNotNil(cloned, @"Module is nil"); - */ + SwordBibleBook *book = [bible bookList][0]; + NSString *intro = [bible bookIntroductionFor:book]; + NSLog(@"testament: '%i', book '%@' intro: %@", [book testament], [book name], intro); + XCTAssertNotNil(intro); + XCTAssertTrue([intro hasPrefix:@" <!P><br />Das erste Buch der Bibel wird auch Genesis"]); +} + +/* +- (void)testFirstBookNTIntro { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; + + SwordBibleBook *book = [bible bookWithNamePrefix:@"Mat"]; + NSString *intro = [bible bookIntroductionFor:book]; + NSLog(@"testament: '%i', book '%@' intro: %@", [book testament], [book name], intro); + XCTAssertNotNil(intro); + XCTAssertTrue([intro hasPrefix:@" <!P><br />Um die Zeit der Apostelversammlung herum"]); +} +*/ + +- (void)testJesusWordsInRed { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; + XCTAssertNotNil(bible, @"Module is nil"); + + [mgr setGlobalOption:SW_OPTION_REDLETTERWORDS value:SW_ON]; + SwordBibleTextEntry *text = (SwordBibleTextEntry *) [bible renderedTextEntryForRef:@"Mat 4:4"]; + XCTAssertTrue(text != nil); + NSLog(@"Mat 4:4: %@", [text text]); + XCTAssertTrue([[text text] containsString:@"But he answered and said, <font color=\"red\"> It is written, Man shall not live by bread alone, but by every word that proceedeth out of the mouth of God.</font>"]); +} + +- (void)testStrongsNumberHebrewRetrieval { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; + XCTAssertNotNil(bible, @"Module is nil"); + + [bible setKeyString:@"Gen 1:1"]; + NSArray *strongsNumbers = [bible entryAttributeValuesLemma]; + XCTAssertTrue(strongsNumbers != nil); + XCTAssertTrue([strongsNumbers count] > 0); + NSString *combinedString = [strongsNumbers componentsJoinedByString:@","]; + NSLog(@"%@", combinedString); + XCTAssertTrue([@"H07225,H0430,H0853 H01254,H08064,H0853,H0776" isEqualToString:combinedString]); +} + +- (void)testStrongsNumberHebrewNormalizedRetrieval { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; + XCTAssertNotNil(bible, @"Module is nil"); + + [bible setKeyString:@"Gen 1:1"]; + NSArray *strongsNumbers = [bible entryAttributeValuesLemmaNormalized]; + XCTAssertTrue(strongsNumbers != nil); + XCTAssertTrue([strongsNumbers count] > 0); + NSString *combinedString = [strongsNumbers componentsJoinedByString:@","]; + NSLog(@"%@", combinedString); + XCTAssertTrue([@"H07225,H00430,H00853,H01254,H08064,H00853,H00776" isEqualToString:combinedString]); +} + +- (void)testStrongsNumberGreekRetrieval { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; + XCTAssertNotNil(bible, @"Module is nil"); + + [bible setKeyString:@"Mat 1:1"]; + NSArray *strongsNumbers = [bible entryAttributeValuesLemma]; + XCTAssertTrue(strongsNumbers != nil); + XCTAssertTrue([strongsNumbers count] > 0); + NSString *combinedString = [strongsNumbers componentsJoinedByString:@","]; + NSLog(@"%@", combinedString); + XCTAssertTrue([@"G976,G1078,G2424,G5547,G5207,G1138,G5207,G11" isEqualToString:combinedString]); +} + +- (void)testStrongsNumberGreekNormalizedRetrieval { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; + XCTAssertNotNil(bible, @"Module is nil"); + + [bible setKeyString:@"Mat 1:1"]; + NSArray *strongsNumbers = [bible entryAttributeValuesLemmaNormalized]; + XCTAssertTrue(strongsNumbers != nil); + XCTAssertTrue([strongsNumbers count] > 0); + NSString *combinedString = [strongsNumbers componentsJoinedByString:@","]; + NSLog(@"%@", combinedString); + XCTAssertTrue([@"G00976,G01078,G02424,G05547,G05207,G01138,G05207,G00011" isEqualToString:combinedString]); +} + +- (void)testFirstBookNTIntroGer { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"GerNeUe"]; + + SwordBibleBook *book = [bible bookWithNamePrefix:@"Mat"]; + NSString *intro = [bible bookIntroductionFor:book]; + NSLog(@"testament: '%i', book '%@' intro: %@", [book testament], [book name], intro); + XCTAssertNotNil(intro); + XCTAssertTrue([intro hasPrefix:@" <!P><br />Um die Zeit der Apostelversammlung herum"]); +} + +- (void)testPreverseHeading { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; + + [mgr setGlobalOption:SW_OPTION_HEADINGS value:SW_ON]; + SwordBibleTextEntry *text = (SwordBibleTextEntry *) [bible renderedTextEntryForRef:@"Numbers 1:47"]; + NSLog(@"Preverse text: %@", [text preVerseHeading]); + XCTAssertTrue([[text preVerseHeading] length] > 0); + XCTAssertTrue([[text preVerseHeading] isEqualToString:@"<title>Die Sonderstellung der Leviten</title>"]); + [mgr setGlobalOption:SW_OPTION_HEADINGS value:SW_OFF]; +} + +- (void)testPreverseHeading2 { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"GerNeUe"]; + + [mgr setGlobalOption:SW_OPTION_HEADINGS value:SW_ON]; + SwordBibleTextEntry *text = (SwordBibleTextEntry *) [bible renderedTextEntryForRef:@"Numbers 4:21"]; + NSLog(@"Preverse text: %@", [text preVerseHeading]); + XCTAssertTrue([[text preVerseHeading] length] > 0); + XCTAssertTrue([[text preVerseHeading] isEqualToString:@"<title>Die Gerschoniten</title>"]); + [mgr setGlobalOption:SW_OPTION_HEADINGS value:SW_OFF]; +} + +- (void)testLoopRenderedVerses { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; + XCTAssertNotNil(bible, @"Module is nil"); + + NSArray *verses = [bible renderedTextEntriesForRef:@"Gen"]; + XCTAssertNotNil(verses, @""); + XCTAssertTrue([bible numberOfVerseKeysForReference:@"Gen"] == [verses count], @""); +} + +- (void)testRenderedVerseText { + SwordBible *bible = (SwordBible *)[mgr moduleWithName:@"KJV"]; + XCTAssertNotNil(bible, @"Module is nil"); + + SwordModuleTextEntry *text = [bible renderedTextEntryForRef:@"gen1.1"]; + XCTAssertNotNil(text, @""); + NSLog(@"text: %@", [text text]); + XCTAssertTrue([[text text] length] > 0, @""); } - (void)testLoopWithModulePos { @@ -129,7 +270,7 @@ [vk setKeyText:[lk keyText]]; long lowVerse = [vk verse] - context; long highVerse = lowVerse + (context * 2); - [vk setVerse:lowVerse]; + [vk setVerse:(int)lowVerse]; [mod setSwordKey:vk]; for(;lowVerse <= highVerse;lowVerse++) { ref = [vk keyText]; @@ -149,13 +290,20 @@ } } -- (void)testStrippedTextForRef { - SwordVerseKey *vk = [SwordVerseKey verseKeyWithRef:@"1Mo 1:2"]; +- (void)testVersePositioning { + SwordVerseKey *vk = [SwordVerseKey verseKeyWithRef:@"gen 1:2"]; NSLog(@"start position: %@", [vk keyText]); [vk decrement]; NSLog(@"decrement position: %@", [vk keyText]); + XCTAssertTrue([vk chapter] == 1); + XCTAssertTrue([vk book] == 1); + XCTAssertTrue([vk verse] == 1); + [vk setVerse:[vk verse] + 3]; NSLog(@"verse + 3: %@", [vk keyText]); + XCTAssertTrue([vk chapter] == 1); + XCTAssertTrue([vk book] == 1); + XCTAssertTrue([vk verse] == 4); } @end diff --git a/bindings/objc/test/TestGlobals.h b/bindings/objc/test/TestGlobals.h new file mode 100644 index 0000000..f344c5b --- /dev/null +++ b/bindings/objc/test/TestGlobals.h @@ -0,0 +1,12 @@ +// +// TestGlobals.h +// ObjCSword +// +// Created by Manfred Bergmann on 02.03.16. +// +// + +#ifndef TestGlobals_h +#define TestGlobals_h + +#endif /* TestGlobals_h */ diff --git a/bindings/objc/test/Tests-Bridging-Header.h b/bindings/objc/test/Tests-Bridging-Header.h new file mode 100644 index 0000000..d4dd0a5 --- /dev/null +++ b/bindings/objc/test/Tests-Bridging-Header.h @@ -0,0 +1,6 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// + +#import <ObjCSword/ObjCSword.h> +#import "TestGlobals.h" diff --git a/bindings/objc/test/Tests-Info.plist b/bindings/objc/test/Tests-Info.plist index c285a47..66a5a8a 100644 --- a/bindings/objc/test/Tests-Info.plist +++ b/bindings/objc/test/Tests-Info.plist @@ -7,7 +7,7 @@ <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> <key>CFBundleIdentifier</key> - <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundlePackageType</key> diff --git a/bindings/swig/deprecations.i b/bindings/swig/deprecations.i index bab0381..fa883a7 100644 --- a/bindings/swig/deprecations.i +++ b/bindings/swig/deprecations.i @@ -10,10 +10,12 @@ %ignore sword::VerseTreeKey::operator const char *; %ignore sword::XMLTag::operator const char *; -%ignore sword::StatusReporter::statusUpdate; %ignore sword::SWDisplay::Display(SWModule&); +%ignore sword::StatusReporter::statusUpdate(double ,double); +%feature("nodirector") sword::StatusReporter::statusUpdate(double ,double); + %ignore sword::SWKey::Error(); %ignore sword::SWKey::Persist() const; %ignore sword::SWKey::Persist(signed char); @@ -60,3 +62,20 @@ %ignore sword::VerseKey::TestamentIndex() const; %ignore sword::VerseKey::UpperBound; %ignore sword::VerseKey::Verse; + +%ignore sword::SWMgr::CreateMods(bool); +%ignore sword::SWMgr::DeleteMods(); +%ignore sword::SWMgr::AddGlobalOptions(SWModule *, ConfigEntMap &, ConfigEntMap::iterator, ConfigEntMap::iterator); +%ignore sword::SWMgr::AddLocalOptions(SWModule *, ConfigEntMap &, ConfigEntMap::iterator, ConfigEntMap::iterator); +%ignore sword::SWMgr::AddEncodingFilters(SWModule *, ConfigEntMap &); +%ignore sword::SWMgr::AddRenderFilters(SWModule *, ConfigEntMap &); +%ignore sword::SWMgr::AddStripFilters(SWModule *, ConfigEntMap &); +%ignore sword::SWMgr::AddStripFilters(SWModule *, ConfigEntMap &, ConfigEntMap::iterator, ConfigEntMap::iterator); +%ignore sword::SWMgr::AddRawFilters(SWModule *, ConfigEntMap &); +%ignore sword::SWMgr::getHomeDir(); +%ignore sword::SWMgr::Load(); + +%ignore sword::SWConfig::Sections; +%ignore sword::SWConfig::filename; +%ignore sword::SWConfig::Load(); +%ignore sword::SWConfig::Save(); diff --git a/bindings/swig/package/Makefile.in b/bindings/swig/package/Makefile.in index 3c056c1..9d9d7ee 100644 --- a/bindings/swig/package/Makefile.in +++ b/bindings/swig/package/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -81,7 +81,7 @@ host_triplet = @host@ subdir = . DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) depcomp README \ - compile config.guess config.sub install-sh missing ltmain.sh + config.guess config.sub install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -605,16 +605,10 @@ dist-xz: distdir $(am__post_remove_distdir) dist-tarZ: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) @@ -656,10 +650,9 @@ distcheck: dist && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ - && ../configure \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ diff --git a/bindings/swig/package/aclocal.m4 b/bindings/swig/package/aclocal.m4 index cd5e8b9..0c2ed70 100644 --- a/bindings/swig/package/aclocal.m4 +++ b/bindings/swig/package/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- +# generated automatically by aclocal 1.13.4 -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. @@ -220,21 +220,6 @@ m4_popdef([pkg_default]) m4_popdef([pkg_description]) ]) dnl PKG_NOARCH_INSTALLDIR - -# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# ------------------------------------------- -# Retrieves the value of the pkg-config variable for the given module. -AC_DEFUN([PKG_CHECK_VAR], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl - -_PKG_CONFIG([$1], [variable="][$3]["], [$2]) -AS_VAR_COPY([$1], [pkg_cv_][$1]) - -AS_VAR_IF([$1], [""], [$5], [$4])dnl -])# PKG_CHECK_VAR - # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation @@ -247,10 +232,10 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.14' +[am__api_version='1.13' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.14.1], [], +m4_if([$1], [1.13.4], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -266,7 +251,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.14.1])dnl +[AM_AUTOMAKE_VERSION([1.13.4])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) @@ -633,12 +618,6 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -747,48 +726,7 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: <http://www.gnu.org/software/coreutils/>. - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi]) +]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further @@ -796,6 +734,7 @@ dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. @@ -1013,70 +952,6 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. diff --git a/bindings/swig/package/compile b/bindings/swig/package/compile deleted file mode 100755 index 531136b..0000000 --- a/bindings/swig/package/compile +++ /dev/null @@ -1,347 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-10-14.11; # UTC - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# Written by Tom Tromey <tromey@cygnus.com>. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/bindings/swig/package/config.guess b/bindings/swig/package/config.guess index 1f5c50c..b79252d 100755 --- a/bindings/swig/package/config.guess +++ b/bindings/swig/package/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2013-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +149,7 @@ Linux|GNU|GNU/*) LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` ;; esac @@ -826,7 +826,7 @@ EOF *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; - *:MSYS*:*) + i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) @@ -969,10 +969,10 @@ EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} + or1k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) + or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) @@ -1260,26 +1260,16 @@ EOF if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; @@ -1371,6 +1361,154 @@ EOF exit ;; esac +eval $set_cc_for_build +cat >$dummy.c <<EOF +#ifdef _SEQUENT_ +# include <sys/types.h> +# include <sys/utsname.h> +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include <sys/param.h> + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include <sys/param.h> +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + cat >&2 <<EOF $0: unable to guess system type diff --git a/bindings/swig/package/config.sub b/bindings/swig/package/config.sub index 66c5074..c765b34 100755 --- a/bindings/swig/package/config.sub +++ b/bindings/swig/package/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2014-07-28' +timestamp='2013-04-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -257,7 +257,7 @@ case $basic_machine in | avr | avr32 \ | be32 | be64 \ | bfin \ - | c4x | c8051 | clipper \ + | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ @@ -265,7 +265,6 @@ case $basic_machine in | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ @@ -283,10 +282,8 @@ case $basic_machine in | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ @@ -298,7 +295,8 @@ case $basic_machine in | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ + | open8 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ @@ -326,7 +324,7 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -374,7 +372,7 @@ case $basic_machine in | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ + | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ @@ -383,7 +381,6 @@ case $basic_machine in | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ - | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ @@ -403,10 +400,8 @@ case $basic_machine in | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ @@ -418,7 +413,6 @@ case $basic_machine in | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ - | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ @@ -800,7 +794,7 @@ case $basic_machine in os=-mingw64 ;; mingw32) - basic_machine=i686-pc + basic_machine=i386-pc os=-mingw32 ;; mingw32ce) @@ -828,10 +822,6 @@ case $basic_machine in basic_machine=powerpc-unknown os=-morphos ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; msdos) basic_machine=i386-pc os=-msdos @@ -840,7 +830,7 @@ case $basic_machine in basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) - basic_machine=i686-pc + basic_machine=i386-pc os=-msys ;; mvs) @@ -1377,14 +1367,14 @@ case $os in | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1556,9 +1546,6 @@ case $basic_machine in c4x-* | tic4x-*) os=-coff ;; - c8051-*) - os=-elf - ;; hexagon-*) os=-elf ;; @@ -1602,6 +1589,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; diff --git a/bindings/swig/package/configure b/bindings/swig/package/configure index 3bf898b..685f159 100755 --- a/bindings/swig/package/configure +++ b/bindings/swig/package/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Revision: 2875 . +# From configure.ac Revision: 3063 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for swordbindings 1.6.2. # @@ -2310,7 +2310,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -am__api_version='1.14' +am__api_version='1.13' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do @@ -2876,47 +2876,6 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: <http://www.gnu.org/software/coreutils/>. - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi # --------------------------------------------------------------------- @@ -3716,65 +3675,6 @@ ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -6764,7 +6664,7 @@ ia64-*-hpux*) rm -rf conftest* ;; -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext @@ -6782,10 +6682,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) + ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) @@ -6804,10 +6701,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) + ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) diff --git a/bindings/swig/package/configure.ac b/bindings/swig/package/configure.ac index a8e1806..f7995e3 100644 --- a/bindings/swig/package/configure.ac +++ b/bindings/swig/package/configure.ac @@ -4,7 +4,7 @@ AC_INIT([swordbindings],[1.6.2]) AC_CONFIG_SRCDIR(sword.i) AC_PREREQ(2.59) -AC_REVISION($Revision: 2875 $) +AC_REVISION($Revision: 3063 $) AM_INIT_AUTOMAKE AC_CONFIG_MACRO_DIR([m4]) diff --git a/bindings/swig/package/deprecations.i b/bindings/swig/package/deprecations.i index bab0381..fa883a7 100644 --- a/bindings/swig/package/deprecations.i +++ b/bindings/swig/package/deprecations.i @@ -10,10 +10,12 @@ %ignore sword::VerseTreeKey::operator const char *; %ignore sword::XMLTag::operator const char *; -%ignore sword::StatusReporter::statusUpdate; %ignore sword::SWDisplay::Display(SWModule&); +%ignore sword::StatusReporter::statusUpdate(double ,double); +%feature("nodirector") sword::StatusReporter::statusUpdate(double ,double); + %ignore sword::SWKey::Error(); %ignore sword::SWKey::Persist() const; %ignore sword::SWKey::Persist(signed char); @@ -60,3 +62,20 @@ %ignore sword::VerseKey::TestamentIndex() const; %ignore sword::VerseKey::UpperBound; %ignore sword::VerseKey::Verse; + +%ignore sword::SWMgr::CreateMods(bool); +%ignore sword::SWMgr::DeleteMods(); +%ignore sword::SWMgr::AddGlobalOptions(SWModule *, ConfigEntMap &, ConfigEntMap::iterator, ConfigEntMap::iterator); +%ignore sword::SWMgr::AddLocalOptions(SWModule *, ConfigEntMap &, ConfigEntMap::iterator, ConfigEntMap::iterator); +%ignore sword::SWMgr::AddEncodingFilters(SWModule *, ConfigEntMap &); +%ignore sword::SWMgr::AddRenderFilters(SWModule *, ConfigEntMap &); +%ignore sword::SWMgr::AddStripFilters(SWModule *, ConfigEntMap &); +%ignore sword::SWMgr::AddStripFilters(SWModule *, ConfigEntMap &, ConfigEntMap::iterator, ConfigEntMap::iterator); +%ignore sword::SWMgr::AddRawFilters(SWModule *, ConfigEntMap &); +%ignore sword::SWMgr::getHomeDir(); +%ignore sword::SWMgr::Load(); + +%ignore sword::SWConfig::Sections; +%ignore sword::SWConfig::filename; +%ignore sword::SWConfig::Load(); +%ignore sword::SWConfig::Save(); diff --git a/bindings/swig/package/m4/libtool.m4 b/bindings/swig/package/m4/libtool.m4 index f12cfdf..56666f0 100644 --- a/bindings/swig/package/m4/libtool.m4 +++ b/bindings/swig/package/m4/libtool.m4 @@ -1312,7 +1312,7 @@ ia64-*-hpux*) rm -rf conftest* ;; -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext @@ -1326,10 +1326,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) + ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) @@ -1348,10 +1345,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) + ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) diff --git a/bindings/swig/package/missing b/bindings/swig/package/missing index db98974..cdea514 100755 --- a/bindings/swig/package/missing +++ b/bindings/swig/package/missing @@ -1,7 +1,7 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2012-06-26.16; # UTC # Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. @@ -160,7 +160,7 @@ give_advice () ;; autom4te*) echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." + echo "the 'automa4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) diff --git a/bindings/swig/package/rendercallback.h b/bindings/swig/package/rendercallback.h index bfb54fc..b00b973 100755 --- a/bindings/swig/package/rendercallback.h +++ b/bindings/swig/package/rendercallback.h @@ -215,7 +215,7 @@ public: bool osisQToTick; bool inBold; bool inXRefNote; - bool BiblicalText; + bool isBiblicalText; int suspendLevel; SWBuf wordsOfChristStart; SWBuf wordsOfChristEnd; @@ -240,8 +240,8 @@ public sword::BasicFilterUserData { public: SWBuf inscriptRef; - bool SecHead; - bool BiblicalText; + bool inSecHead; + bool isBiblicalText; SWBuf version; XMLTag startTag; diff --git a/bindings/swig/package/swconfig.i b/bindings/swig/package/swconfig.i index b1f6834..4479093 100644 --- a/bindings/swig/package/swconfig.i +++ b/bindings/swig/package/swconfig.i @@ -5,21 +5,21 @@ %ignore sword::SWConfig::operator[]; %ignore sword::SWConfig::operator+=; %ignore sword::SWConfig::sections; -%ignore sword::SWConfig::Sections; +%ignore sword::SWConfig::getSections(); %include "swconfig.h" %extend sword::SWConfig { void set(const char* group, const char* entry, const char* value) { - self->Sections[group][entry] = value; + self->getSection(group)[entry] = value; }; const char* get(const char* group, const char* entry) { - return self->Sections[group][entry].c_str(); + return self->getSection(group)[entry].c_str(); }; PySectionMap /*std::map < sword::SWBuf, std::multimap <sword::SWBuf, sword::SWBuf> > */ *getSections() { - return (PySectionMap* /*std::map < sword::SWBuf, std::multimap < sword::SWBuf, sword::SWBuf > > * */) &self->Sections; + return (PySectionMap* /*std::map < sword::SWBuf, std::multimap < sword::SWBuf, sword::SWBuf > > * */) &self->getSections(); } } diff --git a/bindings/swig/package/sword.i b/bindings/swig/package/sword.i index a963fa1..2991b91 100644 --- a/bindings/swig/package/sword.i +++ b/bindings/swig/package/sword.i @@ -1,13 +1,13 @@ #define SWDLLEXPORT +%include "deprecations.i" + %module "Sword" %module(directors="1") Sword; /* Ignore warnings about Unknown base class */ %warnfilter(401); -%include "deprecations.i" - #ifdef SWIGPYTHON %include "directors.i" #endif diff --git a/bindings/swig/python/CMakeLists.txt b/bindings/swig/python/CMakeLists.txt index f608d50..bbf7561 100644 --- a/bindings/swig/python/CMakeLists.txt +++ b/bindings/swig/python/CMakeLists.txt @@ -44,11 +44,9 @@ ADD_CUSTOM_TARGET(swordswig ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) # Allow user installation to custom directory -IF(SWORD_PYTHON_INSTALL_DIR) - SET(SETUP_ARGS "--home=${SWORD_PYTHON_INSTALL_DIR} --root \$ENV{DESTDIR}") -ELSE(SWORD_PYTHON_INSTALL_DIR) - SET(SETUP_ARGS "--root \$ENV{DESTDIR}") -ENDIF(SWORD_PYTHON_INSTALL_DIR) +IF(NOT SWORD_PYTHON_INSTALL_DIR STREQUAL "") + SET(SETUP_ARGS "\"--prefix=${SWORD_PYTHON_INSTALL_DIR}\"") +ENDIF(NOT SWORD_PYTHON_INSTALL_DIR STREQUAL "") CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/install.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/install.cmake") diff --git a/bindings/swig/rendercallback.h b/bindings/swig/rendercallback.h index bfb54fc..b00b973 100755 --- a/bindings/swig/rendercallback.h +++ b/bindings/swig/rendercallback.h @@ -215,7 +215,7 @@ public: bool osisQToTick; bool inBold; bool inXRefNote; - bool BiblicalText; + bool isBiblicalText; int suspendLevel; SWBuf wordsOfChristStart; SWBuf wordsOfChristEnd; @@ -240,8 +240,8 @@ public sword::BasicFilterUserData { public: SWBuf inscriptRef; - bool SecHead; - bool BiblicalText; + bool inSecHead; + bool isBiblicalText; SWBuf version; XMLTag startTag; diff --git a/bindings/swig/swconfig.i b/bindings/swig/swconfig.i index b1f6834..4479093 100644 --- a/bindings/swig/swconfig.i +++ b/bindings/swig/swconfig.i @@ -5,21 +5,21 @@ %ignore sword::SWConfig::operator[]; %ignore sword::SWConfig::operator+=; %ignore sword::SWConfig::sections; -%ignore sword::SWConfig::Sections; +%ignore sword::SWConfig::getSections(); %include "swconfig.h" %extend sword::SWConfig { void set(const char* group, const char* entry, const char* value) { - self->Sections[group][entry] = value; + self->getSection(group)[entry] = value; }; const char* get(const char* group, const char* entry) { - return self->Sections[group][entry].c_str(); + return self->getSection(group)[entry].c_str(); }; PySectionMap /*std::map < sword::SWBuf, std::multimap <sword::SWBuf, sword::SWBuf> > */ *getSections() { - return (PySectionMap* /*std::map < sword::SWBuf, std::multimap < sword::SWBuf, sword::SWBuf > > * */) &self->Sections; + return (PySectionMap* /*std::map < sword::SWBuf, std::multimap < sword::SWBuf, sword::SWBuf > > * */) &self->getSections(); } } diff --git a/bindings/swig/sword.i b/bindings/swig/sword.i index a963fa1..2991b91 100644 --- a/bindings/swig/sword.i +++ b/bindings/swig/sword.i @@ -1,13 +1,13 @@ #define SWDLLEXPORT +%include "deprecations.i" + %module "Sword" %module(directors="1") Sword; /* Ignore warnings about Unknown base class */ %warnfilter(401); -%include "deprecations.i" - #ifdef SWIGPYTHON %include "directors.i" #endif diff --git a/bindings/swig/vstudio/SwigSword.csproj b/bindings/swig/vstudio/SwigSword.csproj index 7b40eab..0fb56d1 100644 --- a/bindings/swig/vstudio/SwigSword.csproj +++ b/bindings/swig/vstudio/SwigSword.csproj @@ -1,99 +1,99 @@ -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.50727</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{F594299C-1C3B-461E-B64A-6167735DCA12}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>SwigSword</RootNamespace>
- <AssemblyName>SwigSword</AssemblyName>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="abbrev.cs" />
- <Compile Include="AttributeListMap.cs" />
- <Compile Include="AttributeTypeListMap.cs" />
- <Compile Include="AttributeValueMap.cs" />
- <Compile Include="EncodingFilterMgr.cs" />
- <Compile Include="ListKey.cs" />
- <Compile Include="LocaleMgr.cs" />
- <Compile Include="LZSSCompress.cs" />
- <Compile Include="MarkupFilterMgr.cs" />
- <Compile Include="ModuleMap.cs" />
- <Compile Include="RawCom.cs" />
- <Compile Include="RawGenBook.cs" />
- <Compile Include="RawLD.cs" />
- <Compile Include="RawLD4.cs" />
- <Compile Include="RawText.cs" />
- <Compile Include="sbook.cs" />
- <Compile Include="StringVector.cs" />
- <Compile Include="SWBuf.cs" />
- <Compile Include="SWClass.cs" />
- <Compile Include="SWCom.cs" />
- <Compile Include="SWCompress.cs" />
- <Compile Include="SWConfig.cs" />
- <Compile Include="SWDisplay.cs" />
- <Compile Include="SWFilter.cs" />
- <Compile Include="SWFilterMgr.cs" />
- <Compile Include="SWGenBook.cs" />
- <Compile Include="SWKey.cs" />
- <Compile Include="SWLD.cs" />
- <Compile Include="SWLocale.cs" />
- <Compile Include="SWMgr.cs" />
- <Compile Include="SWModule.cs" />
- <Compile Include="SWObject.cs" />
- <Compile Include="SWOptionFilter.cs" />
- <Compile Include="Sword.cs" />
- <Compile Include="SwordPINVOKE.cs" />
- <Compile Include="SWSearchable.cs" />
- <Compile Include="SWText.cs" />
- <Compile Include="SW_POSITION.cs" />
- <Compile Include="TreeKey.cs" />
- <Compile Include="TreeKeyIdx.cs" />
- <Compile Include="URL.cs" />
- <Compile Include="VerseKey.cs" />
- <Compile Include="VerseTreeKey.cs" />
- <Compile Include="zCom.cs" />
- <Compile Include="ZipCompress.cs" />
- <Compile Include="zLD.cs" />
- <Compile Include="zText.cs" />
- </ItemGroup>
- <ItemGroup>
- <Folder Include="Properties\" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{F594299C-1C3B-461E-B64A-6167735DCA12}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>SwigSword</RootNamespace> + <AssemblyName>SwigSword</AssemblyName> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="abbrev.cs" /> + <Compile Include="AttributeListMap.cs" /> + <Compile Include="AttributeTypeListMap.cs" /> + <Compile Include="AttributeValueMap.cs" /> + <Compile Include="EncodingFilterMgr.cs" /> + <Compile Include="ListKey.cs" /> + <Compile Include="LocaleMgr.cs" /> + <Compile Include="LZSSCompress.cs" /> + <Compile Include="MarkupFilterMgr.cs" /> + <Compile Include="ModuleMap.cs" /> + <Compile Include="RawCom.cs" /> + <Compile Include="RawGenBook.cs" /> + <Compile Include="RawLD.cs" /> + <Compile Include="RawLD4.cs" /> + <Compile Include="RawText.cs" /> + <Compile Include="sbook.cs" /> + <Compile Include="StringVector.cs" /> + <Compile Include="SWBuf.cs" /> + <Compile Include="SWClass.cs" /> + <Compile Include="SWCom.cs" /> + <Compile Include="SWCompress.cs" /> + <Compile Include="SWConfig.cs" /> + <Compile Include="SWDisplay.cs" /> + <Compile Include="SWFilter.cs" /> + <Compile Include="SWFilterMgr.cs" /> + <Compile Include="SWGenBook.cs" /> + <Compile Include="SWKey.cs" /> + <Compile Include="SWLD.cs" /> + <Compile Include="SWLocale.cs" /> + <Compile Include="SWMgr.cs" /> + <Compile Include="SWModule.cs" /> + <Compile Include="SWObject.cs" /> + <Compile Include="SWOptionFilter.cs" /> + <Compile Include="Sword.cs" /> + <Compile Include="SwordPINVOKE.cs" /> + <Compile Include="SWSearchable.cs" /> + <Compile Include="SWText.cs" /> + <Compile Include="SW_POSITION.cs" /> + <Compile Include="TreeKey.cs" /> + <Compile Include="TreeKeyIdx.cs" /> + <Compile Include="URL.cs" /> + <Compile Include="VerseKey.cs" /> + <Compile Include="VerseTreeKey.cs" /> + <Compile Include="zCom.cs" /> + <Compile Include="ZipCompress.cs" /> + <Compile Include="zLD.cs" /> + <Compile Include="zText.cs" /> + </ItemGroup> + <ItemGroup> + <Folder Include="Properties\" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> </Target> <Target Name="AfterBuild"> </Target> - -->
- <PropertyGroup>
- <PreBuildEvent>
- </PreBuildEvent>
- </PropertyGroup>
+ --> + <PropertyGroup> + <PreBuildEvent> + </PreBuildEvent> + </PropertyGroup> </Project>
\ No newline at end of file diff --git a/bindings/swig/vstudio/libsword-csharpbindings.sln b/bindings/swig/vstudio/libsword-csharpbindings.sln index 36cd729..940d4f0 100644 --- a/bindings/swig/vstudio/libsword-csharpbindings.sln +++ b/bindings/swig/vstudio/libsword-csharpbindings.sln @@ -1,36 +1,36 @@ -
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual C++ Express 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsword", "..\..\..\lib\vcppmake\vc8\libsword.vcproj", "{97449E5E-F880-4D22-933A-0D2FC32034D4}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsword_csharpsword", "libsword_csharpsword.vcproj", "{0BD1471F-07D9-441C-9210-40A52770F2A1}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug with ICU|Win32 = Debug with ICU|Win32
- Debug|Win32 = Debug|Win32
- Release with ICU|Win32 = Release with ICU|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
- {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
- {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug|Win32.ActiveCfg = Debug|Win32
- {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug|Win32.Build.0 = Debug|Win32
- {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
- {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
- {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release|Win32.ActiveCfg = Release|Win32
- {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release|Win32.Build.0 = Release|Win32
- {0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
- {0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
- {0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug|Win32.ActiveCfg = Debug|Win32
- {0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug|Win32.Build.0 = Debug|Win32
- {0BD1471F-07D9-441C-9210-40A52770F2A1}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
- {0BD1471F-07D9-441C-9210-40A52770F2A1}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
- {0BD1471F-07D9-441C-9210-40A52770F2A1}.Release|Win32.ActiveCfg = Release|Win32
- {0BD1471F-07D9-441C-9210-40A52770F2A1}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual C++ Express 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsword", "..\..\..\lib\vcppmake\vc8\libsword.vcproj", "{97449E5E-F880-4D22-933A-0D2FC32034D4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsword_csharpsword", "libsword_csharpsword.vcproj", "{0BD1471F-07D9-441C-9210-40A52770F2A1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug with ICU|Win32 = Debug with ICU|Win32 + Debug|Win32 = Debug|Win32 + Release with ICU|Win32 = Release with ICU|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32 + {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32 + {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug|Win32.ActiveCfg = Debug|Win32 + {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug|Win32.Build.0 = Debug|Win32 + {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32 + {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release with ICU|Win32.Build.0 = Release with ICU|Win32 + {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release|Win32.ActiveCfg = Release|Win32 + {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release|Win32.Build.0 = Release|Win32 + {0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32 + {0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32 + {0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug|Win32.ActiveCfg = Debug|Win32 + {0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug|Win32.Build.0 = Debug|Win32 + {0BD1471F-07D9-441C-9210-40A52770F2A1}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32 + {0BD1471F-07D9-441C-9210-40A52770F2A1}.Release with ICU|Win32.Build.0 = Release with ICU|Win32 + {0BD1471F-07D9-441C-9210-40A52770F2A1}.Release|Win32.ActiveCfg = Release|Win32 + {0BD1471F-07D9-441C-9210-40A52770F2A1}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/bindings/swig/vstudio/libsword_csharpsword.vcproj b/bindings/swig/vstudio/libsword_csharpsword.vcproj index 4d69c39..565d7a0 100644 --- a/bindings/swig/vstudio/libsword_csharpsword.vcproj +++ b/bindings/swig/vstudio/libsword_csharpsword.vcproj @@ -1,966 +1,966 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="libsword_csharpsword"
- ProjectGUID="{0BD1471F-07D9-441C-9210-40A52770F2A1}"
- RootNamespace="libsword"
- AssemblyReferenceSearchPaths=""..\..\..\lib\vcppmake\vc8\Release""
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine=" swig -csharp -c++ -nodefaultctor -DNDEBUG -DWIN32 -D_LIB -DREGEX_MALLOC -DSWUSINGDLL -dllimport libsword_csharpsword.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i "
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../apps/windoze/CBuilder5/InstallMgr/curl,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;REGEX_MALLOC;SWUSINGDLL"
- StringPooling="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\Release/libsword.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- SuppressStartupBanner="true"
- CompileAs="0"
- DisableSpecificWarnings="4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug with ICU|Win32"
- OutputDirectory=".\ICUDebug"
- IntermediateDirectory=".\ICUDebug"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine=" swig -csharp -c++ -nodefaultctor -dllimport libsword-csharpwrap.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE"
- Optimization="0"
- AdditionalIncludeDirectories="../../../../icu-sword/source/common,../../../../icu-sword/source/i18n,../../../include,../../../src/utilfuns/win32"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\ICUDebug/libsword.pch"
- AssemblerListingLocation=".\ICUDebug/"
- ObjectFile=".\ICUDebug/"
- ProgramDataBaseFileName=".\ICUDebug/"
- SuppressStartupBanner="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libsword.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine=" swig -csharp -c++ -nodefaultctor -dllimport libsword-csharpwrap.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../../../include,../../../src/utilfuns/win32"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\Debug/libsword.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- BrowseInformation="1"
- SuppressStartupBanner="true"
- DebugInformationFormat="4"
- CompileAs="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libsword.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release with ICU|Win32"
- OutputDirectory=".\ICURelease"
- IntermediateDirectory=".\ICURelease"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine=" swig -csharp -c++ -nodefaultctor -DNDEBUG -DWIN32 -D_LIB -DREGEX_MALLOC -DSWUSINGDLL -dllimport libsword-csharpwrap.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i "
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../../icu-sword/include,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include"
- PreprocessorDefinitions="NDEBUG;_ICU_;WIN32;_LIB;REGEX_MALLOC"
- StringPooling="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\ICURelease/libsword.pch"
- AssemblerListingLocation=".\ICURelease/"
- ObjectFile=".\ICURelease/"
- ProgramDataBaseFileName=".\ICURelease/"
- SuppressStartupBanner="true"
- CompileAs="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libsword.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{97449E5E-F880-4D22-933A-0D2FC32034D4}"
- RelativePathToProject=".\libsword.vcproj"
- />
- </References>
- <Files>
- <Filter
- Name="Sword Source Files"
- >
- <File
- RelativePath=".\Sword.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Sword Header Files"
- >
- <File
- RelativePath="..\..\..\include\apocrypha.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\canon.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\cdsourcemgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\cipherfil.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\defs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\echomod.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\encfiltmgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\entriesblk.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\femain.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\filemgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\flatapi.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\ftpparse.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbffootnotes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfheadings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfhtml.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfhtmlhref.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfmorph.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfosis.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfplain.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfredletterwords.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfrtf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfstrongs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfthml.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\gbfwebif.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\Greek2Greek.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\GreekChars.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\greeklexattribs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\hebrewmcim.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\hrefcom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\latin1utf16.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\latin1utf8.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\listkey.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\localemgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\lzsscomprs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\markupfiltmgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\multimapwdef.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\nullim.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osisfootnotes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osisheadings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osishtmlhref.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osislemma.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osismorph.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osismorphsegmentation.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osisosis.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osisplain.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osisredletterwords.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osisrtf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osisscripref.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osisstrongs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\osiswebif.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\papyriplain.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawcom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawfiles.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawgbf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawgenbook.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawld.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawld4.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawstr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawstr4.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawtext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rawverse.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\regex.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\remotesourcemgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\roman.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\rtfhtml.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\sapphire.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\scsuutf8.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\stringmgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\strkey.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swbasicfilter.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swbuf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swcacher.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swcipher.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swcom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swcomprs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swdisp.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swdisprtf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swdisprtfchap.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swfilter.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swfiltermgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swgenbook.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swinputmeth.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swinstallmgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swkey.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swld.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swlocale.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swmacs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swmgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swmodule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swobject.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swoptfilter.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swremotemgr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swsearchable.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swtext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swversion.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\swwinlog.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\sysdata.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\tbdisp.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\teiplain.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\teirtf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlfootnotes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlgbf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlheadings.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlhtml.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlhtmlhref.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmllemma.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlmorph.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlosis.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlplain.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlrtf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlscripref.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlstrongs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlvariants.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\thmlwebif.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\treekey.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\treekeyidx.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\unicodertf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\unixstr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\untgz.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\url.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf16utf8.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8arshaping.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8bidireorder.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8cantillation.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8greekaccents.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8hebrewpoints.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8arabicpoints.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8html.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8latin1.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8nfc.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8nfkd.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8transliterator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utf8utf16.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utilfuns.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utilstr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\utilxml.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\versekey.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\versetreekey.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\zcom.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\zconf.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\zipcomprs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\zld.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\zlib.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\zstr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\ztext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\zverse.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="libsword_csharpsword" + ProjectGUID="{0BD1471F-07D9-441C-9210-40A52770F2A1}" + RootNamespace="libsword" + AssemblyReferenceSearchPaths=""..\..\..\lib\vcppmake\vc8\Release"" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + OutputDirectory=".\Release" + IntermediateDirectory=".\Release" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + CommandLine=" swig -csharp -c++ -nodefaultctor -DNDEBUG -DWIN32 -D_LIB -DREGEX_MALLOC -DSWUSINGDLL -dllimport libsword_csharpsword.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i " + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories="../../../apps/windoze/CBuilder5/InstallMgr/curl,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include" + PreprocessorDefinitions="NDEBUG;WIN32;_LIB;REGEX_MALLOC;SWUSINGDLL" + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\Release/libsword.pch" + AssemblerListingLocation=".\Release/" + ObjectFile=".\Release/" + ProgramDataBaseFileName=".\Release/" + SuppressStartupBanner="true" + CompileAs="0" + DisableSpecificWarnings="4996" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug with ICU|Win32" + OutputDirectory=".\ICUDebug" + IntermediateDirectory=".\ICUDebug" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + CommandLine=" swig -csharp -c++ -nodefaultctor -dllimport libsword-csharpwrap.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE" + Optimization="0" + AdditionalIncludeDirectories="../../../../icu-sword/source/common,../../../../icu-sword/source/i18n,../../../include,../../../src/utilfuns/win32" + PreprocessorDefinitions="NDEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\ICUDebug/libsword.pch" + AssemblerListingLocation=".\ICUDebug/" + ObjectFile=".\ICUDebug/" + ProgramDataBaseFileName=".\ICUDebug/" + SuppressStartupBanner="true" + DebugInformationFormat="4" + CompileAs="0" + DisableSpecificWarnings="4996" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libsword.lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\Debug" + IntermediateDirectory=".\Debug" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + CommandLine=" swig -csharp -c++ -nodefaultctor -dllimport libsword-csharpwrap.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../../include,../../../src/utilfuns/win32" + PreprocessorDefinitions="_DEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\Debug/libsword.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + BrowseInformation="1" + SuppressStartupBanner="true" + DebugInformationFormat="4" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libsword.lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release with ICU|Win32" + OutputDirectory=".\ICURelease" + IntermediateDirectory=".\ICURelease" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + CommandLine=" swig -csharp -c++ -nodefaultctor -DNDEBUG -DWIN32 -D_LIB -DREGEX_MALLOC -DSWUSINGDLL -dllimport libsword-csharpwrap.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i " + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories="../../../../icu-sword/include,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include" + PreprocessorDefinitions="NDEBUG;_ICU_;WIN32;_LIB;REGEX_MALLOC" + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\ICURelease/libsword.pch" + AssemblerListingLocation=".\ICURelease/" + ObjectFile=".\ICURelease/" + ProgramDataBaseFileName=".\ICURelease/" + SuppressStartupBanner="true" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libsword.lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + <ProjectReference + ReferencedProjectIdentifier="{97449E5E-F880-4D22-933A-0D2FC32034D4}" + RelativePathToProject=".\libsword.vcproj" + /> + </References> + <Files> + <Filter + Name="Sword Source Files" + > + <File + RelativePath=".\Sword.cxx" + > + </File> + </Filter> + <Filter + Name="Sword Header Files" + > + <File + RelativePath="..\..\..\include\apocrypha.h" + > + </File> + <File + RelativePath="..\..\..\include\canon.h" + > + </File> + <File + RelativePath="..\..\..\include\cdsourcemgr.h" + > + </File> + <File + RelativePath="..\..\..\include\cipherfil.h" + > + </File> + <File + RelativePath="..\..\..\include\defs.h" + > + </File> + <File + RelativePath="..\..\..\include\echomod.h" + > + </File> + <File + RelativePath="..\..\..\include\encfiltmgr.h" + > + </File> + <File + RelativePath="..\..\..\include\entriesblk.h" + > + </File> + <File + RelativePath="..\..\..\include\femain.h" + > + </File> + <File + RelativePath="..\..\..\include\filemgr.h" + > + </File> + <File + RelativePath="..\..\..\include\flatapi.h" + > + </File> + <File + RelativePath="..\..\..\include\ftpparse.h" + > + </File> + <File + RelativePath="..\..\..\include\gbffootnotes.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfheadings.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfhtml.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfhtmlhref.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfmorph.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfosis.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfplain.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfredletterwords.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfrtf.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfstrongs.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfthml.h" + > + </File> + <File + RelativePath="..\..\..\include\gbfwebif.h" + > + </File> + <File + RelativePath="..\..\..\include\Greek2Greek.h" + > + </File> + <File + RelativePath="..\..\..\include\GreekChars.h" + > + </File> + <File + RelativePath="..\..\..\include\greeklexattribs.h" + > + </File> + <File + RelativePath="..\..\..\include\hebrewmcim.h" + > + </File> + <File + RelativePath="..\..\..\include\hrefcom.h" + > + </File> + <File + RelativePath="..\..\..\include\latin1utf16.h" + > + </File> + <File + RelativePath="..\..\..\include\latin1utf8.h" + > + </File> + <File + RelativePath="..\..\..\include\listkey.h" + > + </File> + <File + RelativePath="..\..\..\include\localemgr.h" + > + </File> + <File + RelativePath="..\..\..\include\lzsscomprs.h" + > + </File> + <File + RelativePath="..\..\..\include\markupfiltmgr.h" + > + </File> + <File + RelativePath="..\..\..\include\multimapwdef.h" + > + </File> + <File + RelativePath="..\..\..\include\nullim.h" + > + </File> + <File + RelativePath="..\..\..\include\osisfootnotes.h" + > + </File> + <File + RelativePath="..\..\..\include\osisheadings.h" + > + </File> + <File + RelativePath="..\..\..\include\osishtmlhref.h" + > + </File> + <File + RelativePath="..\..\..\include\osislemma.h" + > + </File> + <File + RelativePath="..\..\..\include\osismorph.h" + > + </File> + <File + RelativePath="..\..\..\include\osismorphsegmentation.h" + > + </File> + <File + RelativePath="..\..\..\include\osisosis.h" + > + </File> + <File + RelativePath="..\..\..\include\osisplain.h" + > + </File> + <File + RelativePath="..\..\..\include\osisredletterwords.h" + > + </File> + <File + RelativePath="..\..\..\include\osisrtf.h" + > + </File> + <File + RelativePath="..\..\..\include\osisscripref.h" + > + </File> + <File + RelativePath="..\..\..\include\osisstrongs.h" + > + </File> + <File + RelativePath="..\..\..\include\osiswebif.h" + > + </File> + <File + RelativePath="..\..\..\include\papyriplain.h" + > + </File> + <File + RelativePath="..\..\..\include\rawcom.h" + > + </File> + <File + RelativePath="..\..\..\include\rawfiles.h" + > + </File> + <File + RelativePath="..\..\..\include\rawgbf.h" + > + </File> + <File + RelativePath="..\..\..\include\rawgenbook.h" + > + </File> + <File + RelativePath="..\..\..\include\rawld.h" + > + </File> + <File + RelativePath="..\..\..\include\rawld4.h" + > + </File> + <File + RelativePath="..\..\..\include\rawstr.h" + > + </File> + <File + RelativePath="..\..\..\include\rawstr4.h" + > + </File> + <File + RelativePath="..\..\..\include\rawtext.h" + > + </File> + <File + RelativePath="..\..\..\include\rawverse.h" + > + </File> + <File + RelativePath="..\..\..\include\regex.h" + > + </File> + <File + RelativePath="..\..\..\include\remotesourcemgr.h" + > + </File> + <File + RelativePath="..\..\..\include\roman.h" + > + </File> + <File + RelativePath="..\..\..\include\rtfhtml.h" + > + </File> + <File + RelativePath="..\..\..\include\sapphire.h" + > + </File> + <File + RelativePath="..\..\..\include\scsuutf8.h" + > + </File> + <File + RelativePath="..\..\..\include\stringmgr.h" + > + </File> + <File + RelativePath="..\..\..\include\strkey.h" + > + </File> + <File + RelativePath="..\..\..\include\swbasicfilter.h" + > + </File> + <File + RelativePath="..\..\..\include\swbuf.h" + > + </File> + <File + RelativePath="..\..\..\include\swcacher.h" + > + </File> + <File + RelativePath="..\..\..\include\swcipher.h" + > + </File> + <File + RelativePath="..\..\..\include\swcom.h" + > + </File> + <File + RelativePath="..\..\..\include\swcomprs.h" + > + </File> + <File + RelativePath="..\..\..\include\swconfig.h" + > + </File> + <File + RelativePath="..\..\..\include\swdisp.h" + > + </File> + <File + RelativePath="..\..\..\include\swdisprtf.h" + > + </File> + <File + RelativePath="..\..\..\include\swdisprtfchap.h" + > + </File> + <File + RelativePath="..\..\..\include\swfilter.h" + > + </File> + <File + RelativePath="..\..\..\include\swfiltermgr.h" + > + </File> + <File + RelativePath="..\..\..\include\swgenbook.h" + > + </File> + <File + RelativePath="..\..\..\include\swinputmeth.h" + > + </File> + <File + RelativePath="..\..\..\include\swinstallmgr.h" + > + </File> + <File + RelativePath="..\..\..\include\swkey.h" + > + </File> + <File + RelativePath="..\..\..\include\swld.h" + > + </File> + <File + RelativePath="..\..\..\include\swlocale.h" + > + </File> + <File + RelativePath="..\..\..\include\swlog.h" + > + </File> + <File + RelativePath="..\..\..\include\swmacs.h" + > + </File> + <File + RelativePath="..\..\..\include\swmgr.h" + > + </File> + <File + RelativePath="..\..\..\include\swmodule.h" + > + </File> + <File + RelativePath="..\..\..\include\swobject.h" + > + </File> + <File + RelativePath="..\..\..\include\swoptfilter.h" + > + </File> + <File + RelativePath="..\..\..\include\swremotemgr.h" + > + </File> + <File + RelativePath="..\..\..\include\swsearchable.h" + > + </File> + <File + RelativePath="..\..\..\include\swtext.h" + > + </File> + <File + RelativePath="..\..\..\include\swversion.h" + > + </File> + <File + RelativePath="..\..\..\include\swwinlog.h" + > + </File> + <File + RelativePath="..\..\..\include\sysdata.h" + > + </File> + <File + RelativePath="..\..\..\include\tbdisp.h" + > + </File> + <File + RelativePath="..\..\..\include\teiplain.h" + > + </File> + <File + RelativePath="..\..\..\include\teirtf.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlfootnotes.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlgbf.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlheadings.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlhtml.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlhtmlhref.h" + > + </File> + <File + RelativePath="..\..\..\include\thmllemma.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlmorph.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlosis.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlplain.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlrtf.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlscripref.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlstrongs.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlvariants.h" + > + </File> + <File + RelativePath="..\..\..\include\thmlwebif.h" + > + </File> + <File + RelativePath="..\..\..\include\treekey.h" + > + </File> + <File + RelativePath="..\..\..\include\treekeyidx.h" + > + </File> + <File + RelativePath="..\..\..\include\unicodertf.h" + > + </File> + <File + RelativePath="..\..\..\include\unixstr.h" + > + </File> + <File + RelativePath="..\..\..\include\untgz.h" + > + </File> + <File + RelativePath="..\..\..\include\url.h" + > + </File> + <File + RelativePath="..\..\..\include\utf16utf8.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8arshaping.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8bidireorder.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8cantillation.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8greekaccents.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8hebrewpoints.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8arabicpoints.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8html.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8latin1.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8nfc.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8nfkd.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8transliterator.h" + > + </File> + <File + RelativePath="..\..\..\include\utf8utf16.h" + > + </File> + <File + RelativePath="..\..\..\include\utilfuns.h" + > + </File> + <File + RelativePath="..\..\..\include\utilstr.h" + > + </File> + <File + RelativePath="..\..\..\include\utilxml.h" + > + </File> + <File + RelativePath="..\..\..\include\versekey.h" + > + </File> + <File + RelativePath="..\..\..\include\versetreekey.h" + > + </File> + <File + RelativePath="..\..\..\include\zcom.h" + > + </File> + <File + RelativePath="..\..\..\include\zconf.h" + > + </File> + <File + RelativePath="..\..\..\include\zipcomprs.h" + > + </File> + <File + RelativePath="..\..\..\include\zld.h" + > + </File> + <File + RelativePath="..\..\..\include\zlib.h" + > + </File> + <File + RelativePath="..\..\..\include\zstr.h" + > + </File> + <File + RelativePath="..\..\..\include\ztext.h" + > + </File> + <File + RelativePath="..\..\..\include\zverse.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/bindings/usrinst.sh b/bindings/usrinst.sh index f584050..27dbb30 100755 --- a/bindings/usrinst.sh +++ b/bindings/usrinst.sh @@ -2,7 +2,7 @@ #****************************************************************************** # Convenience script specifying most common options to ./configure # -# $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $ +# $Id: usrinst.sh 3063 2014-03-04 13:04:11Z chrislit $ # # Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org) # CrossWire Bible Society |