summaryrefslogtreecommitdiff
path: root/bindings
diff options
context:
space:
mode:
authorRoberto C. Sanchez <roberto@connexer.com>2014-03-29 10:54:04 -0400
committerRoberto C. Sanchez <roberto@connexer.com>2014-03-29 10:54:04 -0400
commitb745315323de9f27538edac9453205ca70e6186e (patch)
treee804cd15cf894a2a14aab6c5224bc242273dc3ba /bindings
parent936d9e8484ff73282c8c0a277310d1ffdde86e10 (diff)
Imported Upstream version 1.6.2+dfsg
Diffstat (limited to 'bindings')
-rw-r--r--bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java66
-rw-r--r--bindings/corba/java/src/org/crosswire/util/Base64.java172
-rw-r--r--bindings/corba/omniorbcpp/swordorb-impl.cpp20
-rw-r--r--bindings/corba/orbitcpp/swordorb-impl.cpp24
-rw-r--r--bindings/corba/swordorb.idl5
-rw-r--r--bindings/java-jni/README39
-rw-r--r--bindings/java-jni/jni/Android.mk23
-rw-r--r--bindings/java-jni/jni/swordstub.cpp4
-rw-r--r--bindings/objc/English.lproj/InfoPlist.strings2
-rw-r--r--bindings/objc/Info copy.plist28
-rw-r--r--bindings/objc/Info.plist28
-rw-r--r--bindings/objc/ObjCSword.h31
-rw-r--r--bindings/objc/ObjCSword.xcodeproj/project.pbxproj3476
-rw-r--r--bindings/objc/ObjCSword_Prefix.pch15
-rw-r--r--bindings/objc/README22
-rw-r--r--bindings/objc/Tests-Info.plist22
-rw-r--r--bindings/objc/build_clucene/Makefile25
-rwxr-xr-xbindings/objc/build_clucene/build_mac_clucene.sh158
-rw-r--r--bindings/objc/build_sword/Makefile25
-rwxr-xr-xbindings/objc/build_sword/build_mac_sword.sh170
-rwxr-xr-xbindings/objc/build_sword/build_ub_mac_swordutils.sh56
-rw-r--r--bindings/objc/build_sword/readme.txt8
-rwxr-xr-xbindings/objc/dependencies/retrieve.sh11
-rw-r--r--bindings/objc/doc/SWORD-HOWTO.txt55
-rw-r--r--bindings/objc/doc/search.txt21
-rw-r--r--bindings/objc/src/Notifications.h16
-rw-r--r--bindings/objc/src/SwordBible.h64
-rw-r--r--bindings/objc/src/SwordBible.mm477
-rw-r--r--bindings/objc/src/SwordBibleBook.h51
-rw-r--r--bindings/objc/src/SwordBibleBook.mm112
-rw-r--r--bindings/objc/src/SwordBibleChapter.h24
-rw-r--r--bindings/objc/src/SwordBibleChapter.m35
-rw-r--r--bindings/objc/src/SwordBibleTextEntry.h21
-rw-r--r--bindings/objc/src/SwordBibleTextEntry.m38
-rw-r--r--bindings/objc/src/SwordBook.h39
-rw-r--r--bindings/objc/src/SwordBook.mm153
-rw-r--r--bindings/objc/src/SwordCommentary.h33
-rw-r--r--bindings/objc/src/SwordCommentary.mm81
-rw-r--r--bindings/objc/src/SwordDictionary.h28
-rw-r--r--bindings/objc/src/SwordDictionary.mm181
-rw-r--r--bindings/objc/src/SwordInstallSource.h72
-rw-r--r--bindings/objc/src/SwordInstallSource.mm196
-rw-r--r--bindings/objc/src/SwordInstallSourceController.h101
-rw-r--r--bindings/objc/src/SwordInstallSourceController.mm333
-rw-r--r--bindings/objc/src/SwordKey.h47
-rw-r--r--bindings/objc/src/SwordKey.mm124
-rw-r--r--bindings/objc/src/SwordListKey.h45
-rw-r--r--bindings/objc/src/SwordListKey.mm115
-rw-r--r--bindings/objc/src/SwordLocaleManager.h22
-rw-r--r--bindings/objc/src/SwordLocaleManager.mm62
-rw-r--r--bindings/objc/src/SwordManager.h238
-rw-r--r--bindings/objc/src/SwordManager.mm436
-rw-r--r--bindings/objc/src/SwordModule+Index.h19
-rw-r--r--bindings/objc/src/SwordModule+Index.mm51
-rw-r--r--bindings/objc/src/SwordModule.h355
-rw-r--r--bindings/objc/src/SwordModule.mm700
-rw-r--r--bindings/objc/src/SwordModuleTextEntry.h24
-rw-r--r--bindings/objc/src/SwordModuleTextEntry.m42
-rw-r--r--bindings/objc/src/SwordModuleTreeEntry.h22
-rw-r--r--bindings/objc/src/SwordModuleTreeEntry.m38
-rw-r--r--bindings/objc/src/SwordVerseKey.h55
-rw-r--r--bindings/objc/src/SwordVerseKey.mm167
-rw-r--r--bindings/objc/src/SwordVerseManager.h36
-rw-r--r--bindings/objc/src/SwordVerseManager.mm85
-rw-r--r--bindings/objc/src/VerseEnumerator.h22
-rw-r--r--bindings/objc/src/VerseEnumerator.mm57
-rw-r--r--bindings/objc/src/services/Configuration.h44
-rw-r--r--bindings/objc/src/services/Configuration.m46
-rw-r--r--bindings/objc/src/services/OSXConfiguration.h22
-rw-r--r--bindings/objc/src/services/OSXConfiguration.m38
-rw-r--r--bindings/objc/test/SwordListKeyTest.h14
-rw-r--r--bindings/objc/test/SwordListKeyTest.m51
-rw-r--r--bindings/objc/test/SwordManagerTest.h16
-rw-r--r--bindings/objc/test/SwordManagerTest.m26
-rw-r--r--bindings/objc/test/SwordModuleLongRunTest.h17
-rw-r--r--bindings/objc/test/SwordModuleLongRunTest.mm89
-rw-r--r--bindings/objc/test/SwordModuleTest.h17
-rw-r--r--bindings/objc/test/SwordModuleTest.m217
-rw-r--r--bindings/swig/local/std_multimap.i166
-rw-r--r--bindings/swig/package/Makefile.in27
-rw-r--r--bindings/swig/package/aclocal.m48894
-rwxr-xr-xbindings/swig/package/autogen.sh1
-rwxr-xr-xbindings/swig/package/config.guess239
-rwxr-xr-xbindings/swig/package/config.sub91
-rwxr-xr-xbindings/swig/package/configure15747
-rw-r--r--bindings/swig/package/configure.ac4
-rw-r--r--bindings/swig/package/local/std_multimap.i166
-rwxr-xr-x[-rw-r--r--]bindings/swig/package/ltmain.sh8440
-rw-r--r--bindings/swig/package/sword.i2
-rw-r--r--bindings/swig/package/templates.i6
-rw-r--r--bindings/swig/sword.i2
-rwxr-xr-x[-rw-r--r--]bindings/swig/sword.pl23
-rw-r--r--bindings/swig/templates.i6
93 files changed, 26395 insertions, 17339 deletions
diff --git a/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java b/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
index 1816c77..bde7478 100644
--- a/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
+++ b/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
@@ -45,6 +45,31 @@ public class SwordOrb extends Object implements HttpSessionBindingListener {
public static final String GENBOOKS = "Generic Books";
public static final String DAILYDEVOS = "Daily Devotional";
+
+ public static final int DEBUG = 9;
+ public static final int INFO = 7;
+ public static final int WARN = 5;
+ public static final int ERROR = 2;
+ public static final int NONE = 0;
+
+ // set this to your desired debug output level
+ public static int debugLevel = INFO;
+
+
+ static void log(int level, String message, Throwable e) {
+ if (debugLevel >= level) {
+ System.err.println(new Date() + " | " + message);
+ // some warnings give a stackstrace, but we don't want to
+ // see the stacktrace part unless our current run level is set to DEBUG
+ if (debugLevel >= DEBUG && e != null) {
+ System.err.println(e);
+ e.printStackTrace(System.err);
+ }
+ }
+ }
+
+
+
static java.util.Properties p = new java.util.Properties();
static {
p.setProperty("com.sun.CORBA.codeset.charsets", "0x05010001, 0x00010109"); // UTF-8, UTF-16
@@ -52,7 +77,7 @@ public class SwordOrb extends Object implements HttpSessionBindingListener {
}
static org.omg.CORBA.ORB orb = org.omg.CORBA_2_3.ORB.init(new String[]{}, p);
- static Hashtable clients = new Hashtable();
+ static Hashtable<String, Vector<SwordOrb>> clients = new Hashtable<String, Vector<SwordOrb>>();
String ior = null;
String remoteAddr = null;
String localeName = null;
@@ -69,17 +94,22 @@ public class SwordOrb extends Object implements HttpSessionBindingListener {
SWMgr retVal = null;
try {
-System.out.println("attaching...");
+log(INFO, "attaching...", null);
org.omg.CORBA.Object obj = orb.string_to_object(ior);
retVal = SWMgrHelper.narrow(obj);
-System.out.println("calling testConnection");
- retVal.testConnection();
-System.out.println("testConnection successful");
+log(INFO, "calling testConnection", null);
+ try {
+ retVal.testConnection();
+log(INFO, "testConnection successful", null);
+ }
+ catch (Throwable e) {
+log(WARN, "We lost our ORB service. No worries, it was likely just reaped by a cron to killall ORB services. We'll respawn another...", e);
+ retVal = null;
+ }
}
catch(Throwable e) {
-// e.printStackTrace();
retVal = null;
-System.out.println("failed in attach");
+log(ERROR, "failed in attach", e);
}
return retVal;
}
@@ -93,7 +123,7 @@ System.out.println("failed in attach");
public void finalize () throws Throwable {
// shut down external process
try {
-System.out.println("calling finalize.");
+log(INFO, "calling finalize.", null);
getSWMgrInstance().terminate();
}
catch (Exception e) {} // we know this doesn't return property cuz we killed the orb! :)
@@ -112,7 +142,7 @@ int size = -1;
size = orbs.size();
orbs.remove(this);
}
-System.out.println("calling valueUnbound. size before: " + size + "; size after: "+orbs.size());
+log(INFO, "calling valueUnbound. size before: " + size + "; size after: "+orbs.size(), null);
getSWMgrInstance().terminate();
}
catch (Exception e) {} // we know this doesn't return properly cuz we killed the orb! :)
@@ -145,7 +175,7 @@ System.out.println("calling valueUnbound. size before: " + size + "; size after:
line = input.readLine();
// retVal = p.waitFor();
ior = line;
-System.out.println("Launched ORB, IOR: " + ior);
+log(INFO, "Launched ORB, IOR: " + ior, null);
}
catch (Exception e) {e.printStackTrace();}
}
@@ -169,18 +199,18 @@ System.out.println("Launched ORB, IOR: " + ior);
checkAccessAbuse();
SWMgr retVal = null;
try {
-System.out.println("trying to attach to running ORB");
+log(INFO, "trying to see if we have and attach to a running ORB", null);
retVal = attach();
}
catch(Exception e) {
-// e.printStackTrace();
+log(ERROR, "exception attaching to running ORB", e);
retVal = null;
}
if (retVal == null) {
try {
-System.out.println("no ORB running; trying to launch");
+log(INFO, "no ORB running; trying to launch", null);
startOrb();
-System.out.println("trying to attach to newly launched ORB");
+log(INFO, "trying to attach to newly launched ORB", null);
retVal = attach();
if (retVal != null) {
if (localeName != null) {
@@ -209,11 +239,11 @@ System.out.println("trying to attach to newly launched ORB");
SwordOrb orb = (SwordOrb)session.getAttribute("SwordOrb");
String remoteAddr = request.getRemoteAddr();
if (orb == null) {
-System.out.println("No ORB found in session; constructing a new instance");
+log(INFO, "No ORB found in session; constructing a new instance", null);
- Vector orbs = (Vector)clients.get(remoteAddr);
+ Vector<SwordOrb> orbs = clients.get(remoteAddr);
if (orbs == null) {
- orbs = new Vector();
+ orbs = new Vector<SwordOrb>();
clients.put(remoteAddr, orbs);
}
if (orbs.size() < MAX_REMOTE_ADDR_CONNECTIONS) {
@@ -229,7 +259,7 @@ System.out.println("No ORB found in session; constructing a new instance");
else throw new Exception("Max Remote Addr Connections from: ["+remoteAddr+"]");
}
else {
-System.out.println("ORB found in session");
+log(INFO, "ORB found in session", null);
}
return orb;
}
diff --git a/bindings/corba/java/src/org/crosswire/util/Base64.java b/bindings/corba/java/src/org/crosswire/util/Base64.java
index a34401e..a4eabbc 100644
--- a/bindings/corba/java/src/org/crosswire/util/Base64.java
+++ b/bindings/corba/java/src/org/crosswire/util/Base64.java
@@ -117,178 +117,6 @@ public class Base64
- /**
- * Testing. Feel free--in fact I encourage you--to throw out
- * this entire "main" method when you actually deploy this code.
- */
- public static void main( String[] args )
- {
- try
- {
- // Test encoding/decoding byte arrays
- {
- byte[] bytes1 = { (byte)2,(byte)2,(byte)3,(byte)0,(byte)9 }; // My zip code
- byte[] bytes2 = { (byte)99,(byte)2,(byte)2,(byte)3,(byte)0,(byte)9 };
- System.out.println( "Bytes 2,2,3,0,9 as Base64: " + encodeBytes( bytes1 ) );
- System.out.println( "Bytes 2,2,3,0,9 w/ offset: " + encodeBytes( bytes2, 1, bytes2.length-1 ) );
- byte[] dbytes = decode( encodeBytes( bytes1 ) );
- System.out.print( encodeBytes( bytes1 ) + " decoded: " );
- for( int i = 0; i < dbytes.length; i++ )
- System.out.print( dbytes[i] + (i<dbytes.length-1?",":"\n") );
- } // end testing byte arrays
-
-
-
-
- // Test Input Stream
- {
- // Read GIF stored in base64 form.
- java.io.FileInputStream fis = new java.io.FileInputStream( "test.gif.b64" );
- Base64.InputStream b64is = new Base64.InputStream( fis, DECODE );
-
- byte[] bytes = new byte[0];
- int b = -1;
- while( (b = b64is.read()) >= 0 ){
- byte[] temp = new byte[ bytes.length + 1 ];
- System.arraycopy( bytes,0, temp,0,bytes.length );
- temp[bytes.length] = (byte)b;
- bytes = temp;
- } // end while: terribly inefficient way to read data
- b64is.close();
- javax.swing.ImageIcon iicon = new javax.swing.ImageIcon( bytes );
- javax.swing.JLabel jlabel = new javax.swing.JLabel( "Read from test.gif.b64", iicon,0 );
- javax.swing.JFrame jframe = new javax.swing.JFrame();
- jframe.getContentPane().add( jlabel );
- jframe.pack();
- jframe.show();
-
- // Write raw bytes to file
- java.io.FileOutputStream fos = new java.io.FileOutputStream( "test.gif_out" );
- fos.write( bytes );
- fos.close();
-
- // Read raw bytes and encode
- fis = new java.io.FileInputStream( "test.gif_out" );
- b64is = new Base64.InputStream( fis, ENCODE );
- byte[] ebytes = new byte[0];
- b = -1;
- while( (b = b64is.read()) >= 0 ){
- byte[] temp = new byte[ ebytes.length + 1 ];
- System.arraycopy( ebytes,0, temp,0,ebytes.length );
- temp[ebytes.length] = (byte)b;
- ebytes = temp;
- } // end while: terribly inefficient way to read data
- b64is.close();
- String s = new String( ebytes );
- javax.swing.JTextArea jta = new javax.swing.JTextArea( s );
- javax.swing.JScrollPane jsp = new javax.swing.JScrollPane( jta );
- jframe = new javax.swing.JFrame();
- jframe.setTitle( "Read from test.gif_out" );
- jframe.getContentPane().add( jsp );
- jframe.pack();
- jframe.show();
-
- // Write encoded bytes to file
- fos = new java.io.FileOutputStream( "test.gif.b64_out" );
- fos.write( ebytes );
-
- // Read GIF stored in base64 form.
- fis = new java.io.FileInputStream( "test.gif.b64_out" );
- b64is = new Base64.InputStream( fis, DECODE );
- byte[] edbytes = new byte[0];
- b = -1;
- while( (b = b64is.read()) >= 0 ){
- byte[] temp = new byte[ edbytes.length + 1 ];
- System.arraycopy( edbytes,0, temp,0,edbytes.length );
- temp[edbytes.length] = (byte)b;
- edbytes = temp;
- } // end while: terribly inefficient way to read data
- b64is.close();
- iicon = new javax.swing.ImageIcon( edbytes );
- jlabel = new javax.swing.JLabel( "Read from test.gif.b64_out", iicon,0 );
- jframe = new javax.swing.JFrame();
- jframe.getContentPane().add( jlabel );
- jframe.pack();
- jframe.show();
- } // end: Test Input Stream
-
-
- // Test Output Stream
- {
- // Read raw bytes
- java.io.FileInputStream fis = new java.io.FileInputStream( "test.gif_out" );
- byte[] rbytes = new byte[0];
- int b = -1;
- while( (b = fis.read()) >= 0 ){
- byte[] temp = new byte[ rbytes.length + 1 ];
- System.arraycopy( rbytes,0, temp,0,rbytes.length );
- temp[rbytes.length] = (byte)b;
- rbytes = temp;
- } // end while: terribly inefficient way to read data
- fis.close();
-
- // Write raw bytes to encoded file
- java.io.FileOutputStream fos = new java.io.FileOutputStream("test.gif.b64_out2");
- Base64.OutputStream b64os = new Base64.OutputStream( fos, ENCODE );
- b64os.write( rbytes );
- b64os.close();
-
-
- // Read raw bytes that are actually encoded (but we'll ignore that)
- fis = new java.io.FileInputStream( "test.gif.b64_out2" );
- byte[] rebytes = new byte[0];
- b = -1;
- while( (b = fis.read()) >= 0 ){
- byte[] temp = new byte[ rebytes.length + 1 ];
- System.arraycopy( rebytes,0, temp,0,rebytes.length );
- temp[rebytes.length] = (byte)b;
- rebytes = temp;
- } // end while: terribly inefficient way to read data
- fis.close();
- String s = new String( rebytes );
- javax.swing.JTextArea jta = new javax.swing.JTextArea( s );
- javax.swing.JScrollPane jsp = new javax.swing.JScrollPane( jta );
- javax.swing.JFrame jframe = new javax.swing.JFrame();
- jframe.setTitle( "Read from test.gif.b64_out2" );
- jframe.getContentPane().add( jsp );
- jframe.pack();
- jframe.show();
-
- // Write encoded bytes to decoded raw file
- fos = new java.io.FileOutputStream("test.gif_out2");
- b64os = new Base64.OutputStream( fos, DECODE );
- b64os.write( rebytes );
- b64os.close();
- javax.swing.ImageIcon iicon = new javax.swing.ImageIcon( "test.gif_out2" );
- javax.swing.JLabel jlabel = new javax.swing.JLabel( "Read from test.gif_out2", iicon,0 );
- jframe = new javax.swing.JFrame();
- jframe.getContentPane().add( jlabel );
- jframe.pack();
- jframe.show();
-
- } // end: Test Output Stream
-
-
- // Test wagner's files
- {
- java.io.FileInputStream fis = new java.io.FileInputStream("D:\\temp\\testencoding.txt");
- Base64.InputStream b64is = new Base64.InputStream( fis, DECODE );
- java.io.FileOutputStream fos = new java.io.FileOutputStream("D:\\temp\\file.zip");
- int b;
- while( (b=b64is.read()) >= 0 )
- fos.write( b );
- fos.close();
- b64is.close();
-
- } // end test wagner's file
-
- } // end try
- catch( Exception e)
- { e.printStackTrace();
- }
- } // end main
-
-
/* ******** E N C O D I N G M E T H O D S ******** */
diff --git a/bindings/corba/omniorbcpp/swordorb-impl.cpp b/bindings/corba/omniorbcpp/swordorb-impl.cpp
index e33d879..d36c6a8 100644
--- a/bindings/corba/omniorbcpp/swordorb-impl.cpp
+++ b/bindings/corba/omniorbcpp/swordorb-impl.cpp
@@ -191,13 +191,21 @@ swordorb::StringList* swordorb_SWModule_i::parseKeyList(const char* keyText){
void swordorb_SWModule_i::setKeyText(const char* keyText) {
sword::SWKey *key = delegate->getKey();
sword::VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key);
- if (vkey && (*keyText=='+' ||*keyText=='-')) {
- if (!stricmp(keyText+1, "book")) {
- vkey->setBook(vkey->getBook() + ((*keyText=='+')?1:-1));
- return;
+ if (vkey) {
+ if ((*keyText=='+' || *keyText=='-')) {
+ if (!stricmp(keyText+1, "book")) {
+ vkey->setBook(vkey->getBook() + ((*keyText=='+')?1:-1));
+ return;
+ }
+ else if (!stricmp(keyText+1, "chapter")) {
+ vkey->setChapter(vkey->getChapter() + ((*keyText=='+')?1:-1));
+ return;
+ }
}
- else if (!stricmp(keyText+1, "chapter")) {
- vkey->setChapter(vkey->getChapter() + ((*keyText=='+')?1:-1));
+ else if (*keyText=='=') {
+ vkey->Headings(true);
+ vkey->AutoNormalize(false);
+ vkey->setText(keyText+1);
return;
}
}
diff --git a/bindings/corba/orbitcpp/swordorb-impl.cpp b/bindings/corba/orbitcpp/swordorb-impl.cpp
index 13763be..d45832a 100644
--- a/bindings/corba/orbitcpp/swordorb-impl.cpp
+++ b/bindings/corba/orbitcpp/swordorb-impl.cpp
@@ -287,21 +287,29 @@ StringList *SWModule_impl::getEntryAttribute(const char *level1, const char *lev
return retVal;
}
-void SWModule_impl::setKeyText(const char *key) throw(CORBA::SystemException) {
+void SWModule_impl::setKeyText(const char *keyText) throw(CORBA::SystemException) {
sword::SWKey *key = delegate->getKey();
sword::VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key);
- if (vkey && (*keyText=='+' ||*keyText=='-')) {
- if (!stricmp(keyText+1, "book")) {
- vkey->setBook(vkey->getBook() + ((*keyText=='+')?1:-1));
- return;
+ if (vkey) {
+ if ((*keyText=='+' || *keyText=='-')) {
+ if (!stricmp(keyText+1, "book")) {
+ vkey->setBook(vkey->getBook() + ((*keyText=='+')?1:-1));
+ return;
+ }
+ else if (!stricmp(keyText+1, "chapter")) {
+ vkey->setChapter(vkey->getChapter() + ((*keyText=='+')?1:-1));
+ return;
+ }
}
- else if (!stricmp(keyText+1, "chapter")) {
- vkey->setChapter(vkey->getChapter() + ((*keyText=='+')?1:-1));
+ else if (*keyText=='=') {
+ vkey->Headings(true);
+ vkey->AutoNormalize(false);
+ vkey->setText(keyText+1);
return;
}
}
- delegate->KeyText(key);
+ delegate->KeyText(keyText);
}
StringList *SWModule_impl::getKeyChildren() throw(CORBA::SystemException) {
diff --git a/bindings/corba/swordorb.idl b/bindings/corba/swordorb.idl
index 0952b27..9d34bec 100644
--- a/bindings/corba/swordorb.idl
+++ b/bindings/corba/swordorb.idl
@@ -63,8 +63,11 @@ interface SWModule {
StringList getEntryAttribute(in string level1, in string level2, in string level3, in boolean filtered);
StringList parseKeyList(in string keyText);
- // Special values handled for VerseKey modules: [+-][book|chapter]
+ // Special values handled for VerseKey modules:
+ // [+-][book|chapter] - [de|in]crement by chapter or book
// (e.g. "+chapter" will increment the VerseKey 1 chapter)
+ // [=][key] - position absolutely and don't normalize
+ // (e.g. "jn.1.0" for John Chapter 1 intro; "jn.0.0" For Book of John Intro)
void setKeyText(in string key);
string getKeyText();
diff --git a/bindings/java-jni/README b/bindings/java-jni/README
new file mode 100644
index 0000000..1328bf0
--- /dev/null
+++ b/bindings/java-jni/README
@@ -0,0 +1,39 @@
+Android Build Instructions
+
+You'll need an NDK with STL support. I have been trying crystax' release
+lately. You can find it on the web.
+
+After that, you'll need a basic Application.mk file to place in your
+apps folder. Mine for bishop is here:
+
+~/android-ndk-r3-crystax/apps/bishop/Application.mk
+
+and contains:
+
+APP_PROJECT_PATH := $(call my-dir)/../../../src/bishop
+APP_MODULES := sword swordcore
+APP_PLATFORM := android-3
+
+and 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-r3-crystax/
+/home/scribe/android-ndk-r3-crystax/apps/bishop/Application.mk
+
+with:
+
+APP_PROJECT_PATH := $(call my-dir)/../../../src/bishop
+APP_MODULES := sword swordcore
+APP_PLATFORM := android-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 6f2520d..c261081 100644
--- a/bindings/java-jni/jni/Android.mk
+++ b/bindings/java-jni/jni/Android.mk
@@ -25,14 +25,10 @@ LOCAL_PATH:= $(call my-dir)
#
include $(CLEAR_VARS)
-STLPORT_BASE := $(NDK_WRAPPERS_BASE)/stlport
-
LOCAL_MODULE := libswordcore
-LOCAL_C_INCLUDES := ../sword/include
-LOCAL_CFLAGS += -I$(STLPORT_BASE)/stlport \
- -D__NEW__ \
- -D__unix__ \
- -D__SGI_STL_INTERNAL_PAIR_H \
+LOCAL_C_INCLUDES := ../sword/include ../sword/include/internal/regex
+LOCAL_CFLAGS += -D__unix__ \
+ -Dunix \
-D_FTPLIB_NO_COMPAT \
-DANDROID \
-DOS_ANDROID
@@ -188,18 +184,15 @@ include $(BUILD_STATIC_LIBRARY)
#
include $(CLEAR_VARS)
-STLPORT_BASE := $(NDK_WRAPPERS_BASE)/stlport
-
LOCAL_MODULE := libsword
-LOCAL_C_INCLUDES := ../sword/include
-LOCAL_CFLAGS += -I$(STLPORT_BASE)/stlport \
- -D__NEW__ \
- -D__SGI_STL_INTERNAL_PAIR_H \
+LOCAL_C_INCLUDES := ../sword/include ../sword/include/internal/regex
+LOCAL_CFLAGS += -D__unix__ \
+ -Dunix \
+ -D_FTPLIB_NO_COMPAT \
-DANDROID \
-DOS_ANDROID
-LOCAL_LDLIBS += -L$(STLPORT_BASE)/build/lib/obj/arm-linux-gcc/so \
- -lstlport -lz -llog
+LOCAL_LDLIBS += -lz -llog
LOCAL_SRC_FILES := swordstub.cpp
diff --git a/bindings/java-jni/jni/swordstub.cpp b/bindings/java-jni/jni/swordstub.cpp
index f3a573f..476d204 100644
--- a/bindings/java-jni/jni/swordstub.cpp
+++ b/bindings/java-jni/jni/swordstub.cpp
@@ -1117,6 +1117,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search
init();
+ const int MAX_RETURN_COUNT = 200;
const char *expression = env->GetStringUTFChars(expressionJS, NULL);
const char *scope = env->GetStringUTFChars(scopeJS, NULL);
@@ -1149,6 +1150,8 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search
int count = 0;
for (result = sword::TOP; !result.Error(); result++) count++;
+ if (count > MAX_RETURN_COUNT) count = MAX_RETURN_COUNT;
+
ret = (jobjectArray) env->NewObjectArray(count, clazzSearchHit, NULL);
// if we're sorted by score, let's re-sort by verse, because Java can always re-sort by score
@@ -1166,6 +1169,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search
fieldID = env->GetFieldID(clazzSearchHit, "score", "J"); env->SetLongField(searchHit, fieldID, (long)result.getElement()->userData);
env->SetObjectArrayElement(ret, i++, searchHit);
+ if (i > MAX_RETURN_COUNT) break;
}
}
diff --git a/bindings/objc/English.lproj/InfoPlist.strings b/bindings/objc/English.lproj/InfoPlist.strings
new file mode 100644
index 0000000..88f65cf
--- /dev/null
+++ b/bindings/objc/English.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/bindings/objc/Info copy.plist b/bindings/objc/Info copy.plist
new file mode 100644
index 0000000..3172915
--- /dev/null
+++ b/bindings/objc/Info copy.plist
@@ -0,0 +1,28 @@
+<?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>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>org.crosswire.ObjCSword</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
diff --git a/bindings/objc/Info.plist b/bindings/objc/Info.plist
new file mode 100644
index 0000000..214f4b2
--- /dev/null
+++ b/bindings/objc/Info.plist
@@ -0,0 +1,28 @@
+<?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>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>org.crosswire.ObjCSword</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>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
diff --git a/bindings/objc/ObjCSword.h b/bindings/objc/ObjCSword.h
new file mode 100644
index 0000000..59671c6
--- /dev/null
+++ b/bindings/objc/ObjCSword.h
@@ -0,0 +1,31 @@
+/*
+ * ObjCSword.h
+ * ObjCSword
+ *
+ * Created by Manfred Bergmann on 15.06.10.
+ * Copyright 2010 Software by MABE. All rights reserved.
+ *
+ */
+
+#import <ObjCSword/SwordManager.h>
+#import <ObjCSword/SwordLocaleManager.h>
+#import <ObjCSword/SwordVerseManager.h>
+#import <ObjCSword/SwordModule.h>
+#import <ObjCSword/SwordBible.h>
+#import <ObjCSword/SwordCommentary.h>
+#import <ObjCSword/SwordDictionary.h>
+#import <ObjCSword/SwordBook.h>
+#import <ObjCSword/SwordKey.h>
+#import <ObjCSword/SwordVerseKey.h>
+#import <ObjCSword/SwordListKey.h>
+#import <ObjCSword/SwordBibleBook.h>
+#import <ObjCSword/SwordBibleChapter.h>
+#import <ObjCSword/SwordBibleTextEntry.h>
+#import <ObjCSword/SwordVerseManager.h>
+#import <ObjCSword/SwordInstallSource.h>
+#import <ObjCSword/SwordInstallSourceController.h>
+#import <ObjCSword/SwordModuleTextEntry.h>
+#import <ObjCSword/SwordModuleTreeEntry.h>
+#import <ObjCSword/VerseEnumerator.h>
+#import <ObjCSword/Configuration.h>
+#import <ObjCSword/OSXConfiguration.h>
diff --git a/bindings/objc/ObjCSword.xcodeproj/project.pbxproj b/bindings/objc/ObjCSword.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..5c902c1
--- /dev/null
+++ b/bindings/objc/ObjCSword.xcodeproj/project.pbxproj
@@ -0,0 +1,3476 @@
+// !$*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 */; };
+ A9013CFD11E316C700E1CCCA /* ObjCSword.h in Headers */ = {isa = PBXBuildFile; fileRef = A975EAC411C77862007C1532 /* ObjCSword.h */; };
+ A9013CFE11E316C700E1CCCA /* SwordBible.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABE3117B28910018B06F /* SwordBible.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013CFF11E316C700E1CCCA /* SwordBibleBook.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABE5117B28920018B06F /* SwordBibleBook.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0011E316C700E1CCCA /* SwordBibleChapter.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABE7117B28920018B06F /* SwordBibleChapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0111E316C700E1CCCA /* SwordBibleTextEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABE9117B28920018B06F /* SwordBibleTextEntry.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0211E316C700E1CCCA /* SwordBook.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABEB117B28920018B06F /* SwordBook.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0311E316C700E1CCCA /* SwordCommentary.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABED117B28920018B06F /* SwordCommentary.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0411E316C700E1CCCA /* SwordDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABEF117B28920018B06F /* SwordDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0511E316C700E1CCCA /* SwordInstallSource.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF1117B28920018B06F /* SwordInstallSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0611E316C700E1CCCA /* SwordInstallSourceController.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF3117B28920018B06F /* SwordInstallSourceController.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0711E316C700E1CCCA /* SwordKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF5117B28920018B06F /* SwordKey.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0811E316C700E1CCCA /* SwordListKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF7117B28920018B06F /* SwordListKey.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0911E316C700E1CCCA /* SwordManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABF9117B28920018B06F /* SwordManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0B11E316C700E1CCCA /* SwordModule.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABFD117B28920018B06F /* SwordModule.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0C11E316C700E1CCCA /* SwordModuleTextEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EABFF117B28920018B06F /* SwordModuleTextEntry.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0D11E316C700E1CCCA /* SwordModuleTreeEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EAC01117B28920018B06F /* SwordModuleTreeEntry.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0E11E316C700E1CCCA /* SwordVerseKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EAC05117B28920018B06F /* SwordVerseKey.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D0F11E316C700E1CCCA /* SwordVerseManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EAC07117B28920018B06F /* SwordVerseManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D1011E316C700E1CCCA /* VerseEnumerator.h in Headers */ = {isa = PBXBuildFile; fileRef = A94EAC09117B28920018B06F /* VerseEnumerator.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D1111E316C700E1CCCA /* Notifications.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A2C17C118D9D3D0002873D /* Notifications.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D1211E316C700E1CCCA /* Configuration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2856D11C446B700803CB5 /* Configuration.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D1311E316C700E1CCCA /* OSXConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C2857111C4471400803CB5 /* OSXConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D1411E316C700E1CCCA /* SwordModule+Index.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D4360311C4FE97007AFE83 /* SwordModule+Index.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A9013D1611E316C700E1CCCA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
+ A9013D1E11E316C700E1CCCA /* locales.d in Resources */ = {isa = PBXBuildFile; fileRef = A9D437CE11C52947007AFE83 /* locales.d */; };
+ A9013D2011E316C700E1CCCA /* SwordBible.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABE4117B28910018B06F /* SwordBible.mm */; };
+ A9013D2111E316C700E1CCCA /* SwordBibleBook.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABE6117B28920018B06F /* SwordBibleBook.mm */; };
+ A9013D2211E316C700E1CCCA /* SwordBibleChapter.m in Sources */ = {isa = PBXBuildFile; fileRef = A94EABE8117B28920018B06F /* SwordBibleChapter.m */; };
+ A9013D2311E316C700E1CCCA /* SwordBibleTextEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = A94EABEA117B28920018B06F /* SwordBibleTextEntry.m */; };
+ A9013D2411E316C700E1CCCA /* SwordBook.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABEC117B28920018B06F /* SwordBook.mm */; };
+ A9013D2511E316C700E1CCCA /* SwordCommentary.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABEE117B28920018B06F /* SwordCommentary.mm */; };
+ A9013D2611E316C700E1CCCA /* SwordDictionary.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF0117B28920018B06F /* SwordDictionary.mm */; };
+ A9013D2711E316C700E1CCCA /* SwordInstallSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF2117B28920018B06F /* SwordInstallSource.mm */; };
+ A9013D2811E316C700E1CCCA /* SwordInstallSourceController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF4117B28920018B06F /* SwordInstallSourceController.mm */; };
+ A9013D2911E316C700E1CCCA /* SwordKey.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF6117B28920018B06F /* SwordKey.mm */; };
+ A9013D2A11E316C700E1CCCA /* SwordListKey.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABF8117B28920018B06F /* SwordListKey.mm */; };
+ A9013D2B11E316C700E1CCCA /* SwordManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABFA117B28920018B06F /* SwordManager.mm */; };
+ A9013D2D11E316C700E1CCCA /* SwordModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EABFE117B28920018B06F /* SwordModule.mm */; };
+ A9013D2E11E316C700E1CCCA /* SwordModuleTextEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC00117B28920018B06F /* SwordModuleTextEntry.m */; };
+ A9013D2F11E316C700E1CCCA /* SwordModuleTreeEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC02117B28920018B06F /* SwordModuleTreeEntry.m */; };
+ A9013D3011E316C700E1CCCA /* SwordVerseKey.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC06117B28920018B06F /* SwordVerseKey.mm */; };
+ A9013D3111E316C700E1CCCA /* SwordVerseManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC08117B28920018B06F /* SwordVerseManager.mm */; };
+ A9013D3211E316C700E1CCCA /* VerseEnumerator.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94EAC0A117B28920018B06F /* VerseEnumerator.mm */; };
+ A9013D3311E316C700E1CCCA /* OSXConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A9C2857211C4471400803CB5 /* OSXConfiguration.m */; };
+ A9013D3411E316C700E1CCCA /* Configuration.m in Sources */ = {isa = PBXBuildFile; fileRef = A9C2858211C44A0A00803CB5 /* Configuration.m */; };
+ A9013D3511E316C700E1CCCA /* SwordModule+Index.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9D4360411C4FE97007AFE83 /* SwordModule+Index.mm */; };
+ A9013D3811E316C700E1CCCA /* 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 */; };
+ A9921A1A11FD9CA8002DAA72 /* libSword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9921A1911FD9CA8002DAA72 /* libSword.dylib */; };
+ 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 */; };
+ A9BDFA861207FC8C0067ED5B /* ImageModuleTest.h in Headers */ = {isa = PBXBuildFile; fileRef = A9BDFA841207FC8C0067ED5B /* ImageModuleTest.h */; };
+ A9BDFA871207FC8C0067ED5B /* ImageModuleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A9BDFA851207FC8C0067ED5B /* ImageModuleTest.m */; };
+ 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 */; };
+ A9EF13B31205952C0078A27C /* libSword.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9EF13B21205952C0078A27C /* libSword.dylib */; };
+ 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 */; };
+ A9EF1418120595650078A27C /* SwordLocaleManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9EF1414120595650078A27C /* SwordLocaleManager.h */; };
+ A9EF1419120595650078A27C /* SwordLocaleManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9EF1415120595650078A27C /* SwordLocaleManager.mm */; };
+ A9FB273711FD95CD004C4295 /* AnalysisHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB264511FD95CD004C4295 /* AnalysisHeader.cpp */; };
+ A9FB273911FD95CD004C4295 /* Analyzers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB264711FD95CD004C4295 /* Analyzers.cpp */; };
+ A9FB273B11FD95CD004C4295 /* StandardAnalyzer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB264A11FD95CD004C4295 /* StandardAnalyzer.cpp */; };
+ A9FB273D11FD95CD004C4295 /* StandardFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB264C11FD95CD004C4295 /* StandardFilter.cpp */; };
+ A9FB273F11FD95CD004C4295 /* StandardTokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB264E11FD95CD004C4295 /* StandardTokenizer.cpp */; };
+ A9FB274A11FD95CD004C4295 /* gunichartables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB265A11FD95CD004C4295 /* gunichartables.cpp */; };
+ A9FB274F11FD95CD004C4295 /* repl_lltot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB265F11FD95CD004C4295 /* repl_lltot.cpp */; };
+ A9FB275111FD95CD004C4295 /* repl_tcscasecmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB266111FD95CD004C4295 /* repl_tcscasecmp.cpp */; };
+ A9FB275211FD95CD004C4295 /* repl_tcslwr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB266211FD95CD004C4295 /* repl_tcslwr.cpp */; };
+ A9FB275311FD95CD004C4295 /* repl_tcstod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB266311FD95CD004C4295 /* repl_tcstod.cpp */; };
+ A9FB275411FD95CD004C4295 /* repl_tcstoll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB266411FD95CD004C4295 /* repl_tcstoll.cpp */; };
+ A9FB275511FD95CD004C4295 /* repl_tprintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB266511FD95CD004C4295 /* repl_tprintf.cpp */; };
+ A9FB275911FD95CD004C4295 /* threads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB266911FD95CD004C4295 /* threads.cpp */; };
+ A9FB275A11FD95CD004C4295 /* utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB266A11FD95CD004C4295 /* utf8.cpp */; };
+ A9FB275B11FD95CD004C4295 /* condition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB266C11FD95CD004C4295 /* condition.cpp */; };
+ A9FB275D11FD95CD004C4295 /* error.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB266E11FD95CD004C4295 /* error.cpp */; };
+ A9FB276111FD95CD004C4295 /* memtracking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB267211FD95CD004C4295 /* memtracking.cpp */; };
+ A9FB276211FD95CD004C4295 /* DateField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB267411FD95CD004C4295 /* DateField.cpp */; };
+ A9FB276411FD95CD004C4295 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB267611FD95CD004C4295 /* Document.cpp */; };
+ A9FB276611FD95CD004C4295 /* Field.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB267811FD95CD004C4295 /* Field.cpp */; };
+ A9FB276811FD95CD004C4295 /* CompoundFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB267B11FD95CD004C4295 /* CompoundFile.cpp */; };
+ A9FB276A11FD95CD004C4295 /* DocumentWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB267D11FD95CD004C4295 /* DocumentWriter.cpp */; };
+ A9FB276D11FD95CD004C4295 /* FieldInfos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB268011FD95CD004C4295 /* FieldInfos.cpp */; };
+ A9FB276F11FD95CD004C4295 /* FieldsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB268211FD95CD004C4295 /* FieldsReader.cpp */; };
+ A9FB277111FD95CD004C4295 /* FieldsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB268411FD95CD004C4295 /* FieldsWriter.cpp */; };
+ A9FB277311FD95CD004C4295 /* IndexModifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB268611FD95CD004C4295 /* IndexModifier.cpp */; };
+ A9FB277511FD95CD004C4295 /* IndexReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB268811FD95CD004C4295 /* IndexReader.cpp */; };
+ A9FB277711FD95CD004C4295 /* IndexWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB268A11FD95CD004C4295 /* IndexWriter.cpp */; };
+ A9FB277911FD95CD004C4295 /* MultiReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB268C11FD95CD004C4295 /* MultiReader.cpp */; };
+ A9FB277C11FD95CD004C4295 /* SegmentInfos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB268F11FD95CD004C4295 /* SegmentInfos.cpp */; };
+ A9FB277E11FD95CD004C4295 /* SegmentMergeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269111FD95CD004C4295 /* SegmentMergeInfo.cpp */; };
+ A9FB278011FD95CD004C4295 /* SegmentMergeQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269311FD95CD004C4295 /* SegmentMergeQueue.cpp */; };
+ A9FB278211FD95CD004C4295 /* SegmentMerger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269511FD95CD004C4295 /* SegmentMerger.cpp */; };
+ A9FB278411FD95CD004C4295 /* SegmentReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269711FD95CD004C4295 /* SegmentReader.cpp */; };
+ A9FB278511FD95CD004C4295 /* SegmentTermDocs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269811FD95CD004C4295 /* SegmentTermDocs.cpp */; };
+ A9FB278611FD95CD004C4295 /* SegmentTermEnum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269911FD95CD004C4295 /* SegmentTermEnum.cpp */; };
+ A9FB278811FD95CD004C4295 /* SegmentTermPositions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269B11FD95CD004C4295 /* SegmentTermPositions.cpp */; };
+ A9FB278911FD95CD004C4295 /* SegmentTermVector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269C11FD95CD004C4295 /* SegmentTermVector.cpp */; };
+ A9FB278A11FD95CD004C4295 /* Term.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269D11FD95CD004C4295 /* Term.cpp */; };
+ A9FB278C11FD95CD004C4295 /* TermInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB269F11FD95CD004C4295 /* TermInfo.cpp */; };
+ A9FB278E11FD95CD004C4295 /* TermInfosReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26A111FD95CD004C4295 /* TermInfosReader.cpp */; };
+ A9FB279011FD95CD004C4295 /* TermInfosWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26A311FD95CD004C4295 /* TermInfosWriter.cpp */; };
+ A9FB279411FD95CD004C4295 /* TermVectorReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26A711FD95CD004C4295 /* TermVectorReader.cpp */; };
+ A9FB279511FD95CD004C4295 /* TermVectorWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26A811FD95CD004C4295 /* TermVectorWriter.cpp */; };
+ A9FB279711FD95CD004C4295 /* Lexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26AB11FD95CD004C4295 /* Lexer.cpp */; };
+ A9FB279911FD95CD004C4295 /* MultiFieldQueryParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26AD11FD95CD004C4295 /* MultiFieldQueryParser.cpp */; };
+ A9FB279B11FD95CD004C4295 /* QueryParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26AF11FD95CD004C4295 /* QueryParser.cpp */; };
+ A9FB279D11FD95CD004C4295 /* QueryParserBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26B111FD95CD004C4295 /* QueryParserBase.cpp */; };
+ A9FB279F11FD95CD004C4295 /* QueryToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26B311FD95CD004C4295 /* QueryToken.cpp */; };
+ A9FB27A111FD95CD004C4295 /* TokenList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26B511FD95CD004C4295 /* TokenList.cpp */; };
+ A9FB27A411FD95CD004C4295 /* BooleanQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26B911FD95CD004C4295 /* BooleanQuery.cpp */; };
+ A9FB27A611FD95CD004C4295 /* BooleanScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26BB11FD95CD004C4295 /* BooleanScorer.cpp */; };
+ A9FB27A811FD95CD004C4295 /* CachingWrapperFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26BD11FD95CD004C4295 /* CachingWrapperFilter.cpp */; };
+ A9FB27AA11FD95CD004C4295 /* ChainedFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26BF11FD95CD004C4295 /* ChainedFilter.cpp */; };
+ A9FB27AD11FD95CD004C4295 /* ConjunctionScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26C211FD95CD004C4295 /* ConjunctionScorer.cpp */; };
+ A9FB27AF11FD95CD004C4295 /* DateFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26C411FD95CD004C4295 /* DateFilter.cpp */; };
+ A9FB27B111FD95CD004C4295 /* ExactPhraseScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26C611FD95CD004C4295 /* ExactPhraseScorer.cpp */; };
+ A9FB27B311FD95CD004C4295 /* Explanation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26C811FD95CD004C4295 /* Explanation.cpp */; };
+ A9FB27B511FD95CD004C4295 /* FieldCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26CA11FD95CD004C4295 /* FieldCache.cpp */; };
+ A9FB27B711FD95CD004C4295 /* FieldCacheImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26CC11FD95CD004C4295 /* FieldCacheImpl.cpp */; };
+ A9FB27BA11FD95CD004C4295 /* FieldDocSortedHitQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26CF11FD95CD004C4295 /* FieldDocSortedHitQueue.cpp */; };
+ A9FB27BC11FD95CD004C4295 /* FieldSortedHitQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26D111FD95CD004C4295 /* FieldSortedHitQueue.cpp */; };
+ A9FB27BF11FD95CD004C4295 /* FilteredTermEnum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26D411FD95CD004C4295 /* FilteredTermEnum.cpp */; };
+ A9FB27C111FD95CD004C4295 /* FuzzyQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26D611FD95CD004C4295 /* FuzzyQuery.cpp */; };
+ A9FB27C311FD95CD004C4295 /* HitQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26D811FD95CD004C4295 /* HitQueue.cpp */; };
+ A9FB27C511FD95CD004C4295 /* Hits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26DA11FD95CD004C4295 /* Hits.cpp */; };
+ A9FB27C611FD95CD004C4295 /* IndexSearcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26DB11FD95CD004C4295 /* IndexSearcher.cpp */; };
+ A9FB27C811FD95CD004C4295 /* MultiSearcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26DD11FD95CD004C4295 /* MultiSearcher.cpp */; };
+ A9FB27CA11FD95CD004C4295 /* MultiTermQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26DF11FD95CD004C4295 /* MultiTermQuery.cpp */; };
+ A9FB27CC11FD95CD004C4295 /* PhrasePositions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26E111FD95CD004C4295 /* PhrasePositions.cpp */; };
+ A9FB27CE11FD95CD004C4295 /* PhraseQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26E311FD95CD004C4295 /* PhraseQuery.cpp */; };
+ A9FB27D111FD95CD004C4295 /* PhraseScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26E611FD95CD004C4295 /* PhraseScorer.cpp */; };
+ A9FB27D311FD95CD004C4295 /* PrefixQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26E811FD95CD004C4295 /* PrefixQuery.cpp */; };
+ A9FB27D511FD95CD004C4295 /* QueryFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26EA11FD95CD004C4295 /* QueryFilter.cpp */; };
+ A9FB27D711FD95CD004C4295 /* RangeFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26EC11FD95CD004C4295 /* RangeFilter.cpp */; };
+ A9FB27D911FD95CD004C4295 /* RangeQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26EE11FD95CD004C4295 /* RangeQuery.cpp */; };
+ A9FB27DC11FD95CD004C4295 /* SearchHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26F111FD95CD004C4295 /* SearchHeader.cpp */; };
+ A9FB27DE11FD95CD004C4295 /* Similarity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26F311FD95CD004C4295 /* Similarity.cpp */; };
+ A9FB27E011FD95CD004C4295 /* SloppyPhraseScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26F511FD95CD004C4295 /* SloppyPhraseScorer.cpp */; };
+ A9FB27E211FD95CD004C4295 /* Sort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26F711FD95CD004C4295 /* Sort.cpp */; };
+ A9FB27E411FD95CD004C4295 /* TermQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26F911FD95CD004C4295 /* TermQuery.cpp */; };
+ A9FB27E611FD95CD004C4295 /* TermScorer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26FB11FD95CD004C4295 /* TermScorer.cpp */; };
+ A9FB27E811FD95CD004C4295 /* WildcardQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26FD11FD95CD004C4295 /* WildcardQuery.cpp */; };
+ A9FB27EA11FD95CD004C4295 /* WildcardTermEnum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB26FF11FD95CD004C4295 /* WildcardTermEnum.cpp */; };
+ A9FB27EC11FD95CD004C4295 /* StdHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB270111FD95CD004C4295 /* StdHeader.cpp */; };
+ A9FB27EF11FD95CD004C4295 /* FSDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB270511FD95CD004C4295 /* FSDirectory.cpp */; };
+ A9FB27F111FD95CD004C4295 /* IndexInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB270711FD95CD004C4295 /* IndexInput.cpp */; };
+ A9FB27F311FD95CD004C4295 /* IndexOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB270911FD95CD004C4295 /* IndexOutput.cpp */; };
+ A9FB27F611FD95CD004C4295 /* Lock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB270C11FD95CD004C4295 /* Lock.cpp */; };
+ A9FB27F811FD95CD004C4295 /* MMapInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB270E11FD95CD004C4295 /* MMapInput.cpp */; };
+ A9FB27FA11FD95CD004C4295 /* RAMDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB271011FD95CD004C4295 /* RAMDirectory.cpp */; };
+ A9FB27FC11FD95CD004C4295 /* TransactionalRAMDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB271211FD95CD004C4295 /* TransactionalRAMDirectory.cpp */; };
+ A9FB27FF11FD95CD004C4295 /* BitSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB271611FD95CD004C4295 /* BitSet.cpp */; };
+ A9FB280211FD95CD004C4295 /* dirent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB271911FD95CD004C4295 /* dirent.cpp */; };
+ A9FB280411FD95CD004C4295 /* Equators.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB271B11FD95CD004C4295 /* Equators.cpp */; };
+ A9FB280611FD95CD004C4295 /* FastCharStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB271D11FD95CD004C4295 /* FastCharStream.cpp */; };
+ A9FB280811FD95CD004C4295 /* fileinputstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB271F11FD95CD004C4295 /* fileinputstream.cpp */; };
+ A9FB280D11FD95CD004C4295 /* MD5Digester.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB272411FD95CD004C4295 /* MD5Digester.cpp */; };
+ A9FB280F11FD95CD004C4295 /* Misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB272611FD95CD004C4295 /* Misc.cpp */; };
+ A9FB281211FD95CD004C4295 /* Reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB272911FD95CD004C4295 /* Reader.cpp */; };
+ A9FB281511FD95CD004C4295 /* StringBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB272C11FD95CD004C4295 /* StringBuffer.cpp */; };
+ A9FB281711FD95CD004C4295 /* StringIntern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB272E11FD95CD004C4295 /* StringIntern.cpp */; };
+ A9FB281B11FD95CD004C4295 /* ThreadLocal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB273211FD95CD004C4295 /* ThreadLocal.cpp */; };
+ A9FB28ED11FD95E4004C4295 /* femain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB282311FD95E4004C4295 /* femain.cpp */; };
+ A9FB28EE11FD95E4004C4295 /* hebrewmcim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB282511FD95E4004C4295 /* hebrewmcim.cpp */; };
+ A9FB28EF11FD95E4004C4295 /* nullim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB282611FD95E4004C4295 /* nullim.cpp */; };
+ A9FB28F011FD95E4004C4295 /* swinputmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB282711FD95E4004C4295 /* swinputmeth.cpp */; };
+ A9FB28F111FD95E4004C4295 /* swdisp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB282811FD95E4004C4295 /* swdisp.cpp */; };
+ A9FB28F211FD95E4004C4295 /* swlog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB282911FD95E4004C4295 /* swlog.cpp */; };
+ A9FB28F311FD95E4004C4295 /* genarray.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB282D11FD95E4004C4295 /* genarray.c */; };
+ A9FB28F411FD95E4004C4295 /* listkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB282E11FD95E4004C4295 /* listkey.cpp */; };
+ A9FB28F511FD95E4004C4295 /* strkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283311FD95E4004C4295 /* strkey.cpp */; };
+ A9FB28F611FD95E4004C4295 /* swkey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283411FD95E4004C4295 /* swkey.cpp */; };
+ A9FB28F711FD95E4004C4295 /* treekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283511FD95E4004C4295 /* treekey.cpp */; };
+ A9FB28F811FD95E4004C4295 /* treekeyidx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283611FD95E4004C4295 /* treekeyidx.cpp */; };
+ A9FB28F911FD95E4004C4295 /* versekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283711FD95E4004C4295 /* versekey.cpp */; };
+ A9FB28FA11FD95E4004C4295 /* versetreekey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283811FD95E4004C4295 /* versetreekey.cpp */; };
+ A9FB28FB11FD95E4004C4295 /* curlftpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283A11FD95E4004C4295 /* curlftpt.cpp */; };
+ A9FB28FC11FD95E4004C4295 /* curlhttpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283B11FD95E4004C4295 /* curlhttpt.cpp */; };
+ A9FB28FD11FD95E4004C4295 /* encfiltmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283C11FD95E4004C4295 /* encfiltmgr.cpp */; };
+ A9FB28FE11FD95E4004C4295 /* filemgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283D11FD95E4004C4295 /* filemgr.cpp */; };
+ A9FB28FF11FD95E4004C4295 /* ftplibftpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283E11FD95E4004C4295 /* ftplibftpt.cpp */; };
+ A9FB290011FD95E4004C4295 /* ftptrans.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB283F11FD95E4004C4295 /* ftptrans.cpp */; };
+ A9FB290111FD95E4004C4295 /* installmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284011FD95E4004C4295 /* installmgr.cpp */; };
+ A9FB290211FD95E4004C4295 /* localemgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284111FD95E4004C4295 /* localemgr.cpp */; };
+ A9FB290311FD95E4004C4295 /* markupfiltmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284211FD95E4004C4295 /* markupfiltmgr.cpp */; };
+ A9FB290411FD95E4004C4295 /* stringmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284311FD95E4004C4295 /* stringmgr.cpp */; };
+ A9FB290511FD95E4004C4295 /* swcacher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284411FD95E4004C4295 /* swcacher.cpp */; };
+ A9FB290611FD95E4004C4295 /* swconfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284511FD95E4004C4295 /* swconfig.cpp */; };
+ A9FB290711FD95E4004C4295 /* swfiltermgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284611FD95E4004C4295 /* swfiltermgr.cpp */; };
+ A9FB290811FD95E4004C4295 /* swlocale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284711FD95E4004C4295 /* swlocale.cpp */; };
+ A9FB290911FD95E4004C4295 /* swmgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284811FD95E4004C4295 /* swmgr.cpp */; };
+ A9FB290A11FD95E4004C4295 /* swsearchable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284911FD95E4004C4295 /* swsearchable.cpp */; };
+ A9FB290B11FD95E4004C4295 /* versemgr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284A11FD95E4004C4295 /* versemgr.cpp */; };
+ A9FB290C11FD95E4004C4295 /* hrefcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB284E11FD95E4004C4295 /* hrefcom.cpp */; };
+ A9FB290D11FD95E4004C4295 /* rawcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285011FD95E4004C4295 /* rawcom.cpp */; };
+ A9FB290E11FD95E4004C4295 /* rawcom4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285211FD95E4004C4295 /* rawcom4.cpp */; };
+ A9FB290F11FD95E4004C4295 /* rawfiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285411FD95E4004C4295 /* rawfiles.cpp */; };
+ A9FB291011FD95E4004C4295 /* swcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285511FD95E4004C4295 /* swcom.cpp */; };
+ A9FB291111FD95E4004C4295 /* zcom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285711FD95E4004C4295 /* zcom.cpp */; };
+ A9FB291211FD95E4004C4295 /* entriesblk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285A11FD95E4004C4295 /* entriesblk.cpp */; };
+ A9FB291311FD95E4004C4295 /* lzsscomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285B11FD95E4004C4295 /* lzsscomprs.cpp */; };
+ A9FB291411FD95E4004C4295 /* rawstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285C11FD95E4004C4295 /* rawstr.cpp */; };
+ A9FB291511FD95E4004C4295 /* rawstr4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285D11FD95E4004C4295 /* rawstr4.cpp */; };
+ A9FB291611FD95E4004C4295 /* rawverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285E11FD95E4004C4295 /* rawverse.cpp */; };
+ A9FB291711FD95E4004C4295 /* rawverse4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB285F11FD95E4004C4295 /* rawverse4.cpp */; };
+ A9FB291811FD95E4004C4295 /* sapphire.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286011FD95E4004C4295 /* sapphire.cpp */; };
+ A9FB291911FD95E4004C4295 /* swcipher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286111FD95E4004C4295 /* swcipher.cpp */; };
+ A9FB291A11FD95E4004C4295 /* swcomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286211FD95E4004C4295 /* swcomprs.cpp */; };
+ A9FB291B11FD95E4004C4295 /* zipcomprs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286411FD95E4004C4295 /* zipcomprs.cpp */; };
+ A9FB291C11FD95E4004C4295 /* zstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286511FD95E4004C4295 /* zstr.cpp */; };
+ A9FB291D11FD95E4004C4295 /* zverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286611FD95E4004C4295 /* zverse.cpp */; };
+ A9FB291E11FD95E4004C4295 /* cipherfil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286811FD95E4004C4295 /* cipherfil.cpp */; };
+ A9FB291F11FD95E4004C4295 /* gbffootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286911FD95E4004C4295 /* gbffootnotes.cpp */; };
+ A9FB292011FD95E4004C4295 /* gbfheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286A11FD95E4004C4295 /* gbfheadings.cpp */; };
+ A9FB292111FD95E4004C4295 /* gbfhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286B11FD95E4004C4295 /* gbfhtml.cpp */; };
+ A9FB292211FD95E4004C4295 /* gbfhtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286C11FD95E4004C4295 /* gbfhtmlhref.cpp */; };
+ A9FB292311FD95E4004C4295 /* gbfmorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286D11FD95E4004C4295 /* gbfmorph.cpp */; };
+ A9FB292411FD95E4004C4295 /* gbfosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286E11FD95E4004C4295 /* gbfosis.cpp */; };
+ A9FB292511FD95E4004C4295 /* gbfplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB286F11FD95E4004C4295 /* gbfplain.cpp */; };
+ A9FB292611FD95E4004C4295 /* gbfredletterwords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287011FD95E4004C4295 /* gbfredletterwords.cpp */; };
+ A9FB292711FD95E4004C4295 /* gbfrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287111FD95E4004C4295 /* gbfrtf.cpp */; };
+ A9FB292811FD95E4004C4295 /* gbfstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287211FD95E4004C4295 /* gbfstrongs.cpp */; };
+ A9FB292911FD95E4004C4295 /* gbfthml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287311FD95E4004C4295 /* gbfthml.cpp */; };
+ A9FB292A11FD95E4004C4295 /* gbfwebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287411FD95E4004C4295 /* gbfwebif.cpp */; };
+ A9FB292B11FD95E4004C4295 /* gbfwordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287511FD95E4004C4295 /* gbfwordjs.cpp */; };
+ A9FB292C11FD95E4004C4295 /* greeklexattribs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287611FD95E4004C4295 /* greeklexattribs.cpp */; };
+ A9FB292D11FD95E4004C4295 /* latin1utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287711FD95E4004C4295 /* latin1utf16.cpp */; };
+ A9FB292E11FD95E4004C4295 /* latin1utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287811FD95E4004C4295 /* latin1utf8.cpp */; };
+ A9FB292F11FD95E4004C4295 /* osisfootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287911FD95E4004C4295 /* osisfootnotes.cpp */; };
+ A9FB293011FD95E4004C4295 /* osisheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287A11FD95E4004C4295 /* osisheadings.cpp */; };
+ A9FB293111FD95E4004C4295 /* osishtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287B11FD95E4004C4295 /* osishtmlhref.cpp */; };
+ A9FB293211FD95E4004C4295 /* osislemma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287C11FD95E4004C4295 /* osislemma.cpp */; };
+ A9FB293311FD95E4004C4295 /* osismorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287D11FD95E4004C4295 /* osismorph.cpp */; };
+ A9FB293411FD95E4004C4295 /* osismorphsegmentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287E11FD95E4004C4295 /* osismorphsegmentation.cpp */; };
+ A9FB293511FD95E4004C4295 /* osisosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB287F11FD95E4004C4295 /* osisosis.cpp */; };
+ A9FB293611FD95E4004C4295 /* osisplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288011FD95E4004C4295 /* osisplain.cpp */; };
+ A9FB293711FD95E4004C4295 /* osisredletterwords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288111FD95E4004C4295 /* osisredletterwords.cpp */; };
+ A9FB293811FD95E4004C4295 /* osisrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288211FD95E4004C4295 /* osisrtf.cpp */; };
+ A9FB293911FD95E4004C4295 /* osisruby.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288311FD95E4004C4295 /* osisruby.cpp */; };
+ A9FB293A11FD95E4004C4295 /* osisscripref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288411FD95E4004C4295 /* osisscripref.cpp */; };
+ A9FB293B11FD95E4004C4295 /* osisstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288511FD95E4004C4295 /* osisstrongs.cpp */; };
+ A9FB293C11FD95E4004C4295 /* osisvariants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288611FD95E4004C4295 /* osisvariants.cpp */; };
+ A9FB293D11FD95E4004C4295 /* osiswebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288711FD95E4004C4295 /* osiswebif.cpp */; };
+ A9FB293E11FD95E4004C4295 /* osiswordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288811FD95E4004C4295 /* osiswordjs.cpp */; };
+ A9FB293F11FD95E4004C4295 /* papyriplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288911FD95E4004C4295 /* papyriplain.cpp */; };
+ A9FB294011FD95E4004C4295 /* plainfootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288A11FD95E4004C4295 /* plainfootnotes.cpp */; };
+ A9FB294111FD95E4004C4295 /* plainhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288B11FD95E4004C4295 /* plainhtml.cpp */; };
+ A9FB294211FD95E4004C4295 /* rtfhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288C11FD95E4004C4295 /* rtfhtml.cpp */; };
+ A9FB294311FD95E4004C4295 /* swbasicfilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288D11FD95E4004C4295 /* swbasicfilter.cpp */; };
+ A9FB294411FD95E4004C4295 /* swoptfilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288E11FD95E4004C4295 /* swoptfilter.cpp */; };
+ A9FB294511FD95E4004C4295 /* teihtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB288F11FD95E4004C4295 /* teihtmlhref.cpp */; };
+ A9FB294611FD95E4004C4295 /* teiplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289011FD95E4004C4295 /* teiplain.cpp */; };
+ A9FB294711FD95E4004C4295 /* teirtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289111FD95E4004C4295 /* teirtf.cpp */; };
+ A9FB294811FD95E4004C4295 /* thmlfootnotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289211FD95E4004C4295 /* thmlfootnotes.cpp */; };
+ A9FB294911FD95E4004C4295 /* thmlgbf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289311FD95E4004C4295 /* thmlgbf.cpp */; };
+ A9FB294A11FD95E4004C4295 /* thmlheadings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289411FD95E4004C4295 /* thmlheadings.cpp */; };
+ A9FB294B11FD95E4004C4295 /* thmlhtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289511FD95E4004C4295 /* thmlhtml.cpp */; };
+ A9FB294C11FD95E4004C4295 /* thmlhtmlhref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289611FD95E4004C4295 /* thmlhtmlhref.cpp */; };
+ A9FB294D11FD95E4004C4295 /* thmllemma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289711FD95E4004C4295 /* thmllemma.cpp */; };
+ A9FB294E11FD95E4004C4295 /* thmlmorph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289811FD95E4004C4295 /* thmlmorph.cpp */; };
+ A9FB294F11FD95E4004C4295 /* thmlosis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289911FD95E4004C4295 /* thmlosis.cpp */; };
+ A9FB295011FD95E4004C4295 /* thmlplain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289A11FD95E4004C4295 /* thmlplain.cpp */; };
+ A9FB295111FD95E4004C4295 /* thmlrtf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289B11FD95E4004C4295 /* thmlrtf.cpp */; };
+ A9FB295211FD95E4004C4295 /* thmlscripref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289C11FD95E4004C4295 /* thmlscripref.cpp */; };
+ A9FB295311FD95E4004C4295 /* thmlstrongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289D11FD95E4004C4295 /* thmlstrongs.cpp */; };
+ A9FB295411FD95E4004C4295 /* thmlvariants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289E11FD95E4004C4295 /* thmlvariants.cpp */; };
+ A9FB295511FD95E4004C4295 /* thmlwebif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB289F11FD95E4004C4295 /* thmlwebif.cpp */; };
+ A9FB295611FD95E4004C4295 /* thmlwordjs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A011FD95E4004C4295 /* thmlwordjs.cpp */; };
+ A9FB295711FD95E4004C4295 /* unicodertf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A111FD95E4004C4295 /* unicodertf.cpp */; };
+ A9FB295811FD95E4004C4295 /* utf16utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A211FD95E4004C4295 /* utf16utf8.cpp */; };
+ A9FB295911FD95E4004C4295 /* utf8arabicpoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A311FD95E4004C4295 /* utf8arabicpoints.cpp */; };
+ A9FB295A11FD95E4004C4295 /* utf8arshaping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A411FD95E4004C4295 /* utf8arshaping.cpp */; };
+ A9FB295B11FD95E4004C4295 /* utf8bidireorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A511FD95E4004C4295 /* utf8bidireorder.cpp */; };
+ A9FB295C11FD95E4004C4295 /* utf8cantillation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A611FD95E4004C4295 /* utf8cantillation.cpp */; };
+ A9FB295D11FD95E4004C4295 /* utf8greekaccents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A711FD95E4004C4295 /* utf8greekaccents.cpp */; };
+ A9FB295E11FD95E4004C4295 /* utf8hebrewpoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A811FD95E4004C4295 /* utf8hebrewpoints.cpp */; };
+ A9FB295F11FD95E4004C4295 /* utf8html.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28A911FD95E4004C4295 /* utf8html.cpp */; };
+ A9FB296011FD95E4004C4295 /* utf8latin1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28AA11FD95E4004C4295 /* utf8latin1.cpp */; };
+ A9FB296111FD95E4004C4295 /* utf8nfc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28AB11FD95E4004C4295 /* utf8nfc.cpp */; };
+ A9FB296211FD95E4004C4295 /* utf8nfkd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28AC11FD95E4004C4295 /* utf8nfkd.cpp */; };
+ A9FB296311FD95E4004C4295 /* utf8transliterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28AD11FD95E4004C4295 /* utf8transliterator.cpp */; };
+ A9FB296411FD95E4004C4295 /* utf8utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28AE11FD95E4004C4295 /* utf8utf16.cpp */; };
+ A9FB296511FD95E4004C4295 /* rawgenbook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28B111FD95E4004C4295 /* rawgenbook.cpp */; };
+ A9FB296611FD95E4004C4295 /* swgenbook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28B211FD95E4004C4295 /* swgenbook.cpp */; };
+ A9FB296711FD95E4004C4295 /* rawld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28B511FD95E4004C4295 /* rawld.cpp */; };
+ A9FB296811FD95E4004C4295 /* rawld4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28B711FD95E4004C4295 /* rawld4.cpp */; };
+ A9FB296911FD95E4004C4295 /* swld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28B811FD95E4004C4295 /* swld.cpp */; };
+ A9FB296A11FD95E4004C4295 /* zld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28BA11FD95E4004C4295 /* zld.cpp */; };
+ A9FB296B11FD95E4004C4295 /* swmodule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28BC11FD95E4004C4295 /* swmodule.cpp */; };
+ A9FB296C11FD95E4004C4295 /* echomod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28BE11FD95E4004C4295 /* echomod.cpp */; };
+ A9FB296D11FD95E4004C4295 /* rawtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28C111FD95E4004C4295 /* rawtext.cpp */; };
+ A9FB296E11FD95E4004C4295 /* rawtext4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28C311FD95E4004C4295 /* rawtext4.cpp */; };
+ A9FB296F11FD95E4004C4295 /* swtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28C411FD95E4004C4295 /* swtext.cpp */; };
+ A9FB297011FD95E4004C4295 /* ztext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28C611FD95E4004C4295 /* ztext.cpp */; };
+ A9FB297111FD95E4004C4295 /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28C911FD95E4004C4295 /* adler32.c */; };
+ A9FB297211FD95E4004C4295 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28CA11FD95E4004C4295 /* compress.c */; };
+ A9FB297311FD95E4004C4295 /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28CB11FD95E4004C4295 /* crc32.c */; };
+ A9FB297411FD95E4004C4295 /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28CC11FD95E4004C4295 /* deflate.c */; };
+ A9FB297611FD95E4004C4295 /* gzio.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28CE11FD95E4004C4295 /* gzio.c */; };
+ A9FB297711FD95E4004C4295 /* infblock.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28CF11FD95E4004C4295 /* infblock.c */; };
+ A9FB297911FD95E4004C4295 /* infcodes.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28D111FD95E4004C4295 /* infcodes.c */; };
+ A9FB297B11FD95E4004C4295 /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28D311FD95E4004C4295 /* inffast.c */; };
+ A9FB297E11FD95E4004C4295 /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28D611FD95E4004C4295 /* inflate.c */; };
+ A9FB297F11FD95E4004C4295 /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28D711FD95E4004C4295 /* inftrees.c */; };
+ A9FB298111FD95E4004C4295 /* infutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28D911FD95E4004C4295 /* infutil.c */; };
+ A9FB298311FD95E4004C4295 /* maketree.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28DB11FD95E4004C4295 /* maketree.c */; };
+ A9FB298411FD95E4004C4295 /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28DC11FD95E4004C4295 /* trees.c */; };
+ A9FB298611FD95E4004C4295 /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28DE11FD95E4004C4295 /* uncompr.c */; };
+ A9FB298711FD95E4004C4295 /* untgz.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28DF11FD95E4004C4295 /* untgz.c */; };
+ A9FB298811FD95E4004C4295 /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28E011FD95E4004C4295 /* zutil.c */; };
+ A9FB298A11FD95E4004C4295 /* ftplib.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28E211FD95E4004C4295 /* ftplib.c */; };
+ A9FB298B11FD95E4004C4295 /* ftpparse.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28E311FD95E4004C4295 /* ftpparse.c */; };
+ A9FB298C11FD95E4004C4295 /* regex.c in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28E411FD95E4004C4295 /* regex.c */; };
+ A9FB298D11FD95E4004C4295 /* roman.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28E511FD95E4004C4295 /* roman.cpp */; };
+ A9FB298E11FD95E4004C4295 /* swbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28E611FD95E4004C4295 /* swbuf.cpp */; };
+ A9FB298F11FD95E4004C4295 /* swobject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28E711FD95E4004C4295 /* swobject.cpp */; };
+ A9FB299011FD95E4004C4295 /* swunicod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28E811FD95E4004C4295 /* swunicod.cpp */; };
+ A9FB299111FD95E4004C4295 /* swversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28E911FD95E4004C4295 /* swversion.cpp */; };
+ A9FB299211FD95E4004C4295 /* url.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28EA11FD95E4004C4295 /* url.cpp */; };
+ A9FB299311FD95E4004C4295 /* utilstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28EB11FD95E4004C4295 /* utilstr.cpp */; };
+ A9FB299411FD95E4004C4295 /* utilxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9FB28EC11FD95E4004C4295 /* utilxml.cpp */; };
+/* 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;
+ };
+ A9FB29A011FD965B004C4295 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = A9FB25DF11FD939E004C4295;
+ remoteInfo = Sword_iOS;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ A9013D3911E316C700E1CCCA /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 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; };
+ A9013D3E11E316C700E1CCCA /* ObjCSword_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObjCSword_iOS.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>"; };
+ A9BDFA841207FC8C0067ED5B /* ImageModuleTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageModuleTest.h; path = ../../../../test/ImageModuleTest.h; sourceTree = SOURCE_ROOT; };
+ A9BDFA851207FC8C0067ED5B /* ImageModuleTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageModuleTest.m; path = ../../../../test/ImageModuleTest.m; sourceTree = SOURCE_ROOT; };
+ 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; };
+ A9D4399E11C52E9B007AFE83 /* canon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon.h; sourceTree = "<group>"; };
+ A9D4399F11C52E9B007AFE83 /* canon_abbrevs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_abbrevs.h; sourceTree = "<group>"; };
+ A9D439A011C52E9B007AFE83 /* canon_german.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_german.h; sourceTree = "<group>"; };
+ A9D439A111C52E9B007AFE83 /* canon_kjva.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_kjva.h; sourceTree = "<group>"; };
+ A9D439A211C52E9B007AFE83 /* canon_leningrad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_leningrad.h; sourceTree = "<group>"; };
+ A9D439A311C52E9B007AFE83 /* canon_luther.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_luther.h; sourceTree = "<group>"; };
+ A9D439A411C52E9B007AFE83 /* canon_mt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_mt.h; sourceTree = "<group>"; };
+ A9D439A511C52E9B007AFE83 /* canon_nrsv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_nrsv.h; sourceTree = "<group>"; };
+ A9D439A611C52E9B007AFE83 /* canon_nrsva.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_nrsva.h; sourceTree = "<group>"; };
+ A9D439A711C52E9B007AFE83 /* canon_null.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_null.h; sourceTree = "<group>"; };
+ A9D439A811C52E9B007AFE83 /* canon_synodal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_synodal.h; sourceTree = "<group>"; };
+ A9D439A911C52E9B007AFE83 /* canon_vulg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canon_vulg.h; sourceTree = "<group>"; };
+ A9D439AA11C52E9B007AFE83 /* cipherfil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cipherfil.h; sourceTree = "<group>"; };
+ A9D439AB11C52E9B007AFE83 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
+ A9D439AD11C52E9B007AFE83 /* curlftpt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curlftpt.h; sourceTree = "<group>"; };
+ A9D439AE11C52E9B007AFE83 /* curlhttpt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curlhttpt.h; sourceTree = "<group>"; };
+ A9D439AF11C52E9B007AFE83 /* defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = defs.h; sourceTree = "<group>"; };
+ A9D439B011C52E9B007AFE83 /* echomod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echomod.h; sourceTree = "<group>"; };
+ A9D439B111C52E9B007AFE83 /* encfiltmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encfiltmgr.h; sourceTree = "<group>"; };
+ A9D439B211C52E9B007AFE83 /* entriesblk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = entriesblk.h; sourceTree = "<group>"; };
+ A9D439B311C52E9B007AFE83 /* femain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = femain.h; sourceTree = "<group>"; };
+ A9D439B411C52E9B007AFE83 /* filemgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filemgr.h; sourceTree = "<group>"; };
+ A9D439B511C52E9B007AFE83 /* flatapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flatapi.h; sourceTree = "<group>"; };
+ A9D439B611C52E9B007AFE83 /* ftplib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftplib.h; sourceTree = "<group>"; };
+ A9D439B711C52E9B007AFE83 /* ftplibftpt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftplibftpt.h; sourceTree = "<group>"; };
+ A9D439B811C52E9B007AFE83 /* ftpparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftpparse.h; sourceTree = "<group>"; };
+ A9D439B911C52E9B007AFE83 /* ftptrans.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftptrans.h; sourceTree = "<group>"; };
+ A9D439BA11C52E9B007AFE83 /* gbffootnotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbffootnotes.h; sourceTree = "<group>"; };
+ A9D439BB11C52E9B007AFE83 /* gbfheadings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfheadings.h; sourceTree = "<group>"; };
+ A9D439BC11C52E9B007AFE83 /* gbfhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfhtml.h; sourceTree = "<group>"; };
+ A9D439BD11C52E9B007AFE83 /* gbfhtmlhref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfhtmlhref.h; sourceTree = "<group>"; };
+ A9D439BE11C52E9B007AFE83 /* gbfmorph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfmorph.h; sourceTree = "<group>"; };
+ A9D439BF11C52E9B007AFE83 /* gbfosis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfosis.h; sourceTree = "<group>"; };
+ A9D439C011C52E9B007AFE83 /* gbfplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfplain.h; sourceTree = "<group>"; };
+ A9D439C111C52E9B007AFE83 /* gbfredletterwords.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfredletterwords.h; sourceTree = "<group>"; };
+ A9D439C211C52E9B007AFE83 /* gbfrtf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfrtf.h; sourceTree = "<group>"; };
+ A9D439C311C52E9B007AFE83 /* gbfstrongs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfstrongs.h; sourceTree = "<group>"; };
+ A9D439C411C52E9B007AFE83 /* gbfthml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfthml.h; sourceTree = "<group>"; };
+ A9D439C511C52E9B007AFE83 /* gbfwebif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfwebif.h; sourceTree = "<group>"; };
+ A9D439C611C52E9B007AFE83 /* gbfwordjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfwordjs.h; sourceTree = "<group>"; };
+ A9D439C711C52E9B007AFE83 /* Greek2Greek.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Greek2Greek.h; sourceTree = "<group>"; };
+ A9D439C811C52E9B007AFE83 /* GreekChars.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GreekChars.h; sourceTree = "<group>"; };
+ A9D439C911C52E9B007AFE83 /* greeklexattribs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = greeklexattribs.h; sourceTree = "<group>"; };
+ A9D439CA11C52E9B007AFE83 /* hebrewmcim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hebrewmcim.h; sourceTree = "<group>"; };
+ A9D439CB11C52E9B007AFE83 /* hrefcom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hrefcom.h; sourceTree = "<group>"; };
+ A9D439CC11C52E9B007AFE83 /* installmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = installmgr.h; sourceTree = "<group>"; };
+ A9D439CF11C52E9B007AFE83 /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regex.h; sourceTree = "<group>"; };
+ A9D439D011C52E9B007AFE83 /* latin1utf16.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latin1utf16.h; sourceTree = "<group>"; };
+ A9D439D111C52E9B007AFE83 /* latin1utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = latin1utf8.h; sourceTree = "<group>"; };
+ A9D439D211C52E9B007AFE83 /* listkey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = listkey.h; sourceTree = "<group>"; };
+ A9D439D311C52E9B007AFE83 /* localemgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = localemgr.h; sourceTree = "<group>"; };
+ A9D439D411C52E9B007AFE83 /* lzsscomprs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lzsscomprs.h; sourceTree = "<group>"; };
+ A9D439D711C52E9B007AFE83 /* markupfiltmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markupfiltmgr.h; sourceTree = "<group>"; };
+ A9D439D811C52E9B007AFE83 /* multimapwdef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = multimapwdef.h; sourceTree = "<group>"; };
+ A9D439D911C52E9B007AFE83 /* nullim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nullim.h; sourceTree = "<group>"; };
+ A9D439DA11C52E9B007AFE83 /* osisfootnotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisfootnotes.h; sourceTree = "<group>"; };
+ A9D439DB11C52E9B007AFE83 /* osisheadings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisheadings.h; sourceTree = "<group>"; };
+ A9D439DC11C52E9B007AFE83 /* osishtmlhref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osishtmlhref.h; sourceTree = "<group>"; };
+ A9D439DD11C52E9B007AFE83 /* osislemma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osislemma.h; sourceTree = "<group>"; };
+ A9D439DE11C52E9B007AFE83 /* osismorph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osismorph.h; sourceTree = "<group>"; };
+ A9D439DF11C52E9B007AFE83 /* osismorphsegmentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osismorphsegmentation.h; sourceTree = "<group>"; };
+ A9D439E011C52E9B007AFE83 /* osisosis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisosis.h; sourceTree = "<group>"; };
+ A9D439E111C52E9B007AFE83 /* osisplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisplain.h; sourceTree = "<group>"; };
+ A9D439E211C52E9B007AFE83 /* osisredletterwords.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisredletterwords.h; sourceTree = "<group>"; };
+ A9D439E311C52E9B007AFE83 /* osisrtf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisrtf.h; sourceTree = "<group>"; };
+ A9D439E411C52E9B007AFE83 /* osisruby.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisruby.h; sourceTree = "<group>"; };
+ A9D439E511C52E9B007AFE83 /* osisscripref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisscripref.h; sourceTree = "<group>"; };
+ A9D439E611C52E9B007AFE83 /* osisstrongs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisstrongs.h; sourceTree = "<group>"; };
+ A9D439E711C52E9B007AFE83 /* osisvariants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osisvariants.h; sourceTree = "<group>"; };
+ A9D439E811C52E9B007AFE83 /* osiswebif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osiswebif.h; sourceTree = "<group>"; };
+ A9D439E911C52E9B007AFE83 /* osiswordjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osiswordjs.h; sourceTree = "<group>"; };
+ A9D439EA11C52E9B007AFE83 /* papyriplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = papyriplain.h; sourceTree = "<group>"; };
+ A9D439EB11C52E9B007AFE83 /* plainfootnotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plainfootnotes.h; sourceTree = "<group>"; };
+ A9D439EC11C52E9B007AFE83 /* plainhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plainhtml.h; sourceTree = "<group>"; };
+ A9D439ED11C52E9B007AFE83 /* rawcom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawcom.h; sourceTree = "<group>"; };
+ A9D439EE11C52E9B007AFE83 /* rawcom4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawcom4.h; sourceTree = "<group>"; };
+ A9D439EF11C52E9B007AFE83 /* rawfiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawfiles.h; sourceTree = "<group>"; };
+ A9D439F011C52E9B007AFE83 /* rawgenbook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawgenbook.h; sourceTree = "<group>"; };
+ A9D439F111C52E9B007AFE83 /* rawld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawld.h; sourceTree = "<group>"; };
+ A9D439F211C52E9B007AFE83 /* rawld4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawld4.h; sourceTree = "<group>"; };
+ A9D439F311C52E9B007AFE83 /* rawstr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawstr.h; sourceTree = "<group>"; };
+ A9D439F411C52E9B007AFE83 /* rawstr4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawstr4.h; sourceTree = "<group>"; };
+ A9D439F511C52E9B007AFE83 /* rawtext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawtext.h; sourceTree = "<group>"; };
+ A9D439F611C52E9B007AFE83 /* rawtext4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawtext4.h; sourceTree = "<group>"; };
+ A9D439F711C52E9B007AFE83 /* rawverse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawverse.h; sourceTree = "<group>"; };
+ A9D439F811C52E9B007AFE83 /* rawverse4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rawverse4.h; sourceTree = "<group>"; };
+ A9D439F911C52E9B007AFE83 /* roman.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = roman.h; sourceTree = "<group>"; };
+ A9D439FA11C52E9B007AFE83 /* rtfhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtfhtml.h; sourceTree = "<group>"; };
+ A9D439FB11C52E9B007AFE83 /* sapphire.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sapphire.h; sourceTree = "<group>"; };
+ A9D439FD11C52E9B007AFE83 /* stringmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringmgr.h; sourceTree = "<group>"; };
+ A9D439FE11C52E9B007AFE83 /* strkey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strkey.h; sourceTree = "<group>"; };
+ A9D439FF11C52E9B007AFE83 /* swbasicfilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swbasicfilter.h; sourceTree = "<group>"; };
+ A9D43A0011C52E9B007AFE83 /* swbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swbuf.h; sourceTree = "<group>"; };
+ A9D43A0111C52E9B007AFE83 /* swcacher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swcacher.h; sourceTree = "<group>"; };
+ A9D43A0211C52E9B007AFE83 /* swcipher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swcipher.h; sourceTree = "<group>"; };
+ A9D43A0311C52E9B007AFE83 /* swcom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swcom.h; sourceTree = "<group>"; };
+ A9D43A0411C52E9B007AFE83 /* swcomprs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swcomprs.h; sourceTree = "<group>"; };
+ A9D43A0511C52E9B007AFE83 /* swconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swconfig.h; sourceTree = "<group>"; };
+ A9D43A0611C52E9B007AFE83 /* swdisp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swdisp.h; sourceTree = "<group>"; };
+ A9D43A0711C52E9B007AFE83 /* swfilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swfilter.h; sourceTree = "<group>"; };
+ A9D43A0811C52E9B007AFE83 /* swfiltermgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swfiltermgr.h; sourceTree = "<group>"; };
+ A9D43A0911C52E9B007AFE83 /* swgenbook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swgenbook.h; sourceTree = "<group>"; };
+ A9D43A0A11C52E9B007AFE83 /* swinputmeth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swinputmeth.h; sourceTree = "<group>"; };
+ A9D43A0B11C52E9B007AFE83 /* swkey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swkey.h; sourceTree = "<group>"; };
+ A9D43A0C11C52E9B007AFE83 /* swld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swld.h; sourceTree = "<group>"; };
+ A9D43A0D11C52E9B007AFE83 /* swlocale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swlocale.h; sourceTree = "<group>"; };
+ A9D43A0E11C52E9B007AFE83 /* swlog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swlog.h; sourceTree = "<group>"; };
+ A9D43A0F11C52E9B007AFE83 /* swmacs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swmacs.h; sourceTree = "<group>"; };
+ A9D43A1011C52E9B007AFE83 /* swmgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swmgr.h; sourceTree = "<group>"; };
+ A9D43A1111C52E9B007AFE83 /* swmodule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swmodule.h; sourceTree = "<group>"; };
+ A9D43A1211C52E9B007AFE83 /* swobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swobject.h; sourceTree = "<group>"; };
+ A9D43A1311C52E9B007AFE83 /* swoptfilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swoptfilter.h; sourceTree = "<group>"; };
+ A9D43A1511C52E9B007AFE83 /* swsearchable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swsearchable.h; sourceTree = "<group>"; };
+ A9D43A1611C52E9B007AFE83 /* swtext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swtext.h; sourceTree = "<group>"; };
+ A9D43A1711C52E9B007AFE83 /* swunicod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swunicod.h; sourceTree = "<group>"; };
+ A9D43A1811C52E9B007AFE83 /* swversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swversion.h; sourceTree = "<group>"; };
+ A9D43A1911C52E9B007AFE83 /* sysdata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sysdata.h; sourceTree = "<group>"; };
+ A9D43A1A11C52E9B007AFE83 /* teihtmlhref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teihtmlhref.h; sourceTree = "<group>"; };
+ A9D43A1B11C52E9B007AFE83 /* teiplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teiplain.h; sourceTree = "<group>"; };
+ A9D43A1C11C52E9B007AFE83 /* teirtf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teirtf.h; sourceTree = "<group>"; };
+ A9D43A1D11C52E9B007AFE83 /* thmlfootnotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlfootnotes.h; sourceTree = "<group>"; };
+ A9D43A1E11C52E9B007AFE83 /* thmlgbf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlgbf.h; sourceTree = "<group>"; };
+ A9D43A1F11C52E9B007AFE83 /* thmlheadings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlheadings.h; sourceTree = "<group>"; };
+ A9D43A2011C52E9B007AFE83 /* thmlhtml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlhtml.h; sourceTree = "<group>"; };
+ A9D43A2111C52E9B007AFE83 /* thmlhtmlhref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlhtmlhref.h; sourceTree = "<group>"; };
+ A9D43A2211C52E9B007AFE83 /* thmllemma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmllemma.h; sourceTree = "<group>"; };
+ A9D43A2311C52E9B007AFE83 /* thmlmorph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlmorph.h; sourceTree = "<group>"; };
+ A9D43A2411C52E9B007AFE83 /* thmlosis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlosis.h; sourceTree = "<group>"; };
+ A9D43A2511C52E9B007AFE83 /* thmlplain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlplain.h; sourceTree = "<group>"; };
+ A9D43A2611C52E9B007AFE83 /* thmlrtf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlrtf.h; sourceTree = "<group>"; };
+ A9D43A2711C52E9B007AFE83 /* thmlscripref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlscripref.h; sourceTree = "<group>"; };
+ A9D43A2811C52E9B007AFE83 /* thmlstrongs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlstrongs.h; sourceTree = "<group>"; };
+ A9D43A2911C52E9B007AFE83 /* thmlvariants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlvariants.h; sourceTree = "<group>"; };
+ A9D43A2A11C52E9B007AFE83 /* thmlwebif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlwebif.h; sourceTree = "<group>"; };
+ A9D43A2B11C52E9B007AFE83 /* thmlwordjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thmlwordjs.h; sourceTree = "<group>"; };
+ A9D43A2C11C52E9B007AFE83 /* treekey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = treekey.h; sourceTree = "<group>"; };
+ A9D43A2D11C52E9B007AFE83 /* treekeyidx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = treekeyidx.h; sourceTree = "<group>"; };
+ A9D43A2E11C52E9B007AFE83 /* unicodertf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unicodertf.h; sourceTree = "<group>"; };
+ A9D43A2F11C52E9B007AFE83 /* untgz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = untgz.h; sourceTree = "<group>"; };
+ A9D43A3011C52E9B007AFE83 /* url.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = url.h; sourceTree = "<group>"; };
+ A9D43A3111C52E9B007AFE83 /* utf16utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf16utf8.h; sourceTree = "<group>"; };
+ A9D43A3211C52E9B007AFE83 /* utf8arabicpoints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8arabicpoints.h; sourceTree = "<group>"; };
+ A9D43A3311C52E9B007AFE83 /* utf8arshaping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8arshaping.h; sourceTree = "<group>"; };
+ A9D43A3411C52E9B007AFE83 /* utf8bidireorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8bidireorder.h; sourceTree = "<group>"; };
+ A9D43A3511C52E9B007AFE83 /* utf8cantillation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8cantillation.h; sourceTree = "<group>"; };
+ A9D43A3611C52E9B007AFE83 /* utf8greekaccents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8greekaccents.h; sourceTree = "<group>"; };
+ A9D43A3711C52E9B007AFE83 /* utf8hebrewpoints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8hebrewpoints.h; sourceTree = "<group>"; };
+ A9D43A3811C52E9B007AFE83 /* utf8html.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8html.h; sourceTree = "<group>"; };
+ A9D43A3911C52E9B007AFE83 /* utf8latin1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8latin1.h; sourceTree = "<group>"; };
+ A9D43A3A11C52E9B007AFE83 /* utf8nfc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8nfc.h; sourceTree = "<group>"; };
+ A9D43A3B11C52E9B007AFE83 /* utf8nfkd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8nfkd.h; sourceTree = "<group>"; };
+ A9D43A3C11C52E9B007AFE83 /* utf8transliterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8transliterator.h; sourceTree = "<group>"; };
+ A9D43A3D11C52E9B007AFE83 /* utf8utf16.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8utf16.h; sourceTree = "<group>"; };
+ A9D43A3E11C52E9B007AFE83 /* utilstr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utilstr.h; sourceTree = "<group>"; };
+ A9D43A3F11C52E9B007AFE83 /* utilxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utilxml.h; sourceTree = "<group>"; };
+ A9D43A4011C52E9B007AFE83 /* versekey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = versekey.h; sourceTree = "<group>"; };
+ A9D43A4111C52E9B007AFE83 /* versemgr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = versemgr.h; sourceTree = "<group>"; };
+ A9D43A4211C52E9B007AFE83 /* versetreekey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = versetreekey.h; sourceTree = "<group>"; };
+ A9D43A4311C52E9B007AFE83 /* zcom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zcom.h; sourceTree = "<group>"; };
+ A9D43A4411C52E9B007AFE83 /* zconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = "<group>"; };
+ A9D43A4511C52E9B007AFE83 /* zipcomprs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zipcomprs.h; sourceTree = "<group>"; };
+ A9D43A4611C52E9B007AFE83 /* zld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zld.h; sourceTree = "<group>"; };
+ A9D43A4711C52E9B007AFE83 /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = "<group>"; };
+ A9D43A4811C52E9B007AFE83 /* zstr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zstr.h; sourceTree = "<group>"; };
+ A9D43A4911C52E9B007AFE83 /* ztext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ztext.h; sourceTree = "<group>"; };
+ A9D43A4A11C52E9B007AFE83 /* zverse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zverse.h; sourceTree = "<group>"; };
+ A9EF13B21205952C0078A27C /* libSword.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSword.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
+ 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>"; };
+ A9FB264511FD95CD004C4295 /* AnalysisHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AnalysisHeader.cpp; sourceTree = "<group>"; };
+ A9FB264611FD95CD004C4295 /* AnalysisHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnalysisHeader.h; sourceTree = "<group>"; };
+ A9FB264711FD95CD004C4295 /* Analyzers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Analyzers.cpp; sourceTree = "<group>"; };
+ A9FB264811FD95CD004C4295 /* Analyzers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Analyzers.h; sourceTree = "<group>"; };
+ A9FB264A11FD95CD004C4295 /* StandardAnalyzer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StandardAnalyzer.cpp; sourceTree = "<group>"; };
+ A9FB264B11FD95CD004C4295 /* StandardAnalyzer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StandardAnalyzer.h; sourceTree = "<group>"; };
+ A9FB264C11FD95CD004C4295 /* StandardFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StandardFilter.cpp; sourceTree = "<group>"; };
+ A9FB264D11FD95CD004C4295 /* StandardFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StandardFilter.h; sourceTree = "<group>"; };
+ A9FB264E11FD95CD004C4295 /* StandardTokenizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StandardTokenizer.cpp; sourceTree = "<group>"; };
+ A9FB264F11FD95CD004C4295 /* StandardTokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StandardTokenizer.h; sourceTree = "<group>"; };
+ A9FB265011FD95CD004C4295 /* StandardTokenizerConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StandardTokenizerConstants.h; sourceTree = "<group>"; };
+ A9FB265111FD95CD004C4295 /* CLBackwards.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CLBackwards.h; sourceTree = "<group>"; };
+ A9FB265211FD95CD004C4295 /* CLConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CLConfig.h; sourceTree = "<group>"; };
+ A9FB265311FD95CD004C4295 /* clucene-config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "clucene-config.h"; sourceTree = "<group>"; };
+ A9FB265511FD95CD004C4295 /* compiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compiler.h; sourceTree = "<group>"; };
+ A9FB265611FD95CD004C4295 /* CompilerBcb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompilerBcb.h; sourceTree = "<group>"; };
+ A9FB265711FD95CD004C4295 /* CompilerGcc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompilerGcc.h; sourceTree = "<group>"; };
+ A9FB265811FD95CD004C4295 /* CompilerMsvc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompilerMsvc.h; sourceTree = "<group>"; };
+ A9FB265911FD95CD004C4295 /* define_std.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = define_std.h; sourceTree = "<group>"; };
+ A9FB265A11FD95CD004C4295 /* gunichartables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gunichartables.cpp; sourceTree = "<group>"; };
+ A9FB265B11FD95CD004C4295 /* gunichartables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gunichartables.h; sourceTree = "<group>"; };
+ A9FB265C11FD95CD004C4295 /* PlatformMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformMac.h; sourceTree = "<group>"; };
+ A9FB265D11FD95CD004C4295 /* PlatformUnix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformUnix.h; sourceTree = "<group>"; };
+ A9FB265E11FD95CD004C4295 /* PlatformWin32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformWin32.h; sourceTree = "<group>"; };
+ A9FB265F11FD95CD004C4295 /* repl_lltot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = repl_lltot.cpp; sourceTree = "<group>"; };
+ A9FB266011FD95CD004C4295 /* repl_tchar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = repl_tchar.h; sourceTree = "<group>"; };
+ A9FB266111FD95CD004C4295 /* repl_tcscasecmp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = repl_tcscasecmp.cpp; sourceTree = "<group>"; };
+ A9FB266211FD95CD004C4295 /* repl_tcslwr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = repl_tcslwr.cpp; sourceTree = "<group>"; };
+ A9FB266311FD95CD004C4295 /* repl_tcstod.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = repl_tcstod.cpp; sourceTree = "<group>"; };
+ A9FB266411FD95CD004C4295 /* repl_tcstoll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = repl_tcstoll.cpp; sourceTree = "<group>"; };
+ A9FB266511FD95CD004C4295 /* repl_tprintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = repl_tprintf.cpp; sourceTree = "<group>"; };
+ A9FB266611FD95CD004C4295 /* repl_wchar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = repl_wchar.h; sourceTree = "<group>"; };
+ A9FB266711FD95CD004C4295 /* threadCSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = threadCSection.h; sourceTree = "<group>"; };
+ A9FB266811FD95CD004C4295 /* threadPthread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = threadPthread.h; sourceTree = "<group>"; };
+ A9FB266911FD95CD004C4295 /* threads.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = threads.cpp; sourceTree = "<group>"; };
+ A9FB266A11FD95CD004C4295 /* utf8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8.cpp; sourceTree = "<group>"; };
+ A9FB266C11FD95CD004C4295 /* condition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = condition.cpp; sourceTree = "<group>"; };
+ A9FB266D11FD95CD004C4295 /* condition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = condition.h; sourceTree = "<group>"; };
+ A9FB266E11FD95CD004C4295 /* error.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = error.cpp; sourceTree = "<group>"; };
+ A9FB266F11FD95CD004C4295 /* error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = "<group>"; };
+ A9FB267011FD95CD004C4295 /* lucenebase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lucenebase.h; sourceTree = "<group>"; };
+ A9FB267111FD95CD004C4295 /* mem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem.h; sourceTree = "<group>"; };
+ A9FB267211FD95CD004C4295 /* memtracking.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memtracking.cpp; sourceTree = "<group>"; };
+ A9FB267411FD95CD004C4295 /* DateField.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DateField.cpp; sourceTree = "<group>"; };
+ A9FB267511FD95CD004C4295 /* DateField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DateField.h; sourceTree = "<group>"; };
+ A9FB267611FD95CD004C4295 /* Document.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Document.cpp; sourceTree = "<group>"; };
+ A9FB267711FD95CD004C4295 /* Document.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Document.h; sourceTree = "<group>"; };
+ A9FB267811FD95CD004C4295 /* Field.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Field.cpp; sourceTree = "<group>"; };
+ A9FB267911FD95CD004C4295 /* Field.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Field.h; sourceTree = "<group>"; };
+ A9FB267B11FD95CD004C4295 /* CompoundFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompoundFile.cpp; sourceTree = "<group>"; };
+ A9FB267C11FD95CD004C4295 /* CompoundFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompoundFile.h; sourceTree = "<group>"; };
+ A9FB267D11FD95CD004C4295 /* DocumentWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentWriter.cpp; sourceTree = "<group>"; };
+ A9FB267E11FD95CD004C4295 /* DocumentWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentWriter.h; sourceTree = "<group>"; };
+ A9FB267F11FD95CD004C4295 /* FieldInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldInfo.h; sourceTree = "<group>"; };
+ A9FB268011FD95CD004C4295 /* FieldInfos.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FieldInfos.cpp; sourceTree = "<group>"; };
+ A9FB268111FD95CD004C4295 /* FieldInfos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldInfos.h; sourceTree = "<group>"; };
+ A9FB268211FD95CD004C4295 /* FieldsReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FieldsReader.cpp; sourceTree = "<group>"; };
+ A9FB268311FD95CD004C4295 /* FieldsReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldsReader.h; sourceTree = "<group>"; };
+ A9FB268411FD95CD004C4295 /* FieldsWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FieldsWriter.cpp; sourceTree = "<group>"; };
+ A9FB268511FD95CD004C4295 /* FieldsWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldsWriter.h; sourceTree = "<group>"; };
+ A9FB268611FD95CD004C4295 /* IndexModifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndexModifier.cpp; sourceTree = "<group>"; };
+ A9FB268711FD95CD004C4295 /* IndexModifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndexModifier.h; sourceTree = "<group>"; };
+ A9FB268811FD95CD004C4295 /* IndexReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndexReader.cpp; sourceTree = "<group>"; };
+ A9FB268911FD95CD004C4295 /* IndexReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndexReader.h; sourceTree = "<group>"; };
+ A9FB268A11FD95CD004C4295 /* IndexWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndexWriter.cpp; sourceTree = "<group>"; };
+ A9FB268B11FD95CD004C4295 /* IndexWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndexWriter.h; sourceTree = "<group>"; };
+ A9FB268C11FD95CD004C4295 /* MultiReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiReader.cpp; sourceTree = "<group>"; };
+ A9FB268D11FD95CD004C4295 /* MultiReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiReader.h; sourceTree = "<group>"; };
+ A9FB268E11FD95CD004C4295 /* SegmentHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentHeader.h; sourceTree = "<group>"; };
+ A9FB268F11FD95CD004C4295 /* SegmentInfos.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentInfos.cpp; sourceTree = "<group>"; };
+ A9FB269011FD95CD004C4295 /* SegmentInfos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentInfos.h; sourceTree = "<group>"; };
+ A9FB269111FD95CD004C4295 /* SegmentMergeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentMergeInfo.cpp; sourceTree = "<group>"; };
+ A9FB269211FD95CD004C4295 /* SegmentMergeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentMergeInfo.h; sourceTree = "<group>"; };
+ A9FB269311FD95CD004C4295 /* SegmentMergeQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentMergeQueue.cpp; sourceTree = "<group>"; };
+ A9FB269411FD95CD004C4295 /* SegmentMergeQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentMergeQueue.h; sourceTree = "<group>"; };
+ A9FB269511FD95CD004C4295 /* SegmentMerger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentMerger.cpp; sourceTree = "<group>"; };
+ A9FB269611FD95CD004C4295 /* SegmentMerger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentMerger.h; sourceTree = "<group>"; };
+ A9FB269711FD95CD004C4295 /* SegmentReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentReader.cpp; sourceTree = "<group>"; };
+ A9FB269811FD95CD004C4295 /* SegmentTermDocs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentTermDocs.cpp; sourceTree = "<group>"; };
+ A9FB269911FD95CD004C4295 /* SegmentTermEnum.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentTermEnum.cpp; sourceTree = "<group>"; };
+ A9FB269A11FD95CD004C4295 /* SegmentTermEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentTermEnum.h; sourceTree = "<group>"; };
+ A9FB269B11FD95CD004C4295 /* SegmentTermPositions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentTermPositions.cpp; sourceTree = "<group>"; };
+ A9FB269C11FD95CD004C4295 /* SegmentTermVector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentTermVector.cpp; sourceTree = "<group>"; };
+ A9FB269D11FD95CD004C4295 /* Term.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Term.cpp; sourceTree = "<group>"; };
+ A9FB269E11FD95CD004C4295 /* Term.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Term.h; sourceTree = "<group>"; };
+ A9FB269F11FD95CD004C4295 /* TermInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TermInfo.cpp; sourceTree = "<group>"; };
+ A9FB26A011FD95CD004C4295 /* TermInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TermInfo.h; sourceTree = "<group>"; };
+ A9FB26A111FD95CD004C4295 /* TermInfosReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TermInfosReader.cpp; sourceTree = "<group>"; };
+ A9FB26A211FD95CD004C4295 /* TermInfosReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TermInfosReader.h; sourceTree = "<group>"; };
+ A9FB26A311FD95CD004C4295 /* TermInfosWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TermInfosWriter.cpp; sourceTree = "<group>"; };
+ A9FB26A411FD95CD004C4295 /* TermInfosWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TermInfosWriter.h; sourceTree = "<group>"; };
+ A9FB26A511FD95CD004C4295 /* Terms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Terms.h; sourceTree = "<group>"; };
+ A9FB26A611FD95CD004C4295 /* TermVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TermVector.h; sourceTree = "<group>"; };
+ A9FB26A711FD95CD004C4295 /* TermVectorReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TermVectorReader.cpp; sourceTree = "<group>"; };
+ A9FB26A811FD95CD004C4295 /* TermVectorWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TermVectorWriter.cpp; sourceTree = "<group>"; };
+ A9FB26A911FD95CD004C4295 /* LuceneThreads.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LuceneThreads.h; sourceTree = "<group>"; };
+ A9FB26AB11FD95CD004C4295 /* Lexer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Lexer.cpp; sourceTree = "<group>"; };
+ A9FB26AC11FD95CD004C4295 /* Lexer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lexer.h; sourceTree = "<group>"; };
+ A9FB26AD11FD95CD004C4295 /* MultiFieldQueryParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiFieldQueryParser.cpp; sourceTree = "<group>"; };
+ A9FB26AE11FD95CD004C4295 /* MultiFieldQueryParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiFieldQueryParser.h; sourceTree = "<group>"; };
+ A9FB26AF11FD95CD004C4295 /* QueryParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QueryParser.cpp; sourceTree = "<group>"; };
+ A9FB26B011FD95CD004C4295 /* QueryParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QueryParser.h; sourceTree = "<group>"; };
+ A9FB26B111FD95CD004C4295 /* QueryParserBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QueryParserBase.cpp; sourceTree = "<group>"; };
+ A9FB26B211FD95CD004C4295 /* QueryParserBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QueryParserBase.h; sourceTree = "<group>"; };
+ A9FB26B311FD95CD004C4295 /* QueryToken.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QueryToken.cpp; sourceTree = "<group>"; };
+ A9FB26B411FD95CD004C4295 /* QueryToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QueryToken.h; sourceTree = "<group>"; };
+ A9FB26B511FD95CD004C4295 /* TokenList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TokenList.cpp; sourceTree = "<group>"; };
+ A9FB26B611FD95CD004C4295 /* TokenList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TokenList.h; sourceTree = "<group>"; };
+ A9FB26B811FD95CD004C4295 /* BooleanClause.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BooleanClause.h; sourceTree = "<group>"; };
+ A9FB26B911FD95CD004C4295 /* BooleanQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BooleanQuery.cpp; sourceTree = "<group>"; };
+ A9FB26BA11FD95CD004C4295 /* BooleanQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BooleanQuery.h; sourceTree = "<group>"; };
+ A9FB26BB11FD95CD004C4295 /* BooleanScorer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BooleanScorer.cpp; sourceTree = "<group>"; };
+ A9FB26BC11FD95CD004C4295 /* BooleanScorer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BooleanScorer.h; sourceTree = "<group>"; };
+ A9FB26BD11FD95CD004C4295 /* CachingWrapperFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CachingWrapperFilter.cpp; sourceTree = "<group>"; };
+ A9FB26BE11FD95CD004C4295 /* CachingWrapperFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachingWrapperFilter.h; sourceTree = "<group>"; };
+ A9FB26BF11FD95CD004C4295 /* ChainedFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ChainedFilter.cpp; sourceTree = "<group>"; };
+ A9FB26C011FD95CD004C4295 /* ChainedFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChainedFilter.h; sourceTree = "<group>"; };
+ A9FB26C111FD95CD004C4295 /* Compare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Compare.h; sourceTree = "<group>"; };
+ A9FB26C211FD95CD004C4295 /* ConjunctionScorer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConjunctionScorer.cpp; sourceTree = "<group>"; };
+ A9FB26C311FD95CD004C4295 /* ConjunctionScorer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConjunctionScorer.h; sourceTree = "<group>"; };
+ A9FB26C411FD95CD004C4295 /* DateFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DateFilter.cpp; sourceTree = "<group>"; };
+ A9FB26C511FD95CD004C4295 /* DateFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DateFilter.h; sourceTree = "<group>"; };
+ A9FB26C611FD95CD004C4295 /* ExactPhraseScorer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExactPhraseScorer.cpp; sourceTree = "<group>"; };
+ A9FB26C711FD95CD004C4295 /* ExactPhraseScorer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExactPhraseScorer.h; sourceTree = "<group>"; };
+ A9FB26C811FD95CD004C4295 /* Explanation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Explanation.cpp; sourceTree = "<group>"; };
+ A9FB26C911FD95CD004C4295 /* Explanation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Explanation.h; sourceTree = "<group>"; };
+ A9FB26CA11FD95CD004C4295 /* FieldCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FieldCache.cpp; sourceTree = "<group>"; };
+ A9FB26CB11FD95CD004C4295 /* FieldCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldCache.h; sourceTree = "<group>"; };
+ A9FB26CC11FD95CD004C4295 /* FieldCacheImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FieldCacheImpl.cpp; sourceTree = "<group>"; };
+ A9FB26CD11FD95CD004C4295 /* FieldCacheImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldCacheImpl.h; sourceTree = "<group>"; };
+ A9FB26CE11FD95CD004C4295 /* FieldDoc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldDoc.h; sourceTree = "<group>"; };
+ A9FB26CF11FD95CD004C4295 /* FieldDocSortedHitQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FieldDocSortedHitQueue.cpp; sourceTree = "<group>"; };
+ A9FB26D011FD95CD004C4295 /* FieldDocSortedHitQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldDocSortedHitQueue.h; sourceTree = "<group>"; };
+ A9FB26D111FD95CD004C4295 /* FieldSortedHitQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FieldSortedHitQueue.cpp; sourceTree = "<group>"; };
+ A9FB26D211FD95CD004C4295 /* FieldSortedHitQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldSortedHitQueue.h; sourceTree = "<group>"; };
+ A9FB26D311FD95CD004C4295 /* Filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Filter.h; sourceTree = "<group>"; };
+ A9FB26D411FD95CD004C4295 /* FilteredTermEnum.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FilteredTermEnum.cpp; sourceTree = "<group>"; };
+ A9FB26D511FD95CD004C4295 /* FilteredTermEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FilteredTermEnum.h; sourceTree = "<group>"; };
+ A9FB26D611FD95CD004C4295 /* FuzzyQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FuzzyQuery.cpp; sourceTree = "<group>"; };
+ A9FB26D711FD95CD004C4295 /* FuzzyQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FuzzyQuery.h; sourceTree = "<group>"; };
+ A9FB26D811FD95CD004C4295 /* HitQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HitQueue.cpp; sourceTree = "<group>"; };
+ A9FB26D911FD95CD004C4295 /* HitQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HitQueue.h; sourceTree = "<group>"; };
+ A9FB26DA11FD95CD004C4295 /* Hits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Hits.cpp; sourceTree = "<group>"; };
+ A9FB26DB11FD95CD004C4295 /* IndexSearcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndexSearcher.cpp; sourceTree = "<group>"; };
+ A9FB26DC11FD95CD004C4295 /* IndexSearcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndexSearcher.h; sourceTree = "<group>"; };
+ A9FB26DD11FD95CD004C4295 /* MultiSearcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiSearcher.cpp; sourceTree = "<group>"; };
+ A9FB26DE11FD95CD004C4295 /* MultiSearcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiSearcher.h; sourceTree = "<group>"; };
+ A9FB26DF11FD95CD004C4295 /* MultiTermQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiTermQuery.cpp; sourceTree = "<group>"; };
+ A9FB26E011FD95CD004C4295 /* MultiTermQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiTermQuery.h; sourceTree = "<group>"; };
+ A9FB26E111FD95CD004C4295 /* PhrasePositions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PhrasePositions.cpp; sourceTree = "<group>"; };
+ A9FB26E211FD95CD004C4295 /* PhrasePositions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhrasePositions.h; sourceTree = "<group>"; };
+ A9FB26E311FD95CD004C4295 /* PhraseQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PhraseQuery.cpp; sourceTree = "<group>"; };
+ A9FB26E411FD95CD004C4295 /* PhraseQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhraseQuery.h; sourceTree = "<group>"; };
+ A9FB26E511FD95CD004C4295 /* PhraseQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhraseQueue.h; sourceTree = "<group>"; };
+ A9FB26E611FD95CD004C4295 /* PhraseScorer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PhraseScorer.cpp; sourceTree = "<group>"; };
+ A9FB26E711FD95CD004C4295 /* PhraseScorer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhraseScorer.h; sourceTree = "<group>"; };
+ A9FB26E811FD95CD004C4295 /* PrefixQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PrefixQuery.cpp; sourceTree = "<group>"; };
+ A9FB26E911FD95CD004C4295 /* PrefixQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefixQuery.h; sourceTree = "<group>"; };
+ A9FB26EA11FD95CD004C4295 /* QueryFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QueryFilter.cpp; sourceTree = "<group>"; };
+ A9FB26EB11FD95CD004C4295 /* QueryFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QueryFilter.h; sourceTree = "<group>"; };
+ A9FB26EC11FD95CD004C4295 /* RangeFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RangeFilter.cpp; sourceTree = "<group>"; };
+ A9FB26ED11FD95CD004C4295 /* RangeFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RangeFilter.h; sourceTree = "<group>"; };
+ A9FB26EE11FD95CD004C4295 /* RangeQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RangeQuery.cpp; sourceTree = "<group>"; };
+ A9FB26EF11FD95CD004C4295 /* RangeQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RangeQuery.h; sourceTree = "<group>"; };
+ A9FB26F011FD95CD004C4295 /* Scorer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scorer.h; sourceTree = "<group>"; };
+ A9FB26F111FD95CD004C4295 /* SearchHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SearchHeader.cpp; sourceTree = "<group>"; };
+ A9FB26F211FD95CD004C4295 /* SearchHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchHeader.h; sourceTree = "<group>"; };
+ A9FB26F311FD95CD004C4295 /* Similarity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Similarity.cpp; sourceTree = "<group>"; };
+ A9FB26F411FD95CD004C4295 /* Similarity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Similarity.h; sourceTree = "<group>"; };
+ A9FB26F511FD95CD004C4295 /* SloppyPhraseScorer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SloppyPhraseScorer.cpp; sourceTree = "<group>"; };
+ A9FB26F611FD95CD004C4295 /* SloppyPhraseScorer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SloppyPhraseScorer.h; sourceTree = "<group>"; };
+ A9FB26F711FD95CD004C4295 /* Sort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Sort.cpp; sourceTree = "<group>"; };
+ A9FB26F811FD95CD004C4295 /* Sort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sort.h; sourceTree = "<group>"; };
+ A9FB26F911FD95CD004C4295 /* TermQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TermQuery.cpp; sourceTree = "<group>"; };
+ A9FB26FA11FD95CD004C4295 /* TermQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TermQuery.h; sourceTree = "<group>"; };
+ A9FB26FB11FD95CD004C4295 /* TermScorer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TermScorer.cpp; sourceTree = "<group>"; };
+ A9FB26FC11FD95CD004C4295 /* TermScorer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TermScorer.h; sourceTree = "<group>"; };
+ A9FB26FD11FD95CD004C4295 /* WildcardQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WildcardQuery.cpp; sourceTree = "<group>"; };
+ A9FB26FE11FD95CD004C4295 /* WildcardQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WildcardQuery.h; sourceTree = "<group>"; };
+ A9FB26FF11FD95CD004C4295 /* WildcardTermEnum.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WildcardTermEnum.cpp; sourceTree = "<group>"; };
+ A9FB270011FD95CD004C4295 /* WildcardTermEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WildcardTermEnum.h; sourceTree = "<group>"; };
+ A9FB270111FD95CD004C4295 /* StdHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StdHeader.cpp; sourceTree = "<group>"; };
+ A9FB270211FD95CD004C4295 /* StdHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StdHeader.h; sourceTree = "<group>"; };
+ A9FB270411FD95CD004C4295 /* Directory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Directory.h; sourceTree = "<group>"; };
+ A9FB270511FD95CD004C4295 /* FSDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FSDirectory.cpp; sourceTree = "<group>"; };
+ A9FB270611FD95CD004C4295 /* FSDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSDirectory.h; sourceTree = "<group>"; };
+ A9FB270711FD95CD004C4295 /* IndexInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndexInput.cpp; sourceTree = "<group>"; };
+ A9FB270811FD95CD004C4295 /* IndexInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndexInput.h; sourceTree = "<group>"; };
+ A9FB270911FD95CD004C4295 /* IndexOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndexOutput.cpp; sourceTree = "<group>"; };
+ A9FB270A11FD95CD004C4295 /* IndexOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndexOutput.h; sourceTree = "<group>"; };
+ A9FB270B11FD95CD004C4295 /* InputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InputStream.h; sourceTree = "<group>"; };
+ A9FB270C11FD95CD004C4295 /* Lock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Lock.cpp; sourceTree = "<group>"; };
+ A9FB270D11FD95CD004C4295 /* Lock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lock.h; sourceTree = "<group>"; };
+ A9FB270E11FD95CD004C4295 /* MMapInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MMapInput.cpp; sourceTree = "<group>"; };
+ A9FB270F11FD95CD004C4295 /* OutputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OutputStream.h; sourceTree = "<group>"; };
+ A9FB271011FD95CD004C4295 /* RAMDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RAMDirectory.cpp; sourceTree = "<group>"; };
+ A9FB271111FD95CD004C4295 /* RAMDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RAMDirectory.h; sourceTree = "<group>"; };
+ A9FB271211FD95CD004C4295 /* TransactionalRAMDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransactionalRAMDirectory.cpp; sourceTree = "<group>"; };
+ A9FB271311FD95CD004C4295 /* TransactionalRAMDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransactionalRAMDirectory.h; sourceTree = "<group>"; };
+ A9FB271511FD95CD004C4295 /* Arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Arrays.h; sourceTree = "<group>"; };
+ A9FB271611FD95CD004C4295 /* BitSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BitSet.cpp; sourceTree = "<group>"; };
+ A9FB271711FD95CD004C4295 /* BitSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitSet.h; sourceTree = "<group>"; };
+ A9FB271811FD95CD004C4295 /* bufferedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bufferedstream.h; sourceTree = "<group>"; };
+ A9FB271911FD95CD004C4295 /* dirent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dirent.cpp; sourceTree = "<group>"; };
+ A9FB271A11FD95CD004C4295 /* dirent2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dirent2.h; sourceTree = "<group>"; };
+ A9FB271B11FD95CD004C4295 /* Equators.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Equators.cpp; sourceTree = "<group>"; };
+ A9FB271C11FD95CD004C4295 /* Equators.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Equators.h; sourceTree = "<group>"; };
+ A9FB271D11FD95CD004C4295 /* FastCharStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FastCharStream.cpp; sourceTree = "<group>"; };
+ A9FB271E11FD95CD004C4295 /* FastCharStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FastCharStream.h; sourceTree = "<group>"; };
+ A9FB271F11FD95CD004C4295 /* fileinputstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fileinputstream.cpp; sourceTree = "<group>"; };
+ A9FB272011FD95CD004C4295 /* fileinputstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fileinputstream.h; sourceTree = "<group>"; };
+ A9FB272111FD95CD004C4295 /* googlesparsemap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = googlesparsemap.h; sourceTree = "<group>"; };
+ A9FB272211FD95CD004C4295 /* inputstreambuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inputstreambuffer.h; sourceTree = "<group>"; };
+ A9FB272311FD95CD004C4295 /* jstreamsconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = jstreamsconfig.h; sourceTree = "<group>"; };
+ A9FB272411FD95CD004C4295 /* MD5Digester.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MD5Digester.cpp; sourceTree = "<group>"; };
+ A9FB272511FD95CD004C4295 /* MD5Digester.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MD5Digester.h; sourceTree = "<group>"; };
+ A9FB272611FD95CD004C4295 /* Misc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Misc.cpp; sourceTree = "<group>"; };
+ A9FB272711FD95CD004C4295 /* Misc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Misc.h; sourceTree = "<group>"; };
+ A9FB272811FD95CD004C4295 /* PriorityQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PriorityQueue.h; sourceTree = "<group>"; };
+ A9FB272911FD95CD004C4295 /* Reader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Reader.cpp; sourceTree = "<group>"; };
+ A9FB272A11FD95CD004C4295 /* Reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Reader.h; sourceTree = "<group>"; };
+ A9FB272B11FD95CD004C4295 /* streambase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = streambase.h; sourceTree = "<group>"; };
+ A9FB272C11FD95CD004C4295 /* StringBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StringBuffer.cpp; sourceTree = "<group>"; };
+ A9FB272D11FD95CD004C4295 /* StringBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringBuffer.h; sourceTree = "<group>"; };
+ A9FB272E11FD95CD004C4295 /* StringIntern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StringIntern.cpp; sourceTree = "<group>"; };
+ A9FB272F11FD95CD004C4295 /* StringIntern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringIntern.h; sourceTree = "<group>"; };
+ A9FB273011FD95CD004C4295 /* stringreader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringreader.h; sourceTree = "<group>"; };
+ A9FB273111FD95CD004C4295 /* subinputstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = subinputstream.h; sourceTree = "<group>"; };
+ A9FB273211FD95CD004C4295 /* ThreadLocal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadLocal.cpp; sourceTree = "<group>"; };
+ A9FB273311FD95CD004C4295 /* ThreadLocal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadLocal.h; sourceTree = "<group>"; };
+ A9FB273411FD95CD004C4295 /* VoidList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VoidList.h; sourceTree = "<group>"; };
+ A9FB273511FD95CD004C4295 /* VoidMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VoidMap.h; sourceTree = "<group>"; };
+ A9FB273611FD95CD004C4295 /* CLucene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CLucene.h; sourceTree = "<group>"; };
+ A9FB282311FD95E4004C4295 /* femain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = femain.cpp; sourceTree = "<group>"; };
+ A9FB282511FD95E4004C4295 /* hebrewmcim.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hebrewmcim.cpp; sourceTree = "<group>"; };
+ A9FB282611FD95E4004C4295 /* nullim.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = nullim.cpp; sourceTree = "<group>"; };
+ A9FB282711FD95E4004C4295 /* swinputmeth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swinputmeth.cpp; sourceTree = "<group>"; };
+ A9FB282811FD95E4004C4295 /* swdisp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swdisp.cpp; sourceTree = "<group>"; };
+ A9FB282911FD95E4004C4295 /* swlog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swlog.cpp; sourceTree = "<group>"; };
+ A9FB282D11FD95E4004C4295 /* genarray.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = genarray.c; sourceTree = "<group>"; };
+ A9FB282E11FD95E4004C4295 /* listkey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = listkey.cpp; sourceTree = "<group>"; };
+ A9FB282F11FD95E4004C4295 /* nt.bks */ = {isa = PBXFileReference; lastKnownFileType = file; path = nt.bks; sourceTree = "<group>"; };
+ A9FB283011FD95E4004C4295 /* nt.cps */ = {isa = PBXFileReference; lastKnownFileType = file; path = nt.cps; sourceTree = "<group>"; };
+ A9FB283111FD95E4004C4295 /* ot.bks */ = {isa = PBXFileReference; lastKnownFileType = file; path = ot.bks; sourceTree = "<group>"; };
+ A9FB283211FD95E4004C4295 /* ot.cps */ = {isa = PBXFileReference; lastKnownFileType = file; path = ot.cps; sourceTree = "<group>"; };
+ A9FB283311FD95E4004C4295 /* strkey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strkey.cpp; sourceTree = "<group>"; };
+ A9FB283411FD95E4004C4295 /* swkey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swkey.cpp; sourceTree = "<group>"; };
+ A9FB283511FD95E4004C4295 /* treekey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = treekey.cpp; sourceTree = "<group>"; };
+ A9FB283611FD95E4004C4295 /* treekeyidx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = treekeyidx.cpp; sourceTree = "<group>"; };
+ A9FB283711FD95E4004C4295 /* versekey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = versekey.cpp; sourceTree = "<group>"; };
+ A9FB283811FD95E4004C4295 /* versetreekey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = versetreekey.cpp; sourceTree = "<group>"; };
+ A9FB283A11FD95E4004C4295 /* curlftpt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = curlftpt.cpp; sourceTree = "<group>"; };
+ A9FB283B11FD95E4004C4295 /* curlhttpt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = curlhttpt.cpp; sourceTree = "<group>"; };
+ A9FB283C11FD95E4004C4295 /* encfiltmgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encfiltmgr.cpp; sourceTree = "<group>"; };
+ A9FB283D11FD95E4004C4295 /* filemgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = filemgr.cpp; sourceTree = "<group>"; };
+ A9FB283E11FD95E4004C4295 /* ftplibftpt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ftplibftpt.cpp; sourceTree = "<group>"; };
+ A9FB283F11FD95E4004C4295 /* ftptrans.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ftptrans.cpp; sourceTree = "<group>"; };
+ A9FB284011FD95E4004C4295 /* installmgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = installmgr.cpp; sourceTree = "<group>"; };
+ A9FB284111FD95E4004C4295 /* localemgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = localemgr.cpp; sourceTree = "<group>"; };
+ A9FB284211FD95E4004C4295 /* markupfiltmgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = markupfiltmgr.cpp; sourceTree = "<group>"; };
+ A9FB284311FD95E4004C4295 /* stringmgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringmgr.cpp; sourceTree = "<group>"; };
+ A9FB284411FD95E4004C4295 /* swcacher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swcacher.cpp; sourceTree = "<group>"; };
+ A9FB284511FD95E4004C4295 /* swconfig.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swconfig.cpp; sourceTree = "<group>"; };
+ A9FB284611FD95E4004C4295 /* swfiltermgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swfiltermgr.cpp; sourceTree = "<group>"; };
+ A9FB284711FD95E4004C4295 /* swlocale.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swlocale.cpp; sourceTree = "<group>"; };
+ A9FB284811FD95E4004C4295 /* swmgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swmgr.cpp; sourceTree = "<group>"; };
+ A9FB284911FD95E4004C4295 /* swsearchable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swsearchable.cpp; sourceTree = "<group>"; };
+ A9FB284A11FD95E4004C4295 /* versemgr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = versemgr.cpp; sourceTree = "<group>"; };
+ A9FB284E11FD95E4004C4295 /* hrefcom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hrefcom.cpp; sourceTree = "<group>"; };
+ A9FB285011FD95E4004C4295 /* rawcom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawcom.cpp; sourceTree = "<group>"; };
+ A9FB285211FD95E4004C4295 /* rawcom4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawcom4.cpp; sourceTree = "<group>"; };
+ A9FB285411FD95E4004C4295 /* rawfiles.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawfiles.cpp; sourceTree = "<group>"; };
+ A9FB285511FD95E4004C4295 /* swcom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swcom.cpp; sourceTree = "<group>"; };
+ A9FB285711FD95E4004C4295 /* zcom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zcom.cpp; sourceTree = "<group>"; };
+ A9FB285911FD95E4004C4295 /* compress.cpp.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = compress.cpp.txt; sourceTree = "<group>"; };
+ A9FB285A11FD95E4004C4295 /* entriesblk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = entriesblk.cpp; sourceTree = "<group>"; };
+ A9FB285B11FD95E4004C4295 /* lzsscomprs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lzsscomprs.cpp; sourceTree = "<group>"; };
+ A9FB285C11FD95E4004C4295 /* rawstr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawstr.cpp; sourceTree = "<group>"; };
+ A9FB285D11FD95E4004C4295 /* rawstr4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawstr4.cpp; sourceTree = "<group>"; };
+ A9FB285E11FD95E4004C4295 /* rawverse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawverse.cpp; sourceTree = "<group>"; };
+ A9FB285F11FD95E4004C4295 /* rawverse4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawverse4.cpp; sourceTree = "<group>"; };
+ A9FB286011FD95E4004C4295 /* sapphire.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sapphire.cpp; sourceTree = "<group>"; };
+ A9FB286111FD95E4004C4295 /* swcipher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swcipher.cpp; sourceTree = "<group>"; };
+ A9FB286211FD95E4004C4295 /* swcomprs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swcomprs.cpp; sourceTree = "<group>"; };
+ A9FB286311FD95E4004C4295 /* swcomprs.doc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = swcomprs.doc; sourceTree = "<group>"; };
+ A9FB286411FD95E4004C4295 /* zipcomprs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zipcomprs.cpp; sourceTree = "<group>"; };
+ A9FB286511FD95E4004C4295 /* zstr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zstr.cpp; sourceTree = "<group>"; };
+ A9FB286611FD95E4004C4295 /* zverse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zverse.cpp; sourceTree = "<group>"; };
+ A9FB286811FD95E4004C4295 /* cipherfil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cipherfil.cpp; sourceTree = "<group>"; };
+ A9FB286911FD95E4004C4295 /* gbffootnotes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbffootnotes.cpp; sourceTree = "<group>"; };
+ A9FB286A11FD95E4004C4295 /* gbfheadings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfheadings.cpp; sourceTree = "<group>"; };
+ A9FB286B11FD95E4004C4295 /* gbfhtml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfhtml.cpp; sourceTree = "<group>"; };
+ A9FB286C11FD95E4004C4295 /* gbfhtmlhref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfhtmlhref.cpp; sourceTree = "<group>"; };
+ A9FB286D11FD95E4004C4295 /* gbfmorph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfmorph.cpp; sourceTree = "<group>"; };
+ A9FB286E11FD95E4004C4295 /* gbfosis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfosis.cpp; sourceTree = "<group>"; };
+ A9FB286F11FD95E4004C4295 /* gbfplain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfplain.cpp; sourceTree = "<group>"; };
+ A9FB287011FD95E4004C4295 /* gbfredletterwords.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfredletterwords.cpp; sourceTree = "<group>"; };
+ A9FB287111FD95E4004C4295 /* gbfrtf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfrtf.cpp; sourceTree = "<group>"; };
+ A9FB287211FD95E4004C4295 /* gbfstrongs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfstrongs.cpp; sourceTree = "<group>"; };
+ A9FB287311FD95E4004C4295 /* gbfthml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfthml.cpp; sourceTree = "<group>"; };
+ A9FB287411FD95E4004C4295 /* gbfwebif.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfwebif.cpp; sourceTree = "<group>"; };
+ A9FB287511FD95E4004C4295 /* gbfwordjs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gbfwordjs.cpp; sourceTree = "<group>"; };
+ A9FB287611FD95E4004C4295 /* greeklexattribs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = greeklexattribs.cpp; sourceTree = "<group>"; };
+ A9FB287711FD95E4004C4295 /* latin1utf16.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = latin1utf16.cpp; sourceTree = "<group>"; };
+ A9FB287811FD95E4004C4295 /* latin1utf8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = latin1utf8.cpp; sourceTree = "<group>"; };
+ A9FB287911FD95E4004C4295 /* osisfootnotes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisfootnotes.cpp; sourceTree = "<group>"; };
+ A9FB287A11FD95E4004C4295 /* osisheadings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisheadings.cpp; sourceTree = "<group>"; };
+ A9FB287B11FD95E4004C4295 /* osishtmlhref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osishtmlhref.cpp; sourceTree = "<group>"; };
+ A9FB287C11FD95E4004C4295 /* osislemma.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osislemma.cpp; sourceTree = "<group>"; };
+ A9FB287D11FD95E4004C4295 /* osismorph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osismorph.cpp; sourceTree = "<group>"; };
+ A9FB287E11FD95E4004C4295 /* osismorphsegmentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osismorphsegmentation.cpp; sourceTree = "<group>"; };
+ A9FB287F11FD95E4004C4295 /* osisosis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisosis.cpp; sourceTree = "<group>"; };
+ A9FB288011FD95E4004C4295 /* osisplain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisplain.cpp; sourceTree = "<group>"; };
+ A9FB288111FD95E4004C4295 /* osisredletterwords.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisredletterwords.cpp; sourceTree = "<group>"; };
+ A9FB288211FD95E4004C4295 /* osisrtf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisrtf.cpp; sourceTree = "<group>"; };
+ A9FB288311FD95E4004C4295 /* osisruby.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisruby.cpp; sourceTree = "<group>"; };
+ A9FB288411FD95E4004C4295 /* osisscripref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisscripref.cpp; sourceTree = "<group>"; };
+ A9FB288511FD95E4004C4295 /* osisstrongs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisstrongs.cpp; sourceTree = "<group>"; };
+ A9FB288611FD95E4004C4295 /* osisvariants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osisvariants.cpp; sourceTree = "<group>"; };
+ A9FB288711FD95E4004C4295 /* osiswebif.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osiswebif.cpp; sourceTree = "<group>"; };
+ A9FB288811FD95E4004C4295 /* osiswordjs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = osiswordjs.cpp; sourceTree = "<group>"; };
+ A9FB288911FD95E4004C4295 /* papyriplain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = papyriplain.cpp; sourceTree = "<group>"; };
+ A9FB288A11FD95E4004C4295 /* plainfootnotes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plainfootnotes.cpp; sourceTree = "<group>"; };
+ A9FB288B11FD95E4004C4295 /* plainhtml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plainhtml.cpp; sourceTree = "<group>"; };
+ A9FB288C11FD95E4004C4295 /* rtfhtml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rtfhtml.cpp; sourceTree = "<group>"; };
+ A9FB288D11FD95E4004C4295 /* swbasicfilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swbasicfilter.cpp; sourceTree = "<group>"; };
+ A9FB288E11FD95E4004C4295 /* swoptfilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swoptfilter.cpp; sourceTree = "<group>"; };
+ A9FB288F11FD95E4004C4295 /* teihtmlhref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = teihtmlhref.cpp; sourceTree = "<group>"; };
+ A9FB289011FD95E4004C4295 /* teiplain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = teiplain.cpp; sourceTree = "<group>"; };
+ A9FB289111FD95E4004C4295 /* teirtf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = teirtf.cpp; sourceTree = "<group>"; };
+ A9FB289211FD95E4004C4295 /* thmlfootnotes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlfootnotes.cpp; sourceTree = "<group>"; };
+ A9FB289311FD95E4004C4295 /* thmlgbf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlgbf.cpp; sourceTree = "<group>"; };
+ A9FB289411FD95E4004C4295 /* thmlheadings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlheadings.cpp; sourceTree = "<group>"; };
+ A9FB289511FD95E4004C4295 /* thmlhtml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlhtml.cpp; sourceTree = "<group>"; };
+ A9FB289611FD95E4004C4295 /* thmlhtmlhref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlhtmlhref.cpp; sourceTree = "<group>"; };
+ A9FB289711FD95E4004C4295 /* thmllemma.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmllemma.cpp; sourceTree = "<group>"; };
+ A9FB289811FD95E4004C4295 /* thmlmorph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlmorph.cpp; sourceTree = "<group>"; };
+ A9FB289911FD95E4004C4295 /* thmlosis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlosis.cpp; sourceTree = "<group>"; };
+ A9FB289A11FD95E4004C4295 /* thmlplain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlplain.cpp; sourceTree = "<group>"; };
+ A9FB289B11FD95E4004C4295 /* thmlrtf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlrtf.cpp; sourceTree = "<group>"; };
+ A9FB289C11FD95E4004C4295 /* thmlscripref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlscripref.cpp; sourceTree = "<group>"; };
+ A9FB289D11FD95E4004C4295 /* thmlstrongs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlstrongs.cpp; sourceTree = "<group>"; };
+ A9FB289E11FD95E4004C4295 /* thmlvariants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlvariants.cpp; sourceTree = "<group>"; };
+ A9FB289F11FD95E4004C4295 /* thmlwebif.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlwebif.cpp; sourceTree = "<group>"; };
+ A9FB28A011FD95E4004C4295 /* thmlwordjs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thmlwordjs.cpp; sourceTree = "<group>"; };
+ A9FB28A111FD95E4004C4295 /* unicodertf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unicodertf.cpp; sourceTree = "<group>"; };
+ A9FB28A211FD95E4004C4295 /* utf16utf8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf16utf8.cpp; sourceTree = "<group>"; };
+ A9FB28A311FD95E4004C4295 /* utf8arabicpoints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8arabicpoints.cpp; sourceTree = "<group>"; };
+ A9FB28A411FD95E4004C4295 /* utf8arshaping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8arshaping.cpp; sourceTree = "<group>"; };
+ A9FB28A511FD95E4004C4295 /* utf8bidireorder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8bidireorder.cpp; sourceTree = "<group>"; };
+ A9FB28A611FD95E4004C4295 /* utf8cantillation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8cantillation.cpp; sourceTree = "<group>"; };
+ A9FB28A711FD95E4004C4295 /* utf8greekaccents.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8greekaccents.cpp; sourceTree = "<group>"; };
+ A9FB28A811FD95E4004C4295 /* utf8hebrewpoints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8hebrewpoints.cpp; sourceTree = "<group>"; };
+ A9FB28A911FD95E4004C4295 /* utf8html.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8html.cpp; sourceTree = "<group>"; };
+ A9FB28AA11FD95E4004C4295 /* utf8latin1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8latin1.cpp; sourceTree = "<group>"; };
+ A9FB28AB11FD95E4004C4295 /* utf8nfc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8nfc.cpp; sourceTree = "<group>"; };
+ A9FB28AC11FD95E4004C4295 /* utf8nfkd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8nfkd.cpp; sourceTree = "<group>"; };
+ A9FB28AD11FD95E4004C4295 /* utf8transliterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8transliterator.cpp; sourceTree = "<group>"; };
+ A9FB28AE11FD95E4004C4295 /* utf8utf16.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8utf16.cpp; sourceTree = "<group>"; };
+ A9FB28B111FD95E4004C4295 /* rawgenbook.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawgenbook.cpp; sourceTree = "<group>"; };
+ A9FB28B211FD95E4004C4295 /* swgenbook.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swgenbook.cpp; sourceTree = "<group>"; };
+ A9FB28B511FD95E4004C4295 /* rawld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawld.cpp; sourceTree = "<group>"; };
+ A9FB28B711FD95E4004C4295 /* rawld4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawld4.cpp; sourceTree = "<group>"; };
+ A9FB28B811FD95E4004C4295 /* swld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swld.cpp; sourceTree = "<group>"; };
+ A9FB28BA11FD95E4004C4295 /* zld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zld.cpp; sourceTree = "<group>"; };
+ A9FB28BB11FD95E4004C4295 /* readme */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = readme; sourceTree = "<group>"; };
+ A9FB28BC11FD95E4004C4295 /* swmodule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swmodule.cpp; sourceTree = "<group>"; };
+ A9FB28BE11FD95E4004C4295 /* echomod.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echomod.cpp; sourceTree = "<group>"; };
+ A9FB28C111FD95E4004C4295 /* rawtext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawtext.cpp; sourceTree = "<group>"; };
+ A9FB28C311FD95E4004C4295 /* rawtext4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rawtext4.cpp; sourceTree = "<group>"; };
+ A9FB28C411FD95E4004C4295 /* swtext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swtext.cpp; sourceTree = "<group>"; };
+ A9FB28C611FD95E4004C4295 /* ztext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ztext.cpp; sourceTree = "<group>"; };
+ A9FB28C911FD95E4004C4295 /* adler32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = "<group>"; };
+ A9FB28CA11FD95E4004C4295 /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = "<group>"; };
+ A9FB28CB11FD95E4004C4295 /* crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = "<group>"; };
+ A9FB28CC11FD95E4004C4295 /* deflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = "<group>"; };
+ A9FB28CD11FD95E4004C4295 /* deflate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deflate.h; sourceTree = "<group>"; };
+ A9FB28CE11FD95E4004C4295 /* gzio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzio.c; sourceTree = "<group>"; };
+ A9FB28CF11FD95E4004C4295 /* infblock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = infblock.c; sourceTree = "<group>"; };
+ A9FB28D011FD95E4004C4295 /* infblock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = infblock.h; sourceTree = "<group>"; };
+ A9FB28D111FD95E4004C4295 /* infcodes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = infcodes.c; sourceTree = "<group>"; };
+ A9FB28D211FD95E4004C4295 /* infcodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = infcodes.h; sourceTree = "<group>"; };
+ A9FB28D311FD95E4004C4295 /* inffast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = "<group>"; };
+ A9FB28D411FD95E4004C4295 /* inffast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inffast.h; sourceTree = "<group>"; };
+ A9FB28D511FD95E4004C4295 /* inffixed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inffixed.h; sourceTree = "<group>"; };
+ A9FB28D611FD95E4004C4295 /* inflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = "<group>"; };
+ A9FB28D711FD95E4004C4295 /* inftrees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = "<group>"; };
+ A9FB28D811FD95E4004C4295 /* inftrees.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inftrees.h; sourceTree = "<group>"; };
+ A9FB28D911FD95E4004C4295 /* infutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = infutil.c; sourceTree = "<group>"; };
+ A9FB28DA11FD95E4004C4295 /* infutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = infutil.h; sourceTree = "<group>"; };
+ A9FB28DB11FD95E4004C4295 /* maketree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = maketree.c; sourceTree = "<group>"; };
+ A9FB28DC11FD95E4004C4295 /* trees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = "<group>"; };
+ A9FB28DD11FD95E4004C4295 /* trees.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = trees.h; sourceTree = "<group>"; };
+ A9FB28DE11FD95E4004C4295 /* uncompr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = "<group>"; };
+ A9FB28DF11FD95E4004C4295 /* untgz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = untgz.c; sourceTree = "<group>"; };
+ A9FB28E011FD95E4004C4295 /* zutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = "<group>"; };
+ A9FB28E111FD95E4004C4295 /* zutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zutil.h; sourceTree = "<group>"; };
+ A9FB28E211FD95E4004C4295 /* ftplib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftplib.c; sourceTree = "<group>"; };
+ A9FB28E311FD95E4004C4295 /* ftpparse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftpparse.c; sourceTree = "<group>"; };
+ A9FB28E411FD95E4004C4295 /* regex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regex.c; sourceTree = "<group>"; };
+ A9FB28E511FD95E4004C4295 /* roman.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = roman.cpp; sourceTree = "<group>"; };
+ A9FB28E611FD95E4004C4295 /* swbuf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swbuf.cpp; sourceTree = "<group>"; };
+ A9FB28E711FD95E4004C4295 /* swobject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swobject.cpp; sourceTree = "<group>"; };
+ A9FB28E811FD95E4004C4295 /* swunicod.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swunicod.cpp; sourceTree = "<group>"; };
+ A9FB28E911FD95E4004C4295 /* swversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = swversion.cpp; sourceTree = "<group>"; };
+ A9FB28EA11FD95E4004C4295 /* url.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = url.cpp; sourceTree = "<group>"; };
+ A9FB28EB11FD95E4004C4295 /* utilstr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utilstr.cpp; sourceTree = "<group>"; };
+ A9FB28EC11FD95E4004C4295 /* utilxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utilxml.cpp; 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;
+ };
+ A9013D3611E316C700E1CCCA /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ A9013D3811E316C700E1CCCA /* Cocoa.framework in Frameworks */,
+ A9921A1A11FD9CA8002DAA72 /* libSword.dylib in Frameworks */,
+ A9EF13B31205952C0078A27C /* libSword.dylib 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;
+ };
+ A9FB25DE11FD939E004C4295 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 034768DFFF38A50411DB9C8B /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8DC2EF5B0486A6940098B216 /* ObjCSword.framework */,
+ A9C2819611C43C4900803CB5 /* Tests.octest */,
+ A975EED911C792B9007C1532 /* mod2osis */,
+ A9013D3E11E316C700E1CCCA /* ObjCSword_iOS.framework */,
+ A9921A1911FD9CA8002DAA72 /* libSword.dylib */,
+ A9EF13B21205952C0078A27C /* libSword.dylib */,
+ A9BDFA6B1207F9870067ED5B /* Tests.octest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 0867D691FE84028FC02AAC07 /* ObjCSword */ = {
+ isa = PBXGroup;
+ children = (
+ A975ECD211C7925B007C1532 /* Utilities */,
+ A9C2857911C4486400803CB5 /* Tests */,
+ A94EAC5B117B2E7B0018B06F /* Dependencies */,
+ 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>";
+ };
+ A94EAC5B117B2E7B0018B06F /* Dependencies */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB264111FD95CD004C4295 /* clucene */,
+ A94EAC5C117B2E8F0018B06F /* sword */,
+ );
+ name = Dependencies;
+ sourceTree = "<group>";
+ };
+ A94EAC5C117B2E8F0018B06F /* sword */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB282011FD95E4004C4295 /* src */,
+ A9D4399D11C52E9B007AFE83 /* include */,
+ );
+ name = sword;
+ 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 */,
+ A9BDFA841207FC8C0067ED5B /* ImageModuleTest.h */,
+ A9BDFA851207FC8C0067ED5B /* ImageModuleTest.m */,
+ );
+ name = Tests;
+ sourceTree = "<group>";
+ };
+ A9D4399D11C52E9B007AFE83 /* include */ = {
+ isa = PBXGroup;
+ children = (
+ A9D4399E11C52E9B007AFE83 /* canon.h */,
+ A9D4399F11C52E9B007AFE83 /* canon_abbrevs.h */,
+ A9D439A011C52E9B007AFE83 /* canon_german.h */,
+ A9D439A111C52E9B007AFE83 /* canon_kjva.h */,
+ A9D439A211C52E9B007AFE83 /* canon_leningrad.h */,
+ A9D439A311C52E9B007AFE83 /* canon_luther.h */,
+ A9D439A411C52E9B007AFE83 /* canon_mt.h */,
+ A9D439A511C52E9B007AFE83 /* canon_nrsv.h */,
+ A9D439A611C52E9B007AFE83 /* canon_nrsva.h */,
+ A9D439A711C52E9B007AFE83 /* canon_null.h */,
+ A9D439A811C52E9B007AFE83 /* canon_synodal.h */,
+ A9D439A911C52E9B007AFE83 /* canon_vulg.h */,
+ A9D439AA11C52E9B007AFE83 /* cipherfil.h */,
+ A9D439AB11C52E9B007AFE83 /* config.h */,
+ A9D439AD11C52E9B007AFE83 /* curlftpt.h */,
+ A9D439AE11C52E9B007AFE83 /* curlhttpt.h */,
+ A9D439AF11C52E9B007AFE83 /* defs.h */,
+ A9D439B011C52E9B007AFE83 /* echomod.h */,
+ A9D439B111C52E9B007AFE83 /* encfiltmgr.h */,
+ A9D439B211C52E9B007AFE83 /* entriesblk.h */,
+ A9D439B311C52E9B007AFE83 /* femain.h */,
+ A9D439B411C52E9B007AFE83 /* filemgr.h */,
+ A9D439B511C52E9B007AFE83 /* flatapi.h */,
+ A9D439B611C52E9B007AFE83 /* ftplib.h */,
+ A9D439B711C52E9B007AFE83 /* ftplibftpt.h */,
+ A9D439B811C52E9B007AFE83 /* ftpparse.h */,
+ A9D439B911C52E9B007AFE83 /* ftptrans.h */,
+ A9D439BA11C52E9B007AFE83 /* gbffootnotes.h */,
+ A9D439BB11C52E9B007AFE83 /* gbfheadings.h */,
+ A9D439BC11C52E9B007AFE83 /* gbfhtml.h */,
+ A9D439BD11C52E9B007AFE83 /* gbfhtmlhref.h */,
+ A9D439BE11C52E9B007AFE83 /* gbfmorph.h */,
+ A9D439BF11C52E9B007AFE83 /* gbfosis.h */,
+ A9D439C011C52E9B007AFE83 /* gbfplain.h */,
+ A9D439C111C52E9B007AFE83 /* gbfredletterwords.h */,
+ A9D439C211C52E9B007AFE83 /* gbfrtf.h */,
+ A9D439C311C52E9B007AFE83 /* gbfstrongs.h */,
+ A9D439C411C52E9B007AFE83 /* gbfthml.h */,
+ A9D439C511C52E9B007AFE83 /* gbfwebif.h */,
+ A9D439C611C52E9B007AFE83 /* gbfwordjs.h */,
+ A9D439C711C52E9B007AFE83 /* Greek2Greek.h */,
+ A9D439C811C52E9B007AFE83 /* GreekChars.h */,
+ A9D439C911C52E9B007AFE83 /* greeklexattribs.h */,
+ A9D439CA11C52E9B007AFE83 /* hebrewmcim.h */,
+ A9D439CB11C52E9B007AFE83 /* hrefcom.h */,
+ A9D439CC11C52E9B007AFE83 /* installmgr.h */,
+ A9D439CD11C52E9B007AFE83 /* internal */,
+ A9D439D011C52E9B007AFE83 /* latin1utf16.h */,
+ A9D439D111C52E9B007AFE83 /* latin1utf8.h */,
+ A9D439D211C52E9B007AFE83 /* listkey.h */,
+ A9D439D311C52E9B007AFE83 /* localemgr.h */,
+ A9D439D411C52E9B007AFE83 /* lzsscomprs.h */,
+ A9D439D711C52E9B007AFE83 /* markupfiltmgr.h */,
+ A9D439D811C52E9B007AFE83 /* multimapwdef.h */,
+ A9D439D911C52E9B007AFE83 /* nullim.h */,
+ A9D439DA11C52E9B007AFE83 /* osisfootnotes.h */,
+ A9D439DB11C52E9B007AFE83 /* osisheadings.h */,
+ A9D439DC11C52E9B007AFE83 /* osishtmlhref.h */,
+ A9D439DD11C52E9B007AFE83 /* osislemma.h */,
+ A9D439DE11C52E9B007AFE83 /* osismorph.h */,
+ A9D439DF11C52E9B007AFE83 /* osismorphsegmentation.h */,
+ A9D439E011C52E9B007AFE83 /* osisosis.h */,
+ A9D439E111C52E9B007AFE83 /* osisplain.h */,
+ A9D439E211C52E9B007AFE83 /* osisredletterwords.h */,
+ A9D439E311C52E9B007AFE83 /* osisrtf.h */,
+ A9D439E411C52E9B007AFE83 /* osisruby.h */,
+ A9D439E511C52E9B007AFE83 /* osisscripref.h */,
+ A9D439E611C52E9B007AFE83 /* osisstrongs.h */,
+ A9D439E711C52E9B007AFE83 /* osisvariants.h */,
+ A9D439E811C52E9B007AFE83 /* osiswebif.h */,
+ A9D439E911C52E9B007AFE83 /* osiswordjs.h */,
+ A9D439EA11C52E9B007AFE83 /* papyriplain.h */,
+ A9D439EB11C52E9B007AFE83 /* plainfootnotes.h */,
+ A9D439EC11C52E9B007AFE83 /* plainhtml.h */,
+ A9D439ED11C52E9B007AFE83 /* rawcom.h */,
+ A9D439EE11C52E9B007AFE83 /* rawcom4.h */,
+ A9D439EF11C52E9B007AFE83 /* rawfiles.h */,
+ A9D439F011C52E9B007AFE83 /* rawgenbook.h */,
+ A9D439F111C52E9B007AFE83 /* rawld.h */,
+ A9D439F211C52E9B007AFE83 /* rawld4.h */,
+ A9D439F311C52E9B007AFE83 /* rawstr.h */,
+ A9D439F411C52E9B007AFE83 /* rawstr4.h */,
+ A9D439F511C52E9B007AFE83 /* rawtext.h */,
+ A9D439F611C52E9B007AFE83 /* rawtext4.h */,
+ A9D439F711C52E9B007AFE83 /* rawverse.h */,
+ A9D439F811C52E9B007AFE83 /* rawverse4.h */,
+ A9D439F911C52E9B007AFE83 /* roman.h */,
+ A9D439FA11C52E9B007AFE83 /* rtfhtml.h */,
+ A9D439FB11C52E9B007AFE83 /* sapphire.h */,
+ A9D439FD11C52E9B007AFE83 /* stringmgr.h */,
+ A9D439FE11C52E9B007AFE83 /* strkey.h */,
+ A9D439FF11C52E9B007AFE83 /* swbasicfilter.h */,
+ A9D43A0011C52E9B007AFE83 /* swbuf.h */,
+ A9D43A0111C52E9B007AFE83 /* swcacher.h */,
+ A9D43A0211C52E9B007AFE83 /* swcipher.h */,
+ A9D43A0311C52E9B007AFE83 /* swcom.h */,
+ A9D43A0411C52E9B007AFE83 /* swcomprs.h */,
+ A9D43A0511C52E9B007AFE83 /* swconfig.h */,
+ A9D43A0611C52E9B007AFE83 /* swdisp.h */,
+ A9D43A0711C52E9B007AFE83 /* swfilter.h */,
+ A9D43A0811C52E9B007AFE83 /* swfiltermgr.h */,
+ A9D43A0911C52E9B007AFE83 /* swgenbook.h */,
+ A9D43A0A11C52E9B007AFE83 /* swinputmeth.h */,
+ A9D43A0B11C52E9B007AFE83 /* swkey.h */,
+ A9D43A0C11C52E9B007AFE83 /* swld.h */,
+ A9D43A0D11C52E9B007AFE83 /* swlocale.h */,
+ A9D43A0E11C52E9B007AFE83 /* swlog.h */,
+ A9D43A0F11C52E9B007AFE83 /* swmacs.h */,
+ A9D43A1011C52E9B007AFE83 /* swmgr.h */,
+ A9D43A1111C52E9B007AFE83 /* swmodule.h */,
+ A9D43A1211C52E9B007AFE83 /* swobject.h */,
+ A9D43A1311C52E9B007AFE83 /* swoptfilter.h */,
+ A9D43A1511C52E9B007AFE83 /* swsearchable.h */,
+ A9D43A1611C52E9B007AFE83 /* swtext.h */,
+ A9D43A1711C52E9B007AFE83 /* swunicod.h */,
+ A9D43A1811C52E9B007AFE83 /* swversion.h */,
+ A9D43A1911C52E9B007AFE83 /* sysdata.h */,
+ A9D43A1A11C52E9B007AFE83 /* teihtmlhref.h */,
+ A9D43A1B11C52E9B007AFE83 /* teiplain.h */,
+ A9D43A1C11C52E9B007AFE83 /* teirtf.h */,
+ A9D43A1D11C52E9B007AFE83 /* thmlfootnotes.h */,
+ A9D43A1E11C52E9B007AFE83 /* thmlgbf.h */,
+ A9D43A1F11C52E9B007AFE83 /* thmlheadings.h */,
+ A9D43A2011C52E9B007AFE83 /* thmlhtml.h */,
+ A9D43A2111C52E9B007AFE83 /* thmlhtmlhref.h */,
+ A9D43A2211C52E9B007AFE83 /* thmllemma.h */,
+ A9D43A2311C52E9B007AFE83 /* thmlmorph.h */,
+ A9D43A2411C52E9B007AFE83 /* thmlosis.h */,
+ A9D43A2511C52E9B007AFE83 /* thmlplain.h */,
+ A9D43A2611C52E9B007AFE83 /* thmlrtf.h */,
+ A9D43A2711C52E9B007AFE83 /* thmlscripref.h */,
+ A9D43A2811C52E9B007AFE83 /* thmlstrongs.h */,
+ A9D43A2911C52E9B007AFE83 /* thmlvariants.h */,
+ A9D43A2A11C52E9B007AFE83 /* thmlwebif.h */,
+ A9D43A2B11C52E9B007AFE83 /* thmlwordjs.h */,
+ A9D43A2C11C52E9B007AFE83 /* treekey.h */,
+ A9D43A2D11C52E9B007AFE83 /* treekeyidx.h */,
+ A9D43A2E11C52E9B007AFE83 /* unicodertf.h */,
+ A9D43A2F11C52E9B007AFE83 /* untgz.h */,
+ A9D43A3011C52E9B007AFE83 /* url.h */,
+ A9D43A3111C52E9B007AFE83 /* utf16utf8.h */,
+ A9D43A3211C52E9B007AFE83 /* utf8arabicpoints.h */,
+ A9D43A3311C52E9B007AFE83 /* utf8arshaping.h */,
+ A9D43A3411C52E9B007AFE83 /* utf8bidireorder.h */,
+ A9D43A3511C52E9B007AFE83 /* utf8cantillation.h */,
+ A9D43A3611C52E9B007AFE83 /* utf8greekaccents.h */,
+ A9D43A3711C52E9B007AFE83 /* utf8hebrewpoints.h */,
+ A9D43A3811C52E9B007AFE83 /* utf8html.h */,
+ A9D43A3911C52E9B007AFE83 /* utf8latin1.h */,
+ A9D43A3A11C52E9B007AFE83 /* utf8nfc.h */,
+ A9D43A3B11C52E9B007AFE83 /* utf8nfkd.h */,
+ A9D43A3C11C52E9B007AFE83 /* utf8transliterator.h */,
+ A9D43A3D11C52E9B007AFE83 /* utf8utf16.h */,
+ A9D43A3E11C52E9B007AFE83 /* utilstr.h */,
+ A9D43A3F11C52E9B007AFE83 /* utilxml.h */,
+ A9D43A4011C52E9B007AFE83 /* versekey.h */,
+ A9D43A4111C52E9B007AFE83 /* versemgr.h */,
+ A9D43A4211C52E9B007AFE83 /* versetreekey.h */,
+ A9D43A4311C52E9B007AFE83 /* zcom.h */,
+ A9D43A4411C52E9B007AFE83 /* zconf.h */,
+ A9D43A4511C52E9B007AFE83 /* zipcomprs.h */,
+ A9D43A4611C52E9B007AFE83 /* zld.h */,
+ A9D43A4711C52E9B007AFE83 /* zlib.h */,
+ A9D43A4811C52E9B007AFE83 /* zstr.h */,
+ A9D43A4911C52E9B007AFE83 /* ztext.h */,
+ A9D43A4A11C52E9B007AFE83 /* zverse.h */,
+ );
+ name = include;
+ path = ../../include;
+ sourceTree = SOURCE_ROOT;
+ };
+ A9D439CD11C52E9B007AFE83 /* internal */ = {
+ isa = PBXGroup;
+ children = (
+ A9D439CE11C52E9B007AFE83 /* regex */,
+ );
+ path = internal;
+ sourceTree = "<group>";
+ };
+ A9D439CE11C52E9B007AFE83 /* regex */ = {
+ isa = PBXGroup;
+ children = (
+ A9D439CF11C52E9B007AFE83 /* regex.h */,
+ );
+ path = regex;
+ sourceTree = "<group>";
+ };
+ A9FB264111FD95CD004C4295 /* clucene */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB264311FD95CD004C4295 /* CLucene */,
+ A9FB273611FD95CD004C4295 /* CLucene.h */,
+ );
+ name = clucene;
+ path = dependencies/clucene;
+ sourceTree = "<group>";
+ };
+ A9FB264311FD95CD004C4295 /* CLucene */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB264411FD95CD004C4295 /* analysis */,
+ A9FB265111FD95CD004C4295 /* CLBackwards.h */,
+ A9FB265211FD95CD004C4295 /* CLConfig.h */,
+ A9FB265311FD95CD004C4295 /* clucene-config.h */,
+ A9FB265411FD95CD004C4295 /* config */,
+ A9FB266B11FD95CD004C4295 /* debug */,
+ A9FB267311FD95CD004C4295 /* document */,
+ A9FB267A11FD95CD004C4295 /* index */,
+ A9FB26A911FD95CD004C4295 /* LuceneThreads.h */,
+ A9FB26AA11FD95CD004C4295 /* queryParser */,
+ A9FB26B711FD95CD004C4295 /* search */,
+ A9FB270111FD95CD004C4295 /* StdHeader.cpp */,
+ A9FB270211FD95CD004C4295 /* StdHeader.h */,
+ A9FB270311FD95CD004C4295 /* store */,
+ A9FB271411FD95CD004C4295 /* util */,
+ );
+ path = CLucene;
+ sourceTree = "<group>";
+ };
+ A9FB264411FD95CD004C4295 /* analysis */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB264511FD95CD004C4295 /* AnalysisHeader.cpp */,
+ A9FB264611FD95CD004C4295 /* AnalysisHeader.h */,
+ A9FB264711FD95CD004C4295 /* Analyzers.cpp */,
+ A9FB264811FD95CD004C4295 /* Analyzers.h */,
+ A9FB264911FD95CD004C4295 /* standard */,
+ );
+ path = analysis;
+ sourceTree = "<group>";
+ };
+ A9FB264911FD95CD004C4295 /* standard */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB264A11FD95CD004C4295 /* StandardAnalyzer.cpp */,
+ A9FB264B11FD95CD004C4295 /* StandardAnalyzer.h */,
+ A9FB264C11FD95CD004C4295 /* StandardFilter.cpp */,
+ A9FB264D11FD95CD004C4295 /* StandardFilter.h */,
+ A9FB264E11FD95CD004C4295 /* StandardTokenizer.cpp */,
+ A9FB264F11FD95CD004C4295 /* StandardTokenizer.h */,
+ A9FB265011FD95CD004C4295 /* StandardTokenizerConstants.h */,
+ );
+ path = standard;
+ sourceTree = "<group>";
+ };
+ A9FB265411FD95CD004C4295 /* config */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB265511FD95CD004C4295 /* compiler.h */,
+ A9FB265611FD95CD004C4295 /* CompilerBcb.h */,
+ A9FB265711FD95CD004C4295 /* CompilerGcc.h */,
+ A9FB265811FD95CD004C4295 /* CompilerMsvc.h */,
+ A9FB265911FD95CD004C4295 /* define_std.h */,
+ A9FB265A11FD95CD004C4295 /* gunichartables.cpp */,
+ A9FB265B11FD95CD004C4295 /* gunichartables.h */,
+ A9FB265C11FD95CD004C4295 /* PlatformMac.h */,
+ A9FB265D11FD95CD004C4295 /* PlatformUnix.h */,
+ A9FB265E11FD95CD004C4295 /* PlatformWin32.h */,
+ A9FB265F11FD95CD004C4295 /* repl_lltot.cpp */,
+ A9FB266011FD95CD004C4295 /* repl_tchar.h */,
+ A9FB266111FD95CD004C4295 /* repl_tcscasecmp.cpp */,
+ A9FB266211FD95CD004C4295 /* repl_tcslwr.cpp */,
+ A9FB266311FD95CD004C4295 /* repl_tcstod.cpp */,
+ A9FB266411FD95CD004C4295 /* repl_tcstoll.cpp */,
+ A9FB266511FD95CD004C4295 /* repl_tprintf.cpp */,
+ A9FB266611FD95CD004C4295 /* repl_wchar.h */,
+ A9FB266711FD95CD004C4295 /* threadCSection.h */,
+ A9FB266811FD95CD004C4295 /* threadPthread.h */,
+ A9FB266911FD95CD004C4295 /* threads.cpp */,
+ A9FB266A11FD95CD004C4295 /* utf8.cpp */,
+ );
+ path = config;
+ sourceTree = "<group>";
+ };
+ A9FB266B11FD95CD004C4295 /* debug */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB266C11FD95CD004C4295 /* condition.cpp */,
+ A9FB266D11FD95CD004C4295 /* condition.h */,
+ A9FB266E11FD95CD004C4295 /* error.cpp */,
+ A9FB266F11FD95CD004C4295 /* error.h */,
+ A9FB267011FD95CD004C4295 /* lucenebase.h */,
+ A9FB267111FD95CD004C4295 /* mem.h */,
+ A9FB267211FD95CD004C4295 /* memtracking.cpp */,
+ );
+ path = debug;
+ sourceTree = "<group>";
+ };
+ A9FB267311FD95CD004C4295 /* document */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB267411FD95CD004C4295 /* DateField.cpp */,
+ A9FB267511FD95CD004C4295 /* DateField.h */,
+ A9FB267611FD95CD004C4295 /* Document.cpp */,
+ A9FB267711FD95CD004C4295 /* Document.h */,
+ A9FB267811FD95CD004C4295 /* Field.cpp */,
+ A9FB267911FD95CD004C4295 /* Field.h */,
+ );
+ path = document;
+ sourceTree = "<group>";
+ };
+ A9FB267A11FD95CD004C4295 /* index */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB267B11FD95CD004C4295 /* CompoundFile.cpp */,
+ A9FB267C11FD95CD004C4295 /* CompoundFile.h */,
+ A9FB267D11FD95CD004C4295 /* DocumentWriter.cpp */,
+ A9FB267E11FD95CD004C4295 /* DocumentWriter.h */,
+ A9FB267F11FD95CD004C4295 /* FieldInfo.h */,
+ A9FB268011FD95CD004C4295 /* FieldInfos.cpp */,
+ A9FB268111FD95CD004C4295 /* FieldInfos.h */,
+ A9FB268211FD95CD004C4295 /* FieldsReader.cpp */,
+ A9FB268311FD95CD004C4295 /* FieldsReader.h */,
+ A9FB268411FD95CD004C4295 /* FieldsWriter.cpp */,
+ A9FB268511FD95CD004C4295 /* FieldsWriter.h */,
+ A9FB268611FD95CD004C4295 /* IndexModifier.cpp */,
+ A9FB268711FD95CD004C4295 /* IndexModifier.h */,
+ A9FB268811FD95CD004C4295 /* IndexReader.cpp */,
+ A9FB268911FD95CD004C4295 /* IndexReader.h */,
+ A9FB268A11FD95CD004C4295 /* IndexWriter.cpp */,
+ A9FB268B11FD95CD004C4295 /* IndexWriter.h */,
+ A9FB268C11FD95CD004C4295 /* MultiReader.cpp */,
+ A9FB268D11FD95CD004C4295 /* MultiReader.h */,
+ A9FB268E11FD95CD004C4295 /* SegmentHeader.h */,
+ A9FB268F11FD95CD004C4295 /* SegmentInfos.cpp */,
+ A9FB269011FD95CD004C4295 /* SegmentInfos.h */,
+ A9FB269111FD95CD004C4295 /* SegmentMergeInfo.cpp */,
+ A9FB269211FD95CD004C4295 /* SegmentMergeInfo.h */,
+ A9FB269311FD95CD004C4295 /* SegmentMergeQueue.cpp */,
+ A9FB269411FD95CD004C4295 /* SegmentMergeQueue.h */,
+ A9FB269511FD95CD004C4295 /* SegmentMerger.cpp */,
+ A9FB269611FD95CD004C4295 /* SegmentMerger.h */,
+ A9FB269711FD95CD004C4295 /* SegmentReader.cpp */,
+ A9FB269811FD95CD004C4295 /* SegmentTermDocs.cpp */,
+ A9FB269911FD95CD004C4295 /* SegmentTermEnum.cpp */,
+ A9FB269A11FD95CD004C4295 /* SegmentTermEnum.h */,
+ A9FB269B11FD95CD004C4295 /* SegmentTermPositions.cpp */,
+ A9FB269C11FD95CD004C4295 /* SegmentTermVector.cpp */,
+ A9FB269D11FD95CD004C4295 /* Term.cpp */,
+ A9FB269E11FD95CD004C4295 /* Term.h */,
+ A9FB269F11FD95CD004C4295 /* TermInfo.cpp */,
+ A9FB26A011FD95CD004C4295 /* TermInfo.h */,
+ A9FB26A111FD95CD004C4295 /* TermInfosReader.cpp */,
+ A9FB26A211FD95CD004C4295 /* TermInfosReader.h */,
+ A9FB26A311FD95CD004C4295 /* TermInfosWriter.cpp */,
+ A9FB26A411FD95CD004C4295 /* TermInfosWriter.h */,
+ A9FB26A511FD95CD004C4295 /* Terms.h */,
+ A9FB26A611FD95CD004C4295 /* TermVector.h */,
+ A9FB26A711FD95CD004C4295 /* TermVectorReader.cpp */,
+ A9FB26A811FD95CD004C4295 /* TermVectorWriter.cpp */,
+ );
+ path = index;
+ sourceTree = "<group>";
+ };
+ A9FB26AA11FD95CD004C4295 /* queryParser */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB26AB11FD95CD004C4295 /* Lexer.cpp */,
+ A9FB26AC11FD95CD004C4295 /* Lexer.h */,
+ A9FB26AD11FD95CD004C4295 /* MultiFieldQueryParser.cpp */,
+ A9FB26AE11FD95CD004C4295 /* MultiFieldQueryParser.h */,
+ A9FB26AF11FD95CD004C4295 /* QueryParser.cpp */,
+ A9FB26B011FD95CD004C4295 /* QueryParser.h */,
+ A9FB26B111FD95CD004C4295 /* QueryParserBase.cpp */,
+ A9FB26B211FD95CD004C4295 /* QueryParserBase.h */,
+ A9FB26B311FD95CD004C4295 /* QueryToken.cpp */,
+ A9FB26B411FD95CD004C4295 /* QueryToken.h */,
+ A9FB26B511FD95CD004C4295 /* TokenList.cpp */,
+ A9FB26B611FD95CD004C4295 /* TokenList.h */,
+ );
+ path = queryParser;
+ sourceTree = "<group>";
+ };
+ A9FB26B711FD95CD004C4295 /* search */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB26B811FD95CD004C4295 /* BooleanClause.h */,
+ A9FB26B911FD95CD004C4295 /* BooleanQuery.cpp */,
+ A9FB26BA11FD95CD004C4295 /* BooleanQuery.h */,
+ A9FB26BB11FD95CD004C4295 /* BooleanScorer.cpp */,
+ A9FB26BC11FD95CD004C4295 /* BooleanScorer.h */,
+ A9FB26BD11FD95CD004C4295 /* CachingWrapperFilter.cpp */,
+ A9FB26BE11FD95CD004C4295 /* CachingWrapperFilter.h */,
+ A9FB26BF11FD95CD004C4295 /* ChainedFilter.cpp */,
+ A9FB26C011FD95CD004C4295 /* ChainedFilter.h */,
+ A9FB26C111FD95CD004C4295 /* Compare.h */,
+ A9FB26C211FD95CD004C4295 /* ConjunctionScorer.cpp */,
+ A9FB26C311FD95CD004C4295 /* ConjunctionScorer.h */,
+ A9FB26C411FD95CD004C4295 /* DateFilter.cpp */,
+ A9FB26C511FD95CD004C4295 /* DateFilter.h */,
+ A9FB26C611FD95CD004C4295 /* ExactPhraseScorer.cpp */,
+ A9FB26C711FD95CD004C4295 /* ExactPhraseScorer.h */,
+ A9FB26C811FD95CD004C4295 /* Explanation.cpp */,
+ A9FB26C911FD95CD004C4295 /* Explanation.h */,
+ A9FB26CA11FD95CD004C4295 /* FieldCache.cpp */,
+ A9FB26CB11FD95CD004C4295 /* FieldCache.h */,
+ A9FB26CC11FD95CD004C4295 /* FieldCacheImpl.cpp */,
+ A9FB26CD11FD95CD004C4295 /* FieldCacheImpl.h */,
+ A9FB26CE11FD95CD004C4295 /* FieldDoc.h */,
+ A9FB26CF11FD95CD004C4295 /* FieldDocSortedHitQueue.cpp */,
+ A9FB26D011FD95CD004C4295 /* FieldDocSortedHitQueue.h */,
+ A9FB26D111FD95CD004C4295 /* FieldSortedHitQueue.cpp */,
+ A9FB26D211FD95CD004C4295 /* FieldSortedHitQueue.h */,
+ A9FB26D311FD95CD004C4295 /* Filter.h */,
+ A9FB26D411FD95CD004C4295 /* FilteredTermEnum.cpp */,
+ A9FB26D511FD95CD004C4295 /* FilteredTermEnum.h */,
+ A9FB26D611FD95CD004C4295 /* FuzzyQuery.cpp */,
+ A9FB26D711FD95CD004C4295 /* FuzzyQuery.h */,
+ A9FB26D811FD95CD004C4295 /* HitQueue.cpp */,
+ A9FB26D911FD95CD004C4295 /* HitQueue.h */,
+ A9FB26DA11FD95CD004C4295 /* Hits.cpp */,
+ A9FB26DB11FD95CD004C4295 /* IndexSearcher.cpp */,
+ A9FB26DC11FD95CD004C4295 /* IndexSearcher.h */,
+ A9FB26DD11FD95CD004C4295 /* MultiSearcher.cpp */,
+ A9FB26DE11FD95CD004C4295 /* MultiSearcher.h */,
+ A9FB26DF11FD95CD004C4295 /* MultiTermQuery.cpp */,
+ A9FB26E011FD95CD004C4295 /* MultiTermQuery.h */,
+ A9FB26E111FD95CD004C4295 /* PhrasePositions.cpp */,
+ A9FB26E211FD95CD004C4295 /* PhrasePositions.h */,
+ A9FB26E311FD95CD004C4295 /* PhraseQuery.cpp */,
+ A9FB26E411FD95CD004C4295 /* PhraseQuery.h */,
+ A9FB26E511FD95CD004C4295 /* PhraseQueue.h */,
+ A9FB26E611FD95CD004C4295 /* PhraseScorer.cpp */,
+ A9FB26E711FD95CD004C4295 /* PhraseScorer.h */,
+ A9FB26E811FD95CD004C4295 /* PrefixQuery.cpp */,
+ A9FB26E911FD95CD004C4295 /* PrefixQuery.h */,
+ A9FB26EA11FD95CD004C4295 /* QueryFilter.cpp */,
+ A9FB26EB11FD95CD004C4295 /* QueryFilter.h */,
+ A9FB26EC11FD95CD004C4295 /* RangeFilter.cpp */,
+ A9FB26ED11FD95CD004C4295 /* RangeFilter.h */,
+ A9FB26EE11FD95CD004C4295 /* RangeQuery.cpp */,
+ A9FB26EF11FD95CD004C4295 /* RangeQuery.h */,
+ A9FB26F011FD95CD004C4295 /* Scorer.h */,
+ A9FB26F111FD95CD004C4295 /* SearchHeader.cpp */,
+ A9FB26F211FD95CD004C4295 /* SearchHeader.h */,
+ A9FB26F311FD95CD004C4295 /* Similarity.cpp */,
+ A9FB26F411FD95CD004C4295 /* Similarity.h */,
+ A9FB26F511FD95CD004C4295 /* SloppyPhraseScorer.cpp */,
+ A9FB26F611FD95CD004C4295 /* SloppyPhraseScorer.h */,
+ A9FB26F711FD95CD004C4295 /* Sort.cpp */,
+ A9FB26F811FD95CD004C4295 /* Sort.h */,
+ A9FB26F911FD95CD004C4295 /* TermQuery.cpp */,
+ A9FB26FA11FD95CD004C4295 /* TermQuery.h */,
+ A9FB26FB11FD95CD004C4295 /* TermScorer.cpp */,
+ A9FB26FC11FD95CD004C4295 /* TermScorer.h */,
+ A9FB26FD11FD95CD004C4295 /* WildcardQuery.cpp */,
+ A9FB26FE11FD95CD004C4295 /* WildcardQuery.h */,
+ A9FB26FF11FD95CD004C4295 /* WildcardTermEnum.cpp */,
+ A9FB270011FD95CD004C4295 /* WildcardTermEnum.h */,
+ );
+ path = search;
+ sourceTree = "<group>";
+ };
+ A9FB270311FD95CD004C4295 /* store */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB270411FD95CD004C4295 /* Directory.h */,
+ A9FB270511FD95CD004C4295 /* FSDirectory.cpp */,
+ A9FB270611FD95CD004C4295 /* FSDirectory.h */,
+ A9FB270711FD95CD004C4295 /* IndexInput.cpp */,
+ A9FB270811FD95CD004C4295 /* IndexInput.h */,
+ A9FB270911FD95CD004C4295 /* IndexOutput.cpp */,
+ A9FB270A11FD95CD004C4295 /* IndexOutput.h */,
+ A9FB270B11FD95CD004C4295 /* InputStream.h */,
+ A9FB270C11FD95CD004C4295 /* Lock.cpp */,
+ A9FB270D11FD95CD004C4295 /* Lock.h */,
+ A9FB270E11FD95CD004C4295 /* MMapInput.cpp */,
+ A9FB270F11FD95CD004C4295 /* OutputStream.h */,
+ A9FB271011FD95CD004C4295 /* RAMDirectory.cpp */,
+ A9FB271111FD95CD004C4295 /* RAMDirectory.h */,
+ A9FB271211FD95CD004C4295 /* TransactionalRAMDirectory.cpp */,
+ A9FB271311FD95CD004C4295 /* TransactionalRAMDirectory.h */,
+ );
+ path = store;
+ sourceTree = "<group>";
+ };
+ A9FB271411FD95CD004C4295 /* util */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB271511FD95CD004C4295 /* Arrays.h */,
+ A9FB271611FD95CD004C4295 /* BitSet.cpp */,
+ A9FB271711FD95CD004C4295 /* BitSet.h */,
+ A9FB271811FD95CD004C4295 /* bufferedstream.h */,
+ A9FB271911FD95CD004C4295 /* dirent.cpp */,
+ A9FB271A11FD95CD004C4295 /* dirent2.h */,
+ A9FB271B11FD95CD004C4295 /* Equators.cpp */,
+ A9FB271C11FD95CD004C4295 /* Equators.h */,
+ A9FB271D11FD95CD004C4295 /* FastCharStream.cpp */,
+ A9FB271E11FD95CD004C4295 /* FastCharStream.h */,
+ A9FB271F11FD95CD004C4295 /* fileinputstream.cpp */,
+ A9FB272011FD95CD004C4295 /* fileinputstream.h */,
+ A9FB272111FD95CD004C4295 /* googlesparsemap.h */,
+ A9FB272211FD95CD004C4295 /* inputstreambuffer.h */,
+ A9FB272311FD95CD004C4295 /* jstreamsconfig.h */,
+ A9FB272411FD95CD004C4295 /* MD5Digester.cpp */,
+ A9FB272511FD95CD004C4295 /* MD5Digester.h */,
+ A9FB272611FD95CD004C4295 /* Misc.cpp */,
+ A9FB272711FD95CD004C4295 /* Misc.h */,
+ A9FB272811FD95CD004C4295 /* PriorityQueue.h */,
+ A9FB272911FD95CD004C4295 /* Reader.cpp */,
+ A9FB272A11FD95CD004C4295 /* Reader.h */,
+ A9FB272B11FD95CD004C4295 /* streambase.h */,
+ A9FB272C11FD95CD004C4295 /* StringBuffer.cpp */,
+ A9FB272D11FD95CD004C4295 /* StringBuffer.h */,
+ A9FB272E11FD95CD004C4295 /* StringIntern.cpp */,
+ A9FB272F11FD95CD004C4295 /* StringIntern.h */,
+ A9FB273011FD95CD004C4295 /* stringreader.h */,
+ A9FB273111FD95CD004C4295 /* subinputstream.h */,
+ A9FB273211FD95CD004C4295 /* ThreadLocal.cpp */,
+ A9FB273311FD95CD004C4295 /* ThreadLocal.h */,
+ A9FB273411FD95CD004C4295 /* VoidList.h */,
+ A9FB273511FD95CD004C4295 /* VoidMap.h */,
+ );
+ path = util;
+ sourceTree = "<group>";
+ };
+ A9FB282011FD95E4004C4295 /* src */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB282111FD95E4004C4295 /* frontend */,
+ A9FB282C11FD95E4004C4295 /* keys */,
+ A9FB283911FD95E4004C4295 /* mgr */,
+ A9FB284B11FD95E4004C4295 /* modules */,
+ A9FB28C711FD95E4004C4295 /* utilfuns */,
+ );
+ name = src;
+ path = "../../../../macsword/macsword-bzr/trunk/sword_src/sword-trunk/src";
+ sourceTree = SOURCE_ROOT;
+ };
+ A9FB282111FD95E4004C4295 /* frontend */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB282211FD95E4004C4295 /* framework */,
+ A9FB282411FD95E4004C4295 /* im */,
+ A9FB282811FD95E4004C4295 /* swdisp.cpp */,
+ A9FB282911FD95E4004C4295 /* swlog.cpp */,
+ A9FB282A11FD95E4004C4295 /* windoze */,
+ A9FB282B11FD95E4004C4295 /* X11 */,
+ );
+ path = frontend;
+ sourceTree = "<group>";
+ };
+ A9FB282211FD95E4004C4295 /* framework */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB282311FD95E4004C4295 /* femain.cpp */,
+ );
+ path = framework;
+ sourceTree = "<group>";
+ };
+ A9FB282411FD95E4004C4295 /* im */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB282511FD95E4004C4295 /* hebrewmcim.cpp */,
+ A9FB282611FD95E4004C4295 /* nullim.cpp */,
+ A9FB282711FD95E4004C4295 /* swinputmeth.cpp */,
+ );
+ path = im;
+ sourceTree = "<group>";
+ };
+ A9FB282A11FD95E4004C4295 /* windoze */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ path = windoze;
+ sourceTree = "<group>";
+ };
+ A9FB282B11FD95E4004C4295 /* X11 */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ path = X11;
+ sourceTree = "<group>";
+ };
+ A9FB282C11FD95E4004C4295 /* keys */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB282D11FD95E4004C4295 /* genarray.c */,
+ A9FB282E11FD95E4004C4295 /* listkey.cpp */,
+ A9FB282F11FD95E4004C4295 /* nt.bks */,
+ A9FB283011FD95E4004C4295 /* nt.cps */,
+ A9FB283111FD95E4004C4295 /* ot.bks */,
+ A9FB283211FD95E4004C4295 /* ot.cps */,
+ A9FB283311FD95E4004C4295 /* strkey.cpp */,
+ A9FB283411FD95E4004C4295 /* swkey.cpp */,
+ A9FB283511FD95E4004C4295 /* treekey.cpp */,
+ A9FB283611FD95E4004C4295 /* treekeyidx.cpp */,
+ A9FB283711FD95E4004C4295 /* versekey.cpp */,
+ A9FB283811FD95E4004C4295 /* versetreekey.cpp */,
+ );
+ path = keys;
+ sourceTree = "<group>";
+ };
+ A9FB283911FD95E4004C4295 /* mgr */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB283A11FD95E4004C4295 /* curlftpt.cpp */,
+ A9FB283B11FD95E4004C4295 /* curlhttpt.cpp */,
+ A9FB283C11FD95E4004C4295 /* encfiltmgr.cpp */,
+ A9FB283D11FD95E4004C4295 /* filemgr.cpp */,
+ A9FB283E11FD95E4004C4295 /* ftplibftpt.cpp */,
+ A9FB283F11FD95E4004C4295 /* ftptrans.cpp */,
+ A9FB284011FD95E4004C4295 /* installmgr.cpp */,
+ A9FB284111FD95E4004C4295 /* localemgr.cpp */,
+ A9FB284211FD95E4004C4295 /* markupfiltmgr.cpp */,
+ A9FB284311FD95E4004C4295 /* stringmgr.cpp */,
+ A9FB284411FD95E4004C4295 /* swcacher.cpp */,
+ A9FB284511FD95E4004C4295 /* swconfig.cpp */,
+ A9FB284611FD95E4004C4295 /* swfiltermgr.cpp */,
+ A9FB284711FD95E4004C4295 /* swlocale.cpp */,
+ A9FB284811FD95E4004C4295 /* swmgr.cpp */,
+ A9FB284911FD95E4004C4295 /* swsearchable.cpp */,
+ A9FB284A11FD95E4004C4295 /* versemgr.cpp */,
+ );
+ path = mgr;
+ sourceTree = "<group>";
+ };
+ A9FB284B11FD95E4004C4295 /* modules */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB284C11FD95E4004C4295 /* comments */,
+ A9FB285811FD95E4004C4295 /* common */,
+ A9FB286711FD95E4004C4295 /* filters */,
+ A9FB28AF11FD95E4004C4295 /* genbook */,
+ A9FB28B311FD95E4004C4295 /* lexdict */,
+ A9FB28BB11FD95E4004C4295 /* readme */,
+ A9FB28BC11FD95E4004C4295 /* swmodule.cpp */,
+ A9FB28BD11FD95E4004C4295 /* tests */,
+ A9FB28BF11FD95E4004C4295 /* texts */,
+ );
+ path = modules;
+ sourceTree = "<group>";
+ };
+ A9FB284C11FD95E4004C4295 /* comments */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB284D11FD95E4004C4295 /* hrefcom */,
+ A9FB284F11FD95E4004C4295 /* rawcom */,
+ A9FB285111FD95E4004C4295 /* rawcom4 */,
+ A9FB285311FD95E4004C4295 /* rawfiles */,
+ A9FB285511FD95E4004C4295 /* swcom.cpp */,
+ A9FB285611FD95E4004C4295 /* zcom */,
+ );
+ path = comments;
+ sourceTree = "<group>";
+ };
+ A9FB284D11FD95E4004C4295 /* hrefcom */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB284E11FD95E4004C4295 /* hrefcom.cpp */,
+ );
+ path = hrefcom;
+ sourceTree = "<group>";
+ };
+ A9FB284F11FD95E4004C4295 /* rawcom */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB285011FD95E4004C4295 /* rawcom.cpp */,
+ );
+ path = rawcom;
+ sourceTree = "<group>";
+ };
+ A9FB285111FD95E4004C4295 /* rawcom4 */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB285211FD95E4004C4295 /* rawcom4.cpp */,
+ );
+ path = rawcom4;
+ sourceTree = "<group>";
+ };
+ A9FB285311FD95E4004C4295 /* rawfiles */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB285411FD95E4004C4295 /* rawfiles.cpp */,
+ );
+ path = rawfiles;
+ sourceTree = "<group>";
+ };
+ A9FB285611FD95E4004C4295 /* zcom */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB285711FD95E4004C4295 /* zcom.cpp */,
+ );
+ path = zcom;
+ sourceTree = "<group>";
+ };
+ A9FB285811FD95E4004C4295 /* common */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB285911FD95E4004C4295 /* compress.cpp.txt */,
+ A9FB285A11FD95E4004C4295 /* entriesblk.cpp */,
+ A9FB285B11FD95E4004C4295 /* lzsscomprs.cpp */,
+ A9FB285C11FD95E4004C4295 /* rawstr.cpp */,
+ A9FB285D11FD95E4004C4295 /* rawstr4.cpp */,
+ A9FB285E11FD95E4004C4295 /* rawverse.cpp */,
+ A9FB285F11FD95E4004C4295 /* rawverse4.cpp */,
+ A9FB286011FD95E4004C4295 /* sapphire.cpp */,
+ A9FB286111FD95E4004C4295 /* swcipher.cpp */,
+ A9FB286211FD95E4004C4295 /* swcomprs.cpp */,
+ A9FB286311FD95E4004C4295 /* swcomprs.doc */,
+ A9FB286411FD95E4004C4295 /* zipcomprs.cpp */,
+ A9FB286511FD95E4004C4295 /* zstr.cpp */,
+ A9FB286611FD95E4004C4295 /* zverse.cpp */,
+ );
+ path = common;
+ sourceTree = "<group>";
+ };
+ A9FB286711FD95E4004C4295 /* filters */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB286811FD95E4004C4295 /* cipherfil.cpp */,
+ A9FB286911FD95E4004C4295 /* gbffootnotes.cpp */,
+ A9FB286A11FD95E4004C4295 /* gbfheadings.cpp */,
+ A9FB286B11FD95E4004C4295 /* gbfhtml.cpp */,
+ A9FB286C11FD95E4004C4295 /* gbfhtmlhref.cpp */,
+ A9FB286D11FD95E4004C4295 /* gbfmorph.cpp */,
+ A9FB286E11FD95E4004C4295 /* gbfosis.cpp */,
+ A9FB286F11FD95E4004C4295 /* gbfplain.cpp */,
+ A9FB287011FD95E4004C4295 /* gbfredletterwords.cpp */,
+ A9FB287111FD95E4004C4295 /* gbfrtf.cpp */,
+ A9FB287211FD95E4004C4295 /* gbfstrongs.cpp */,
+ A9FB287311FD95E4004C4295 /* gbfthml.cpp */,
+ A9FB287411FD95E4004C4295 /* gbfwebif.cpp */,
+ A9FB287511FD95E4004C4295 /* gbfwordjs.cpp */,
+ A9FB287611FD95E4004C4295 /* greeklexattribs.cpp */,
+ A9FB287711FD95E4004C4295 /* latin1utf16.cpp */,
+ A9FB287811FD95E4004C4295 /* latin1utf8.cpp */,
+ A9FB287911FD95E4004C4295 /* osisfootnotes.cpp */,
+ A9FB287A11FD95E4004C4295 /* osisheadings.cpp */,
+ A9FB287B11FD95E4004C4295 /* osishtmlhref.cpp */,
+ A9FB287C11FD95E4004C4295 /* osislemma.cpp */,
+ A9FB287D11FD95E4004C4295 /* osismorph.cpp */,
+ A9FB287E11FD95E4004C4295 /* osismorphsegmentation.cpp */,
+ A9FB287F11FD95E4004C4295 /* osisosis.cpp */,
+ A9FB288011FD95E4004C4295 /* osisplain.cpp */,
+ A9FB288111FD95E4004C4295 /* osisredletterwords.cpp */,
+ A9FB288211FD95E4004C4295 /* osisrtf.cpp */,
+ A9FB288311FD95E4004C4295 /* osisruby.cpp */,
+ A9FB288411FD95E4004C4295 /* osisscripref.cpp */,
+ A9FB288511FD95E4004C4295 /* osisstrongs.cpp */,
+ A9FB288611FD95E4004C4295 /* osisvariants.cpp */,
+ A9FB288711FD95E4004C4295 /* osiswebif.cpp */,
+ A9FB288811FD95E4004C4295 /* osiswordjs.cpp */,
+ A9FB288911FD95E4004C4295 /* papyriplain.cpp */,
+ A9FB288A11FD95E4004C4295 /* plainfootnotes.cpp */,
+ A9FB288B11FD95E4004C4295 /* plainhtml.cpp */,
+ A9FB288C11FD95E4004C4295 /* rtfhtml.cpp */,
+ A9FB288D11FD95E4004C4295 /* swbasicfilter.cpp */,
+ A9FB288E11FD95E4004C4295 /* swoptfilter.cpp */,
+ A9FB288F11FD95E4004C4295 /* teihtmlhref.cpp */,
+ A9FB289011FD95E4004C4295 /* teiplain.cpp */,
+ A9FB289111FD95E4004C4295 /* teirtf.cpp */,
+ A9FB289211FD95E4004C4295 /* thmlfootnotes.cpp */,
+ A9FB289311FD95E4004C4295 /* thmlgbf.cpp */,
+ A9FB289411FD95E4004C4295 /* thmlheadings.cpp */,
+ A9FB289511FD95E4004C4295 /* thmlhtml.cpp */,
+ A9FB289611FD95E4004C4295 /* thmlhtmlhref.cpp */,
+ A9FB289711FD95E4004C4295 /* thmllemma.cpp */,
+ A9FB289811FD95E4004C4295 /* thmlmorph.cpp */,
+ A9FB289911FD95E4004C4295 /* thmlosis.cpp */,
+ A9FB289A11FD95E4004C4295 /* thmlplain.cpp */,
+ A9FB289B11FD95E4004C4295 /* thmlrtf.cpp */,
+ A9FB289C11FD95E4004C4295 /* thmlscripref.cpp */,
+ A9FB289D11FD95E4004C4295 /* thmlstrongs.cpp */,
+ A9FB289E11FD95E4004C4295 /* thmlvariants.cpp */,
+ A9FB289F11FD95E4004C4295 /* thmlwebif.cpp */,
+ A9FB28A011FD95E4004C4295 /* thmlwordjs.cpp */,
+ A9FB28A111FD95E4004C4295 /* unicodertf.cpp */,
+ A9FB28A211FD95E4004C4295 /* utf16utf8.cpp */,
+ A9FB28A311FD95E4004C4295 /* utf8arabicpoints.cpp */,
+ A9FB28A411FD95E4004C4295 /* utf8arshaping.cpp */,
+ A9FB28A511FD95E4004C4295 /* utf8bidireorder.cpp */,
+ A9FB28A611FD95E4004C4295 /* utf8cantillation.cpp */,
+ A9FB28A711FD95E4004C4295 /* utf8greekaccents.cpp */,
+ A9FB28A811FD95E4004C4295 /* utf8hebrewpoints.cpp */,
+ A9FB28A911FD95E4004C4295 /* utf8html.cpp */,
+ A9FB28AA11FD95E4004C4295 /* utf8latin1.cpp */,
+ A9FB28AB11FD95E4004C4295 /* utf8nfc.cpp */,
+ A9FB28AC11FD95E4004C4295 /* utf8nfkd.cpp */,
+ A9FB28AD11FD95E4004C4295 /* utf8transliterator.cpp */,
+ A9FB28AE11FD95E4004C4295 /* utf8utf16.cpp */,
+ );
+ path = filters;
+ sourceTree = "<group>";
+ };
+ A9FB28AF11FD95E4004C4295 /* genbook */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28B011FD95E4004C4295 /* rawgenbook */,
+ A9FB28B211FD95E4004C4295 /* swgenbook.cpp */,
+ );
+ path = genbook;
+ sourceTree = "<group>";
+ };
+ A9FB28B011FD95E4004C4295 /* rawgenbook */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28B111FD95E4004C4295 /* rawgenbook.cpp */,
+ );
+ path = rawgenbook;
+ sourceTree = "<group>";
+ };
+ A9FB28B311FD95E4004C4295 /* lexdict */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28B411FD95E4004C4295 /* rawld */,
+ A9FB28B611FD95E4004C4295 /* rawld4 */,
+ A9FB28B811FD95E4004C4295 /* swld.cpp */,
+ A9FB28B911FD95E4004C4295 /* zld */,
+ );
+ path = lexdict;
+ sourceTree = "<group>";
+ };
+ A9FB28B411FD95E4004C4295 /* rawld */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28B511FD95E4004C4295 /* rawld.cpp */,
+ );
+ path = rawld;
+ sourceTree = "<group>";
+ };
+ A9FB28B611FD95E4004C4295 /* rawld4 */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28B711FD95E4004C4295 /* rawld4.cpp */,
+ );
+ path = rawld4;
+ sourceTree = "<group>";
+ };
+ A9FB28B911FD95E4004C4295 /* zld */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28BA11FD95E4004C4295 /* zld.cpp */,
+ );
+ path = zld;
+ sourceTree = "<group>";
+ };
+ A9FB28BD11FD95E4004C4295 /* tests */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28BE11FD95E4004C4295 /* echomod.cpp */,
+ );
+ path = tests;
+ sourceTree = "<group>";
+ };
+ A9FB28BF11FD95E4004C4295 /* texts */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28C011FD95E4004C4295 /* rawtext */,
+ A9FB28C211FD95E4004C4295 /* rawtext4 */,
+ A9FB28C411FD95E4004C4295 /* swtext.cpp */,
+ A9FB28C511FD95E4004C4295 /* ztext */,
+ );
+ path = texts;
+ sourceTree = "<group>";
+ };
+ A9FB28C011FD95E4004C4295 /* rawtext */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28C111FD95E4004C4295 /* rawtext.cpp */,
+ );
+ path = rawtext;
+ sourceTree = "<group>";
+ };
+ A9FB28C211FD95E4004C4295 /* rawtext4 */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28C311FD95E4004C4295 /* rawtext4.cpp */,
+ );
+ path = rawtext4;
+ sourceTree = "<group>";
+ };
+ A9FB28C511FD95E4004C4295 /* ztext */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28C611FD95E4004C4295 /* ztext.cpp */,
+ );
+ path = ztext;
+ sourceTree = "<group>";
+ };
+ A9FB28C711FD95E4004C4295 /* utilfuns */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28C811FD95E4004C4295 /* zlib */,
+ A9FB28E211FD95E4004C4295 /* ftplib.c */,
+ A9FB28E311FD95E4004C4295 /* ftpparse.c */,
+ A9FB28E411FD95E4004C4295 /* regex.c */,
+ A9FB28E511FD95E4004C4295 /* roman.cpp */,
+ A9FB28E611FD95E4004C4295 /* swbuf.cpp */,
+ A9FB28E711FD95E4004C4295 /* swobject.cpp */,
+ A9FB28E811FD95E4004C4295 /* swunicod.cpp */,
+ A9FB28E911FD95E4004C4295 /* swversion.cpp */,
+ A9FB28EA11FD95E4004C4295 /* url.cpp */,
+ A9FB28EB11FD95E4004C4295 /* utilstr.cpp */,
+ A9FB28EC11FD95E4004C4295 /* utilxml.cpp */,
+ );
+ path = utilfuns;
+ sourceTree = "<group>";
+ };
+ A9FB28C811FD95E4004C4295 /* zlib */ = {
+ isa = PBXGroup;
+ children = (
+ A9FB28C911FD95E4004C4295 /* adler32.c */,
+ A9FB28CA11FD95E4004C4295 /* compress.c */,
+ A9FB28CB11FD95E4004C4295 /* crc32.c */,
+ A9FB28CC11FD95E4004C4295 /* deflate.c */,
+ A9FB28CD11FD95E4004C4295 /* deflate.h */,
+ A9FB28CE11FD95E4004C4295 /* gzio.c */,
+ A9FB28CF11FD95E4004C4295 /* infblock.c */,
+ A9FB28D011FD95E4004C4295 /* infblock.h */,
+ A9FB28D111FD95E4004C4295 /* infcodes.c */,
+ A9FB28D211FD95E4004C4295 /* infcodes.h */,
+ A9FB28D311FD95E4004C4295 /* inffast.c */,
+ A9FB28D411FD95E4004C4295 /* inffast.h */,
+ A9FB28D511FD95E4004C4295 /* inffixed.h */,
+ A9FB28D611FD95E4004C4295 /* inflate.c */,
+ A9FB28D711FD95E4004C4295 /* inftrees.c */,
+ A9FB28D811FD95E4004C4295 /* inftrees.h */,
+ A9FB28D911FD95E4004C4295 /* infutil.c */,
+ A9FB28DA11FD95E4004C4295 /* infutil.h */,
+ A9FB28DB11FD95E4004C4295 /* maketree.c */,
+ A9FB28DC11FD95E4004C4295 /* trees.c */,
+ A9FB28DD11FD95E4004C4295 /* trees.h */,
+ A9FB28DE11FD95E4004C4295 /* uncompr.c */,
+ A9FB28DF11FD95E4004C4295 /* untgz.c */,
+ A9FB28E011FD95E4004C4295 /* zutil.c */,
+ A9FB28E111FD95E4004C4295 /* zutil.h */,
+ );
+ path = zlib;
+ 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;
+ };
+ A9013CFC11E316C700E1CCCA /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ A9013CFD11E316C700E1CCCA /* ObjCSword.h in Headers */,
+ A9013CFE11E316C700E1CCCA /* SwordBible.h in Headers */,
+ A9013CFF11E316C700E1CCCA /* SwordBibleBook.h in Headers */,
+ A9013D0011E316C700E1CCCA /* SwordBibleChapter.h in Headers */,
+ A9013D0111E316C700E1CCCA /* SwordBibleTextEntry.h in Headers */,
+ A9013D0211E316C700E1CCCA /* SwordBook.h in Headers */,
+ A9013D0311E316C700E1CCCA /* SwordCommentary.h in Headers */,
+ A9013D0411E316C700E1CCCA /* SwordDictionary.h in Headers */,
+ A9013D0511E316C700E1CCCA /* SwordInstallSource.h in Headers */,
+ A9013D0611E316C700E1CCCA /* SwordInstallSourceController.h in Headers */,
+ A9013D0711E316C700E1CCCA /* SwordKey.h in Headers */,
+ A9013D0811E316C700E1CCCA /* SwordListKey.h in Headers */,
+ A9013D0911E316C700E1CCCA /* SwordManager.h in Headers */,
+ A9013D0B11E316C700E1CCCA /* SwordModule.h in Headers */,
+ A9013D0C11E316C700E1CCCA /* SwordModuleTextEntry.h in Headers */,
+ A9013D0D11E316C700E1CCCA /* SwordModuleTreeEntry.h in Headers */,
+ A9013D0E11E316C700E1CCCA /* SwordVerseKey.h in Headers */,
+ A9013D0F11E316C700E1CCCA /* SwordVerseManager.h in Headers */,
+ A9013D1011E316C700E1CCCA /* VerseEnumerator.h in Headers */,
+ A9013D1111E316C700E1CCCA /* Notifications.h in Headers */,
+ A9013D1211E316C700E1CCCA /* Configuration.h in Headers */,
+ A9013D1311E316C700E1CCCA /* OSXConfiguration.h in Headers */,
+ A9013D1411E316C700E1CCCA /* SwordModule+Index.h in Headers */,
+ A9EF1418120595650078A27C /* 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 */,
+ A9BDFA861207FC8C0067ED5B /* ImageModuleTest.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ A9FB25DC11FD939E004C4295 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ 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";
+ };
+ A9013CF911E316C700E1CCCA /* ObjCSword_iOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = A9013D3B11E316C700E1CCCA /* Build configuration list for PBXNativeTarget "ObjCSword_iOS" */;
+ buildPhases = (
+ A9013CFC11E316C700E1CCCA /* Headers */,
+ A9013D1511E316C700E1CCCA /* Resources */,
+ A9013D1F11E316C700E1CCCA /* Sources */,
+ A9013D3611E316C700E1CCCA /* Frameworks */,
+ A9013D3911E316C700E1CCCA /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ A9FB29A111FD965B004C4295 /* PBXTargetDependency */,
+ );
+ name = ObjCSword_iOS;
+ productInstallPath = "$(HOME)/Library/Frameworks";
+ productName = ObjCSword;
+ productReference = A9013D3E11E316C700E1CCCA /* ObjCSword_iOS.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";
+ };
+ A9FB25DF11FD939E004C4295 /* Sword_iOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = A9FB25E411FD93B2004C4295 /* Build configuration list for PBXNativeTarget "Sword_iOS" */;
+ buildPhases = (
+ A9FB25DC11FD939E004C4295 /* Headers */,
+ A9FB25DD11FD939E004C4295 /* Sources */,
+ A9FB25DE11FD939E004C4295 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Sword_iOS;
+ productName = Sword;
+ productReference = A9EF13B21205952C0078A27C /* libSword.dylib */;
+ productType = "com.apple.product-type.library.dynamic";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 0867D690FE84028FC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "ObjCSword" */;
+ compatibilityVersion = "Xcode 3.1";
+ hasScannedForEncodings = 1;
+ mainGroup = 0867D691FE84028FC02AAC07 /* ObjCSword */;
+ productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8DC2EF4F0486A6940098B216 /* ObjCSword */,
+ A9013CF911E316C700E1CCCA /* ObjCSword_iOS */,
+ A9C2819511C43C4900803CB5 /* Tests */,
+ A9BDFA5A1207F9870067ED5B /* LongRunningTests */,
+ A975EED811C792B9007C1532 /* mod2osis */,
+ A9FB25DF11FD939E004C4295 /* Sword_iOS */,
+ );
+ };
+/* 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;
+ };
+ A9013D1511E316C700E1CCCA /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ A9013D1611E316C700E1CCCA /* InfoPlist.strings in Resources */,
+ A9013D1E11E316C700E1CCCA /* 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;
+ };
+ A9013D1F11E316C700E1CCCA /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ A9013D2011E316C700E1CCCA /* SwordBible.mm in Sources */,
+ A9013D2111E316C700E1CCCA /* SwordBibleBook.mm in Sources */,
+ A9013D2211E316C700E1CCCA /* SwordBibleChapter.m in Sources */,
+ A9013D2311E316C700E1CCCA /* SwordBibleTextEntry.m in Sources */,
+ A9013D2411E316C700E1CCCA /* SwordBook.mm in Sources */,
+ A9013D2511E316C700E1CCCA /* SwordCommentary.mm in Sources */,
+ A9013D2611E316C700E1CCCA /* SwordDictionary.mm in Sources */,
+ A9013D2711E316C700E1CCCA /* SwordInstallSource.mm in Sources */,
+ A9013D2811E316C700E1CCCA /* SwordInstallSourceController.mm in Sources */,
+ A9013D2911E316C700E1CCCA /* SwordKey.mm in Sources */,
+ A9013D2A11E316C700E1CCCA /* SwordListKey.mm in Sources */,
+ A9013D2B11E316C700E1CCCA /* SwordManager.mm in Sources */,
+ A9013D2D11E316C700E1CCCA /* SwordModule.mm in Sources */,
+ A9013D2E11E316C700E1CCCA /* SwordModuleTextEntry.m in Sources */,
+ A9013D2F11E316C700E1CCCA /* SwordModuleTreeEntry.m in Sources */,
+ A9013D3011E316C700E1CCCA /* SwordVerseKey.mm in Sources */,
+ A9013D3111E316C700E1CCCA /* SwordVerseManager.mm in Sources */,
+ A9013D3211E316C700E1CCCA /* VerseEnumerator.mm in Sources */,
+ A9013D3311E316C700E1CCCA /* OSXConfiguration.m in Sources */,
+ A9013D3411E316C700E1CCCA /* Configuration.m in Sources */,
+ A9013D3511E316C700E1CCCA /* SwordModule+Index.mm in Sources */,
+ A9EF1419120595650078A27C /* 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 */,
+ A9BDFA871207FC8C0067ED5B /* ImageModuleTest.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ A9FB25DD11FD939E004C4295 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ A9FB273711FD95CD004C4295 /* AnalysisHeader.cpp in Sources */,
+ A9FB273911FD95CD004C4295 /* Analyzers.cpp in Sources */,
+ A9FB273B11FD95CD004C4295 /* StandardAnalyzer.cpp in Sources */,
+ A9FB273D11FD95CD004C4295 /* StandardFilter.cpp in Sources */,
+ A9FB273F11FD95CD004C4295 /* StandardTokenizer.cpp in Sources */,
+ A9FB274A11FD95CD004C4295 /* gunichartables.cpp in Sources */,
+ A9FB274F11FD95CD004C4295 /* repl_lltot.cpp in Sources */,
+ A9FB275111FD95CD004C4295 /* repl_tcscasecmp.cpp in Sources */,
+ A9FB275211FD95CD004C4295 /* repl_tcslwr.cpp in Sources */,
+ A9FB275311FD95CD004C4295 /* repl_tcstod.cpp in Sources */,
+ A9FB275411FD95CD004C4295 /* repl_tcstoll.cpp in Sources */,
+ A9FB275511FD95CD004C4295 /* repl_tprintf.cpp in Sources */,
+ A9FB275911FD95CD004C4295 /* threads.cpp in Sources */,
+ A9FB275A11FD95CD004C4295 /* utf8.cpp in Sources */,
+ A9FB275B11FD95CD004C4295 /* condition.cpp in Sources */,
+ A9FB275D11FD95CD004C4295 /* error.cpp in Sources */,
+ A9FB276111FD95CD004C4295 /* memtracking.cpp in Sources */,
+ A9FB276211FD95CD004C4295 /* DateField.cpp in Sources */,
+ A9FB276411FD95CD004C4295 /* Document.cpp in Sources */,
+ A9FB276611FD95CD004C4295 /* Field.cpp in Sources */,
+ A9FB276811FD95CD004C4295 /* CompoundFile.cpp in Sources */,
+ A9FB276A11FD95CD004C4295 /* DocumentWriter.cpp in Sources */,
+ A9FB276D11FD95CD004C4295 /* FieldInfos.cpp in Sources */,
+ A9FB276F11FD95CD004C4295 /* FieldsReader.cpp in Sources */,
+ A9FB277111FD95CD004C4295 /* FieldsWriter.cpp in Sources */,
+ A9FB277311FD95CD004C4295 /* IndexModifier.cpp in Sources */,
+ A9FB277511FD95CD004C4295 /* IndexReader.cpp in Sources */,
+ A9FB277711FD95CD004C4295 /* IndexWriter.cpp in Sources */,
+ A9FB277911FD95CD004C4295 /* MultiReader.cpp in Sources */,
+ A9FB277C11FD95CD004C4295 /* SegmentInfos.cpp in Sources */,
+ A9FB277E11FD95CD004C4295 /* SegmentMergeInfo.cpp in Sources */,
+ A9FB278011FD95CD004C4295 /* SegmentMergeQueue.cpp in Sources */,
+ A9FB278211FD95CD004C4295 /* SegmentMerger.cpp in Sources */,
+ A9FB278411FD95CD004C4295 /* SegmentReader.cpp in Sources */,
+ A9FB278511FD95CD004C4295 /* SegmentTermDocs.cpp in Sources */,
+ A9FB278611FD95CD004C4295 /* SegmentTermEnum.cpp in Sources */,
+ A9FB278811FD95CD004C4295 /* SegmentTermPositions.cpp in Sources */,
+ A9FB278911FD95CD004C4295 /* SegmentTermVector.cpp in Sources */,
+ A9FB278A11FD95CD004C4295 /* Term.cpp in Sources */,
+ A9FB278C11FD95CD004C4295 /* TermInfo.cpp in Sources */,
+ A9FB278E11FD95CD004C4295 /* TermInfosReader.cpp in Sources */,
+ A9FB279011FD95CD004C4295 /* TermInfosWriter.cpp in Sources */,
+ A9FB279411FD95CD004C4295 /* TermVectorReader.cpp in Sources */,
+ A9FB279511FD95CD004C4295 /* TermVectorWriter.cpp in Sources */,
+ A9FB279711FD95CD004C4295 /* Lexer.cpp in Sources */,
+ A9FB279911FD95CD004C4295 /* MultiFieldQueryParser.cpp in Sources */,
+ A9FB279B11FD95CD004C4295 /* QueryParser.cpp in Sources */,
+ A9FB279D11FD95CD004C4295 /* QueryParserBase.cpp in Sources */,
+ A9FB279F11FD95CD004C4295 /* QueryToken.cpp in Sources */,
+ A9FB27A111FD95CD004C4295 /* TokenList.cpp in Sources */,
+ A9FB27A411FD95CD004C4295 /* BooleanQuery.cpp in Sources */,
+ A9FB27A611FD95CD004C4295 /* BooleanScorer.cpp in Sources */,
+ A9FB27A811FD95CD004C4295 /* CachingWrapperFilter.cpp in Sources */,
+ A9FB27AA11FD95CD004C4295 /* ChainedFilter.cpp in Sources */,
+ A9FB27AD11FD95CD004C4295 /* ConjunctionScorer.cpp in Sources */,
+ A9FB27AF11FD95CD004C4295 /* DateFilter.cpp in Sources */,
+ A9FB27B111FD95CD004C4295 /* ExactPhraseScorer.cpp in Sources */,
+ A9FB27B311FD95CD004C4295 /* Explanation.cpp in Sources */,
+ A9FB27B511FD95CD004C4295 /* FieldCache.cpp in Sources */,
+ A9FB27B711FD95CD004C4295 /* FieldCacheImpl.cpp in Sources */,
+ A9FB27BA11FD95CD004C4295 /* FieldDocSortedHitQueue.cpp in Sources */,
+ A9FB27BC11FD95CD004C4295 /* FieldSortedHitQueue.cpp in Sources */,
+ A9FB27BF11FD95CD004C4295 /* FilteredTermEnum.cpp in Sources */,
+ A9FB27C111FD95CD004C4295 /* FuzzyQuery.cpp in Sources */,
+ A9FB27C311FD95CD004C4295 /* HitQueue.cpp in Sources */,
+ A9FB27C511FD95CD004C4295 /* Hits.cpp in Sources */,
+ A9FB27C611FD95CD004C4295 /* IndexSearcher.cpp in Sources */,
+ A9FB27C811FD95CD004C4295 /* MultiSearcher.cpp in Sources */,
+ A9FB27CA11FD95CD004C4295 /* MultiTermQuery.cpp in Sources */,
+ A9FB27CC11FD95CD004C4295 /* PhrasePositions.cpp in Sources */,
+ A9FB27CE11FD95CD004C4295 /* PhraseQuery.cpp in Sources */,
+ A9FB27D111FD95CD004C4295 /* PhraseScorer.cpp in Sources */,
+ A9FB27D311FD95CD004C4295 /* PrefixQuery.cpp in Sources */,
+ A9FB27D511FD95CD004C4295 /* QueryFilter.cpp in Sources */,
+ A9FB27D711FD95CD004C4295 /* RangeFilter.cpp in Sources */,
+ A9FB27D911FD95CD004C4295 /* RangeQuery.cpp in Sources */,
+ A9FB27DC11FD95CD004C4295 /* SearchHeader.cpp in Sources */,
+ A9FB27DE11FD95CD004C4295 /* Similarity.cpp in Sources */,
+ A9FB27E011FD95CD004C4295 /* SloppyPhraseScorer.cpp in Sources */,
+ A9FB27E211FD95CD004C4295 /* Sort.cpp in Sources */,
+ A9FB27E411FD95CD004C4295 /* TermQuery.cpp in Sources */,
+ A9FB27E611FD95CD004C4295 /* TermScorer.cpp in Sources */,
+ A9FB27E811FD95CD004C4295 /* WildcardQuery.cpp in Sources */,
+ A9FB27EA11FD95CD004C4295 /* WildcardTermEnum.cpp in Sources */,
+ A9FB27EC11FD95CD004C4295 /* StdHeader.cpp in Sources */,
+ A9FB27EF11FD95CD004C4295 /* FSDirectory.cpp in Sources */,
+ A9FB27F111FD95CD004C4295 /* IndexInput.cpp in Sources */,
+ A9FB27F311FD95CD004C4295 /* IndexOutput.cpp in Sources */,
+ A9FB27F611FD95CD004C4295 /* Lock.cpp in Sources */,
+ A9FB27F811FD95CD004C4295 /* MMapInput.cpp in Sources */,
+ A9FB27FA11FD95CD004C4295 /* RAMDirectory.cpp in Sources */,
+ A9FB27FC11FD95CD004C4295 /* TransactionalRAMDirectory.cpp in Sources */,
+ A9FB27FF11FD95CD004C4295 /* BitSet.cpp in Sources */,
+ A9FB280211FD95CD004C4295 /* dirent.cpp in Sources */,
+ A9FB280411FD95CD004C4295 /* Equators.cpp in Sources */,
+ A9FB280611FD95CD004C4295 /* FastCharStream.cpp in Sources */,
+ A9FB280811FD95CD004C4295 /* fileinputstream.cpp in Sources */,
+ A9FB280D11FD95CD004C4295 /* MD5Digester.cpp in Sources */,
+ A9FB280F11FD95CD004C4295 /* Misc.cpp in Sources */,
+ A9FB281211FD95CD004C4295 /* Reader.cpp in Sources */,
+ A9FB281511FD95CD004C4295 /* StringBuffer.cpp in Sources */,
+ A9FB281711FD95CD004C4295 /* StringIntern.cpp in Sources */,
+ A9FB281B11FD95CD004C4295 /* ThreadLocal.cpp in Sources */,
+ A9FB28ED11FD95E4004C4295 /* femain.cpp in Sources */,
+ A9FB28EE11FD95E4004C4295 /* hebrewmcim.cpp in Sources */,
+ A9FB28EF11FD95E4004C4295 /* nullim.cpp in Sources */,
+ A9FB28F011FD95E4004C4295 /* swinputmeth.cpp in Sources */,
+ A9FB28F111FD95E4004C4295 /* swdisp.cpp in Sources */,
+ A9FB28F211FD95E4004C4295 /* swlog.cpp in Sources */,
+ A9FB28F311FD95E4004C4295 /* genarray.c in Sources */,
+ A9FB28F411FD95E4004C4295 /* listkey.cpp in Sources */,
+ A9FB28F511FD95E4004C4295 /* strkey.cpp in Sources */,
+ A9FB28F611FD95E4004C4295 /* swkey.cpp in Sources */,
+ A9FB28F711FD95E4004C4295 /* treekey.cpp in Sources */,
+ A9FB28F811FD95E4004C4295 /* treekeyidx.cpp in Sources */,
+ A9FB28F911FD95E4004C4295 /* versekey.cpp in Sources */,
+ A9FB28FA11FD95E4004C4295 /* versetreekey.cpp in Sources */,
+ A9FB28FB11FD95E4004C4295 /* curlftpt.cpp in Sources */,
+ A9FB28FC11FD95E4004C4295 /* curlhttpt.cpp in Sources */,
+ A9FB28FD11FD95E4004C4295 /* encfiltmgr.cpp in Sources */,
+ A9FB28FE11FD95E4004C4295 /* filemgr.cpp in Sources */,
+ A9FB28FF11FD95E4004C4295 /* ftplibftpt.cpp in Sources */,
+ A9FB290011FD95E4004C4295 /* ftptrans.cpp in Sources */,
+ A9FB290111FD95E4004C4295 /* installmgr.cpp in Sources */,
+ A9FB290211FD95E4004C4295 /* localemgr.cpp in Sources */,
+ A9FB290311FD95E4004C4295 /* markupfiltmgr.cpp in Sources */,
+ A9FB290411FD95E4004C4295 /* stringmgr.cpp in Sources */,
+ A9FB290511FD95E4004C4295 /* swcacher.cpp in Sources */,
+ A9FB290611FD95E4004C4295 /* swconfig.cpp in Sources */,
+ A9FB290711FD95E4004C4295 /* swfiltermgr.cpp in Sources */,
+ A9FB290811FD95E4004C4295 /* swlocale.cpp in Sources */,
+ A9FB290911FD95E4004C4295 /* swmgr.cpp in Sources */,
+ A9FB290A11FD95E4004C4295 /* swsearchable.cpp in Sources */,
+ A9FB290B11FD95E4004C4295 /* versemgr.cpp in Sources */,
+ A9FB290C11FD95E4004C4295 /* hrefcom.cpp in Sources */,
+ A9FB290D11FD95E4004C4295 /* rawcom.cpp in Sources */,
+ A9FB290E11FD95E4004C4295 /* rawcom4.cpp in Sources */,
+ A9FB290F11FD95E4004C4295 /* rawfiles.cpp in Sources */,
+ A9FB291011FD95E4004C4295 /* swcom.cpp in Sources */,
+ A9FB291111FD95E4004C4295 /* zcom.cpp in Sources */,
+ A9FB291211FD95E4004C4295 /* entriesblk.cpp in Sources */,
+ A9FB291311FD95E4004C4295 /* lzsscomprs.cpp in Sources */,
+ A9FB291411FD95E4004C4295 /* rawstr.cpp in Sources */,
+ A9FB291511FD95E4004C4295 /* rawstr4.cpp in Sources */,
+ A9FB291611FD95E4004C4295 /* rawverse.cpp in Sources */,
+ A9FB291711FD95E4004C4295 /* rawverse4.cpp in Sources */,
+ A9FB291811FD95E4004C4295 /* sapphire.cpp in Sources */,
+ A9FB291911FD95E4004C4295 /* swcipher.cpp in Sources */,
+ A9FB291A11FD95E4004C4295 /* swcomprs.cpp in Sources */,
+ A9FB291B11FD95E4004C4295 /* zipcomprs.cpp in Sources */,
+ A9FB291C11FD95E4004C4295 /* zstr.cpp in Sources */,
+ A9FB291D11FD95E4004C4295 /* zverse.cpp in Sources */,
+ A9FB291E11FD95E4004C4295 /* cipherfil.cpp in Sources */,
+ A9FB291F11FD95E4004C4295 /* gbffootnotes.cpp in Sources */,
+ A9FB292011FD95E4004C4295 /* gbfheadings.cpp in Sources */,
+ A9FB292111FD95E4004C4295 /* gbfhtml.cpp in Sources */,
+ A9FB292211FD95E4004C4295 /* gbfhtmlhref.cpp in Sources */,
+ A9FB292311FD95E4004C4295 /* gbfmorph.cpp in Sources */,
+ A9FB292411FD95E4004C4295 /* gbfosis.cpp in Sources */,
+ A9FB292511FD95E4004C4295 /* gbfplain.cpp in Sources */,
+ A9FB292611FD95E4004C4295 /* gbfredletterwords.cpp in Sources */,
+ A9FB292711FD95E4004C4295 /* gbfrtf.cpp in Sources */,
+ A9FB292811FD95E4004C4295 /* gbfstrongs.cpp in Sources */,
+ A9FB292911FD95E4004C4295 /* gbfthml.cpp in Sources */,
+ A9FB292A11FD95E4004C4295 /* gbfwebif.cpp in Sources */,
+ A9FB292B11FD95E4004C4295 /* gbfwordjs.cpp in Sources */,
+ A9FB292C11FD95E4004C4295 /* greeklexattribs.cpp in Sources */,
+ A9FB292D11FD95E4004C4295 /* latin1utf16.cpp in Sources */,
+ A9FB292E11FD95E4004C4295 /* latin1utf8.cpp in Sources */,
+ A9FB292F11FD95E4004C4295 /* osisfootnotes.cpp in Sources */,
+ A9FB293011FD95E4004C4295 /* osisheadings.cpp in Sources */,
+ A9FB293111FD95E4004C4295 /* osishtmlhref.cpp in Sources */,
+ A9FB293211FD95E4004C4295 /* osislemma.cpp in Sources */,
+ A9FB293311FD95E4004C4295 /* osismorph.cpp in Sources */,
+ A9FB293411FD95E4004C4295 /* osismorphsegmentation.cpp in Sources */,
+ A9FB293511FD95E4004C4295 /* osisosis.cpp in Sources */,
+ A9FB293611FD95E4004C4295 /* osisplain.cpp in Sources */,
+ A9FB293711FD95E4004C4295 /* osisredletterwords.cpp in Sources */,
+ A9FB293811FD95E4004C4295 /* osisrtf.cpp in Sources */,
+ A9FB293911FD95E4004C4295 /* osisruby.cpp in Sources */,
+ A9FB293A11FD95E4004C4295 /* osisscripref.cpp in Sources */,
+ A9FB293B11FD95E4004C4295 /* osisstrongs.cpp in Sources */,
+ A9FB293C11FD95E4004C4295 /* osisvariants.cpp in Sources */,
+ A9FB293D11FD95E4004C4295 /* osiswebif.cpp in Sources */,
+ A9FB293E11FD95E4004C4295 /* osiswordjs.cpp in Sources */,
+ A9FB293F11FD95E4004C4295 /* papyriplain.cpp in Sources */,
+ A9FB294011FD95E4004C4295 /* plainfootnotes.cpp in Sources */,
+ A9FB294111FD95E4004C4295 /* plainhtml.cpp in Sources */,
+ A9FB294211FD95E4004C4295 /* rtfhtml.cpp in Sources */,
+ A9FB294311FD95E4004C4295 /* swbasicfilter.cpp in Sources */,
+ A9FB294411FD95E4004C4295 /* swoptfilter.cpp in Sources */,
+ A9FB294511FD95E4004C4295 /* teihtmlhref.cpp in Sources */,
+ A9FB294611FD95E4004C4295 /* teiplain.cpp in Sources */,
+ A9FB294711FD95E4004C4295 /* teirtf.cpp in Sources */,
+ A9FB294811FD95E4004C4295 /* thmlfootnotes.cpp in Sources */,
+ A9FB294911FD95E4004C4295 /* thmlgbf.cpp in Sources */,
+ A9FB294A11FD95E4004C4295 /* thmlheadings.cpp in Sources */,
+ A9FB294B11FD95E4004C4295 /* thmlhtml.cpp in Sources */,
+ A9FB294C11FD95E4004C4295 /* thmlhtmlhref.cpp in Sources */,
+ A9FB294D11FD95E4004C4295 /* thmllemma.cpp in Sources */,
+ A9FB294E11FD95E4004C4295 /* thmlmorph.cpp in Sources */,
+ A9FB294F11FD95E4004C4295 /* thmlosis.cpp in Sources */,
+ A9FB295011FD95E4004C4295 /* thmlplain.cpp in Sources */,
+ A9FB295111FD95E4004C4295 /* thmlrtf.cpp in Sources */,
+ A9FB295211FD95E4004C4295 /* thmlscripref.cpp in Sources */,
+ A9FB295311FD95E4004C4295 /* thmlstrongs.cpp in Sources */,
+ A9FB295411FD95E4004C4295 /* thmlvariants.cpp in Sources */,
+ A9FB295511FD95E4004C4295 /* thmlwebif.cpp in Sources */,
+ A9FB295611FD95E4004C4295 /* thmlwordjs.cpp in Sources */,
+ A9FB295711FD95E4004C4295 /* unicodertf.cpp in Sources */,
+ A9FB295811FD95E4004C4295 /* utf16utf8.cpp in Sources */,
+ A9FB295911FD95E4004C4295 /* utf8arabicpoints.cpp in Sources */,
+ A9FB295A11FD95E4004C4295 /* utf8arshaping.cpp in Sources */,
+ A9FB295B11FD95E4004C4295 /* utf8bidireorder.cpp in Sources */,
+ A9FB295C11FD95E4004C4295 /* utf8cantillation.cpp in Sources */,
+ A9FB295D11FD95E4004C4295 /* utf8greekaccents.cpp in Sources */,
+ A9FB295E11FD95E4004C4295 /* utf8hebrewpoints.cpp in Sources */,
+ A9FB295F11FD95E4004C4295 /* utf8html.cpp in Sources */,
+ A9FB296011FD95E4004C4295 /* utf8latin1.cpp in Sources */,
+ A9FB296111FD95E4004C4295 /* utf8nfc.cpp in Sources */,
+ A9FB296211FD95E4004C4295 /* utf8nfkd.cpp in Sources */,
+ A9FB296311FD95E4004C4295 /* utf8transliterator.cpp in Sources */,
+ A9FB296411FD95E4004C4295 /* utf8utf16.cpp in Sources */,
+ A9FB296511FD95E4004C4295 /* rawgenbook.cpp in Sources */,
+ A9FB296611FD95E4004C4295 /* swgenbook.cpp in Sources */,
+ A9FB296711FD95E4004C4295 /* rawld.cpp in Sources */,
+ A9FB296811FD95E4004C4295 /* rawld4.cpp in Sources */,
+ A9FB296911FD95E4004C4295 /* swld.cpp in Sources */,
+ A9FB296A11FD95E4004C4295 /* zld.cpp in Sources */,
+ A9FB296B11FD95E4004C4295 /* swmodule.cpp in Sources */,
+ A9FB296C11FD95E4004C4295 /* echomod.cpp in Sources */,
+ A9FB296D11FD95E4004C4295 /* rawtext.cpp in Sources */,
+ A9FB296E11FD95E4004C4295 /* rawtext4.cpp in Sources */,
+ A9FB296F11FD95E4004C4295 /* swtext.cpp in Sources */,
+ A9FB297011FD95E4004C4295 /* ztext.cpp in Sources */,
+ A9FB297111FD95E4004C4295 /* adler32.c in Sources */,
+ A9FB297211FD95E4004C4295 /* compress.c in Sources */,
+ A9FB297311FD95E4004C4295 /* crc32.c in Sources */,
+ A9FB297411FD95E4004C4295 /* deflate.c in Sources */,
+ A9FB297611FD95E4004C4295 /* gzio.c in Sources */,
+ A9FB297711FD95E4004C4295 /* infblock.c in Sources */,
+ A9FB297911FD95E4004C4295 /* infcodes.c in Sources */,
+ A9FB297B11FD95E4004C4295 /* inffast.c in Sources */,
+ A9FB297E11FD95E4004C4295 /* inflate.c in Sources */,
+ A9FB297F11FD95E4004C4295 /* inftrees.c in Sources */,
+ A9FB298111FD95E4004C4295 /* infutil.c in Sources */,
+ A9FB298311FD95E4004C4295 /* maketree.c in Sources */,
+ A9FB298411FD95E4004C4295 /* trees.c in Sources */,
+ A9FB298611FD95E4004C4295 /* uncompr.c in Sources */,
+ A9FB298711FD95E4004C4295 /* untgz.c in Sources */,
+ A9FB298811FD95E4004C4295 /* zutil.c in Sources */,
+ A9FB298A11FD95E4004C4295 /* ftplib.c in Sources */,
+ A9FB298B11FD95E4004C4295 /* ftpparse.c in Sources */,
+ A9FB298C11FD95E4004C4295 /* regex.c in Sources */,
+ A9FB298D11FD95E4004C4295 /* roman.cpp in Sources */,
+ A9FB298E11FD95E4004C4295 /* swbuf.cpp in Sources */,
+ A9FB298F11FD95E4004C4295 /* swobject.cpp in Sources */,
+ A9FB299011FD95E4004C4295 /* swunicod.cpp in Sources */,
+ A9FB299111FD95E4004C4295 /* swversion.cpp in Sources */,
+ A9FB299211FD95E4004C4295 /* url.cpp in Sources */,
+ A9FB299311FD95E4004C4295 /* utilstr.cpp in Sources */,
+ A9FB299411FD95E4004C4295 /* utilxml.cpp 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 */;
+ };
+ A9FB29A111FD965B004C4295 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = A9FB25DF11FD939E004C4295 /* Sword_iOS */;
+ targetProxy = A9FB29A011FD965B004C4295 /* 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 = "$(ARCHS_STANDARD_32_64_BIT)";
+ 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 = "$(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;
+ };
+ A9013D3C11E316C700E1CCCA /* 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 = YES;
+ GCC_ENABLE_OBJC_GC = required;
+ GCC_ENABLE_SYMBOL_SEPARATION = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ObjCSword_Prefix.pch;
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ HEADER_SEARCH_PATHS = "../../include/**";
+ INFOPLIST_FILE = "Info copy.plist";
+ INSTALL_PATH = "@rpath";
+ LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/build/Release\"",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 10.5;
+ ONLY_ACTIVE_ARCH = NO;
+ OTHER_CFLAGS = "-DDEBUG";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = ObjCSword_iOS;
+ SDKROOT = macosx10.5;
+ WARNING_CFLAGS = "-Wall";
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Debug;
+ };
+ A9013D3D11E316C700E1CCCA /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(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_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ObjCSword_Prefix.pch;
+ HEADER_SEARCH_PATHS = "../../include/**";
+ INFOPLIST_FILE = "Info copy.plist";
+ INSTALL_PATH = "@rpath";
+ LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/build/Release\"",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 10.5;
+ OTHER_CFLAGS = "-DRELEASE";
+ PRODUCT_NAME = ObjCSword_iOS;
+ SDKROOT = macosx10.5;
+ WRAPPER_EXTENSION = framework;
+ };
+ 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;
+ };
+ A9FB25E111FD939F004C4295 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ EXECUTABLE_PREFIX = lib;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_VERSION = "";
+ HEADER_SEARCH_PATHS = (
+ "dependencies/icu/include/**",
+ "dependencies/clucene/**",
+ "../../include/**",
+ "../../include/internal/**",
+ );
+ INSTALL_PATH = "@rpath";
+ OTHER_LDFLAGS = (
+ "-licucore",
+ "-lcurl",
+ "-lz",
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = Sword;
+ SDKROOT = macosx10.5;
+ };
+ name = Debug;
+ };
+ A9FB25E211FD939F004C4295 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ EXECUTABLE_PREFIX = lib;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_VERSION = "";
+ HEADER_SEARCH_PATHS = (
+ "dependencies/icu/include/**",
+ "dependencies/clucene/**",
+ "../../include/**",
+ "../../include/internal/**",
+ );
+ INSTALL_PATH = "@rpath";
+ OTHER_LDFLAGS = (
+ "-licucore",
+ "-lcurl",
+ "-lz",
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = Sword;
+ SDKROOT = macosx10.5;
+ 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;
+ };
+ A9013D3B11E316C700E1CCCA /* Build configuration list for PBXNativeTarget "ObjCSword_iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ A9013D3C11E316C700E1CCCA /* Debug */,
+ A9013D3D11E316C700E1CCCA /* 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;
+ };
+ A9FB25E411FD93B2004C4295 /* Build configuration list for PBXNativeTarget "Sword_iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ A9FB25E111FD939F004C4295 /* Debug */,
+ A9FB25E211FD939F004C4295 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
+}
diff --git a/bindings/objc/ObjCSword_Prefix.pch b/bindings/objc/ObjCSword_Prefix.pch
new file mode 100644
index 0000000..3c94017
--- /dev/null
+++ b/bindings/objc/ObjCSword_Prefix.pch
@@ -0,0 +1,15 @@
+//
+// Prefix header for all source files of the 'ObjCSword' target in the 'ObjCSword' project.
+//
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
+
+#ifdef DEBUG
+ #define DLog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])
+ #define ALog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])
+#else
+ #define DLog(...) ;
+ #define ALog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])
+#endif
diff --git a/bindings/objc/README b/bindings/objc/README
new file mode 100644
index 0000000..5908cd5
--- /dev/null
+++ b/bindings/objc/README
@@ -0,0 +1,22 @@
+Building ObjCSword wrapper framework howto
+==========================================
+
+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/Tests-Info.plist b/bindings/objc/Tests-Info.plist
new file mode 100644
index 0000000..c285a47
--- /dev/null
+++ b/bindings/objc/Tests-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>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</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/build_clucene/Makefile b/bindings/objc/build_clucene/Makefile
new file mode 100644
index 0000000..e75feb9
--- /dev/null
+++ b/bindings/objc/build_clucene/Makefile
@@ -0,0 +1,25 @@
+.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
new file mode 100755
index 0000000..9ff2169
--- /dev/null
+++ b/bindings/objc/build_clucene/build_mac_clucene.sh
@@ -0,0 +1,158 @@
+#!/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/Makefile b/bindings/objc/build_sword/Makefile
new file mode 100644
index 0000000..2a9c5d6
--- /dev/null
+++ b/bindings/objc/build_sword/Makefile
@@ -0,0 +1,25 @@
+.PHONY: default release-ppc release-intel release-fat debug-ppc debug-intel debug-fat clean
+
+default: release-fat
+
+release-ppc:
+ ./build_mac_sword.sh release ppc
+
+release-intel:
+ ./build_mac_sword.sh release intel
+
+release-fat:
+ ./build_mac_sword.sh release fat
+
+debug-ppc:
+ ./build_mac_sword.sh debug ppc
+
+debug-intel:
+ ./build_mac_sword.sh debug intel
+
+debug-fat:
+ ./build_mac_sword.sh debug fat
+
+clean:
+ rm -rf build
+
diff --git a/bindings/objc/build_sword/build_mac_sword.sh b/bindings/objc/build_sword/build_mac_sword.sh
new file mode 100755
index 0000000..e7665ee
--- /dev/null
+++ b/bindings/objc/build_sword/build_mac_sword.sh
@@ -0,0 +1,170 @@
+#!/bin/sh -e
+# script by Manfred Bergmann in 2006, updated in 2010
+#
+
+APP=sword
+VERS=1.6.1
+BDIR=`pwd`
+
+DEBUG=0
+FAT=0
+PPC=0
+INTEL=0
+
+SWORDPATH="$BDIR/../../../"
+ICUPATH="$BDIR/../dependencies/icu"
+PPCCLUCENEPATH="$BDIR/../clucene_build/build/ppc_inst"
+INTELCLUCENEPATH="$BDIR/../clucene_build/build/intel_inst"
+INTEL64CLUCENEPATH="$BDIR/../clucene_build/build/intel64_inst"
+
+# 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
+
+# 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
+ make clean
+ echo 'autogen.sh ...'
+ ./autogen.sh
+ echo 'autogen.sh ... done'
+ 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 -I$ICUPATH/include"
+ else
+ export CFLAGS="-O2 -g0 -arch ppc -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=$PPCPREFIX --with-clucene=$PPCCLUCENEPATH --with-zlib --with-conf --with-icu --with-curl --disable-tests --disable-shared --enable-utilities
+ 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
+ make clean
+ echo 'autogen.sh ...'
+ ./autogen.sh
+ echo 'autogen.sh ... done'
+ 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 --with-clucene=$INTELCLUCENEPATH --with-zlib --with-conf --with-icu --with-curl --enable-tests --disable-shared --enable-utilities
+ 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"
+
+ echo "building INTEL64 version of library..."
+ cd $SWORDPATH
+ make clean
+ echo 'autogen.sh ...'
+ ./autogen.sh
+ echo 'autogen.sh ... done'
+ 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 -I$ICUPATH/include"
+ else
+ export CFLAGS="-O2 -g0 -arch x86_64 -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=$INTEL64PREFIX --with-clucene=$INTEL64CLUCENEPATH --with-zlib --with-conf --with-icu --with-curl --enable-tests --disable-shared --enable-utilities
+ 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
new file mode 100755
index 0000000..a4238d3
--- /dev/null
+++ b/bindings/objc/build_sword/build_ub_mac_swordutils.sh
@@ -0,0 +1,56 @@
+#!/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" folder with directories: "ppc_inst" and "intel_inst"
+
+BDIR=.
+SWORDBUILD=$BDIR/build
+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
new file mode 100644
index 0000000..b2ba0c8
--- /dev/null
+++ b/bindings/objc/build_sword/readme.txt
@@ -0,0 +1,8 @@
+Building sword library for MacSword:
+
+- make a symlink for libtoolize:
+ln -s /usr/bin/glibtoolize /usr/bin/libtoolize
+- call one of the Build*.sh scripts either for a point release or SVN trunk.
+parameters can be: "fat"|"intel"|"ppc", "debug"|"release"
+- call CreateUniversalBinarySWORDUtilities.sh
+
diff --git a/bindings/objc/dependencies/retrieve.sh b/bindings/objc/dependencies/retrieve.sh
new file mode 100755
index 0000000..898d36a
--- /dev/null
+++ b/bindings/objc/dependencies/retrieve.sh
@@ -0,0 +1,11 @@
+#!/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
+
diff --git a/bindings/objc/doc/SWORD-HOWTO.txt b/bindings/objc/doc/SWORD-HOWTO.txt
new file mode 100644
index 0000000..5f1549b
--- /dev/null
+++ b/bindings/objc/doc/SWORD-HOWTO.txt
@@ -0,0 +1,55 @@
+
+When updating SWORD from SVN into this project,
+
+delete all the Makefiles & other support files, leaving only the .cpp and .h files in their various folders...
+
+The following files should be "disabled" in Xcode (so that Xcode doesn't try to compile them):
+
+src/utilfuns/win32/dirent.cpp
+src/frontend/framework/femain.cpp
+src/frontend/im/hebrewmcim.cpp
+src/frontend/im/nullim.cpp
+src/frontend/im/swinputmeth.cpp
+
+AND (because they have a main() function):
+src/keys/genarray.c
+src/utilfuns/zlib/maketree.c
+
+ie: all the files in the following folders:
+src/frontend/im
+src/frontend/framework
+src/utilfuns/win32
+
+
+DIFFS:
+- curlhttpt.cpp:: logging info on the httpd server side
+- localemgr.cpp:: we don't wanna try to "find" the config, cause it just slows app-launch down & it won't find it!
+
+
+Index: /Users/nicc/local/src/PocketSword/externals/sword/src/mgr/curlhttpt.cpp
+===================================================================
+--- /Users/nicc/local/src/PocketSword/externals/sword/src/mgr/curlhttpt.cpp (revision 8)
++++ /Users/nicc/local/src/PocketSword/externals/sword/src/mgr/curlhttpt.cpp (working copy)
+@@ -144,6 +144,7 @@
+
+ /* Switch on full protocol/debug output */
+ curl_easy_setopt(session, CURLOPT_VERBOSE, true);
++ curl_easy_setopt(session, CURLOPT_USERAGENT, p.c_str());
+
+ /* FTP connection settings */
+
+
+Index: /Users/nicc/local/src/PocketSword/externals/sword/src/mgr/localemgr.cpp
+===================================================================
+--- /Users/nicc/local/src/PocketSword/externals/sword/src/mgr/localemgr.cpp (revision 18)
++++ /Users/nicc/local/src/PocketSword/externals/sword/src/mgr/localemgr.cpp (working copy)
+@@ -80,7 +80,7 @@
+
+ if (!iConfigPath) {
+ SWLog::getSystemLog()->logDebug("LOOKING UP LOCALE DIRECTORY...");
+- SWMgr::findConfig(&configType, &prefixPath, &configPath, &augPaths, &sysConf);
++ //SWMgr::findConfig(&configType, &prefixPath, &configPath, &augPaths, &sysConf);
+ if (sysConf) {
+ if ((entry = sysConf->Sections["Install"].find("LocalePath")) != sysConf->Sections["Install"].end()) {
+ configType = 9; // our own
+
diff --git a/bindings/objc/doc/search.txt b/bindings/objc/doc/search.txt
new file mode 100644
index 0000000..b9cbb30
--- /dev/null
+++ b/bindings/objc/doc/search.txt
@@ -0,0 +1,21 @@
+loved one
+ = search for verses that contain "loved" or "one"
+ = this is the same as loved OR one
+
+"loved one"
+ = search for verses that contain the phrase "loved one"
+
+love*
+ = search for verses that contain a word starting with "love" (love OR loves OR loved OR etc...)
+
+loved AND one
+ = search for verses that contains the word "loved" and the word "one"
+
++loved one
+ = search for verses that must contain "loved" and may contain "one"
+
+loved NOT one
+ = search for verses that contain "loved" but not "one"
+
+(loved one) AND God
+ = search for verses that contain "loved" or "one" and "God" \ No newline at end of file
diff --git a/bindings/objc/src/Notifications.h b/bindings/objc/src/Notifications.h
new file mode 100644
index 0000000..3972646
--- /dev/null
+++ b/bindings/objc/src/Notifications.h
@@ -0,0 +1,16 @@
+/*
+ * globals.h
+ * ObjCSword
+ *
+ * Created by Manfred Bergmann on 03.06.05.
+ * Copyright 2007 mabe. All rights reserved.
+ *
+ */
+
+// 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
new file mode 100644
index 0000000..68bf6bb
--- /dev/null
+++ b/bindings/objc/src/SwordBible.h
@@ -0,0 +1,64 @@
+/* SwordBible.h - Sword API wrapper for Biblical Texts.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import <Cocoa/Cocoa.h>
+#import "SwordModule.h"
+
+#ifdef __cplusplus
+#import "versekey.h"
+#endif
+
+@class SwordManager, SwordBibleBook, SwordModuleTextEntry, SwordBibleTextEntry;
+
+typedef enum {
+ OldTestament = 1,
+ NewTestament
+}Testament;
+
+@interface SwordBible : SwordModule {
+ NSMutableDictionary *books;
+}
+
+@property (retain, readwrite) NSMutableDictionary *books;
+
+// ----------- class methods -------------
++ (void)decodeRef:(NSString *)ref intoBook:(NSString **)bookName book:(int *)book chapter:(int *)chapter verse:(int *)verse;
++ (NSString *)firstRefName:(NSString *)abbr;
++ (NSString *)context:(NSString *)abbr;
+#ifdef __cplusplus
++ (int)bookIndexForSWKey:(sword::VerseKey *)key;
+#endif
+
+
+- (BOOL)hasReference:(NSString *)ref;
+- (int)numberOfVerseKeysForReference:(NSString *)aReference;
+
+// book lists
+- (NSArray *)bookList;
+
+- (NSString *)bookIntroductionFor:(SwordBibleBook *)aBook;
+- (NSString *)chapterIntroductionFor:(SwordBibleBook *)aBook chapter:(int)chapter;
+- (NSString *)moduleIntroduction;
+
+// some numbers
+- (SwordBibleBook *)bookForLocalizedName:(NSString *)bookName;
+- (int)chaptersForBookName:(NSString *)bookName;
+- (int)versesForChapter:(int)chapter bookName:(NSString *)bookName;
+- (int)versesForBible;
+
+// Text pulling
+- (SwordBibleTextEntry *)textEntryForKey:(SwordKey *)aKey textType:(TextPullType)aType;
+- (NSArray *)strippedTextEntriesForRef:(NSString *)reference context:(int)context;
+- (NSArray *)renderedTextEntriesForRef:(NSString *)reference context:(int)context;
+
+@end \ No newline at end of file
diff --git a/bindings/objc/src/SwordBible.mm b/bindings/objc/src/SwordBible.mm
new file mode 100644
index 0000000..8c86626
--- /dev/null
+++ b/bindings/objc/src/SwordBible.mm
@@ -0,0 +1,477 @@
+/* SwordBible.mm - Sword API wrapper for Biblical Texts.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import "SwordBible.h"
+#import "SwordModule.h"
+#import "SwordManager.h"
+#import "SwordBibleBook.h"
+#import "SwordListKey.h"
+#import "SwordModuleTextEntry.h"
+#import "SwordBibleTextEntry.h"
+#import "SwordVerseKey.h"
+#import "SwordListKey.h"
+
+using sword::AttributeTypeList;
+using sword::AttributeList;
+using sword::AttributeValue;
+#include "versemgr.h"
+
+@interface SwordBible ()
+
+- (void)buildBookList;
+- (BOOL)containsBookNumber:(int)aBookNum;
+- (NSArray *)textEntriesForReference:(NSString *)aReference context:(int)context textType:(TextPullType)textType;
+
+@end
+
+@implementation SwordBible
+
+@dynamic books;
+
+#pragma mark - class methods
+
+NSLock *bibleLock = nil;
+
+// changes an abbreviated reference into a full
+// eg. Dan4:5-7 => Daniel4:5
++ (void)decodeRef:(NSString *)ref intoBook:(NSString **)bookName book:(int *)book chapter:(int *)chapter verse:(int *)verse {
+
+ if(!bibleLock) bibleLock = [[NSLock alloc] init];
+ [bibleLock lock];
+
+ sword::VerseKey vk([ref UTF8String]);
+
+ *bookName = [NSString stringWithUTF8String:vk.getBookName()];
+ *book = vk.Book();
+ *chapter = vk.Chapter();
+ *verse = vk.Verse();
+
+ [bibleLock unlock];
+}
+
++ (NSString *)firstRefName:(NSString *)abbr {
+ if(!bibleLock) bibleLock = [[NSLock alloc] init];
+ [bibleLock lock];
+
+ sword::VerseKey vk([abbr UTF8String]);
+ NSString *result = [NSString stringWithUTF8String:vk];
+
+ [bibleLock unlock];
+
+ return result;
+}
+
++ (NSString *)context:(NSString *)abbr {
+
+ //get parsed simple ref
+ NSString *first = [SwordBible firstRefName:abbr];
+ NSArray *firstbits = [first componentsSeparatedByString:@":"];
+
+ //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];
+ }
+
+ //otherwise return a book
+ firstbits = [first componentsSeparatedByString:@" "];
+
+ if([firstbits count] > 0) {
+ return [firstbits objectAtIndex:0];
+ }
+
+ return abbr;
+}
+
+/**
+ get book index for versekey
+ that is: book number + testament * 100
+ */
++ (int)bookIndexForSWKey:(sword::VerseKey *)key {
+ return key->Book() + key->Testament() * 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];
+ if(self) {
+ [self setBooks:nil];
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [super dealloc];
+}
+
+#pragma mark - Bible information
+
+- (void)buildBookList {
+ [moduleLock lock];
+
+ sword::VerseMgr *vmgr = sword::VerseMgr::getSystemVerseMgr();
+ const sword::VerseMgr::System *system = vmgr->getVersificationSystem([[self versification] UTF8String]);
+
+ NSMutableDictionary *buf = [NSMutableDictionary dictionary];
+ int bookCount = system->getBookCount();
+ for(int i = 0;i < bookCount;i++) {
+ sword::VerseMgr::Book *book = (sword::VerseMgr::Book *)system->getBook(i);
+
+ SwordBibleBook *bb = [[SwordBibleBook alloc] initWithBook:book];
+ [bb setNumber:i+1];
+
+ NSString *bookName = [bb name];
+ [buf setObject:bb forKey:bookName];
+ }
+ self.books = buf;
+
+ [moduleLock unlock];
+}
+
+- (BOOL)containsBookNumber:(int)aBookNum {
+ for(SwordBibleBook *bb in [self books]) {
+ if([bb number] == aBookNum) {
+ return YES;
+ }
+ }
+ return NO;
+}
+
+- (NSMutableDictionary *)books {
+ if(books == nil) {
+ [self buildBookList];
+ }
+ return books;
+}
+
+- (void)setBooks:(NSMutableDictionary *)aBooks {
+ [aBooks retain];
+ [books release];
+ books = aBooks;
+}
+
+- (NSArray *)bookList {
+ NSDictionary *b = [self books];
+ NSArray *bl = [[b allValues] sortedArrayUsingSelector:@selector(compare:)];
+ return bl;
+}
+
+- (BOOL)hasReference:(NSString *)ref {
+ [moduleLock lock];
+
+ sword::VerseKey *key = (sword::VerseKey *)(swModule->CreateKey());
+ (*key) = [ref UTF8String];
+ NSString *bookName = [NSString stringWithUTF8String:key->getBookName()];
+ int chapter = key->Chapter();
+ int verse = key->Verse();
+
+ SwordBibleBook *bb = [[self books] objectForKey:bookName];
+ if(bb) {
+ if(chapter > 0 && chapter < [bb numberOfChapters]) {
+ if(verse > 0 && verse < [bb numberOfVersesForChapter:chapter]) {
+ return YES;
+ }
+ }
+ }
+
+ [moduleLock unlock];
+
+ return NO;
+}
+
+- (int)numberOfVerseKeysForReference:(NSString *)aReference {
+ int ret = 0;
+
+ if(aReference && [aReference length] > 0) {
+ sword::VerseKey vk;
+ 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++;
+ }
+
+ return ret;
+}
+
+- (int)chaptersForBookName:(NSString *)bookName {
+ [moduleLock lock];
+
+ int maxChapters = 0;
+ sword::VerseKey *key = (sword::VerseKey *)swModule->CreateKey();
+ (*key) = [bookName UTF8String];
+ maxChapters = key->getChapterMax();
+ delete key;
+
+ [moduleLock unlock];
+
+ return maxChapters;
+}
+
+
+- (int)versesForChapter:(int)chapter bookName:(NSString *)bookName {
+ int ret = -1;
+
+ [moduleLock lock];
+
+ SwordBibleBook *bb = [[self books] objectForKey:bookName];
+ if(bb) {
+ ret = [bb numberOfVersesForChapter:chapter];
+ }
+
+ [moduleLock unlock];
+
+ return ret;
+}
+
+- (int)versesForBible {
+ int ret = 0;
+
+ for(SwordBibleBook *bb in [self books]) {
+ int chapters = [bb numberOfChapters];
+ int verses = 0;
+ for(int j = 1;j <= chapters;j++) {
+ verses += [bb numberOfVersesForChapter:j];
+ }
+ ret += verses;
+ }
+
+ return ret;
+}
+
+- (SwordBibleBook *)bookForLocalizedName:(NSString *)bookName {
+ for(SwordBibleBook *book in [[self books] allValues]) {
+ if([[book localizedName] isEqualToString:bookName]) {
+ return book;
+ }
+ }
+ return nil;
+}
+
+- (NSString *)moduleIntroduction {
+ NSString *ret = @"";
+
+ // save key
+ SwordVerseKey *save = [self getKeyCopy];
+
+ SwordVerseKey *key = [SwordVerseKey verseKeyWithVersification:[self versification]];
+ [key setHeadings:YES];
+ [key setPosition:0];
+ [self setKey:key];
+ ret = [self renderedText];
+
+ // restore old key
+ [self setKey:save];
+
+ return ret;
+}
+
+- (NSString *)bookIntroductionFor:(SwordBibleBook *)aBook {
+ NSString *ret = @"";
+
+ // save key
+ SwordVerseKey *save = [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];
+ [self setKey:key];
+ ret = [self renderedText];
+
+ // restore old key
+ [self setKey:save];
+
+ return ret;
+}
+
+- (NSString *)chapterIntroductionFor:(SwordBibleBook *)aBook chapter:(int)chapter {
+ NSString *ret = @"";
+
+ // save key
+ SwordVerseKey *save = [self getKeyCopy];
+
+ SwordVerseKey *key = [SwordVerseKey verseKeyWithVersification:[self versification]];
+ [key setHeadings:YES];
+ [key setAutoNormalize:NO];
+ [key setTestament:[aBook testament]];
+ [key setBook:[aBook numberInTestament]];
+ [key setChapter:chapter];
+ [key setVerse:0];
+ [self setKey:key];
+ ret = [self renderedText];
+
+ // restore old key
+ [self setKey:save];
+
+ return ret;
+}
+
+- (SwordBibleTextEntry *)textEntryForKey:(SwordVerseKey *)aKey textType:(TextPullType)aType {
+ SwordBibleTextEntry *ret = nil;
+
+ if(aKey) {
+ [moduleLock lock];
+ [self setKey:aKey];
+ if(![self error]) {
+ NSString *txt = @"";
+ if(aType == TextTypeRendered) {
+ txt = [self renderedText];
+ } else {
+ txt = [self strippedText];
+ }
+
+ if(txt) {
+ ret = [SwordBibleTextEntry textEntryForKey:[aKey keyText] andText:txt];
+ } else {
+ ALog(@"nil key");
+ }
+
+ if([swManager globalOption:SW_OPTION_HEADINGS] && [self hasFeature:SWMOD_FEATURE_HEADINGS]) {
+ NSString *preverseHeading = [self entryAttributeValuePreverse];
+ if(preverseHeading && [preverseHeading length] > 0) {
+ [ret setPreverseHeading:preverseHeading];
+ }
+ }
+ }
+ [moduleLock unlock];
+ }
+
+ return ret;
+}
+
+- (NSString *)versification {
+ NSString *versification = [configEntries objectForKey:SWMOD_CONFENTRY_VERSIFICATION];
+ if(versification == nil) {
+ versification = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_VERSIFICATION];
+ if(versification != nil) {
+ [configEntries setObject:versification forKey:SWMOD_CONFENTRY_VERSIFICATION];
+ }
+ }
+
+ // if still nil, use KJV versification
+ if(versification == nil) {
+ versification = @"KJV";
+ [configEntries setObject:versification forKey:SWMOD_CONFENTRY_VERSIFICATION];
+ }
+
+ return versification;
+}
+
+#pragma mark - SwordModuleAccess
+
+- (id)createKey {
+ sword::VerseKey *vk = (sword::VerseKey *)swModule->CreateKey();
+ SwordVerseKey *newKey = [SwordVerseKey verseKeyWithSWVerseKey:vk makeCopy:YES];
+ delete vk;
+
+ return newKey;
+}
+
+- (id)getKey {
+ return [SwordVerseKey verseKeyWithSWVerseKey:(sword::VerseKey *)swModule->getKey()];
+}
+
+- (id)getKeyCopy {
+ return [SwordVerseKey verseKeyWithSWVerseKey:(sword::VerseKey *)swModule->getKey() makeCopy:YES];
+}
+
+- (long)entryCount {
+ swModule->setPosition(sword::TOP);
+ unsigned long verseLowIndex = swModule->Index();
+ swModule->setPosition(sword::BOTTOM);
+ unsigned long verseHighIndex = swModule->Index();
+
+ return verseHighIndex - verseLowIndex;
+}
+
+- (NSArray *)strippedTextEntriesForRef:(NSString *)reference {
+ return [self strippedTextEntriesForRef:reference context:0];
+}
+
+- (NSArray *)strippedTextEntriesForRef:(NSString *)reference context:(int)context {
+ return [self textEntriesForReference:reference context:context textType:TextTypeStripped];
+}
+
+- (NSArray *)renderedTextEntriesForRef:(NSString *)reference {
+ return [self renderedTextEntriesForRef:reference context:0];
+}
+
+- (NSArray *)renderedTextEntriesForRef:(NSString *)reference context:(int)context {
+ return [self textEntriesForReference:reference context:context textType:TextTypeRendered];
+}
+
+- (NSArray *)textEntriesForReference:(NSString *)aReference context:(int)context textType:(TextPullType)textType {
+ NSMutableArray *ret = [NSMutableArray array];
+
+ 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
+ [vk setKeyText:[lk keyText]];
+ if(context != 0) {
+ long lowVerse = [vk verse] - context;
+ long highVerse = lowVerse + (context * 2);
+ for(;lowVerse <= highVerse;lowVerse++) {
+ [vk setVerse:lowVerse];
+ SwordBibleTextEntry *entry = [self textEntryForKey:vk textType:textType];
+ if(entry) {
+ [ret addObject:entry];
+ }
+ [vk increment];
+ }
+ } else {
+ SwordBibleTextEntry *entry = [self textEntryForKey:vk textType:textType];
+ if(entry) {
+ [ret addObject:entry];
+ }
+ }
+ [lk increment];
+ }
+
+ return ret;
+}
+
+- (void)writeEntry:(SwordModuleTextEntry *)anEntry {
+
+ const char *data = [[anEntry text] UTF8String];
+ int dLen = strlen(data);
+
+ [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];
+}
+
+@end
diff --git a/bindings/objc/src/SwordBibleBook.h b/bindings/objc/src/SwordBibleBook.h
new file mode 100644
index 0000000..824d400
--- /dev/null
+++ b/bindings/objc/src/SwordBibleBook.h
@@ -0,0 +1,51 @@
+//
+// SwordBibleBook.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 18.02.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+#ifdef __cplusplus
+#include <versemgr.h>
+#include <versekey.h>
+#include <localemgr.h>
+class sword::VerseMgr::Book;
+#endif
+
+@interface SwordBibleBook : NSObject {
+#ifdef __cplusplus
+ sword::VerseMgr::Book *swBook;
+#endif
+
+ NSString *localizedName;
+ int number;
+ int numberInTestament;
+ int testament;
+ NSArray *chapters;
+}
+
+@property (readwrite) int number;
+@property (readwrite) int numberInTestament;
+@property (readwrite) int testament;
+@property (retain, readwrite) NSString *localizedName;
+@property (retain, readwrite) NSArray *chapters;
+
+#ifdef __cplusplus
+- (id)initWithBook:(sword::VerseMgr::Book *)aBook;
+- (sword::VerseMgr::Book *)book;
+#endif
+
+- (NSString *)name;
+- (NSString *)osisName;
+- (int)numberOfChapters;
+- (int)numberOfVersesForChapter:(int)chapter;
+/**
+ get book index for versekey
+ that is: book number + testament * 100
+ */
+- (int)generatedIndex;
+
+@end
diff --git a/bindings/objc/src/SwordBibleBook.mm b/bindings/objc/src/SwordBibleBook.mm
new file mode 100644
index 0000000..2fb9468
--- /dev/null
+++ b/bindings/objc/src/SwordBibleBook.mm
@@ -0,0 +1,112 @@
+//
+// SwordBibleBook.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 18.02.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordBibleBook.h"
+#import "SwordBibleChapter.h"
+
+
+@implementation SwordBibleBook
+
+@synthesize number;
+@synthesize numberInTestament;
+@synthesize testament;
+@synthesize localizedName;
+@dynamic chapters;
+
+- (id)init {
+ self = [super init];
+ if(self) {
+ self.number = 0;
+ self.numberInTestament = 0;
+ self.testament = 0;
+ self.localizedName = @"";
+ self.chapters = nil;
+ }
+
+ return self;
+}
+
+- (id)initWithBook:(sword::VerseMgr::Book *)aBook {
+ self = [self init];
+ if(self) {
+ swBook = aBook;
+
+ sword::VerseKey vk = sword::VerseKey(aBook->getOSISName());
+ [self setTestament:vk.Testament()];
+ [self setNumberInTestament:vk.Book()];
+
+ // 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())];
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [self setLocalizedName:nil];
+ [self setChapters:nil];
+
+ [super dealloc];
+}
+
+- (NSString *)name {
+ return [NSString stringWithUTF8String:swBook->getLongName()];
+}
+
+- (NSString *)osisName {
+ return [NSString stringWithUTF8String:swBook->getOSISName()];
+}
+
+- (int)numberOfChapters {
+ return swBook->getChapterMax();
+}
+
+- (int)numberOfVersesForChapter:(int)chapter {
+ return swBook->getVerseMax(chapter);
+}
+
+- (void)setChapters:(NSArray *)anArray {
+ [anArray retain];
+ [chapters release];
+ chapters = anArray;
+}
+
+- (NSArray *)chapters {
+ if(chapters == nil) {
+ NSMutableArray *temp = [NSMutableArray array];
+ for(int i = 0;i < swBook->getChapterMax();i++) {
+ [temp addObject:[[SwordBibleChapter alloc] initWithBook:self andChapter:i+1]];
+ }
+ [self setChapters:[NSArray arrayWithArray:temp]];
+ }
+ return chapters;
+}
+
+/**
+ get book index for versekey
+ that is: book number + testament * 100
+ */
+- (int)generatedIndex {
+ return number + testament * 100;
+}
+
+- (sword::VerseMgr::Book *)book {
+ return swBook;
+}
+
+/** we implement this for sorting */
+- (NSComparisonResult)compare:(SwordBibleBook *)b {
+ return [[NSNumber numberWithInt:number] compare:[NSNumber numberWithInt:[b number]]];
+}
+
+@end
diff --git a/bindings/objc/src/SwordBibleChapter.h b/bindings/objc/src/SwordBibleChapter.h
new file mode 100644
index 0000000..e8f29c2
--- /dev/null
+++ b/bindings/objc/src/SwordBibleChapter.h
@@ -0,0 +1,24 @@
+//
+// SwordBibleChapter.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 19.02.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@class SwordBibleBook;
+
+@interface SwordBibleChapter : NSObject {
+ /** the back reference */
+ SwordBibleBook *book;
+ int number;
+}
+
+@property (readwrite) int number;
+@property (readwrite, assign) SwordBibleBook *book;
+
+- (id)initWithBook:(SwordBibleBook *)aBook andChapter:(int)aNumber;
+
+@end
diff --git a/bindings/objc/src/SwordBibleChapter.m b/bindings/objc/src/SwordBibleChapter.m
new file mode 100644
index 0000000..8855227
--- /dev/null
+++ b/bindings/objc/src/SwordBibleChapter.m
@@ -0,0 +1,35 @@
+//
+// SwordBibleChapter.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 19.02.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordBibleChapter.h"
+
+
+@implementation SwordBibleChapter
+
+@synthesize book;
+@synthesize number;
+
+- (id)initWithBook:(SwordBibleBook *)aBook andChapter:(int)aNumber {
+ self = [super init];
+ if(self) {
+ self.book = aBook;
+ self.number = aNumber;
+ }
+
+ 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
new file mode 100644
index 0000000..467bf18
--- /dev/null
+++ b/bindings/objc/src/SwordBibleTextEntry.h
@@ -0,0 +1,21 @@
+//
+// SwordBibleTextEntry.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 01.02.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "SwordModuleTextEntry.h"
+
+@interface SwordBibleTextEntry : SwordModuleTextEntry {
+ NSString *preverseHeading;
+}
+
+@property (readwrite, retain) NSString *preverseHeading;
+
++ (id)textEntryForKey:(NSString *)aKey andText:(NSString *)aText;
+- (id)initWithKey:(NSString *)aKey andText:(NSString *)aText;
+
+@end
diff --git a/bindings/objc/src/SwordBibleTextEntry.m b/bindings/objc/src/SwordBibleTextEntry.m
new file mode 100644
index 0000000..6be2c4e
--- /dev/null
+++ b/bindings/objc/src/SwordBibleTextEntry.m
@@ -0,0 +1,38 @@
+//
+// SwordBibleTextEntry.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 01.02.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import "SwordBibleTextEntry.h"
+
+@implementation SwordBibleTextEntry
+
+@synthesize preverseHeading;
+
++ (id)textEntryForKey:(NSString *)aKey andText:(NSString *)aText {
+ return [[[SwordBibleTextEntry alloc] initWithKey:aKey andText:aText] autorelease];
+}
+
+- (id)initWithKey:(NSString *)aKey andText:(NSString *)aText {
+ self = [super init];
+ if(self) {
+ self.key = aKey;
+ self.text = aText;
+ }
+ 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
new file mode 100644
index 0000000..e1cd17d
--- /dev/null
+++ b/bindings/objc/src/SwordBook.h
@@ -0,0 +1,39 @@
+/* SwordBook.h - Sword API wrapper for GenBooks.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import <Cocoa/Cocoa.h>
+#import "SwordModule.h"
+
+#ifdef __cplusplus
+#include <treekeyidx.h>
+#endif
+
+#define GenBookRootKey @"root"
+
+@class SwordModule, SwordManager, SwordModuleTreeEntry;
+
+@interface SwordBook : SwordModule {
+ NSMutableDictionary *contents;
+}
+
+@property(readwrite, retain) NSMutableDictionary *contents;
+
+/**
+ return the tree content for the given treekey
+ the treekey has to be already loaded
+ @param[in]: treekey that we should look for, nil for root
+ @return: SwordTreeEntry
+ */
+- (SwordModuleTreeEntry *)treeEntryForKey:(NSString *)treeKey;
+
+@end
diff --git a/bindings/objc/src/SwordBook.mm b/bindings/objc/src/SwordBook.mm
new file mode 100644
index 0000000..05f622e
--- /dev/null
+++ b/bindings/objc/src/SwordBook.mm
@@ -0,0 +1,153 @@
+/* SwordBook.mm - Sword API wrapper for GenBooks.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import "SwordBook.h"
+#import "SwordModule.h"
+#import "SwordModuleTreeEntry.h"
+
+@interface SwordBook ()
+
+- (SwordModuleTreeEntry *)_treeEntryForKey:(sword::TreeKeyIdx *)treeKey;
+
+@end
+
+@implementation SwordBook
+
+@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];
+ if(self) {
+ [self setContents:[NSMutableDictionary dictionary]];
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [self setContents:nil];
+
+ [super dealloc];
+}
+
+- (SwordModuleTreeEntry *)treeEntryForKey:(NSString *)treeKey {
+ SwordModuleTreeEntry * ret = nil;
+
+ [moduleLock lock];
+ if(treeKey == nil) {
+ ret = [contents objectForKey:@"root"];
+ if(ret == nil) {
+ sword::TreeKeyIdx *treeKey = dynamic_cast<sword::TreeKeyIdx*>((sword::SWKey *)*(swModule));
+ ret = [self _treeEntryForKey:treeKey];
+ // add to content
+ [contents setObject:ret forKey:@"root"];
+ }
+ } else {
+ ret = [contents objectForKey:treeKey];
+ if(ret == nil) {
+ const char *keyStr = [treeKey UTF8String];
+ if(![self isUnicode]) {
+ keyStr = [treeKey cStringUsingEncoding:NSISOLatin1StringEncoding];
+ }
+ // position module
+ sword::SWKey *mkey = new sword::SWKey(keyStr);
+ swModule->setKey(mkey);
+ sword::TreeKeyIdx *key = dynamic_cast<sword::TreeKeyIdx*>((sword::SWKey *)*(swModule));
+ ret = [self _treeEntryForKey:key];
+ // add to content
+ [contents setObject:ret forKey:treeKey];
+ }
+ }
+ [moduleLock unlock];
+
+ return ret;
+}
+
+- (SwordModuleTreeEntry *)_treeEntryForKey:(sword::TreeKeyIdx *)treeKey {
+ SwordModuleTreeEntry *ret = [[SwordModuleTreeEntry alloc] init];
+
+ char *treeNodeName = (char *)treeKey->getText();
+ NSString *nname = @"";
+
+ if(strlen(treeNodeName) == 0) {
+ nname = @"root";
+ } else {
+ // key encoding depends on module encoding
+ nname = [NSString stringWithUTF8String:treeNodeName];
+ if(!nname) {
+ nname = [NSString stringWithCString:treeNodeName encoding:NSISOLatin1StringEncoding];
+ }
+ }
+ // set name
+ [ret setKey:nname];
+ NSMutableArray *c = [NSMutableArray array];
+ [ret setContent:c];
+
+ // if this node has children, walk them
+ if(treeKey->hasChildren()) {
+ // get first child
+ treeKey->firstChild();
+ do {
+ NSString *subname = @"";
+ // key encoding depends on module encoding
+ const char *textStr = treeKey->getText();
+ subname = [NSString stringWithUTF8String:textStr];
+ if(!subname) {
+ subname = [NSString stringWithCString:textStr encoding:NSISOLatin1StringEncoding];
+ }
+ if(subname) {
+ [c addObject:subname];
+ }
+ }
+ while(treeKey->nextSibling());
+ }
+
+ return ret;
+}
+
+- (void)testLoop {
+ SwordModuleTreeEntry *entry = [self treeEntryForKey:nil];
+ if([[entry content] count] > 0) {
+ for(NSString *subkey in [entry content]) {
+ entry = [self treeEntryForKey:subkey];
+ if([[entry content] count] > 0) {
+ } else {
+ DLog(@"Entry: %@", [entry key]);
+ }
+ }
+ } else {
+ DLog(@"Entry: %@", [entry key]);
+ }
+}
+
+#pragma mark - SwordModuleAccess
+
+- (long)entryCount {
+ // TODO: set value according to maximum entries here
+ return 1000;
+}
+
+@end
diff --git a/bindings/objc/src/SwordCommentary.h b/bindings/objc/src/SwordCommentary.h
new file mode 100644
index 0000000..5177139
--- /dev/null
+++ b/bindings/objc/src/SwordCommentary.h
@@ -0,0 +1,33 @@
+/* SwordCommentary.h - Sword API wrapper for Commentaries.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import <Cocoa/Cocoa.h>
+#import "SwordBible.h"
+
+#ifdef __cplusplus
+#include <rawfiles.h>
+class sword::RawFiles;
+class sword::SWConfig;
+#endif
+
+@interface SwordCommentary : SwordBible {
+}
+
+/**
+ creates a new empty editable commentary module
+ caller has to make sure the module doesn't exist yet
+ @return path of the created module
+ */
++ (NSString *)createCommentaryWithName:(NSString *)aName;
+
+@end
diff --git a/bindings/objc/src/SwordCommentary.mm b/bindings/objc/src/SwordCommentary.mm
new file mode 100644
index 0000000..fee1a1a
--- /dev/null
+++ b/bindings/objc/src/SwordCommentary.mm
@@ -0,0 +1,81 @@
+/* SwordCommentary.mm - Sword API wrapper for Commentaries.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import "SwordCommentary.h"
+#import "Configuration.h"
+
+@implementation SwordCommentary
+
+/**
+ creates a new empty editable commentary module
+ caller has to make sure the module doesn't exist yet
+ @return path of the created module
+ */
++ (NSString *)createCommentaryWithName:(NSString *)aName {
+ NSString *ret = nil;
+
+ // let's create the directory for storing our module
+ NSFileManager *fm = [NSFileManager defaultManager];
+
+ // modulePath
+ NSString *modPath = [[[Configuration config] defaultModulePath] stringByAppendingFormat:@"/%@.swd", aName];
+ if([fm fileExistsAtPath:modPath]) {
+ ALog(@"path exists already for mod: %@", aName);
+ } else {
+ ret = modPath;
+
+ // create folder
+ [fm createDirectoryAtPath:modPath attributes:nil];
+
+ // create mods.d folder
+ NSString *modsdPath = [modPath stringByAppendingPathComponent:@"mods.d"];
+ [fm createDirectoryAtPath:modsdPath attributes:nil];
+ // create module folder
+ NSString *dataPath = [modPath stringByAppendingPathComponent:@"modules"];
+ [fm createDirectoryAtPath:dataPath attributes:nil];
+ dataPath = [dataPath stringByAppendingPathComponent:@"comments"];
+ [fm createDirectoryAtPath:dataPath attributes:nil];
+ dataPath = [dataPath stringByAppendingPathComponent:@"rawfiles"];
+ [fm createDirectoryAtPath:dataPath attributes:nil];
+ dataPath = [dataPath stringByAppendingPathComponent:aName];
+ [fm createDirectoryAtPath:dataPath attributes:nil];
+
+ // let's create a brand new empty module
+ sword::RawFiles::createModule([dataPath UTF8String]);
+ // let's add our .conf file
+ sword::SWConfig newConf([[modsdPath stringByAppendingFormat:@"/%@.conf", aName] UTF8String]);
+ const char *aNameCStr = [aName UTF8String];
+ newConf[aNameCStr]["DataPath"] = [[NSString stringWithFormat:@"./modules/comments/rawfiles/%@", aName] UTF8String];
+ newConf[aNameCStr]["ModDrv"] = "RawFiles";
+ newConf[aNameCStr]["SourceType"] = "ThML";
+ newConf[aNameCStr]["Editable"] = "YES";
+ newConf[aNameCStr]["About"] = "This module allows you to store your own commentary.";
+ newConf.Save();
+ }
+
+ return ret;
+}
+
+- (id)init {
+ return [super init];
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [super dealloc];
+}
+
+@end
diff --git a/bindings/objc/src/SwordDictionary.h b/bindings/objc/src/SwordDictionary.h
new file mode 100644
index 0000000..77df1e2
--- /dev/null
+++ b/bindings/objc/src/SwordDictionary.h
@@ -0,0 +1,28 @@
+/* SwordDict.h - Sword API wrapper for lexicons and Dictionaries.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import <Cocoa/Cocoa.h>
+#import "SwordModule.h"
+
+@class SwordManager;
+
+@interface SwordDictionary : SwordModule {
+ /** only keys are buffered here */
+ NSMutableArray *keys;
+}
+
+- (NSArray *)allKeys;
+- (NSString *)entryForKey:(NSString *)aKey;
+
+
+@end
diff --git a/bindings/objc/src/SwordDictionary.mm b/bindings/objc/src/SwordDictionary.mm
new file mode 100644
index 0000000..2876e47
--- /dev/null
+++ b/bindings/objc/src/SwordDictionary.mm
@@ -0,0 +1,181 @@
+/* SwordDict.mm - Sword API wrapper for lexicons and Dictionaries.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import "SwordDictionary.h"
+#import "SwordModuleTextEntry.h"
+#import "Configuration.h"
+
+@interface SwordDictionary (/* Private, class continuation */)
+/** private property */
+@property(readwrite, retain) NSMutableArray *keys;
+@end
+
+@interface SwordDictionary (PrivateAPI)
+
+- (void)readKeys;
+- (void)readFromCache;
+- (void)writeToCache;
+
+@end
+
+@implementation SwordDictionary (PrivateAPI)
+
+/**
+ only the keys are stored here in an array
+ */
+- (void)readKeys {
+ if(keys == nil) {
+ [self readFromCache];
+ }
+
+ // still no entries?
+ if([keys count] == 0) {
+ NSMutableArray *arr = [NSMutableArray array];
+
+ [moduleLock lock];
+
+ swModule->setSkipConsecutiveLinks(true);
+ *swModule = sword::TOP;
+ swModule->getRawEntry();
+ while(![self error]) {
+ char *cStrKeyText = (char *)swModule->KeyText();
+ if(cStrKeyText) {
+ NSString *keyText = [NSString stringWithUTF8String:cStrKeyText];
+ if(!keyText) {
+ keyText = [NSString stringWithCString:swModule->KeyText() encoding:NSISOLatin1StringEncoding];
+ if(!keyText) {
+ ALog(@"Unable to create NSString instance from string: %s", cStrKeyText);
+ }
+ }
+
+ if(keyText) {
+ [arr addObject:[keyText capitalizedString]];
+ }
+ } else {
+ ALog(@"Could not get keytext from sword module!");
+ }
+
+ (*swModule)++;
+ }
+
+ [moduleLock unlock];
+
+ self.keys = arr;
+ [self writeToCache];
+ }
+}
+
+- (void)readFromCache {
+ //open cached file
+ NSString *cachePath = [[[Configuration config] defaultAppSupportPath] stringByAppendingPathComponent:[NSString stringWithFormat:@"cache-%@", [self name]]];
+ NSMutableArray *data = [NSArray arrayWithContentsOfFile:cachePath];
+ if(data != nil) {
+ self.keys = data;
+ } else {
+ self.keys = [NSMutableArray array];
+ }
+}
+
+- (void)writeToCache {
+ // save cached file
+ NSString *cachePath = [[[Configuration config] defaultAppSupportPath] stringByAppendingPathComponent:[NSString stringWithFormat:@"cache-%@", [self name]]];
+ [keys writeToFile:cachePath atomically:NO];
+}
+
+@end
+
+@implementation SwordDictionary
+
+@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];
+ if(self) {
+ self.keys = nil;
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [self setKeys:nil];
+
+ [super dealloc];
+}
+
+- (NSArray *)allKeys {
+ NSArray *ret = self.keys;
+ if(ret == nil) {
+ [self readKeys];
+ ret = self.keys;
+ }
+ return ret;
+}
+
+/**
+ returns stripped text for key.
+ nil if the key does not exist.
+ */
+- (NSString *)entryForKey:(NSString *)aKey {
+ NSString *ret = nil;
+
+ [moduleLock lock];
+ [self setKeyString:aKey];
+ if([self error]) {
+ ALog(@"Error on setting key!");
+ } else {
+ ret = [self strippedText];
+ }
+ [moduleLock unlock];
+
+ return ret;
+}
+
+- (id)attributeValueForParsedLinkData:(NSDictionary *)data {
+ id ret = nil;
+
+ NSString *attrType = [data objectForKey: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];
+ ret = [self strippedTextEntriesForRef:key];
+ }
+
+ return ret;
+}
+
+#pragma mark - SwordModuleAccess
+
+
+- (long)entryCount {
+ return [[self allKeys] count];
+}
+
+@end
diff --git a/bindings/objc/src/SwordInstallSource.h b/bindings/objc/src/SwordInstallSource.h
new file mode 100644
index 0000000..c0f8659
--- /dev/null
+++ b/bindings/objc/src/SwordInstallSource.h
@@ -0,0 +1,72 @@
+//
+// SwordInstallSource.h
+// Eloquent
+//
+// Created by Manfred Bergmann on 13.08.07.
+// Copyright 2007 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+#ifdef __cplusplus
+#include <swmgr.h>
+#include <installmgr.h>
+class sword::SWModule;
+#endif
+
+@class SwordManager;
+@class SwordInstallSourceController;
+
+#define INSTALLSOURCE_TYPE_FTP @"FTP"
+
+@interface SwordInstallSource : NSObject {
+
+#ifdef __cplusplus
+ sword::InstallSource *swInstallSource;
+#endif
+
+ /** the sword manager for this source */
+ SwordManager *swordManager;
+
+ BOOL temporarySource;
+}
+
+// init
+- (id)init;
+#ifdef __cplusplus
+- (id)initWithSource:(sword::InstallSource *)is;
+#endif
+- (id)initWithType:(NSString *)aType;
+
+// accessors
+- (NSString *)caption;
+- (void)setCaption:(NSString *)aCaption;
+- (NSString *)type;
+- (void)setType:(NSString *)aType;
+- (NSString *)source;
+- (void)setSource:(NSString *)aSource;
+- (NSString *)directory;
+- (void)setDirectory:(NSString *)aDir;
+
+- (BOOL)isLocalSource;
+
+// get config entry
+- (NSString *)configEntry;
+
+// install module
+- (void)installModuleWithName:(NSString *)mName
+ usingManager:(SwordManager *)swManager
+ withInstallController:(SwordInstallSourceController *)sim;
+
+// list modules of this source
+- (NSArray *)listModules;
+/** list module types */
+- (NSArray *)listModuleTypes;
+// get associated SwordManager
+- (SwordManager *)swordManager;
+
+#ifdef __cplusplus
+- (sword::InstallSource *)installSource;
+#endif
+
+@end
diff --git a/bindings/objc/src/SwordInstallSource.mm b/bindings/objc/src/SwordInstallSource.mm
new file mode 100644
index 0000000..5c2c9aa
--- /dev/null
+++ b/bindings/objc/src/SwordInstallSource.mm
@@ -0,0 +1,196 @@
+//
+// SwordInstallSource.mm
+// Eloquent
+//
+// Created by Manfred Bergmann on 13.08.07.
+// Copyright 2007 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordInstallSource.h"
+#import "SwordInstallSourceController.h"
+#import "SwordManager.h"
+
+@interface SwordInstallSource (PrivateAPI)
+
+- (void)setSwordManager:(SwordManager *)swManager;
+
+@end
+
+@implementation SwordInstallSource (PrivateAPI)
+
+- (void)setSwordManager:(SwordManager *)swManager {
+ [swManager retain];
+ [swordManager release];
+ swordManager = swManager;
+}
+
+@end
+
+@implementation SwordInstallSource
+
+// init
+- (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!");
+ }
+ }
+
+ return self;
+}
+
+- (id)initWithType:(NSString *)aType {
+ self = [self init];
+ if(self) {
+ // set type
+ swInstallSource->type = [aType cStringUsingEncoding:NSUTF8StringEncoding];
+ }
+
+ return self;
+}
+
+/** init with given source */
+- (id)initWithSource:(sword::InstallSource *)is {
+ self = [super init];
+ if(self) {
+ temporarySource = YES;
+
+ // at first we have no sword manager
+ [self setSwordManager:nil];
+
+ swInstallSource = is;
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ if(temporarySource == NO) {
+ //LogL(LOG_DEBUG, @"[SwordInstallSource -finalize] deleting swInstalSource");
+ //delete swInstallSource;
+ }
+
+ [super finalize];
+}
+
+- (void)dealloc {
+ [super dealloc];
+}
+
+// accessors
+- (NSString *)caption {
+ const char *str = swInstallSource->caption;
+ return [[[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding] autorelease];
+}
+
+- (void)setCaption:(NSString *)aCaption {
+ swInstallSource->caption = [aCaption cStringUsingEncoding:NSUTF8StringEncoding];
+}
+
+- (NSString *)type {
+ const char *str = swInstallSource->type;
+ return [[[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding] autorelease];
+}
+
+- (void)setType:(NSString *)aType {
+ swInstallSource->type = [aType cStringUsingEncoding:NSUTF8StringEncoding];
+}
+
+- (NSString *)source {
+ const char *str = swInstallSource->source;
+ return [[[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding] autorelease];
+}
+
+- (void)setSource:(NSString *)aSource {
+ swInstallSource->source = [aSource cStringUsingEncoding:NSUTF8StringEncoding];
+}
+
+- (NSString *)directory {
+ const char *str = swInstallSource->directory;
+ return [[[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding] autorelease];
+}
+
+- (void)setDirectory:(NSString *)aDir {
+ swInstallSource->directory = [aDir cStringUsingEncoding:NSUTF8StringEncoding];
+}
+
+- (BOOL)isLocalSource {
+ return [[self source] isEqualToString:@"localhost"];
+}
+
+// get config entry
+- (NSString *)configEntry {
+ return [NSString stringWithFormat:@"%@|%@|%@", [self caption], [self source], [self directory]];
+}
+
+/** install module */
+- (void)installModuleWithName:(NSString *)mName usingManager:(SwordManager *)swManager withInstallController:(SwordInstallSourceController *)sim {
+ sword::InstallMgr *im = [sim installMgr];
+ im->installModule([swManager swManager], 0, [mName UTF8String], swInstallSource);
+}
+
+/** list all modules of this source */
+- (NSArray *)listModules {
+ NSArray *ret = nil;
+
+ DLog(@"");
+
+ SwordManager *sm = [self swordManager];
+ if(sm) {
+ ret = [sm listModules];
+ } else {
+ ALog(@"Have nil SwordManager");
+ }
+
+ return ret;
+}
+
+/** list module types */
+- (NSArray *)listModuleTypes {
+ NSArray *ret = nil;
+
+ DLog(@"");
+ ret = [SwordManager moduleTypes];
+
+ return ret;
+}
+
+// get associated SwordManager
+- (SwordManager *)swordManager {
+
+ if(swordManager == nil) {
+ // create SwordManager from the SWMgr of this source
+ sword::SWMgr *mgr;
+ if([[self source] isEqualToString:@"localhost"]) {
+ // create SwordManager from new SWMgr of path
+ mgr = (sword::SWMgr *)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];
+ }
+ }
+
+ return swordManager;
+}
+
+/** low level API */
+- (sword::InstallSource *)installSource {
+ return swInstallSource;
+}
+
+@end
diff --git a/bindings/objc/src/SwordInstallSourceController.h b/bindings/objc/src/SwordInstallSourceController.h
new file mode 100644
index 0000000..1f5dda5
--- /dev/null
+++ b/bindings/objc/src/SwordInstallSourceController.h
@@ -0,0 +1,101 @@
+//
+// SwordInstallManager.h
+// Eloquent
+//
+// Created by Manfred Bergmann on 13.08.07.
+// Copyright 2007 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+#ifdef __cplusplus
+#include <swmgr.h>
+#include <installmgr.h>
+#include <swconfig.h>
+#include <multimapwdef.h>
+class sword::SWModule;
+class sword::InstallMgr;
+using sword::SWModule;
+using sword::InstallMgr;
+#endif
+
+@class SwordInstallSource;
+@class SwordModule;
+@class SwordManager;
+
+typedef enum _ModuleStatusConst {
+ ModStatOlder = 0x001,
+ ModStatSameVersion = 0x002,
+ ModStatUpdated = 0x004,
+ ModStatNew = 0x008,
+ ModStatCiphered = 0x010,
+ ModStatCipheredKeyPresent = 0x020
+}ModuleStatusConst;
+
+@interface SwordInstallSourceController : NSObject {
+@private
+#ifdef __cplusplus
+ sword::InstallMgr *swInstallMgr;
+#endif
+
+ BOOL createPath;
+
+ NSString *configPath;
+ NSString *configFilePath;
+
+ /** the dictionary holding the install sources. caption is the key */
+ NSMutableDictionary *installSources;
+ NSMutableArray *installSourceList;
+}
+
+// ------------------- getter / setter -------------------
+@property (retain, readwrite) NSString *configPath;
+@property (retain, readwrite) NSString *configFilePath;
+@property (retain, readwrite) NSMutableDictionary *installSources;
+@property (retain, readwrite) NSMutableArray *installSourceList;
+
+// -------------------- methods --------------------
+
+// initialization
++ (SwordInstallSourceController *)defaultController;
+
+/**
+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;
+
+// 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)updateInstallSource:(SwordInstallSource *)is;
+- (int)refreshMasterRemoteInstallSourceList;
+
+// disclaimer
+- (BOOL)userDisclaimerConfirmed;
+- (void)setUserDisclainerConfirmed:(BOOL)flag;
+
+// list modules in sources
+- (NSArray *)listModulesForSource:(SwordInstallSource *)is;
+
+// remote source list
+- (int)refreshInstallSource:(SwordInstallSource *)is;
+
+// get module status
+- (NSArray *)moduleStatusInInstallSource:(SwordInstallSource *)is baseManager:(SwordManager *)baseMgr;
+
+// low level access
+#ifdef __cplusplus
+- (sword::InstallMgr *)installMgr;
+#endif
+
+@end
diff --git a/bindings/objc/src/SwordInstallSourceController.mm b/bindings/objc/src/SwordInstallSourceController.mm
new file mode 100644
index 0000000..452c005
--- /dev/null
+++ b/bindings/objc/src/SwordInstallSourceController.mm
@@ -0,0 +1,333 @@
+//
+// SwordInstallManager.mm
+// Eloquent
+//
+// Created by Manfred Bergmann on 13.08.07.
+// Copyright 2007 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordInstallSourceController.h"
+#import "SwordInstallSource.h"
+#import "SwordManager.h"
+#import "SwordModule.h"
+
+#include "installmgr.h"
+//#include "MyInstallMgr.h"
+
+#ifdef __cplusplus
+typedef std::map<sword::SWBuf, sword::InstallSource *> InstallSourceMap;
+typedef sword::multimapwithdefault<sword::SWBuf, sword::SWBuf, std::less <sword::SWBuf> > ConfigEntMap;
+#endif
+
+#define INSTALLSOURCE_SECTION_TYPE_FTP "FTPSource"
+#define INSTALLSOURCE_SECTION_TYPE_HTTP "HTTPSource"
+
+@implementation SwordInstallSourceController
+
+@dynamic configPath;
+@synthesize configFilePath;
+@synthesize installSources;
+@synthesize installSourceList;
+
+// ------------------- getter / setter -------------------
+- (NSString *)configPath {
+ return configPath;
+}
+
+- (void)setConfigPath:(NSString *)value {
+ DLog(@"");
+
+ if(configPath != value) {
+ [configPath release];
+ configPath = [value copy];
+
+ if(value != nil) {
+ // check for existence
+ NSFileManager *fm = [NSFileManager defaultManager];
+ BOOL isDir;
+ if(([fm fileExistsAtPath:configPath] == NO) && createPath == YES) {
+ // create path
+ [fm createDirectoryAtPath:configPath attributes:nil];
+ }
+
+ if(([fm fileExistsAtPath:configPath isDirectory:&isDir] == YES) && (isDir)) {
+ // set configFilePath
+ [self setConfigFilePath:[configPath stringByAppendingPathComponent:@"InstallMgr.conf"]];
+
+ // check config
+ if([fm fileExistsAtPath:configFilePath] == NO) {
+ // create config entry
+ sword::SWConfig config([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];
+
+ } else {
+ // init installMgr
+ [self reinitialize];
+ }
+
+ // sync with master install source list
+ //[self refreshMasterRemoteInstallSourceList];
+
+ } else {
+ ALog(@"Config path does not exist: %@", configPath);
+ }
+ }
+ }
+}
+
+// -------------------- methods --------------------
+
+// initialization
++ (SwordInstallSourceController *)defaultController {
+ static SwordInstallSourceController *singleton;
+ if(singleton == nil) {
+ singleton = [[SwordInstallSourceController alloc] init];
+ }
+
+ return singleton;
+}
+
+/**
+base path of the module installation
+ */
+- (id)init {
+ self = [super init];
+ if(self) {
+ createPath = NO;
+ [self setConfigPath:nil];
+ [self setConfigFilePath:nil];
+ [self setInstallSources:[NSMutableDictionary dictionary]];
+ [self setInstallSourceList:[NSMutableArray array]];
+ }
+
+ return self;
+}
+
+/**
+ initialize with given path
+ */
+- (id)initWithPath:(NSString *)aPath createPath:(BOOL)create {
+ self = [self init];
+ if(self) {
+ createPath = create;
+ [self setConfigPath:aPath];
+ }
+
+ return self;
+}
+
+/** re-init after adding or removing new modules */
+- (void)reinitialize {
+ sword::SWConfig config([configFilePath UTF8String]);
+ config.Load();
+
+ // init installMgr
+ BOOL disclaimerConfirmed = NO;
+ if(swInstallMgr != nil) {
+ disclaimerConfirmed = [self userDisclaimerConfirmed];
+ }
+ swInstallMgr = new sword::InstallMgr([configPath UTF8String]);
+ if(swInstallMgr == nil) {
+ ALog(@"Could not initialize InstallMgr!");
+ } else {
+ [self setUserDisclainerConfirmed:disclaimerConfirmed];
+
+ // empty all lists
+ [installSources removeAllObjects];
+ [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:(id)sis];
+
+ [installSources setObject:is forKey:[is caption]];
+ // also add to list
+ [installSourceList addObject:is];
+ }
+ }
+}
+
+- (void)finalize {
+ if(swInstallMgr != nil) {
+ delete swInstallMgr;
+ }
+
+ [super finalize];
+}
+
+- (void)dealloc {
+ if(swInstallMgr != nil) {
+ delete swInstallMgr;
+ }
+
+ [self setConfigPath:nil];
+ [self setInstallSources:nil];
+ [self setInstallSourceList:nil];
+ [self setConfigFilePath:nil];
+
+ [super dealloc];
+}
+
+- (void)addInstallSource:(SwordInstallSource *)is {
+ [self addInstallSource:is withReinitialize:YES];
+}
+
+// add/remove install sources
+- (void)addInstallSource:(SwordInstallSource *)is withReinitialize:(BOOL)reinit {
+
+ // save at once
+ sword::SWConfig config([configFilePath cStringUsingEncoding:NSUTF8StringEncoding]);
+ 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];
+}
+
+- (void)removeInstallSource:(SwordInstallSource *)is withReinitialize:(BOOL)reinit {
+
+ // remove source
+ [installSources removeObjectForKey:[is caption]];
+ [installSourceList removeObject:is];
+
+ // save at once
+ sword::SWConfig config([configFilePath cStringUsingEncoding:NSUTF8StringEncoding]);
+ config["Sources"].erase(INSTALLSOURCE_SECTION_TYPE_HTTP);
+ config["Sources"].erase(INSTALLSOURCE_SECTION_TYPE_FTP);
+
+ // build up new
+ NSEnumerator *iter = [installSources objectEnumerator];
+ SwordInstallSource *sis = nil;
+ while((sis = [iter nextObject])) {
+ if([[sis type] isEqualToString:INSTALLSOURCE_TYPE_FTP]) {
+ config["Sources"].insert(ConfigEntMap::value_type(INSTALLSOURCE_SECTION_TYPE_FTP, [[sis configEntry] UTF8String]));
+ } else {
+ config["Sources"].insert(ConfigEntMap::value_type(INSTALLSOURCE_SECTION_TYPE_HTTP, [[sis configEntry] UTF8String]));
+ }
+ }
+ config.Save();
+
+ if(reinit)
+ [self reinitialize];
+}
+
+- (void)updateInstallSource:(SwordInstallSource *)is {
+ // first remove, then add again
+ [self removeInstallSource:is withReinitialize:NO];
+ [self addInstallSource:is];
+}
+
+// installation/uninstallation
+- (int)installModule:(SwordModule *)aModule fromSource:(SwordInstallSource *)is withManager:(SwordManager *)manager {
+
+ int stat = -1;
+ if([[is source] isEqualToString:@"localhost"]) {
+ 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)refreshMasterRemoteInstallSourceList {
+ int stat = swInstallMgr->refreshRemoteSourceConfiguration();
+ if(stat) {
+ ALog(@"Unable to refresh with master install source!");
+ }
+
+ 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];
+}
+
+/** refresh modules of this source
+ refreshing the install source is necessary before installation of
+ */
+- (int)refreshInstallSource:(SwordInstallSource *)is {
+ int ret = 1;
+
+ if(is == nil) {
+ ALog(@"Install source is nil");
+ } else {
+ if([[is source] isEqualToString:@"localhost"] == NO) {
+ ret = swInstallMgr->refreshRemoteSource([is installSource]);
+ }
+ }
+
+ return ret;
+}
+
+/**
+ returns an array of Modules with status set, nil on error
+ */
+- (NSArray *)moduleStatusInInstallSource:(SwordInstallSource *)is baseManager:(SwordManager *)baseMgr {
+
+ NSArray *ret = nil;
+
+ // get modules map
+ NSMutableArray *ar = [NSMutableArray array];
+ std::map<sword::SWModule *, int> modStats = swInstallMgr->getModuleStatus(*[baseMgr swManager], *[[is swordManager] swManager]);
+ sword::SWModule *module;
+ int status;
+ for(std::map<sword::SWModule *, int>::iterator it = modStats.begin(); it != modStats.end(); it++) {
+ module = it->first;
+ status = it->second;
+
+ SwordModule *mod = [[SwordModule alloc] initWithSWModule:module];
+ [mod setStatus:status];
+ [ar addObject:mod];
+ }
+
+ if(ar) {
+ ret = [NSArray arrayWithArray:ar];
+ }
+
+ return ret;
+}
+
+- (BOOL)userDisclaimerConfirmed {
+ return swInstallMgr->isUserDisclaimerConfirmed();
+}
+
+- (void)setUserDisclainerConfirmed:(BOOL)flag {
+ swInstallMgr->setUserDisclaimerConfirmed(flag);
+}
+
+/** low level access */
+- (sword::InstallMgr *)installMgr {
+ return swInstallMgr;
+}
+
+@end
diff --git a/bindings/objc/src/SwordKey.h b/bindings/objc/src/SwordKey.h
new file mode 100644
index 0000000..9761bda
--- /dev/null
+++ b/bindings/objc/src/SwordKey.h
@@ -0,0 +1,47 @@
+//
+// SwordKey.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 17.12.09.
+// Copyright 2009 Software by MABE. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+#ifdef __cplusplus
+#include <swkey.h>
+#endif
+
+@interface SwordKey : NSObject {
+#ifdef __cplusplus
+ sword::SWKey *sk;
+#endif
+ BOOL created;
+}
+
++ (id)swordKey;
++ (id)swordKeyWithRef:(NSString *)aRef;
+
+#ifdef __cplusplus
++ (id)swordKeyWithSWKey:(sword::SWKey *)aSk;
++ (id)swordKeyWithSWKey:(sword::SWKey *)aSk makeCopy:(BOOL)copy;
+- (id)initWithSWKey:(sword::SWKey *)aSk;
+- (id)initWithSWKey:(sword::SWKey *)aSk makeCopy:(BOOL)copy;
+- (sword::SWKey *)swKey;
+#endif
+
+- (id)initWithRef:(NSString *)aRef;
+
+- (id)clone;
+- (void)setPersist:(BOOL)flag;
+- (BOOL)persist;
+
+- (int)error;
+
+- (void)setPosition:(int)aPosition;
+- (void)decrement;
+- (void)increment;
+- (NSString *)keyText;
+- (void)setKeyText:(NSString *)aKey;
+
+@end
diff --git a/bindings/objc/src/SwordKey.mm b/bindings/objc/src/SwordKey.mm
new file mode 100644
index 0000000..2417e93
--- /dev/null
+++ b/bindings/objc/src/SwordKey.mm
@@ -0,0 +1,124 @@
+//
+// SwordKey.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 17.12.09.
+// Copyright 2009 Software by MABE. All rights reserved.
+//
+
+#import "SwordKey.h"
+
+
+@implementation SwordKey
+
++ (id)swordKey {
+ return [[[SwordKey alloc] init] autorelease];
+}
+
++ (id)swordKeyWithRef:(NSString *)aRef {
+ return [[[SwordKey alloc] initWithRef:aRef] autorelease];
+}
+
++ (id)swordKeyWithSWKey:(sword::SWKey *)aSk {
+ return [[[SwordKey alloc] initWithSWKey:aSk] autorelease];
+}
+
++ (id)swordKeyWithSWKey:(sword::SWKey *)aSk makeCopy:(BOOL)copy {
+ return [[[SwordKey alloc] initWithSWKey:aSk makeCopy:copy] autorelease];
+}
+
+- (id)init {
+ return [self initWithRef:nil];
+}
+
+- (id)initWithSWKey:(sword::SWKey *)aSk {
+ return [self initWithSWKey:aSk makeCopy:NO];
+}
+
+- (id)initWithSWKey:(sword::SWKey *)aSk makeCopy:(BOOL)copy {
+ self = [super init];
+ if(self) {
+ if(copy) {
+ if(aSk) {
+ sk = aSk->clone();
+ created = YES;
+ } else {
+ created = NO;
+ }
+ } else {
+ sk = aSk;
+ created = NO;
+ }
+ }
+ return self;
+}
+
+- (id)initWithRef:(NSString *)aRef {
+ self = [super init];
+ if(self) {
+ sk = new sword::SWKey([aRef UTF8String]);
+ created = YES;
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ if(created) {
+ delete sk;
+ }
+
+ [super finalize];
+}
+
+- (void)dealloc {
+ if(created) {
+ delete sk;
+ }
+
+ [super dealloc];
+}
+
+- (id)clone {
+ return [SwordKey swordKeyWithSWKey:sk];
+}
+
+#pragma mark - Methods
+
+- (void)setPersist:(BOOL)flag {
+ sk->Persist((int)flag);
+}
+
+- (BOOL)persist {
+ return (BOOL)sk->Persist();
+}
+
+- (int)error {
+ return sk->Error();
+}
+
+- (void)setPosition:(int)aPosition {
+ sk->setPosition(sword::SW_POSITION((char)aPosition));
+}
+
+- (void)decrement {
+ sk->decrement();
+}
+
+- (void)increment {
+ sk->increment();
+}
+
+- (NSString *)keyText {
+ return [NSString stringWithUTF8String:sk->getText()];
+}
+
+- (void)setKeyText:(NSString *)aKey {
+ sk->setText([aKey UTF8String]);
+}
+
+- (sword::SWKey *)swKey {
+ return sk;
+}
+
+@end
diff --git a/bindings/objc/src/SwordListKey.h b/bindings/objc/src/SwordListKey.h
new file mode 100644
index 0000000..0ce68ac
--- /dev/null
+++ b/bindings/objc/src/SwordListKey.h
@@ -0,0 +1,45 @@
+//
+// SwordListKey.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 10.04.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "SwordKey.h"
+
+#ifdef __cplusplus
+#include <swkey.h>
+#include <listkey.h>
+#endif
+
+@class SwordBible, VerseEnumerator;
+
+@interface SwordListKey : SwordKey {
+}
+
++ (id)listKeyWithRef:(NSString *)aRef;
++ (id)listKeyWithRef:(NSString *)aRef v11n:(NSString *)scheme;
++ (id)listKeyWithRef:(NSString *)aRef headings:(BOOL)headings v11n:(NSString *)scheme;
+
+#ifdef __cplusplus
++ (id)listKeyWithSWListKey:(sword::ListKey *)aLk;
++ (id)listKeyWithSWListKey:(sword::ListKey *)aLk makeCopy:(BOOL)copy;
+- (id)initWithSWListKey:(sword::ListKey *)aLk;
+- (id)initWithSWListKey:(sword::ListKey *)aLk makeCopy:(BOOL)copy;
+- (sword::ListKey *)swListKey;
+#endif
+
+- (id)initWithRef:(NSString *)aRef;
+- (id)initWithRef:(NSString *)aRef v11n:(NSString *)scheme;
+- (id)initWithRef:(NSString *)aRef headings:(BOOL)headings v11n:(NSString *)scheme;
+
+- (void)parse;
+- (void)parseWithHeaders;
+- (VerseEnumerator *)verseEnumerator;
+
+- (NSInteger)numberOfVerses;
+- (BOOL)containsKey:(SwordKey *)aVerseKey;
+
+@end
diff --git a/bindings/objc/src/SwordListKey.mm b/bindings/objc/src/SwordListKey.mm
new file mode 100644
index 0000000..161c6aa
--- /dev/null
+++ b/bindings/objc/src/SwordListKey.mm
@@ -0,0 +1,115 @@
+//
+// SwordListKey.mm
+// MacSword2
+//
+// Created by Manfred Bergmann on 10.04.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordListKey.h"
+#import "SwordBible.h"
+#import "SwordVerseKey.h"
+#import "VerseEnumerator.h"
+
+@interface SwordListKey ()
+@end
+
+@implementation SwordListKey
+
++ (id)listKeyWithRef:(NSString *)aRef {
+ return [[[SwordListKey alloc] initWithRef:aRef] autorelease];
+}
+
++ (id)listKeyWithRef:(NSString *)aRef v11n:(NSString *)scheme {
+ return [[[SwordListKey alloc] initWithRef:aRef v11n:scheme] autorelease];
+}
+
++ (id)listKeyWithRef:(NSString *)aRef headings:(BOOL)headings v11n:(NSString *)scheme {
+ return [[[SwordListKey alloc] initWithRef:aRef headings:headings v11n:scheme] autorelease];
+}
+
++ (id)listKeyWithSWListKey:(sword::ListKey *)aLk {
+ return [[[SwordListKey alloc] initWithSWListKey:aLk] autorelease];
+}
+
++ (id)listKeyWithSWListKey:(sword::ListKey *)aLk makeCopy:(BOOL)copy {
+ return [[[SwordListKey alloc] initWithSWListKey:aLk makeCopy:copy] autorelease];
+}
+
+- (id)init {
+ return [super init];
+}
+
+- (id)initWithSWListKey:(sword::ListKey *)aLk {
+ return [super initWithSWKey:aLk];
+}
+
+- (id)initWithSWListKey:(sword::ListKey *)aLk makeCopy:(BOOL)copy {
+ return [super initWithSWKey:aLk makeCopy:copy];
+}
+
+- (id)initWithRef:(NSString *)aRef {
+ return [self initWithRef:aRef v11n:nil];
+}
+
+- (id)initWithRef:(NSString *)aRef v11n:(NSString *)scheme {
+ return [self initWithRef:aRef headings:NO v11n:scheme];
+}
+
+- (id)initWithRef:(NSString *)aRef headings:(BOOL)headings v11n:(NSString *)scheme {
+ sword::VerseKey vk;
+ vk.Headings((char)headings);
+ if(scheme) {
+ vk.setVersificationSystem([scheme UTF8String]);
+ }
+ sword::ListKey listKey = vk.ParseVerseList([aRef UTF8String], "gen", true);
+ sword::ListKey *lk = new sword::ListKey(listKey);
+ return [super initWithSWKey:lk];
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [super dealloc];
+}
+
+- (NSInteger)numberOfVerses {
+ NSInteger ret = 0;
+
+ if(sk) {
+ for(*sk = sword::TOP; !sk->Error(); *sk++) ret++;
+ }
+
+ return ret;
+}
+
+- (void)parse {
+
+}
+
+- (void)parseWithHeaders {
+
+}
+
+- (VerseEnumerator *)verseEnumerator {
+ return [[[VerseEnumerator alloc] initWithListKey:self] autorelease];
+}
+
+- (BOOL)containsKey:(SwordVerseKey *)aVerseKey {
+ BOOL ret = NO;
+
+ if(sk) {
+ *sk = [[aVerseKey osisRef] UTF8String];
+ ret = !sk->Error();
+ }
+
+ return ret;
+}
+
+- (sword::ListKey *)swListKey {
+ return (sword::ListKey *)sk;
+}
+
+@end
diff --git a/bindings/objc/src/SwordLocaleManager.h b/bindings/objc/src/SwordLocaleManager.h
new file mode 100644
index 0000000..ab4395f
--- /dev/null
+++ b/bindings/objc/src/SwordLocaleManager.h
@@ -0,0 +1,22 @@
+//
+// SwordLocaleManager.h
+// ObjCSword
+//
+// Created by Manfred Bergmann on 01.08.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface SwordLocaleManager : NSObject {
+}
+
++ (SwordLocaleManager *)defaultManager;
+
+/**
+ Initializes the global locale system.
+ Any created instance that needs localozed information will use it.
+ */
+- (void)initLocale;
+
+@end
diff --git a/bindings/objc/src/SwordLocaleManager.mm b/bindings/objc/src/SwordLocaleManager.mm
new file mode 100644
index 0000000..582eee5
--- /dev/null
+++ b/bindings/objc/src/SwordLocaleManager.mm
@@ -0,0 +1,62 @@
+//
+// SwordLocaleManager.mm
+// ObjCSword
+//
+// Created by Manfred Bergmann on 01.08.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import "SwordLocaleManager.h"
+
+#include <swmgr.h> // C++ Sword API
+#include <localemgr.h>
+
+@implementation SwordLocaleManager
+
++ (SwordLocaleManager *)defaultManager {
+ static SwordLocaleManager *instance;
+ if(instance == nil) {
+ // use default path
+ instance = [[SwordLocaleManager alloc] init];
+ }
+
+ return instance;
+}
+
+- (void)initLocale {
+ // set locale swManager
+ NSString *resourcePath = [[NSBundle bundleForClass:[SwordLocaleManager class]] resourcePath];
+ NSString *localePath = [resourcePath stringByAppendingPathComponent:@"locales.d"];
+ sword::LocaleMgr *lManager = sword::LocaleMgr::getSystemLocaleMgr();
+ lManager->loadConfigDir([localePath UTF8String]);
+
+ //get the language
+ NSArray *availLocales = [NSLocale preferredLanguages];
+
+ NSString *lang = nil;
+ NSString *loc = nil;
+ BOOL haveLocale = NO;
+ // for every language, check if we know the locales
+ sword::StringList localelist = lManager->getAvailableLocales();
+ NSEnumerator *iter = [availLocales objectEnumerator];
+ while((loc = [iter nextObject]) && !haveLocale) {
+ // check if this locale is available in SWORD
+ sword::StringList::iterator it;
+ 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]) {
+ haveLocale = YES;
+ lang = loc;
+ break;
+ }
+ }
+ }
+
+ if(haveLocale) {
+ lManager->setDefaultLocaleName([lang UTF8String]);
+ }
+}
+
+@end
diff --git a/bindings/objc/src/SwordManager.h b/bindings/objc/src/SwordManager.h
new file mode 100644
index 0000000..571a7cc
--- /dev/null
+++ b/bindings/objc/src/SwordManager.h
@@ -0,0 +1,238 @@
+/* SwordManager.h - Sword API wrapper for Modules.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import <Foundation/Foundation.h>
+#import "SwordModule.h"
+
+#ifdef __cplusplus
+#include <swmgr.h> // C++ Sword API
+#include <localemgr.h>
+#include <markupfiltmgr.h>
+// Filters
+#include <markupfiltmgr.h>
+#include <osishtmlhref.h>
+#include <thmlhtmlhref.h>
+#include <gbfhtmlhref.h>
+#include <teihtmlhref.h>
+#include <plainhtml.h>
+#include <versekey.h>
+class sword::SWModule;
+#endif
+
+/** the major types as returned in -[SwordModule -typeString] */
+#define SWMOD_TYPES_BIBLES @"Biblical Texts"
+#define SWMOD_TYPES_COMMENTARIES @"Commentaries"
+#define SWMOD_TYPES_DICTIONARIES @"Lexicons / Dictionaries"
+#define SWMOD_TYPES_GENBOOKS @"Generic Books"
+
+#define SWMOD_CATEGORY_DAILYDEVS @"Daily Devotional"
+#define SWMOD_CATEGORY_GLOSSARIES @"Glossaries"
+#define SWMOD_CATEGORY_CULTS @"Cults / Unorthodox / Questionable Material"
+#define SWMOD_CATEGORY_ESSEYS @"Essays"
+#define SWMOD_CATEGORY_MAPS @"Maps"
+#define SWMOD_CATEGORY_IMAGES @"Images"
+
+/** number of sword module stypes */
+#define SWMODTYPE_COUNT 5
+
+/** config entries */
+#define SWMOD_CONFENTRY_VERSION @"Version"
+#define SWMOD_CONFENTRY_MINVERSION @"MinimumVersion"
+#define SWMOD_CONFENTRY_CIPHERKEY @"CipherKey"
+#define SWMOD_CONFENTRY_ABOUT @"About"
+#define SWMOD_CONFENTRY_CATEGORY @"Category"
+#define SWMOD_CONFENTRY_INSTALLSIZE @"InstallSize"
+#define SWMOD_CONFENTRY_COPYRIGHT @"Copyright"
+#define SWMOD_CONFENTRY_COPYRIGHTHOLDER @"CopyrightHolder"
+#define SWMOD_CONFENTRY_DISTRLICENSE @"DistributionLicense"
+#define SWMOD_CONFENTRY_DISTRNOTES @"DistributionNotes"
+#define SWMOD_CONFENTRY_TEXTSOURCE @"TextSource"
+#define SWMOD_CONFENTRY_VERSIFICATION @"Versification"
+#define SWMOD_CONFENTRY_DIRECTION @"Direction"
+#define SWMOD_CONFENTRY_EDITABLE @"Editable"
+
+/** module features */
+#define SWMOD_FEATURE_STRONGS @"Strongs"
+#define SWMOD_FEATURE_HEADINGS @"Headings"
+#define SWMOD_FEATURE_FOOTNOTES @"Footnotes"
+#define SWMOD_FEATURE_MORPH @"Morph"
+#define SWMOD_FEATURE_CANTILLATION @"Cantillation"
+#define SWMOD_FEATURE_HEBREWPOINTS @"HebrewPoints"
+#define SWMOD_FEATURE_GREEKACCENTS @"GreekAccents"
+#define SWMOD_FEATURE_LEMMA @"Lemma"
+#define SWMOD_FEATURE_SCRIPTREF @"Scripref" // not Scriptref
+#define SWMOD_FEATURE_VARIANTS @"Variants"
+#define SWMOD_FEATURE_REDLETTERWORDS @"RedLetterWords"
+
+/** global options */
+#define SW_OPTION_STRONGS @"Strong's Numbers"
+#define SW_OPTION_HEADINGS @"Headings"
+#define SW_OPTION_FOOTNOTES @"Footnotes"
+#define SW_OPTION_MORPHS @"Morphological Tags"
+#define SW_OPTION_HEBREWCANTILLATION @"Hebrew Cantillation"
+#define SW_OPTION_HEBREWPOINTS @"Hebrew Vowel Points"
+#define SW_OPTION_GREEKACCENTS @"Greek Accents"
+#define SW_OPTION_LEMMAS @"Lemmas"
+#define SW_OPTION_SCRIPTREFS @"Cross-references"
+#define SW_OPTION_VARIANTS @"Textual Variants"
+#define SW_OPTION_REDLETTERWORDS @"Words of Christ in Red"
+// this is not part of Sword
+#define SW_OPTION_REF @"Reference"
+#define SW_OPTION_MODULENAME @"ModuleName"
+
+/** config features definitions */
+#define SWMOD_CONF_FEATURE_STRONGS @"StrongsNumbers"
+#define SWMOD_CONF_FEATURE_GREEKDEF @"GreekDef"
+#define SWMOD_CONF_FEATURE_HEBREWDEF @"HebrewDef"
+#define SWMOD_CONF_FEATURE_GREEKPARSE @"GreekParse"
+#define SWMOD_CONF_FEATURE_HEBREWPARSE @"HebrewParse"
+#define SWMOD_CONF_FEATURE_DAILYDEVOTION @"DailyDevotion"
+#define SWMOD_CONF_FEATURE_GLOSSARY @"Glossary"
+#define SWMOD_CONF_FEATURE_IMAGES @"Images"
+
+/** On / Off */
+#define SW_ON @"On"
+#define SW_OFF @"Off"
+
+// direction
+#define SW_DIRECTION_RTL @"RtoL"
+
+// CipherKeys NSUserdefaultsKey
+#define DefaultsModuleCipherKeysKey @"DefaultsModuleCipherKeysKey"
+
+
+@interface SwordManager : NSObject {
+
+#ifdef __cplusplus
+ sword::SWMgr *swManager;
+ sword::SWFilter *plainFilter, *thmlFilter, *gbfFilter, *osisFilter, *teiFilter;
+ sword::SWFilter *thmlStripFilter, *gbfStripFilter, *osisStripFilter;
+#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;
+
+// --------------------- methods -----------------------
+
+/**
+ Conveniance initializer. Creates an instance of SwordManager for a given module path.
+ Internally -initWithPath: is called.
+ */
++ (SwordManager *)managerWithPath:(NSString*)path;
+
+/**
+ Create an instance of SwordManager that will get the default manager
+ in this application.
+ Internally a static reference is set so that this instance will get a singleton object.
+ */
++ (SwordManager *)defaultManager;
+
+/**
+ Retreve a list of known module types.
+ See SWMOD_CATEGORY_*
+ */
++ (NSArray *)moduleTypes;
+
+/**
+ Rendered Module text that has links.
+ This method will return a dictionary with attribute/value pairs from parameters of the link.
+ See ATTRTYPE_* for key types.
+ */
++ (NSDictionary *)linkDataForLinkURL:(NSURL *)aURL;
+
+/**
+ Initializes this manager for the given module path.
+ */
+- (id)initWithPath:(NSString *)path;
+
+/**
+ Add an additional path to the manager to aument more modules.
+ */
+- (void)addPath:(NSString*)path;
+
+/**
+ reinit - reloads all modules, filters and such
+ This will be triggered if new module had been installed in the module installer.
+ */
+- (void)reInit;
+
+/**
+ Set a cipher key for the given module to make it unlocked and in order to render it's text.
+ */
+- (void)setCipherKey:(NSString*)key forModuleNamed:(NSString *)name;
+
+/**
+ Set a global option, for example render option.
+ */
+- (void)setGlobalOption:(NSString*)option value:(NSString *)value;
+
+/**
+ Returns the value of an option.
+ */
+- (BOOL)globalOption:(NSString *)option;
+
+/**
+ List of module names known by this manager
+ */
+- (NSArray *)moduleNames;
+
+/**
+ List of modules known by this manager
+ */
+- (NSArray *)listModules;
+
+/**
+ Module list sorted by name
+ */
+- (NSArray *)sortedModuleNames;
+
+/**
+ Get module with name from internal list
+ */
+- (SwordModule *)moduleWithName:(NSString *)name;
+
+/**
+ Get modules with certain feature from internal list
+ */
+- (NSArray *)modulesForFeature:(NSString *)feature;
+
+/**
+ Get modules with certain type from internal list
+ */
+- (NSArray *)modulesForType:(ModuleType)type;
+
+/**
+ Get modules with certain category from the internal list
+ */
+- (NSArray *)modulesForCategory:(ModuleCategory)cat;
+
+#ifdef __cplusplus
+- (id)initWithSWMgr:(sword::SWMgr *)smgr;
+- (sword::SWModule *)getSWModuleWithName:(NSString *)moduleName;
+
+/**
+ Returns the underlying sword::SWMgr instance
+ */
+- (sword::SWMgr *)swManager;
+#endif
+
+@end
diff --git a/bindings/objc/src/SwordManager.mm b/bindings/objc/src/SwordManager.mm
new file mode 100644
index 0000000..a2e8793
--- /dev/null
+++ b/bindings/objc/src/SwordManager.mm
@@ -0,0 +1,436 @@
+/* SwordManager.mm - Sword API wrapper for Modules.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import "SwordManager.h"
+#import "Configuration.h"
+#include <string>
+#include <list>
+
+#include "gbfplain.h"
+#include "thmlplain.h"
+#include "osisplain.h"
+#import "Notifications.h"
+#import "SwordBook.h"
+#import "SwordModule.h"
+#import "SwordBible.h"
+#import "SwordCommentary.h"
+#import "SwordDictionary.h"
+#import "SwordListKey.h"
+#import "SwordVerseKey.h"
+
+using std::string;
+using std::list;
+
+@interface SwordManager (PrivateAPI)
+
+- (void)refreshModules;
+- (void)addFiltersToModule:(sword::SWModule *)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];
+ NSString *name = [swMod name];
+
+ ModuleType aType = [SwordModule moduleTypeForModuleTypeString:type];
+ SwordModule *sm = [SwordModule moduleForType:aType andName:name swModule:mod swordManager:self];
+ [dict setObject:sm forKey:[sm name]];
+
+ [self addFiltersToModule:mod];
+ }
+ }
+
+ // set modules
+ self.modules = dict;
+}
+
+- (void)addFiltersToModule:(sword::SWModule *)mod {
+ // prepare display filters
+ switch(mod->Markup()) {
+ case sword::FMT_GBF:
+ if(!gbfFilter) {
+ gbfFilter = new sword::GBFHTMLHREF();
+ }
+ if(!gbfStripFilter) {
+ gbfStripFilter = new sword::GBFPlain();
+ }
+ mod->AddRenderFilter(gbfFilter);
+ mod->AddStripFilter(gbfStripFilter);
+ break;
+ case sword::FMT_THML:
+ if(!thmlFilter) {
+ thmlFilter = new sword::ThMLHTMLHREF();
+ }
+ if(!thmlStripFilter) {
+ thmlStripFilter = new sword::ThMLPlain();
+ }
+ mod->AddRenderFilter(thmlFilter);
+ mod->AddStripFilter(thmlStripFilter);
+ break;
+ case sword::FMT_OSIS:
+ if(!osisFilter) {
+ osisFilter = new sword::OSISHTMLHREF();
+ }
+ if(!osisStripFilter) {
+ osisStripFilter = new sword::OSISPlain();
+ }
+ mod->AddRenderFilter(osisFilter);
+ mod->AddStripFilter(osisStripFilter);
+ break;
+ case sword::FMT_TEI:
+ if(!teiFilter) {
+ teiFilter = new sword::TEIHTMLHREF();
+ }
+ mod->AddRenderFilter(teiFilter);
+ break;
+ case sword::FMT_PLAIN:
+ default:
+ if(!plainFilter) {
+ plainFilter = new sword::PLAINHTML();
+ }
+ mod->AddRenderFilter(plainFilter);
+ break;
+ }
+}
+
+@end
+
+@implementation SwordManager
+
+@synthesize modules;
+@synthesize modulesPath;
+@synthesize managerLock;
+@synthesize temporaryManager;
+
+# pragma mark - class methods
+
++ (NSDictionary *)linkDataForLinkURL:(NSURL *)aURL {
+ NSMutableDictionary *ret = [NSMutableDictionary dictionary];
+
+ 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];
+ } else if([scheme isEqualToString:@"applewebdata"]) {
+ // in this case
+ NSString *path = [aURL path];
+ NSString *query = [aURL query];
+ if([[path lastPathComponent] isEqualToString:@"passagestudy.jsp"]) {
+ NSArray *data = [query componentsSeparatedByString:@"&"];
+ NSString *type = @"x";
+ NSString *module = @"";
+ NSString *passage = @"";
+ NSString *value = @"1";
+ NSString *action = @"";
+ for(NSString *entry in data) {
+ if([entry hasPrefix:@"type="]) {
+ type = [[entry componentsSeparatedByString:@"="] objectAtIndex:1];
+ } else if([entry hasPrefix:@"module="]) {
+ module = [[entry componentsSeparatedByString:@"="] objectAtIndex:1];
+ } else if([entry hasPrefix:@"passage="]) {
+ passage = [[entry componentsSeparatedByString:@"="] objectAtIndex:1];
+ } else if([entry hasPrefix:@"action="]) {
+ action = [[entry componentsSeparatedByString:@"="] objectAtIndex:1];
+ } else if([entry hasPrefix:@"value="]) {
+ value = [[entry componentsSeparatedByString:@"="] objectAtIndex:1];
+ } else {
+ ALog(@"Unknown parameter: %@", entry);
+ }
+ }
+
+ [ret setObject:module forKey:ATTRTYPE_MODULE];
+ [ret setObject:passage forKey:ATTRTYPE_PASSAGE];
+ [ret setObject:value forKey:ATTRTYPE_VALUE];
+ [ret setObject:action forKey:ATTRTYPE_ACTION];
+ [ret setObject:type forKey:ATTRTYPE_TYPE];
+ }
+ }
+
+ return ret;
+}
+
++ (NSArray *)moduleTypes {
+ return [NSArray arrayWithObjects:
+ SWMOD_TYPES_BIBLES,
+ SWMOD_TYPES_COMMENTARIES,
+ SWMOD_TYPES_DICTIONARIES,
+ SWMOD_TYPES_GENBOOKS, nil];
+}
+
++ (SwordManager *)managerWithPath:(NSString *)path {
+ SwordManager *manager = [[[SwordManager alloc] initWithPath:path] autorelease];
+ return manager;
+}
+
++ (SwordManager *)defaultManager {
+ static SwordManager *instance;
+ if(instance == nil) {
+ // use default path
+ instance = [[SwordManager alloc] initWithPath:[[Configuration config] defaultModulePath]];
+ }
+
+ return instance;
+}
+
+- (id)initWithPath:(NSString *)path {
+
+ if((self = [super init])) {
+ // this is our main swManager
+ temporaryManager = NO;
+
+ self.modulesPath = path;
+
+ self.modules = [NSDictionary dictionary];
+ self.managerLock = [[NSRecursiveLock alloc] init];
+
+ [self reInit];
+
+ 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;
+}
+
+- (id)initWithSWMgr:(sword::SWMgr *)aSWMgr {
+ self = [super init];
+ if(self) {
+ swManager = aSWMgr;
+ // this is a temporary swManager
+ temporaryManager = YES;
+
+ self.modules = [NSDictionary dictionary];
+ self.managerLock = [[NSRecursiveLock alloc] init];
+
+ [self refreshModules];
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ if(!temporaryManager) {
+ delete swManager;
+ }
+
+ [super finalize];
+}
+
+- (void)dealloc {
+ if(!temporaryManager) {
+ delete swManager;
+ }
+ [self setModules:nil];
+ [self setModulesPath:nil];
+ [self setManagerLock:nil];
+
+ [super dealloc];
+}
+
+- (void)reInit {
+ [managerLock lock];
+ if(modulesPath && [modulesPath length] > 0) {
+
+ // modulePath is the main sw manager
+ swManager = new sword::SWMgr([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 directoryContentsAtPath:modulesPath];
+ // for all sub directories add module
+ BOOL directory;
+ NSString *fullSubDir = nil;
+ NSString *subDir = nil;
+ for(subDir in subDirs) {
+ // as long as it's not hidden
+ if(![subDir hasPrefix:@"."] &&
+ ![subDir isEqualToString:@"InstallMgr"] &&
+ ![subDir isEqualToString:@"mods.d"] &&
+ ![subDir isEqualToString:@"modules"]) {
+ fullSubDir = [modulesPath stringByAppendingPathComponent:subDir];
+ fullSubDir = [fullSubDir stringByStandardizingPath];
+
+ //if its a directory
+ if([fm fileExistsAtPath:fullSubDir isDirectory:&directory]) {
+ if(directory) {
+ DLog(@"Augmenting folder: %@", fullSubDir);
+ swManager->augmentModules([fullSubDir UTF8String]);
+ DLog(@"Augmenting folder done");
+ }
+ }
+ }
+ }
+
+ // clear some data
+ [self refreshModules];
+
+ SendNotifyModulesChanged(nil);
+ }
+ }
+ [managerLock unlock];
+}
+
+- (void)addPath:(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]);
+ }
+
+ [self refreshModules];
+ [managerLock unlock];
+
+ SendNotifyModulesChanged(nil);
+}
+
+- (SwordModule *)moduleWithName:(NSString *)name {
+
+ SwordModule *ret = [modules objectForKey:name];
+ 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 andName:name swModule:mod swordManager:self];
+
+ if(ret != nil) {
+ NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:modules];
+ [dict setObject:ret forKey:name];
+ self.modules = dict;
+ }
+ }
+ }
+
+ return ret;
+}
+
+- (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];
+ swManager->setGlobalOption([option UTF8String], [value UTF8String]);
+ [managerLock unlock];
+}
+
+- (BOOL)globalOption:(NSString *)option {
+ return [[NSString stringWithUTF8String:swManager->getGlobalOption([option UTF8String])] isEqualToString:SW_ON];
+}
+
+- (NSArray *)listModules {
+ return [modules allValues];
+}
+- (NSArray *)moduleNames {
+ return [modules allKeys];
+}
+
+- (NSArray *)sortedModuleNames {
+ return [[self moduleNames] sortedArrayUsingSelector:@selector(compare:)];
+}
+
+- (NSArray *)modulesForFeature:(NSString *)feature {
+ NSMutableArray *ret = [NSMutableArray array];
+ for(SwordModule *mod in [modules allValues]) {
+ if([mod hasFeature:feature]) {
+ [ret addObject:mod];
+ }
+ }
+
+ // sort
+ NSArray *sortDescritors = [NSArray arrayWithObject:[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]];
+ [ret sortUsingDescriptors:sortDescritors];
+
+ return [NSArray arrayWithArray:ret];
+}
+
+- (NSArray *)modulesForType:(ModuleType)type {
+ NSMutableArray *ret = [NSMutableArray array];
+ for(SwordModule *mod in [modules allValues]) {
+ if([mod type] == type) {
+ [ret addObject:mod];
+ }
+ }
+
+ // sort
+ NSArray *sortDescritors = [NSArray arrayWithObject:[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]];
+ [ret sortUsingDescriptors:sortDescritors];
+
+ return [NSArray arrayWithArray:ret];
+}
+
+- (NSArray *)modulesForCategory:(ModuleCategory)cat {
+ NSMutableArray *ret = [NSMutableArray array];
+ for(SwordModule *mod in [modules allValues]) {
+ if([mod category] == cat) {
+ [ret addObject:mod];
+ }
+ }
+
+ // sort
+ NSArray *sortDescritors = [NSArray arrayWithObject:[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]];
+ [ret sortUsingDescriptors:sortDescritors];
+
+ return [NSArray arrayWithArray:ret];
+}
+
+#pragma mark - lowlevel methods
+
+- (sword::SWMgr *)swManager {
+ return swManager;
+}
+
+- (sword::SWModule *)getSWModuleWithName:(NSString *)moduleName {
+ sword::SWModule *module = NULL;
+
+ [managerLock lock];
+ module = swManager->Modules[[moduleName UTF8String]];
+ [managerLock unlock];
+
+ return module;
+}
+
+@end
diff --git a/bindings/objc/src/SwordModule+Index.h b/bindings/objc/src/SwordModule+Index.h
new file mode 100644
index 0000000..879d8cb
--- /dev/null
+++ b/bindings/objc/src/SwordModule+Index.h
@@ -0,0 +1,19 @@
+//
+// SwordModuleIndex.h
+// ObjCSword
+//
+// Created by Manfred Bergmann on 13.06.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "SwordModule.h"
+
+@interface SwordModule(Index)
+
+- (BOOL)hasSearchIndex;
+- (void)createSearchIndex;
+- (void)deleteSearchIndex;
+- (NSArray *)performIndexSearch:(NSString *)searchString;
+
+@end
diff --git a/bindings/objc/src/SwordModule+Index.mm b/bindings/objc/src/SwordModule+Index.mm
new file mode 100644
index 0000000..91dfa06
--- /dev/null
+++ b/bindings/objc/src/SwordModule+Index.mm
@@ -0,0 +1,51 @@
+//
+// SwordModuleIndex.m
+// ObjCSword
+//
+// Created by Manfred Bergmann on 13.06.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import "SwordModule+Index.h"
+#import "SwordModuleTextEntry.h"
+
+@implementation SwordModule(Index)
+
+- (BOOL)hasSearchIndex {
+ NSString *dataPath = [self configFileEntryForConfigKey:@"AbsoluteDataPath"];
+ dataPath = [dataPath stringByAppendingPathComponent:@"lucene"];
+ dataPath = [dataPath stringByAppendingPathComponent:@"segments"];
+
+ if ([[NSFileManager defaultManager] fileExistsAtPath:dataPath]) {
+ return YES;
+ } else {
+ return NO;
+ }
+}
+
+- (void)createSearchIndex {
+ swModule->createSearchFramework();
+}
+
+- (void)deleteSearchIndex {
+ swModule->deleteSearchFramework();
+}
+
+- (NSArray *)performIndexSearch:(NSString *)searchString {
+ sword::ListKey results = swModule->search([searchString UTF8String], -4);
+ results.sort();
+
+ NSMutableArray *retArray = [NSMutableArray array];
+ if(results.Count() > 0) {
+ while(!results.Error()) {
+ NSString *keyString = [NSString stringWithUTF8String:results.getText()];
+ SwordModuleTextEntry *entry = [SwordModuleTextEntry textEntryForKey:keyString andText:nil];
+ [retArray addObject:entry];
+ [entry release];
+ results++;
+ }
+ }
+ return retArray;
+}
+
+@end
diff --git a/bindings/objc/src/SwordModule.h b/bindings/objc/src/SwordModule.h
new file mode 100644
index 0000000..ee47da7
--- /dev/null
+++ b/bindings/objc/src/SwordModule.h
@@ -0,0 +1,355 @@
+/* SwordModule.h - Sword API wrapper for Modules.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import <Cocoa/Cocoa.h>
+
+#ifdef __cplusplus
+#import "swmodule.h"
+#endif
+
+#define My_SWDYNAMIC_CAST(className, object) (sword::className *)((object)?((object->getClass()->isAssignableFrom(#className))?object:0):0)
+
+// defines for dictionary entries for passagestudy
+#define ATTRTYPE_TYPE @"type"
+#define ATTRTYPE_PASSAGE @"passage"
+#define ATTRTYPE_MODULE @"modulename"
+#define ATTRTYPE_NOTENUMBER @"notenumber"
+#define ATTRTYPE_ACTION @"action"
+#define ATTRTYPE_VALUE @"value"
+
+// positions
+#define SWPOS_BOTTOM 2
+#define SWPOS_TOP 1
+
+
+@class SwordManager, SwordModuleTextEntry, SwordKey;
+
+typedef enum {
+ TextTypeStripped = 1,
+ TextTypeRendered
+}TextPullType;
+
+/** These are the main module types as returned in -typeString */
+typedef enum {
+ Bible = 0x0001,
+ Commentary = 0x0002,
+ Dictionary = 0x0004,
+ Genbook = 0x0008
+}ModuleType;
+
+/**
+ These are the main module categories as returned in -categoryString
+ Remember that modules type bible, commentary, dictionary and genbook not necessarily have a category
+ */
+typedef enum {
+ Unset = -1,
+ NoCategory = 0,
+ DailyDevotion = 0x0001,
+ Maps = 0x0002,
+ Glossary = 0x0004,
+ Images = 0x0008,
+ Essays = 0x0010,
+ Cults = 0x0011
+}ModuleCategory;
+
+
+@interface SwordModule : NSObject {
+
+ NSMutableDictionary *configEntries;
+ ModuleType type;
+ ModuleCategory category;
+ int status;
+ SwordManager *swManager;
+ NSRecursiveLock *moduleLock;
+ NSLock *indexLock;
+
+ /** we store the name separately */
+ NSString *name;
+
+ /** yes, we have a delegate to report any action to */
+ id delegate;
+
+#ifdef __cplusplus
+ sword::SWModule *swModule;
+#endif
+}
+
+// ------------- properties ---------------
+@property (readwrite) ModuleType type;
+@property (readwrite) int status;
+@property (retain, readwrite) NSRecursiveLock *moduleLock;
+@property (retain, readwrite) NSLock *indexLock;
+@property (retain, readwrite) NSString *name;
+@property (retain, readwrite) SwordManager *swManager;
+
+#ifdef __cplusplus
+/**
+ Convenience initializers
+ */
++ (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 andName:(NSString *)aName swModule:(sword::SWModule *)swModule swordManager:(SwordManager *)aManager;
+#endif
+
+/**
+ maps type string to ModuleType enum
+ @param[in] typeStr type String as in -typeString(SwordModule)
+ @return type according to ModuleType enum
+ */
++ (ModuleType)moduleTypeForModuleTypeString:(NSString *)typeStr;
+
+/**
+ maps type string to ModuleType enum
+ @param[in] categoryStr category String as in -categoryString(SwordModule)
+ @return type according to ModuleCategory enum
+ */
++ (ModuleCategory)moduleCategoryForModuleCategoryString:(NSString *)categoryStr;
+
+// ------------- 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;
+#ifdef __cplusplus
+/**
+ Initialize this module with an the SWModule.
+ This initializer should normally not need to be used.
+ */
+- (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;
+#endif
+
+/**
+ Any error while processing the module?
+ */
+- (NSInteger)error;
+
+// --------------- Conf entries --------------
+
+/**
+ Module description
+ */
+- (NSString *)descr;
+/**
+ Module language
+ */
+- (NSString *)lang;
+/**
+ Module type as string
+ */
+- (NSString *)typeString;
+/**
+ Module category as string
+ */
+- (NSString *)categoryString;
+/**
+ Module category
+ */
+- (ModuleCategory)category;
+/**
+ Module version
+ */
+- (NSString *)version;
+/**
+ Module minimum Sword version
+ */
+- (NSString *)minVersion;
+/**
+ Module about text
+ */
+- (NSString *)aboutText;
+/**
+ Override to get custom behaviour.
+ */
+- (NSAttributedString *)fullAboutText;
+/**
+ Module versification type
+ */
+- (NSString *)versification;
+/**
+ Is module Unicode UTF-8?
+ */
+- (BOOL)isUnicode;
+/**
+ Is module encrypted
+ */
+- (BOOL)isEncrypted;
+/**
+ Is module locked, that is encrypted but not unlocked?
+ */
+- (BOOL)isLocked;
+/**
+ Is module editable, i.e. is it's a personal commentary?
+ */
+- (BOOL)isEditable;
+/**
+ Is module writing direction Right to Left?
+ */
+- (BOOL)isRTL;
+/**
+ Has module this feature?
+ See SWMOD_FEATURE_* in SwordManager
+ */
+- (BOOL)hasFeature:(NSString *)feature;
+/**
+ Returns a config entry for a given config key
+ */
+- (NSString *)configFileEntryForConfigKey:(NSString *)entryKey;
+
+// ------------------ module unlocking ------------------
+
+/**
+ Unlock this module with a cipher key, if it is encrypted.
+ */
+- (BOOL)unlock:(NSString *)unlockKey;
+
+// ------------------ module access semaphores -----------------
+
+/**
+ Aquires a module access lock so that no other thread may access this module.
+ */
+- (void)lockModuleAccess;
+/**
+ Unlock module access. Make it accessible to other threads.
+ */
+- (void)unlockModuleAccess;
+
+// ----------------- module positioning ------------------------
+
+/**
+ Increment module key position
+ */
+- (void)incKeyPosition;
+/**
+ Decrement module key position
+ */
+- (void)decKeyPosition;
+/**
+ Set position key from a string
+ */
+- (void)setKeyString:(NSString *)aKeyString;
+/**
+ Set position from a key
+ */
+- (void)setKey:(SwordKey *)aKey;
+
+/**
+ Module key. New instance created by module.
+ */
+- (id)createKey;
+/**
+ Module key. Reference only.
+ */
+- (id)getKey;
+/**
+ Module key. Reference only but cloned.
+ */
+- (id)getKeyCopy;
+
+// ------------------- module metadata processing ------------------
+
+/**
+ Process metadata attributes of module entry.
+ */
+- (void)setProcessEntryAttributes:(BOOL)flag;
+/**
+ Are metadata attributes of module entry processed?
+ */
+- (BOOL)processEntryAttributes;
+
+/**
+ returns attribute values from the engine for notes, cross-refs and such for the given link type
+ @return NSArray for references
+ @return NSString for text data
+ */
+- (id)attributeValueForParsedLinkData:(NSDictionary *)data;
+
+/** returns the pre-verse entry value */
+- (NSString *)entryAttributeValuePreverse;
+- (NSString *)entryAttributeValuePreverseForKey:(SwordKey *)aKey;
+
+- (NSString *)entryAttributeValueFootnoteOfType:(NSString *)fnType indexValue:(NSString *)index;
+- (NSString *)entryAttributeValueFootnoteOfType:(NSString *)fnType indexValue:(NSString *)index forKey:(SwordKey *)aKey;
+
+- (NSArray *)entryAttributeValuesLemma;
+
+// ----------------- 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;
+
+/**
+ Returns a rendered text for the text at the current module position
+ */
+- (NSString *)renderedText;
+/**
+ Renders the given string with the modules render filters
+ */
+- (NSString *)renderedTextFromString:(NSString *)aString;
+/**
+ Returns a stripped text for the text at the current module position
+ */
+- (NSString *)strippedText;
+/**
+ Strips the given string with the modules strip filters
+ */
+- (NSString *)strippedTextFromString:(NSString *)aString;
+
+/**
+ abstract method, override in subclass
+ This method generates stripped text string for a given reference.
+ @param[in] reference bible reference
+ @return Array of SwordModuleTextEntry instances
+ */
+- (NSArray *)strippedTextEntriesForRef:(NSString *)reference;
+
+/**
+ abstract method, override in subclass
+ This method generates HTML string for a given reference.
+ @param[in] reference bible reference
+ @return Array of SwordModuleTextEntry instances
+ */
+- (NSArray *)renderedTextEntriesForRef:(NSString *)reference;
+
+/**
+ number of entries
+ abstract method, should be overriden by subclasses
+ */
+- (long)entryCount;
+
+/**
+ Write text to module position
+ */
+- (void)writeEntry:(SwordModuleTextEntry *)anEntry;
+
+@end
diff --git a/bindings/objc/src/SwordModule.mm b/bindings/objc/src/SwordModule.mm
new file mode 100644
index 0000000..1b1bf1c
--- /dev/null
+++ b/bindings/objc/src/SwordModule.mm
@@ -0,0 +1,700 @@
+/* SwordModule.mm - Sword API wrapper for Modules.
+
+ Copyright 2008 Manfred Bergmann
+ Based on code by Will Thimbleby
+
+ 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. (http://www.gnu.org/licenses/gpl.html)
+*/
+
+#import "SwordModule.h"
+#import "SwordManager.h"
+#import "SwordModuleTextEntry.h"
+#import "SwordVerseKey.h"
+#import "SwordBible.h"
+#import "SwordCommentary.h"
+#import "SwordDictionary.h"
+#import "SwordBook.h"
+
+#import "rtfhtml.h"
+#import "swtext.h"
+#import "versekey.h"
+#import "regex.h"
+
+@interface SwordModule ()
+@property(readwrite, retain) NSMutableDictionary *configEntries;
+- (void)mainInit;
+@end
+
+@implementation SwordModule
+
+#pragma mark - Property implementations
+
+@synthesize configEntries;
+@synthesize type;
+@synthesize status;
+@synthesize moduleLock;
+@synthesize indexLock;
+@synthesize swManager;
+@synthesize name;
+
++ (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];
+}
+
++ (id)moduleForType:(ModuleType)aType andName:(NSString *)aName swModule:(sword::SWModule *)swModule swordManager:(SwordManager *)aManager {
+ SwordModule *sm = nil;
+ if(aType == Bible) {
+ sm = [[[SwordBible alloc] initWithSWModule:swModule swordManager:aManager] autorelease];
+ } else if(aType == Commentary) {
+ sm = [[[SwordCommentary alloc] initWithSWModule:swModule swordManager:aManager] autorelease];
+ } else if(aType == Dictionary) {
+ sm = [[[SwordDictionary alloc] initWithSWModule:swModule swordManager:aManager] autorelease];
+ } else if(aType == Genbook) {
+ sm = [[[SwordBook alloc] initWithSWModule:swModule swordManager:aManager] autorelease];
+ } else {
+ sm = [[[SwordModule alloc] initWithSWModule:swModule swordManager:aManager] autorelease];
+ }
+
+ return sm;
+}
+
++ (ModuleType)moduleTypeForModuleTypeString:(NSString *)typeStr {
+ ModuleType ret = Bible;
+
+ if(typeStr == nil) {
+ ALog(@"have a nil typeStr!");
+ return ret;
+ }
+
+ if([typeStr isEqualToString:SWMOD_TYPES_BIBLES]) {
+ ret = Bible;
+ } else if([typeStr isEqualToString:SWMOD_TYPES_COMMENTARIES]) {
+ ret = Commentary;
+ } else if([typeStr isEqualToString:SWMOD_TYPES_DICTIONARIES]) {
+ ret = Dictionary;
+ } else if([typeStr isEqualToString:SWMOD_TYPES_GENBOOKS]) {
+ ret = Genbook;
+ }
+
+ return ret;
+}
+
++ (ModuleCategory)moduleCategoryForModuleCategoryString:(NSString *)categoryStr {
+ ModuleCategory ret = NoCategory;
+
+ if(categoryStr == nil) {
+ ALog(@"have a nil categoryStr!");
+ return ret;
+ }
+
+ if([categoryStr isEqualToString:SWMOD_CATEGORY_MAPS]) {
+ ret = Maps;
+ } else if([categoryStr isEqualToString:SWMOD_CATEGORY_IMAGES]) {
+ ret = Images;
+ } else if([categoryStr isEqualToString:SWMOD_CATEGORY_DAILYDEVS]) {
+ ret = DailyDevotion;
+ } else if([categoryStr isEqualToString:SWMOD_CATEGORY_ESSEYS]) {
+ ret = Essays;
+ } else if([categoryStr isEqualToString:SWMOD_CATEGORY_GLOSSARIES]) {
+ ret = Glossary;
+ } else if([categoryStr isEqualToString:SWMOD_CATEGORY_CULTS]) {
+ ret = Cults;
+ }
+
+ return ret;
+}
+
+#pragma mark - Initializers
+
+- (void)mainInit {
+ category = Unset;
+ self.type = [SwordModule moduleTypeForModuleTypeString:[self typeString]];
+ self.moduleLock = [[NSRecursiveLock alloc] init];
+ self.indexLock = [[NSLock alloc] init];
+ self.configEntries = [NSMutableDictionary dictionary];
+ self.name = [NSString stringWithCString:swModule->Name() encoding:NSUTF8StringEncoding];
+}
+
+- (id)initWithName:(NSString *)aName swordManager:(SwordManager *)aManager {
+ self = [super init];
+ if(self) {
+ swModule = [aManager getSWModuleWithName:aName];
+ self.swManager = aManager;
+
+ [self mainInit];
+ }
+
+ return self;
+}
+
+- (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];
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [self setConfigEntries:nil];
+ [self setSwManager:nil];
+ [self setModuleLock:nil];
+ [self setIndexLock:nil];
+ [self setName:nil];
+
+ [super dealloc];
+}
+
+#pragma mark - Module access semaphores
+
+- (void)lockModuleAccess {
+ [moduleLock lock];
+}
+
+- (void)unlockModuleAccess {
+ [moduleLock unlock];
+}
+
+#pragma mark - Conf entries
+
+- (NSAttributedString *)fullAboutText {
+ return [[[NSAttributedString alloc] initWithString:@""] autorelease];
+}
+
+- (NSInteger)error {
+ return swModule->Error();
+}
+
+- (NSString *)descr {
+ NSString *str = [NSString stringWithCString:swModule->Description() encoding:NSUTF8StringEncoding];
+ if(!str) {
+ str = [NSString stringWithCString:swModule->Description() encoding:NSISOLatin1StringEncoding];
+ }
+ return str;
+}
+
+- (NSString *)lang {
+ NSString *str = [NSString stringWithCString:swModule->Lang() encoding:NSUTF8StringEncoding];
+ if(!str) {
+ str = [NSString stringWithCString:swModule->Lang() encoding:NSISOLatin1StringEncoding];
+ }
+ return str;
+}
+
+- (NSString *)typeString {
+ NSString *str = [NSString stringWithCString:swModule->Type() encoding:NSUTF8StringEncoding];
+ if(!str) {
+ str = [NSString stringWithCString:swModule->Type() encoding:NSISOLatin1StringEncoding];
+ }
+ return str;
+}
+
+- (NSString *)categoryString {
+ NSString *cat = [configEntries objectForKey:SWMOD_CONFENTRY_CATEGORY];
+ if(cat == nil) {
+ cat = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_CATEGORY];
+ if(cat != nil) {
+ [configEntries setObject:cat forKey:SWMOD_CONFENTRY_CATEGORY];
+ }
+ }
+
+ return cat;
+}
+
+- (ModuleCategory)category {
+ if(category == Unset) {
+ category = [SwordModule moduleCategoryForModuleCategoryString:[self categoryString]];
+ }
+ return category;
+}
+
+- (NSString *)cipherKey {
+ NSString *cipherKey = [configEntries objectForKey:SWMOD_CONFENTRY_CIPHERKEY];
+ if(cipherKey == nil) {
+ cipherKey = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_CIPHERKEY];
+ if(cipherKey != nil) {
+ [configEntries setObject:cipherKey forKey:SWMOD_CONFENTRY_CIPHERKEY];
+ }
+ }
+
+ return cipherKey;
+}
+
+- (NSString *)version {
+ NSString *version = [configEntries objectForKey:SWMOD_CONFENTRY_VERSION];
+ if(version == nil) {
+ version = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_VERSION];
+ if(version != nil) {
+ [configEntries setObject:version forKey:SWMOD_CONFENTRY_VERSION];
+ }
+ }
+
+ return version;
+}
+
+- (NSString *)minVersion {
+ NSString *minVersion = [configEntries objectForKey:SWMOD_CONFENTRY_MINVERSION];
+ if(minVersion == nil) {
+ minVersion = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_MINVERSION];
+ if(minVersion != nil) {
+ [configEntries setObject:minVersion forKey:SWMOD_CONFENTRY_MINVERSION];
+ }
+ }
+
+ return minVersion;
+}
+
+/** this might be RTF string but the return value will be converted to UTF8 */
+- (NSString *)aboutText {
+ NSMutableString *aboutText = [configEntries objectForKey:SWMOD_CONFENTRY_ABOUT];
+ if(aboutText == nil) {
+ aboutText = [NSMutableString stringWithString:[self configFileEntryForConfigKey:SWMOD_CONFENTRY_ABOUT]];
+ if(aboutText != nil) {
+ //search & replace the RTF markup:
+ // "\\qc" - for centering --->>> ignore these
+ // "\\pard" - for resetting paragraph attributes --->>> ignore these
+ // "\\par" - for paragraph breaks --->>> honour these
+ // "\\u{num}?" - for unicode characters --->>> honour these
+ [aboutText replaceOccurrencesOfString:@"\\qc" withString:@"" options:0 range:NSMakeRange(0, [aboutText length])];
+ [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];
+ for(NSUInteger i=0; i<[aboutText length]; i++) {
+ unichar c = [aboutText characterAtIndex:i];
+
+ if(c == '\\' && ((i+1) < [aboutText length])) {
+ unichar d = [aboutText characterAtIndex:(i+1)];
+ if (d == 'u') {
+ //we have an unicode character!
+ @try {
+ NSUInteger unicodeChar = 0;
+ NSMutableString *unicodeCharString = [[@"" mutableCopy] autorelease];
+ int j = 0;
+ BOOL negative = NO;
+ if ([aboutText characterAtIndex:(i+2)] == '-') {
+ //we have a negative unicode char
+ negative = YES;
+ j++;//skip past the '-'
+ }
+ while(isdigit([aboutText characterAtIndex:(i+2+j)])) {
+ [unicodeCharString appendFormat:@"%C", [aboutText characterAtIndex:(i+2+j)]];
+ j++;
+ }
+ unicodeChar = [unicodeCharString integerValue];
+ if (negative) unicodeChar = 65536 - unicodeChar;
+ i += j+2;
+ [retStr appendFormat:@"%C", unicodeChar];
+ }
+ @catch (NSException * e) {
+ [retStr appendFormat:@"%C", c];
+ }
+ //end dealing with the unicode character.
+ } else {
+ [retStr appendFormat:@"%C", c];
+ }
+ } else {
+ [retStr appendFormat:@"%C", c];
+ }
+ }
+
+ aboutText = retStr;
+ } else {
+ aboutText = [NSMutableString string];
+ }
+ [configEntries setObject:aboutText forKey:SWMOD_CONFENTRY_ABOUT];
+ }
+
+ return aboutText;
+}
+
+/** this is only relevant for bible and commentaries */
+- (NSString *)versification {
+ return @"";
+}
+
+- (BOOL)isEditable {
+ BOOL ret = NO;
+ NSString *editable = [configEntries objectForKey:SWMOD_CONFENTRY_EDITABLE];
+ if(editable == nil) {
+ editable = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_EDITABLE];
+ if(editable != nil) {
+ [configEntries setObject:editable forKey:SWMOD_CONFENTRY_EDITABLE];
+ }
+ }
+
+ if(editable) {
+ if([editable isEqualToString:@"YES"]) {
+ ret = YES;
+ }
+ }
+
+ return ret;
+}
+
+- (BOOL)isRTL {
+ BOOL ret = NO;
+ NSString *direction = [configEntries objectForKey:SWMOD_CONFENTRY_DIRECTION];
+ if(direction == nil) {
+ direction = [self configFileEntryForConfigKey:SWMOD_CONFENTRY_DIRECTION];
+ if(direction != nil) {
+ [configEntries setObject:direction forKey:SWMOD_CONFENTRY_DIRECTION];
+ }
+ }
+
+ if(direction) {
+ if([direction isEqualToString:SW_DIRECTION_RTL]) {
+ ret = YES;
+ }
+ }
+
+ return ret;
+}
+
+- (BOOL)isUnicode {
+ return swModule->isUnicode();
+}
+
+- (BOOL)isEncrypted {
+ BOOL encrypted = YES;
+ if([self cipherKey] == nil) {
+ encrypted = NO;
+ }
+
+ return encrypted;
+}
+
+- (BOOL)isLocked {
+ /** is module locked/has cipherkey config entry but cipherkey entry is empty */
+ BOOL locked = NO;
+ NSString *key = [self cipherKey];
+ 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) {
+ locked = YES;
+ }
+ }
+
+ return locked;
+}
+
+// general feature access
+- (BOOL)hasFeature:(NSString *)feature {
+ BOOL has = NO;
+
+ if(swModule->getConfig().has("Feature", [feature UTF8String])) {
+ has = YES;
+ } else if (swModule->getConfig().has("GlobalOptionFilter", [[NSString stringWithFormat:@"GBF%@", feature] UTF8String])) {
+ has = YES;
+ } else if (swModule->getConfig().has("GlobalOptionFilter", [[NSString stringWithFormat:@"ThML%@", feature] UTF8String])) {
+ has = YES;
+ } else if (swModule->getConfig().has("GlobalOptionFilter", [[NSString stringWithFormat:@"UTF8%@", feature] UTF8String])) {
+ has = YES;
+ } else if (swModule->getConfig().has("GlobalOptionFilter", [[NSString stringWithFormat:@"OSIS%@", feature] UTF8String])) {
+ has = YES;
+ } else if (swModule->getConfig().has("GlobalOptionFilter", [feature UTF8String])) {
+ has = YES;
+ }
+
+ return has;
+}
+
+- (NSString *)configFileEntryForConfigKey:(NSString *)entryKey {
+ NSString *result = nil;
+
+ [moduleLock lock];
+ const char *entryStr = swModule->getConfigEntry([entryKey UTF8String]);
+ if(entryStr) {
+ result = [NSString stringWithUTF8String:entryStr];
+ if(!result) {
+ result = [NSString stringWithCString:entryStr encoding:NSISOLatin1StringEncoding];
+ }
+ }
+ [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 {
+ swModule->increment(1);
+}
+
+- (void)decKeyPosition {
+ swModule->decrement(1);
+}
+
+- (void)setKeyString:(NSString *)aKeyString {
+ swModule->setKey([aKeyString UTF8String]);
+}
+
+- (void)setKey:(SwordKey *)aKey {
+ swModule->setKey([aKey swKey]);
+}
+
+- (id)createKey {
+ sword::SWKey *sk = swModule->CreateKey();
+ SwordKey *newKey = [SwordKey swordKeyWithSWKey:sk makeCopy:YES];
+ delete sk;
+
+ return newKey;
+}
+
+- (id)getKey {
+ return [SwordKey swordKeyWithSWKey:swModule->getKey()];
+}
+
+- (id)getKeyCopy {
+ return [SwordKey swordKeyWithSWKey:swModule->getKey() makeCopy:YES];
+}
+
+#pragma mark - Module metadata processing
+
+- (id)attributeValueForParsedLinkData:(NSDictionary *)data {
+ id ret = nil;
+
+ NSString *passage = [data objectForKey:ATTRTYPE_PASSAGE];
+ if(passage) {
+ passage = [[passage stringByReplacingOccurrencesOfString:@"+" withString:@" "] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+ }
+ NSString *attrType = [data objectForKey:ATTRTYPE_TYPE];
+ if([attrType isEqualToString:@"n"]) {
+ NSString *footnoteText = [self entryAttributeValueFootnoteOfType:attrType
+ indexValue:[data objectForKey:ATTRTYPE_VALUE]
+ forKey:[SwordKey swordKeyWithRef:passage]];
+ ret = [self strippedTextFromString:footnoteText];
+ } else if([attrType isEqualToString:@"x"]) {
+ NSString *refListString = [self entryAttributeValueFootnoteOfType:attrType
+ indexValue:[data objectForKey:ATTRTYPE_VALUE]
+ forKey:[SwordKey swordKeyWithRef:passage]];
+ ret = [self strippedTextEntriesForRef:refListString];
+ } else if([attrType isEqualToString:@"scriptRef"] || [attrType isEqualToString:@"scripRef"]) {
+ NSString *key = [[[data objectForKey:ATTRTYPE_VALUE] stringByReplacingOccurrencesOfString:@"+"
+ withString:@" "] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+ ret = [self strippedTextEntriesForRef:key];
+ }
+
+ return ret;
+}
+
+- (void)setProcessEntryAttributes:(BOOL)flag {
+ swModule->processEntryAttributes(flag);
+}
+
+- (BOOL)processEntryAttributes {
+ return swModule->isProcessEntryAttributes();
+}
+
+- (NSString *)entryAttributeValuePreverse {
+ NSString *ret = @"";
+ ret = [NSString stringWithUTF8String:swModule->getEntryAttributes()["Heading"]["Preverse"]["0"].c_str()];
+
+ return ret;
+}
+
+- (NSString *)entryAttributeValueFootnoteOfType:(NSString *)fnType indexValue:(NSString *)index {
+ NSString *ret = @"";
+ if([fnType isEqualToString:@"x"]) {
+ ret = [NSString stringWithUTF8String:swModule->getEntryAttributes()["Footnote"][[index UTF8String]]["refList"].c_str()];
+ } else if([fnType isEqualToString:@"n"]) {
+ ret = [NSString stringWithUTF8String:swModule->getEntryAttributes()["Footnote"][[index UTF8String]]["body"].c_str()];
+ }
+ return ret;
+}
+
+- (NSArray *)entryAttributeValuesLemma {
+ NSMutableArray *array = [NSMutableArray array];
+
+ // parse entry attributes and look for Lemma (String's numbers)
+ sword::AttributeTypeList::iterator words;
+ sword::AttributeList::iterator word;
+ sword::AttributeValue::iterator strongVal;
+ words = swModule->getEntryAttributes().find("Word");
+ if(words != swModule->getEntryAttributes().end()) {
+ for(word = words->second.begin();word != words->second.end(); word++) {
+ strongVal = word->second.find("Lemma");
+ if(strongVal != word->second.end()) {
+ // pass empty "Text" entries
+ if(strongVal->second == "G3588") {
+ if (word->second.find("Text") == word->second.end())
+ continue; // no text? let's skip
+ }
+ NSMutableString *stringValStr = [NSMutableString stringWithUTF8String:strongVal->second];
+ if(stringValStr) {
+ [stringValStr replaceOccurrencesOfString:@"|x-Strongs:" withString:@" " options:0 range:NSMakeRange(0, [stringValStr length])];
+ [array addObject:stringValStr];
+ }
+ }
+ }
+ }
+ return [NSArray arrayWithArray:array];
+}
+
+- (NSString *)entryAttributeValuePreverseForKey:(SwordKey *)aKey {
+ [moduleLock lock];
+ [self setKey:aKey];
+ swModule->RenderText(); // force processing of key
+ NSString *value = [self entryAttributeValuePreverse];
+ [moduleLock unlock];
+ return value;
+}
+
+- (NSString *)entryAttributeValueFootnoteOfType:(NSString *)fnType indexValue:(NSString *)index forKey:(SwordKey *)aKey {
+ [moduleLock lock];
+ [self setKey:aKey];
+ swModule->RenderText(); // force processing of key
+ NSString *value = [self entryAttributeValueFootnoteOfType:fnType indexValue:index];
+ [moduleLock unlock];
+ return value;
+}
+
+
+- (NSString *)description {
+ return [self name];
+}
+
+#pragma mark - Module text access
+
+- (NSString *)renderedText {
+ NSString *ret = @"";
+ ret = [NSString stringWithUTF8String:swModule->RenderText()];
+ if(!ret) {
+ ret = [NSString stringWithCString:swModule->RenderText() encoding:NSISOLatin1StringEncoding];
+ }
+ return ret;
+}
+
+- (NSString *)renderedTextFromString:(NSString *)aString {
+ NSString *ret = @"";
+ ret = [NSString stringWithUTF8String:swModule->RenderText([aString UTF8String])];
+ if(!ret) {
+ ret = [NSString stringWithCString:swModule->RenderText([aString UTF8String]) encoding:NSISOLatin1StringEncoding];
+ }
+ return ret;
+}
+
+- (NSString *)strippedText {
+ NSString *ret = @"";
+ ret = [NSString stringWithUTF8String:swModule->StripText()];
+ if(!ret) {
+ ret = [NSString stringWithCString:swModule->StripText() encoding:NSISOLatin1StringEncoding];
+ }
+ return ret;
+}
+
+- (NSString *)strippedTextFromString:(NSString *)aString {
+ NSString *ret = @"";
+ ret = [NSString stringWithUTF8String:swModule->RenderText([aString UTF8String])];
+ if(!ret) {
+ ret = [NSString stringWithCString:swModule->RenderText([aString UTF8String]) encoding:NSISOLatin1StringEncoding];
+ }
+ return ret;
+}
+
+- (NSArray *)strippedTextEntriesForRef:(NSString *)reference {
+ NSArray *ret = nil;
+
+ SwordModuleTextEntry *entry = [self textEntryForKey:[SwordKey swordKeyWithRef:reference]
+ textType:TextTypeStripped];
+ if(entry) {
+ ret = [NSArray arrayWithObject:entry];
+ }
+
+ return ret;
+}
+
+- (NSArray *)renderedTextEntriesForRef:(NSString *)reference {
+ NSArray *ret = nil;
+
+ SwordModuleTextEntry *entry = [self textEntryForKey:[SwordKey swordKeyWithRef:reference]
+ textType:TextTypeRendered];
+ if(entry) {
+ ret = [NSArray arrayWithObject:entry];
+ }
+
+ return ret;
+}
+
+- (SwordModuleTextEntry *)textEntryForKey:(SwordKey *)aKey textType:(TextPullType)aType {
+ SwordModuleTextEntry *ret = nil;
+
+ if(aKey) {
+ [moduleLock lock];
+ [self setKey:aKey];
+ if(![self error]) {
+ NSString *txt = @"";
+ if(aType == TextTypeRendered) {
+ txt = [self renderedText];
+ } else {
+ txt = [self strippedText];
+ }
+
+ if(txt) {
+ ret = [SwordModuleTextEntry textEntryForKey:[aKey keyText] andText:txt];
+ } else {
+ ALog(@"Nil key");
+ }
+ }
+ [moduleLock unlock];
+ }
+
+ return ret;
+}
+
+- (SwordModuleTextEntry *)textEntryForKeyString:(NSString *)aKeyString textType:(TextPullType)aType {
+ return [self textEntryForKey:[SwordKey swordKeyWithRef:aKeyString] textType:aType];
+}
+
+
+- (void)writeEntry:(SwordModuleTextEntry *)anEntry {}
+
+- (long)entryCount {
+ return 0;
+}
+
+- (sword::SWModule *)swModule {
+ return swModule;
+}
+
+@end
diff --git a/bindings/objc/src/SwordModuleTextEntry.h b/bindings/objc/src/SwordModuleTextEntry.h
new file mode 100644
index 0000000..f13789a
--- /dev/null
+++ b/bindings/objc/src/SwordModuleTextEntry.h
@@ -0,0 +1,24 @@
+//
+// SwordModuleTextEntry.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 03.10.09.
+// Copyright 2009 Software by MABE. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@class SwordKey;
+
+@interface SwordModuleTextEntry : NSObject {
+ NSString *key;
+ NSString *text;
+}
+
+@property (readwrite, retain) NSString *key;
+@property (readwrite, retain) NSString *text;
+
++ (id)textEntryForKey:(NSString *)aKey andText:(NSString *)aText;
+- (id)initWithKey:(NSString *)aKey andText:(NSString *)aText;
+
+@end
diff --git a/bindings/objc/src/SwordModuleTextEntry.m b/bindings/objc/src/SwordModuleTextEntry.m
new file mode 100644
index 0000000..3dec05d
--- /dev/null
+++ b/bindings/objc/src/SwordModuleTextEntry.m
@@ -0,0 +1,42 @@
+//
+// SwordModuleTextEntry.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 03.10.09.
+// Copyright 2009 Software by MABE. All rights reserved.
+//
+
+#import "SwordModuleTextEntry.h"
+#import "SwordKey.h"
+
+@implementation SwordModuleTextEntry
+
+@synthesize key;
+@synthesize text;
+
++ (id)textEntryForKey:(NSString *)aKey andText:(NSString *)aText {
+ return [[[SwordModuleTextEntry alloc] initWithKey:aKey andText:aText] autorelease];
+}
+
+- (id)initWithKey:(NSString *)aKey andText:(NSString *)aText {
+ self = [super init];
+ if(self) {
+ self.key = aKey;
+ self.text = aText;
+ }
+
+ 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
new file mode 100644
index 0000000..fcd0cae
--- /dev/null
+++ b/bindings/objc/src/SwordModuleTreeEntry.h
@@ -0,0 +1,22 @@
+//
+// SwordTreeEntry.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 29.08.08.
+// Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface SwordModuleTreeEntry : NSObject {
+ NSString *key;
+ NSArray *content;
+}
+
+@property (retain, readwrite) NSString *key;
+@property (retain, readwrite) NSArray *content;
+
+- (id)initWithKey:(NSString *)aKey content:(NSArray *)aContent;
+
+@end
diff --git a/bindings/objc/src/SwordModuleTreeEntry.m b/bindings/objc/src/SwordModuleTreeEntry.m
new file mode 100644
index 0000000..fea0b16
--- /dev/null
+++ b/bindings/objc/src/SwordModuleTreeEntry.m
@@ -0,0 +1,38 @@
+//
+// SwordTreeEntry.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 29.08.08.
+// Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordModuleTreeEntry.h"
+
+
+@implementation SwordModuleTreeEntry
+
+@synthesize key;
+@synthesize content;
+
+- (id)initWithKey:(NSString *)aKey content:(NSArray *)aContent {
+ self = [super init];
+ if(self) {
+ self.key = aKey;
+ self.content = aContent;
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [self setKey:nil];
+ [self setContent:nil];
+
+ [super dealloc];
+}
+
+@end
diff --git a/bindings/objc/src/SwordVerseKey.h b/bindings/objc/src/SwordVerseKey.h
new file mode 100644
index 0000000..d915a2a
--- /dev/null
+++ b/bindings/objc/src/SwordVerseKey.h
@@ -0,0 +1,55 @@
+//
+// SwordVerseKey.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 17.03.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "SwordKey.h"
+
+#ifdef __cplusplus
+#include <versekey.h>
+#endif
+
+@interface SwordVerseKey : SwordKey {
+}
+
++ (id)verseKey;
++ (id)verseKeyWithVersification:(NSString *)scheme;
++ (id)verseKeyWithRef:(NSString *)aRef;
++ (id)verseKeyWithRef:(NSString *)aRef v11n:(NSString *)scheme;
+
+#ifdef __cplusplus
++ (id)verseKeyWithSWVerseKey:(sword::VerseKey *)aVk;
++ (id)verseKeyWithSWVerseKey:(sword::VerseKey *)aVk makeCopy:(BOOL)copy;
+- (id)initWithSWVerseKey:(sword::VerseKey *)aVk;
+- (id)initWithSWVerseKey:(sword::VerseKey *)aVk makeCopy:(BOOL)copy;
+- (sword::VerseKey *)swVerseKey;
+#endif
+
+- (id)initWithVersification:(NSString *)scheme;
+- (id)initWithRef:(NSString *)aRef;
+- (id)initWithRef:(NSString *)aRef v11n:(NSString *)scheme;
+
+- (int)index;
+- (int)testament;
+- (void)setTestament:(int)val;
+- (int)book;
+- (void)setBook:(int)val;
+- (int)chapter;
+- (void)setChapter:(int)val;
+- (int)verse;
+- (void)setVerse:(int)val;
+- (BOOL)headings;
+- (void)setHeadings:(BOOL)flag;
+- (BOOL)autoNormalize;
+- (void)setAutoNormalize:(BOOL)flag;
+- (NSString *)bookName;
+- (NSString *)osisBookName;
+- (NSString *)osisRef;
+- (void)setVersification:(NSString *)versification;
+- (NSString *)versification;
+
+@end
diff --git a/bindings/objc/src/SwordVerseKey.mm b/bindings/objc/src/SwordVerseKey.mm
new file mode 100644
index 0000000..b0d3f2d
--- /dev/null
+++ b/bindings/objc/src/SwordVerseKey.mm
@@ -0,0 +1,167 @@
+//
+// SwordVerseKey.mm
+// MacSword2
+//
+// Created by Manfred Bergmann on 17.03.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordVerseKey.h"
+
+
+@implementation SwordVerseKey
+
++ (id)verseKey {
+ return [[[SwordVerseKey alloc] init] autorelease];
+}
+
++ (id)verseKeyWithVersification:(NSString *)scheme {
+ return [[[SwordVerseKey alloc] initWithVersification:scheme] autorelease];
+}
+
++ (id)verseKeyWithRef:(NSString *)aRef {
+ return [[[SwordVerseKey alloc] initWithRef:aRef] autorelease];
+}
+
++ (id)verseKeyWithRef:(NSString *)aRef v11n:(NSString *)scheme {
+ return [[[SwordVerseKey alloc] initWithRef:aRef v11n:scheme] autorelease];
+}
+
++ (id)verseKeyWithSWVerseKey:(sword::VerseKey *)aVk {
+ return [[[SwordVerseKey alloc] initWithSWVerseKey:aVk] autorelease];
+}
+
++ (id)verseKeyWithSWVerseKey:(sword::VerseKey *)aVk makeCopy:(BOOL)copy {
+ return [[[SwordVerseKey alloc] initWithSWVerseKey:aVk makeCopy:copy] autorelease];
+}
+
+- (id)init {
+ return [self initWithRef:nil];
+}
+
+- (id)initWithVersification:(NSString *)scheme {
+ return [self initWithRef:nil v11n:scheme];
+}
+
+- (id)initWithSWVerseKey:(sword::VerseKey *)aVk {
+ return [self initWithSWVerseKey:aVk makeCopy:NO];
+}
+
+- (id)initWithSWVerseKey:(sword::VerseKey *)aVk makeCopy:(BOOL)copy {
+ self = [super initWithSWKey:aVk makeCopy:copy];
+ if(self) {
+ [self swVerseKey]->setVersificationSystem(aVk->getVersificationSystem());
+ }
+ return self;
+}
+
+- (id)initWithRef:(NSString *)aRef {
+ return [self initWithRef:aRef v11n:nil];
+}
+
+- (id)initWithRef:(NSString *)aRef v11n:(NSString *)scheme {
+ sword::VerseKey *vk = new sword::VerseKey();
+ self = [super initWithSWKey:vk];
+ if(self) {
+ created = YES;
+ if(scheme) {
+ [self setVersification:scheme];
+ }
+
+ if(aRef) {
+ [self setKeyText:aRef];
+ }
+ }
+
+ return self;
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [super dealloc];
+}
+
+- (id)clone {
+ return [SwordVerseKey verseKeyWithSWVerseKey:(sword::VerseKey *)sk];
+}
+
+- (int)index {
+ return sk->Index();
+}
+
+- (BOOL)headings {
+ return (BOOL)((sword::VerseKey *)sk)->Headings();
+}
+
+- (void)setHeadings:(BOOL)flag {
+ ((sword::VerseKey *)sk)->Headings((int)flag);
+}
+
+- (BOOL)autoNormalize {
+ return (BOOL)((sword::VerseKey *)sk)->AutoNormalize();
+}
+
+- (void)setAutoNormalize:(BOOL)flag {
+ ((sword::VerseKey *)sk)->AutoNormalize((int)flag);
+}
+
+- (int)testament {
+ return ((sword::VerseKey *)sk)->getTestament();
+}
+
+- (int)book {
+ return ((sword::VerseKey *)sk)->getBook();
+}
+
+- (int)chapter {
+ return ((sword::VerseKey *)sk)->getChapter();
+}
+
+- (int)verse {
+ return ((sword::VerseKey *)sk)->getVerse();
+}
+
+- (void)setTestament:(int)val {
+ ((sword::VerseKey *)sk)->setTestament(val);
+}
+
+- (void)setBook:(int)val {
+ ((sword::VerseKey *)sk)->setBook(val);
+}
+
+- (void)setChapter:(int)val {
+ ((sword::VerseKey *)sk)->setChapter(val);
+}
+
+- (void)setVerse:(int)val {
+ ((sword::VerseKey *)sk)->setVerse(val);
+}
+
+- (NSString *)bookName {
+ return [NSString stringWithUTF8String:((sword::VerseKey *)sk)->getBookName()];
+}
+
+- (NSString *)osisBookName {
+ return [NSString stringWithUTF8String:((sword::VerseKey *)sk)->getOSISBookName()];
+}
+
+- (NSString *)osisRef {
+ return [NSString stringWithUTF8String:((sword::VerseKey *)sk)->getOSISRef()];
+}
+
+- (void)setVersification:(NSString *)versification {
+ ((sword::VerseKey *)sk)->setVersificationSystem([versification UTF8String]);
+}
+
+- (NSString *)versification {
+ return [NSString stringWithUTF8String:((sword::VerseKey *)sk)->getVersificationSystem()];
+}
+
+- (sword::VerseKey *)swVerseKey {
+ return (sword::VerseKey *)sk;
+}
+
+@end
diff --git a/bindings/objc/src/SwordVerseManager.h b/bindings/objc/src/SwordVerseManager.h
new file mode 100644
index 0000000..71eef6a
--- /dev/null
+++ b/bindings/objc/src/SwordVerseManager.h
@@ -0,0 +1,36 @@
+//
+// SwordVerseManager.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 19.03.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+#ifdef __cplusplus
+#include <versemgr.h>
+class sword::VerseMgr::Book;
+#endif
+
+#define SW_VERSIFICATION_KJV @"KJV"
+
+@interface SwordVerseManager : NSObject {
+#ifdef __cplusplus
+ sword::VerseMgr *verseMgr;
+#endif
+ NSMutableDictionary *booksPerVersification;
+}
+
++ (SwordVerseManager *)defaultManager;
+
+/** convenience method that returns the books for default scheme (KJV) */
+- (NSArray *)books;
+/** books for a versification scheme */
+- (NSArray *)booksForVersification:(NSString *)verseScheme;
+
+#ifdef __cplusplus
+- (sword::VerseMgr *)verseMgr;
+#endif
+
+@end
diff --git a/bindings/objc/src/SwordVerseManager.mm b/bindings/objc/src/SwordVerseManager.mm
new file mode 100644
index 0000000..a9bc12b
--- /dev/null
+++ b/bindings/objc/src/SwordVerseManager.mm
@@ -0,0 +1,85 @@
+//
+// SwordVerseManager.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 19.03.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordVerseManager.h"
+#import "SwordBibleBook.h"
+
+
+@interface SwordVerseManager ()
+
+@property (retain, readwrite) NSMutableDictionary *booksPerVersification;
+
+@end
+
+@implementation SwordVerseManager
+
+@synthesize booksPerVersification;
+
++ (SwordVerseManager *)defaultManager {
+ static SwordVerseManager *singleton;
+ if(!singleton) {
+ singleton = [[SwordVerseManager alloc] init];
+ }
+
+ return singleton;
+}
+
+- (id)init {
+ self = [super init];
+ if(self) {
+ self.booksPerVersification = [NSMutableDictionary dictionary];
+ verseMgr = sword::VerseMgr::getSystemVerseMgr();
+ }
+
+ 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 {
+ return [self booksForVersification:SW_VERSIFICATION_KJV];
+}
+
+/** books for a versification scheme */
+- (NSArray *)booksForVersification:(NSString *)verseScheme {
+ NSArray *ret = [booksPerVersification objectForKey:verseScheme];
+ if(ret == nil) {
+ // hasn't been initialized yet
+ const sword::VerseMgr::System *system = verseMgr->getVersificationSystem([verseScheme UTF8String]);
+ int bookCount = system->getBookCount();
+ NSMutableArray *buf = [NSMutableArray arrayWithCapacity:bookCount];
+ for(int i = 0;i < bookCount;i++) {
+ sword::VerseMgr::Book *book = (sword::VerseMgr::Book *)system->getBook(i);
+
+ 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];
+ ret = buf;
+ }
+
+ return ret;
+}
+
+- (sword::VerseMgr *)verseMgr {
+ return verseMgr;
+}
+
+@end
diff --git a/bindings/objc/src/VerseEnumerator.h b/bindings/objc/src/VerseEnumerator.h
new file mode 100644
index 0000000..8eabbe9
--- /dev/null
+++ b/bindings/objc/src/VerseEnumerator.h
@@ -0,0 +1,22 @@
+//
+// VerseEnumerator.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 25.02.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@class SwordListKey;
+
+@interface VerseEnumerator : NSEnumerator {
+ SwordListKey *listKey;
+}
+
+- (id)initWithListKey:(SwordListKey *)aListKey;
+
+- (NSArray *)allObjects;
+- (NSString *)nextObject;
+
+@end
diff --git a/bindings/objc/src/VerseEnumerator.mm b/bindings/objc/src/VerseEnumerator.mm
new file mode 100644
index 0000000..ca8e40b
--- /dev/null
+++ b/bindings/objc/src/VerseEnumerator.mm
@@ -0,0 +1,57 @@
+//
+// VerseEnumerator.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 25.02.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import "VerseEnumerator.h"
+#import "SwordListKey.h"
+
+@interface VerseEnumerator ()
+@property (retain, readwrite) SwordListKey *listKey;
+@end
+
+@implementation VerseEnumerator
+
+@synthesize listKey;
+
+- (id)initWithListKey:(SwordListKey *)aListKey {
+ self = [super init];
+ if(self) {
+ self.listKey = aListKey;
+ *[listKey swListKey] = sword::TOP;
+ }
+ return self;
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [super dealloc];
+}
+
+- (NSArray *)allObjects {
+ NSMutableArray *t = [NSMutableArray array];
+ for(*[listKey swListKey] = sword::TOP;![listKey swListKey]->Error(); *[listKey swListKey] += 1) {
+ [t addObject:[listKey keyText]];
+ }
+ // possition TOP again
+ *[listKey swListKey] = sword::TOP;
+
+ return [NSArray arrayWithArray:t];
+}
+
+- (NSString *)nextObject {
+ NSString *ret = nil;
+ if(![listKey swListKey]->Error()) {
+ ret = [listKey keyText];
+ *[listKey swListKey] += 1;
+ }
+ return ret;
+}
+
+@end
diff --git a/bindings/objc/src/services/Configuration.h b/bindings/objc/src/services/Configuration.h
new file mode 100644
index 0000000..1734fa6
--- /dev/null
+++ b/bindings/objc/src/services/Configuration.h
@@ -0,0 +1,44 @@
+//
+// Configuration.h
+// ObjCSword
+//
+// Created by Manfred Bergmann on 12.06.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+/*
+ To define your own configuration:
+ Create a subclass of Configuration and override the methods there (as done in OSXConfiguration).
+ To globally apply your configuration do:
+ [[Configuration config] setClass:[<YourConfigSubclass> class]];
+ */
+
+@protocol Configuration
+
+- (NSString *)osVersion;
+- (NSString *)bundleVersion;
+- (NSString *)defaultModulePath;
+- (NSString *)defaultAppSupportPath;
+- (NSString *)tempFolder;
+- (NSString *)logFile;
+
+@end
+
+@interface Configuration : NSObject <Configuration> {
+
+}
+
++ (Configuration *)config;
+
+- (NSString *)osVersion;
+- (NSString *)bundleVersion;
+- (NSString *)defaultModulePath;
+- (NSString *)defaultAppSupportPath;
+- (NSString *)tempFolder;
+- (NSString *)logFile;
+
+- (void)setClass:(Class<Configuration>)classImpl;
+
+@end
diff --git a/bindings/objc/src/services/Configuration.m b/bindings/objc/src/services/Configuration.m
new file mode 100644
index 0000000..8ba2842
--- /dev/null
+++ b/bindings/objc/src/services/Configuration.m
@@ -0,0 +1,46 @@
+//
+// Configuration.m
+// ObjCSword
+//
+// Created by Manfred Bergmann on 13.06.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import "Configuration.h"
+
+@implementation Configuration
+
++ (Configuration *)config {
+ static Configuration *instance;
+ if(instance == nil) {
+ instance = [[Configuration alloc] init];
+ }
+ return instance;
+}
+
+- (id)init {
+ return [super init];
+}
+
+- (void)finalize {
+ [super finalize];
+}
+
+- (void)dealloc {
+ [super dealloc];
+}
+
+- (void)setClass:(Class<Configuration>)classImpl {
+ object_setClass(self, classImpl);
+}
+
+#pragma mark Configuration implementation
+
+- (NSString *)osVersion {return @"";}
+- (NSString *)bundleVersion {return @"";}
+- (NSString *)defaultModulePath {return @"";}
+- (NSString *)defaultAppSupportPath {return @"";}
+- (NSString *)tempFolder {return @"";}
+- (NSString *)logFile {return @"";}
+
+@end
diff --git a/bindings/objc/src/services/OSXConfiguration.h b/bindings/objc/src/services/OSXConfiguration.h
new file mode 100644
index 0000000..0fff767
--- /dev/null
+++ b/bindings/objc/src/services/OSXConfiguration.h
@@ -0,0 +1,22 @@
+//
+// OSXConfiguration.h
+// ObjCSword
+//
+// Created by Manfred Bergmann on 12.06.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "Configuration.h"
+
+@interface OSXConfiguration : Configuration <Configuration> {
+}
+
+- (NSString *)osVersion;
+- (NSString *)bundleVersion;
+- (NSString *)defaultModulePath;
+- (NSString *)defaultAppSupportPath;
+- (NSString *)tempFolder;
+- (NSString *)logFile;
+
+@end
diff --git a/bindings/objc/src/services/OSXConfiguration.m b/bindings/objc/src/services/OSXConfiguration.m
new file mode 100644
index 0000000..7d53987
--- /dev/null
+++ b/bindings/objc/src/services/OSXConfiguration.m
@@ -0,0 +1,38 @@
+//
+// OSXConfiguration.m
+// ObjCSword
+//
+// Created by Manfred Bergmann on 12.06.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import "OSXConfiguration.h"
+
+
+@implementation OSXConfiguration
+
+- (NSString *)osVersion {
+ return [[NSDictionary dictionaryWithContentsOfFile:@"/System/Library/CoreServices/SystemVersion.plist"] objectForKey:@"ProductVersion"];
+}
+
+- (NSString *)bundleVersion {
+ return (NSString *)CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), kCFBundleVersionKey);
+}
+
+- (NSString *)defaultModulePath {
+ return [@"~/Library/Application Support/Sword" stringByExpandingTildeInPath];
+}
+
+- (NSString *)defaultAppSupportPath {
+ return [@"~/Library/Application Support/MacSword" stringByExpandingTildeInPath];
+}
+
+- (NSString *)tempFolder {
+ return [@"~/Library/Caches/ObjCSword" stringByExpandingTildeInPath];
+}
+
+- (NSString *)logFile {
+ return [@"~/Library/Logs/ObjCSword.log" stringByExpandingTildeInPath];
+}
+
+@end
diff --git a/bindings/objc/test/SwordListKeyTest.h b/bindings/objc/test/SwordListKeyTest.h
new file mode 100644
index 0000000..4d4ff43
--- /dev/null
+++ b/bindings/objc/test/SwordListKeyTest.h
@@ -0,0 +1,14 @@
+//
+// SwordListKeyTest.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 10.04.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import <SenTestingKit/SenTestingKit.h>
+
+@interface SwordListKeyTest : SenTestCase {
+}
+
+@end
diff --git a/bindings/objc/test/SwordListKeyTest.m b/bindings/objc/test/SwordListKeyTest.m
new file mode 100644
index 0000000..7f4899f
--- /dev/null
+++ b/bindings/objc/test/SwordListKeyTest.m
@@ -0,0 +1,51 @@
+//
+// SwordListKeyTest.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 10.04.09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordListKeyTest.h"
+#import "ObjCSword/ObjCSword.h"
+
+@implementation SwordListKeyTest
+
+- (void)testContainsKey {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"Gen 1:1-5"];
+ SwordVerseKey *vk = [SwordVerseKey verseKeyWithRef:@"Gen 1:3"];
+ STAssertTrue([lk containsKey:vk], @"");
+}
+
+/*
+- (void)testNumberOfVerses {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:2-20"];
+ STAssertNotNil(lk, @"");
+ STAssertTrue(([lk numberOfVerses] == 19), @"");
+}
+*/
+
+- (void)testVerseEnumeratorAllObjects {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:2-20"];
+ STAssertNotNil(lk, @"");
+
+ VerseEnumerator *ve = [lk verseEnumerator];
+ NSArray *verseRefs = [ve allObjects];
+ STAssertNotNil(verseRefs, @"");
+ STAssertTrue(([verseRefs count] == 19), @"");
+}
+
+- (void)testVerseEnumeratorNextObject {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:2-20"];
+ STAssertNotNil(lk, @"");
+
+ VerseEnumerator *ve = [lk verseEnumerator];
+ int count = 0;
+ NSString *ref = nil;
+ while((ref = [ve nextObject])) {
+ count++;
+ }
+ STAssertTrue((count == 19), @"");
+}
+
+@end
diff --git a/bindings/objc/test/SwordManagerTest.h b/bindings/objc/test/SwordManagerTest.h
new file mode 100644
index 0000000..167d335
--- /dev/null
+++ b/bindings/objc/test/SwordManagerTest.h
@@ -0,0 +1,16 @@
+//
+// 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
new file mode 100644
index 0000000..8fcd588
--- /dev/null
+++ b/bindings/objc/test/SwordManagerTest.m
@@ -0,0 +1,26 @@
+//
+// SwordManagerTest.m
+// ObjCSword
+//
+// Created by Manfred Bergmann on 14.06.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import "SwordManagerTest.h"
+#import "ObjCSword/SwordManager.h"
+#import "ObjCSword/Configuration.h"
+#import "ObjCSword/OSXConfiguration.h"
+
+
+@implementation SwordManagerTest
+
+- (void)setUp {
+ [[Configuration config] setClass:[OSXConfiguration class]];
+}
+
+- (void)testSwordManagerInit {
+ SwordManager *sm = [SwordManager defaultManager];
+ STAssertTrue([[sm modules] count] > 0, @"");
+}
+
+@end
diff --git a/bindings/objc/test/SwordModuleLongRunTest.h b/bindings/objc/test/SwordModuleLongRunTest.h
new file mode 100644
index 0000000..d415885
--- /dev/null
+++ b/bindings/objc/test/SwordModuleLongRunTest.h
@@ -0,0 +1,17 @@
+//
+// SwordModuleTest.h
+// MacSword2
+//
+// Created by Manfred Bergmann on 14.12.08.
+// Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import <SenTestingKit/SenTestingKit.h>
+
+@class SwordModule;
+
+@interface SwordModuleTest : SenTestCase {
+ SwordModule *mod;
+}
+
+@end
diff --git a/bindings/objc/test/SwordModuleLongRunTest.mm b/bindings/objc/test/SwordModuleLongRunTest.mm
new file mode 100644
index 0000000..3ed363d
--- /dev/null
+++ b/bindings/objc/test/SwordModuleLongRunTest.mm
@@ -0,0 +1,89 @@
+//
+// SwordModuleTest.m
+// MacSword2
+//
+// Created by Manfred Bergmann on 14.12.08.
+// Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import "SwordModuleTest.h"
+#import "ObjCSword/ObjCSword.h"
+
+@implementation SwordModuleTest
+
+- (void)setUp {
+ [[Configuration config] setClass:[OSXConfiguration class]];
+ mod = [[SwordManager defaultManager] moduleWithName:@"GerNeUe"];
+}
+
+- (void)testCreateSearchIndex {
+ SwordModule *sm = [[SwordManager defaultManager] moduleWithName:@"GerSch"];
+ STAssertNotNil(sm, @"Module is nil");
+
+ NSLog(@"creating clucene search index...");
+ [sm createSearchIndex];
+ NSLog(@"creating clucene search index...done");
+}
+
+
+- (void)testRenderedTextEntriesForRef {
+ NSArray *entries = [(SwordBible *)mod renderedTextEntriesForRef:@"gen1-rev22"];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ for(SwordBibleTextEntry *entry in entries) {
+ ref = [entry key];
+ rendered = [entry text];
+ }
+}
+
+- (void)testRenderedWithEnumerator {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen1-rev22"];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ VerseEnumerator *iter = [lk verseEnumerator];
+ while((ref = [iter nextObject])) {
+ [(SwordBible *)mod setKeyString:ref];
+ rendered = [mod renderedText];
+ }
+}
+
+- (void)testCommentarySkipLinksPersist {
+ SwordModule *com = [[SwordManager defaultManager] moduleWithName:@"MHC"];
+
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:1-2"];
+ [lk setPersist:YES];
+ [com setKey:lk];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ int count = 0;
+ while(![com error]) {
+ ref = [lk keyText];
+ rendered = [com renderedText];
+ NSLog(@"%@:%@", ref, rendered);
+ [com incKeyPosition];
+ count++;
+ }
+ STAssertTrue((count == 1), @"");
+}
+
+- (void)testCommentarySkipLinksNoPersist {
+ SwordModule *com = [[SwordManager defaultManager] moduleWithName:@"MHC"];
+
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:1-2"];
+ [lk setPersist:NO];
+ [lk setPosition:SWPOS_TOP];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ int count = 0;
+ while(![lk error]) {
+ ref = [lk keyText];
+ [com setKey:lk];
+ rendered = [com renderedText];
+ NSLog(@"%@:%@", ref, rendered);
+ [lk increment];
+ count++;
+ }
+ STAssertTrue((count == 1), @"");
+}
+
+@end
diff --git a/bindings/objc/test/SwordModuleTest.h b/bindings/objc/test/SwordModuleTest.h
new file mode 100644
index 0000000..74bca21
--- /dev/null
+++ b/bindings/objc/test/SwordModuleTest.h
@@ -0,0 +1,17 @@
+//
+// SwordModuleTest.h
+// ObjCSword
+//
+// Created by Manfred Bergmann on 14.06.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import <SenTestingKit/SenTestingKit.h>
+
+@class SwordModule;
+
+@interface SwordModuleTest : SenTestCase {
+ SwordModule *mod;
+}
+
+@end
diff --git a/bindings/objc/test/SwordModuleTest.m b/bindings/objc/test/SwordModuleTest.m
new file mode 100644
index 0000000..7debcc1
--- /dev/null
+++ b/bindings/objc/test/SwordModuleTest.m
@@ -0,0 +1,217 @@
+//
+// SwordModuleTest.m
+// ObjCSword
+//
+// Created by Manfred Bergmann on 14.06.10.
+// Copyright 2010 Software by MABE. All rights reserved.
+//
+
+#import "SwordModuleTest.h"
+#import "ObjCSword/ObjCSword.h"
+#import "ObjCSword/SwordModule+Index.h"
+
+
+@implementation SwordModuleTest
+
+- (void)setUp {
+ [[Configuration config] setClass:[OSXConfiguration class]];
+ mod = [[SwordManager defaultManager] moduleWithName:@"GerNeUe"];
+}
+
+- (void)testLoopRenderedVerses {
+ SwordBible *bible = (SwordBible *)[[SwordManager defaultManager] moduleWithName:@"GerSch"];
+ STAssertNotNil(bible, @"Module is nil");
+
+ NSArray *verses = [bible renderedTextEntriesForRef:@"Gen"];
+ STAssertNotNil(verses, @"");
+ STAssertTrue([bible numberOfVerseKeysForReference:@"Gen"] == [verses count], @"");
+}
+
+- (void)testRenderedVerseText {
+ SwordBible *bible = (SwordBible *)[[SwordManager defaultManager] moduleWithName:@"GerSch"];
+ STAssertNotNil(bible, @"Module is nil");
+
+ SwordModuleTextEntry *text = [bible textEntryForKeyString:@"gen1.1" textType:TextTypeRendered];
+ STAssertNotNil(text, @"");
+ STAssertTrue([[text text] length] > 0, @"");
+}
+
+- (void)testCloneModule {
+ SwordBible *bible = (SwordBible *)[[SwordManager defaultManager] moduleWithName:@"GerSch"];
+ STAssertNotNil(bible, @"Module is nil");
+
+ /*
+ SwordBible *cloned = (SwordBible *)[bible clone];
+ STAssertNotNil(cloned, @"Module is nil");
+ */
+}
+
+- (void)testLoopWithModulePos {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen" v11n:[mod versification]];
+ [lk setPersist:YES];
+ [mod setKey:lk];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ while(![mod error]) {
+ ref = [lk keyText];
+ rendered = [mod renderedText];
+ [mod incKeyPosition];
+ }
+}
+
+- (void)testLoopWithModulePosNoPersist {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen" v11n:[mod versification]];
+ [lk setPersist:NO];
+ [lk setPosition:SWPOS_TOP];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ while(![lk error]) {
+ ref = [lk keyText];
+ [mod setKey:lk];
+ rendered = [mod renderedText];
+ //NSLog(@"%@:%@", ref, rendered);
+ [lk increment];
+ }
+}
+
+- (void)testLoopWithModulePosWithHeadings {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen" headings:YES v11n:[mod versification]];
+ [lk setPersist:YES];
+ [mod setKey:lk];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ while(![mod error]) {
+ ref = [lk keyText];
+ rendered = [mod renderedText];
+ [mod incKeyPosition];
+ }
+}
+
+- (void)testLoopWithModulePosWithDiverseReference {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:1;4:5-8" v11n:[mod versification]];
+ [lk setPersist:YES];
+ [mod setKey:lk];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ while(![mod error]) {
+ ref = [lk keyText];
+ rendered = [mod renderedText];
+ NSLog(@"%@:%@", ref, rendered);
+ [mod incKeyPosition];
+ }
+}
+
+- (void)testLoopWithModulePosNoPersistWithDiverseReference {
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:1;4:5-8" v11n:[mod versification]];
+ [lk setPersist:NO];
+ [lk setPosition:SWPOS_TOP];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ while(![lk error]) {
+ ref = [lk keyText];
+ [mod setKey:lk];
+ rendered = [mod renderedText];
+ NSLog(@"%@:%@", ref, rendered);
+ [lk increment];
+ }
+}
+
+- (void)testLoopWithModulePosWithDiverseReferenceAndContext {
+ int context = 1;
+ SwordVerseKey *vk = [SwordVerseKey verseKeyWithVersification:[mod versification]];
+ [vk setPersist:YES];
+ SwordListKey *lk = [SwordListKey listKeyWithRef:@"gen 1:1;4:5;8:4;10:2-5" v11n:[mod versification]];
+ [lk setPersist:YES];
+ [mod setKey:lk];
+ NSString *ref = nil;
+ NSString *rendered = nil;
+ while(![mod error]) {
+ if(context > 0) {
+ [vk setKeyText:[lk keyText]];
+ long lowVerse = [vk verse] - context;
+ long highVerse = lowVerse + (context * 2);
+ [vk setVerse:lowVerse];
+ [mod setKey:vk];
+ for(;lowVerse <= highVerse;lowVerse++) {
+ ref = [vk keyText];
+ rendered = [mod renderedText];
+ NSLog(@"%@:%@", ref, rendered);
+ [mod incKeyPosition];
+ }
+ // set back list key
+ [mod setKey:lk];
+ [mod incKeyPosition];
+ } else {
+ ref = [lk keyText];
+ rendered = [mod renderedText];
+ NSLog(@"%@:%@", ref, rendered);
+ [mod incKeyPosition];
+ }
+ }
+}
+
+- (void)testStrippedTextForRef {
+ SwordVerseKey *vk = [SwordVerseKey verseKeyWithRef:@"1Mo 1:2"];
+ NSLog(@"start position: %s", [vk keyText]);
+ [vk decrement];
+ NSLog(@"decrement position: %s", [vk keyText]);
+ [vk setVerse:[vk verse] + 3];
+ NSLog(@"verse + 3: %s", [vk keyText]);
+}
+
+/*
+ #ifdef __cplusplus
+ #include <swtext.h>
+ #include <versekey.h>
+ #include <regex.h>
+ #include <swmodule.h>
+ class sword::SWModule;
+ #include <iostream>
+ #include <versekey.h>
+ #include <rawtext.h>
+ #include <rawcom.h>
+ #include <echomod.h>
+ #include <stdlib.h>
+ using namespace sword;
+ #endif
+
+ - (void)testHeadings {
+ mod = [[SwordManager defaultManager] moduleWithName:@"KJV"];
+ STAssertNotNil(mod, @"No Mod");
+
+ // enable headings
+ [[SwordManager defaultManager] setGlobalOption:SW_OPTION_HEADINGS value:SW_ON];
+ [[SwordManager defaultManager] setGlobalOption:SW_OPTION_STRONGS value:SW_ON];
+ [[SwordManager defaultManager] setGlobalOption:SW_OPTION_FOOTNOTES value:SW_ON];
+
+ SWModule *target;
+ target = [mod swModule];
+ target->setKey("gen 1:1");
+ target->RenderText(); // force an entry lookup to resolve key to something in the index
+
+ std::cout << "==Raw=Entry===============\n";
+ std::cout << target->getKeyText() << ":\n";
+ std::cout << target->getRawEntry();
+ std::cout << "\n";
+ std::cout << "==Render=Entry============\n";
+ std::cout << target->RenderText();
+ std::cout << "\n";
+ std::cout << "==========================\n";
+ std::cout << "Entry Attributes:\n\n";
+ AttributeTypeList::iterator i1;
+ AttributeList::iterator i2;
+ AttributeValue::iterator i3;
+ for (i1 = target->getEntryAttributes().begin(); i1 != target->getEntryAttributes().end(); i1++) {
+ std::cout << "[ " << i1->first << " ]\n";
+ for (i2 = i1->second.begin(); i2 != i1->second.end(); i2++) {
+ std::cout << "\t[ " << i2->first << " ]\n";
+ for (i3 = i2->second.begin(); i3 != i2->second.end(); i3++) {
+ std::cout << "\t\t" << i3->first << " = " << i3->second << "\n";
+ }
+ }
+ }
+ std::cout << std::endl;
+ }
+ */
+
+@end
diff --git a/bindings/swig/local/std_multimap.i b/bindings/swig/local/std_multimap.i
new file mode 100644
index 0000000..24eef8f
--- /dev/null
+++ b/bindings/swig/local/std_multimap.i
@@ -0,0 +1,166 @@
+//file std_multimap.i
+
+%include <std_common.i>
+
+
+%{
+#include <map>
+#include <algorithm>
+#include <stdexcept>
+#include <iostream>
+%}
+
+// exported class
+
+namespace std {
+
+ template<class T1, class T2> class multimap {
+ // add typemaps here
+ public:
+ multimap();
+ multimap(const multimap<T1,T2> &);
+
+ unsigned int size() const;
+ bool empty() const;
+ void clear();
+
+ %extend {
+ //need a way to get the first element
+ const T1 getElementOne(std::multimap<T1,T2>::iterator it) throw (std::out_of_range) {
+ return it->first;
+ }
+ //and the second
+ T2 getElementTwo(std::multimap<T1,T2>::iterator it) throw (std::out_of_range) {
+ return it->second;
+ }
+ //nice to have the beginning iterator
+ std::multimap<T1,T2>::iterator getBeginIterator() {
+ return self->begin();
+ }
+ //and to get the next iterator
+ std::multimap<T1,T2>::iterator getNextIterator(std::multimap<T1,T2>::iterator it) {
+ if (it != self->end()) {
+ return ++it;
+ } else {
+ return it;
+ }
+ }
+ }
+ };
+
+ //The rest is pretty much straight from std_map.i with name and signature changes
+ // specializations for built-ins
+
+ %define specialize_std_multimap_on_key(K,CHECK,CONVERT_FROM,CONVERT_TO)
+
+ template<class T> class multimap<K,T> {
+ // add typemaps here
+ public:
+ multimap();
+ multimap(const multimap<K,T> &);
+
+ unsigned int size() const;
+ bool empty() const;
+ void clear();
+ %extend {
+ T& get(K key) throw (std::out_of_range) {
+ std::multimap<K,T >::iterator i = self->find(key);
+ if (i != self->end())
+ return i->second;
+ else
+ throw std::out_of_range("key not found");
+ }
+ void set(K key, const T& x) {
+ (*self)[key] = x;
+ }
+ void del(K key) throw (std::out_of_range) {
+ std::multimap<K,T >::iterator i = self->find(key);
+ if (i != self->end())
+ self->erase(i);
+ else
+ throw std::out_of_range("key not found");
+ }
+ bool has_key(K key) {
+ std::multimap<K,T >::iterator i = self->find(key);
+ return i != self->end();
+ }
+ }
+ };
+ %enddef
+
+ %define specialize_std_multimap_on_value(T,CHECK,CONVERT_FROM,CONVERT_TO)
+ template<class K> class multimap<K,T> {
+ // add typemaps here
+ public:
+ multimap();
+ multimap(const multimap<K,T> &);
+
+ unsigned int size() const;
+ bool empty() const;
+ void clear();
+ %extend {
+ T get(const K& key) throw (std::out_of_range) {
+ std::multimap<K,T >::iterator i = self->find(key);
+ if (i != self->end())
+ return i->second;
+ else
+ throw std::out_of_range("key not found");
+ }
+ void set(const K& key, T x) {
+ (*self)[key] = x;
+ }
+ void del(const K& key) throw (std::out_of_range) {
+ std::multimap<K,T >::iterator i = self->find(key);
+ if (i != self->end())
+ self->erase(i);
+ else
+ throw std::out_of_range("key not found");
+ }
+ bool has_key(const K& key) {
+ std::multimap<K,T >::iterator i = self->find(key);
+ return i != self->end();
+ }
+ }
+ };
+ %enddef
+
+ %define specialize_std_multimap_on_both(K,CHECK_K,CONVERT_K_FROM,CONVERT_K_TO,
+ T,CHECK_T,CONVERT_T_FROM,CONVERT_T_TO)
+ template<> class multimap<K,T> {
+ // add typemaps here
+ public:
+ multimap();
+ multimap(const multimap<K,T> &);
+
+ unsigned int size() const;
+ bool empty() const;
+ void clear();
+ %extend {
+ T get(K key) throw (std::out_of_range) {
+ std::multimap<K,T >::iterator i = self->find(key);
+ if (i != self->end())
+ return i->second;
+ else
+ throw std::out_of_range("key not found");
+ }
+ void set(K key, T x) {
+ (*self)[key] = x;
+ }
+ void del(K key) throw (std::out_of_range) {
+ std::multimap<K,T >::iterator i = self->find(key);
+ if (i != self->end())
+ self->erase(i);
+ else
+ throw std::out_of_range("key not found");
+ }
+ bool has_key(K key) {
+ std::multimap<K,T >::iterator i = self->find(key);
+ return i != self->end();
+ }
+ }
+ };
+ %enddef
+
+ // add specializations here
+
+}
diff --git a/bindings/swig/package/Makefile.in b/bindings/swig/package/Makefile.in
index 87bbb19..a398dfa 100644
--- a/bindings/swig/package/Makefile.in
+++ b/bindings/swig/package/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -125,33 +125,38 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBZ = @LIBZ@
LIB_SWORD = @LIB_SWORD@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -192,7 +197,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -223,6 +228,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -453,7 +459,8 @@ distdir: $(DISTFILES)
fi; \
done
-test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
@@ -497,17 +504,17 @@ dist dist-all: distdir
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff --git a/bindings/swig/package/aclocal.m4 b/bindings/swig/package/aclocal.m4
index 01c3f9e..f20413e 100644
--- a/bindings/swig/package/aclocal.m4
+++ b/bindings/swig/package/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -20,101 +20,187 @@ If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# 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.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool 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 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
-# serial 52 AC_PROG_LIBTOOL
+# serial 56 LT_INIT
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
- [],
- [m4_define([AC_PROVIDE_IFELSE],
- [m4_ifdef([AC_PROVIDE_$1],
- [$2], [$3])])])
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
- AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [AC_LIBTOOL_CXX],
- [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
- ])])
-dnl And a similar setup for Fortran 77 support
- AC_PROVIDE_IFELSE([AC_PROG_F77],
- [AC_LIBTOOL_F77],
- [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
- AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [ifdef([AC_PROG_GCJ],
- [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([A][M_PROG_GCJ],
- [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([LT_AC_PROG_GCJ],
- [define([LT_AC_PROG_GCJ],
- defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)dnl
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
+_LT_SETUP
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
dnl
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
case $host_os in
aix3*)
@@ -130,116 +216,653 @@ esac
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'
-# Constants:
-rm="rm -f"
-
# Global variables:
-default_ofile=libtool
+ofile=libtool
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
+with_gnu_ld="$lt_cv_prog_gnu_ld"
old_CC="$CC"
old_CFLAGS="$CFLAGS"
# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
test -z "$ac_objext" && ac_objext=o
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
_LT_CC_BASENAME([$compiler])
# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- AC_PATH_MAGIC
+ _LT_PATH_MAGIC
fi
;;
esac
-_LT_REQUIRED_DARWIN_CHECKS
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
-AC_ARG_WITH([pic],
- [AC_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-# _LT_AC_SYS_COMPILER
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+ lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+ ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+ lt_cl_success=:
+ test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+ exec AS_MESSAGE_LOG_FD>/dev/null
+ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+ exec AS_MESSAGE_LOG_FD>>config.log
+ $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_XSI_SHELLFNS
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
[AC_REQUIRE([AC_PROG_CC])dnl
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
@@ -248,36 +871,20 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
# Allow CC to be a program name with arguments.
compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
+])# _LT_TAG_COMPILER
# _LT_COMPILER_BOILERPLATE
# ------------------------
# Check for compiler boilerplate output or warnings with
# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
])# _LT_COMPILER_BOILERPLATE
@@ -285,39 +892,57 @@ $rm conftest*
# ----------------------
# Check for linker boilerplate output or warnings with
# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
+$RM -r conftest*
])# _LT_LINKER_BOILERPLATE
# _LT_REQUIRED_DARWIN_CHECKS
-# --------------------------
-# Check for some things on darwin
-AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
case $host_os in
rhapsody* | darwin*)
AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
[lt_cv_apple_cc_single_mod=no
if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- echo "int foo(void){return 1;}" > conftest.c
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib ${wl}-single_module conftest.c
- if test -f libconftest.dylib; then
- lt_cv_apple_cc_single_mod=yes
- rm -rf libconftest.dylib*
- fi
- rm conftest.c
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
fi])
AC_CACHE_CHECK([for -exported_symbols_list linker flag],
[lt_cv_ld_exported_symbols_list],
@@ -326,26 +951,26 @@ AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
echo "_main" > conftest.sym
LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [lt_cv_ld_exported_symbols_list=yes],
- [lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
])
case $host_os in
- rhapsody* | darwin1.[[0123]])
+ rhapsody* | darwin1.[[012]])
_lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
@@ -355,10 +980,10 @@ AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
_lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
else
- _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
fi
if test "$DSYMUTIL" != ":"; then
- _lt_dsymutil="~$DSYMUTIL \$lib || :"
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
fi
@@ -366,16 +991,51 @@ AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
esac
])
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
# Links a minimal program and checks the executable
# for the system default hardcoded library path. In most cases,
# this is /usr/lib:/lib, but when the MPI compilers are used
# the location of the communication and MPI libs are included too.
# If we don't find anything, use the default library path according
# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
AC_LINK_IFELSE(AC_LANG_PROGRAM,[
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -390,45 +1050,45 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi],[])
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
+])# _LT_SYS_MODULE_PATH_AIX
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
[ifdef([AC_DIVERSION_NOTICE],
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
[AC_DIVERT_PUSH(NOTICE)])
$1
AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
+])# _LT_SHELL_INIT
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
# Add some code to the start of the generated configure script which
# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
# Check that we are running under the correct shell.
SHELL=${CONFIG_SHELL-/bin/sh}
-case X$ECHO in
+case X$lt_ECHO in
X*--fallback-echo)
# Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
;;
esac
-echo=${ECHO-echo}
+ECHO=${lt_ECHO-echo}
if test "X[$]1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
shift
elif test "X[$]1" = X--fallback-echo; then
# Avoid inline document here, it may be left over
:
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
:
else
# Restart under the correct shell.
@@ -438,9 +1098,9 @@ fi
if test "X[$]1" = X--fallback-echo; then
# used as fallback echo
shift
- cat <<EOF
+ cat <<_LT_EOF
[$]*
-EOF
+_LT_EOF
exit 0
fi
@@ -448,124 +1108,127 @@ fi
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
else
- # maybe with a smaller string...
- prev=:
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
fi
fi
fi
fi
-fi
# Copy echo and quote the copy suitably for passing to libtool from
# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
fi
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+ [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
[AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
@@ -576,12 +1239,12 @@ ia64-*-hpux*)
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
esac
fi
rm -rf conftest*
@@ -590,80 +1253,79 @@ ia64-*-hpux*)
# Find out which ABI we are using.
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
fi
rm -rf conftest*
;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- libsuff=64
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
esac
fi
rm -rf conftest*
@@ -675,7 +1337,7 @@ s390*-*linux*|sparc*-*linux*)
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_LANG_PUSH(C)
- AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
AC_LANG_POP])
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
@@ -691,7 +1353,7 @@ sparc*-*solaris*)
case $lt_cv_prog_gnu_ld in
yes*) LD="${LD-ld} -m elf64_sparc" ;;
*)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
LD="${LD-ld} -64"
fi
;;
@@ -701,30 +1363,63 @@ sparc*-*solaris*)
fi
rm -rf conftest*
;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
- ])
esac
need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
-])# _LT_AC_LOCK
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
# ----------------------------------------------------------------
# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
[$2=no
- ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$3"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -744,29 +1439,35 @@ AC_CACHE_CHECK([$1], [$2],
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
fi
fi
- $rm conftest*
+ $RM conftest*
])
if test x"[$]$2" = xyes; then
- ifelse([$5], , :, [$5])
+ m4_if([$5], , :, [$5])
else
- ifelse([$6], , :, [$6])
+ m4_if([$6], , :, [$6])
fi
-])# AC_LIBTOOL_COMPILER_OPTION
+])# _LT_COMPILER_OPTION
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
[$2=no
save_LDFLAGS="$LDFLAGS"
@@ -778,7 +1479,7 @@ AC_CACHE_CHECK([$1], [$2],
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
@@ -787,22 +1488,28 @@ AC_CACHE_CHECK([$1], [$2],
$2=yes
fi
fi
- $rm -r conftest*
+ $RM -r conftest*
LDFLAGS="$save_LDFLAGS"
])
if test x"[$]$2" = xyes; then
- ifelse([$4], , :, [$4])
+ m4_if([$4], , :, [$4])
else
- ifelse([$5], , :, [$5])
+ m4_if([$5], , :, [$5])
fi
-])# AC_LIBTOOL_LINKER_OPTION
+])# _LT_LINKER_OPTION
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
AC_MSG_CHECKING([the maximum length of command line arguments])
AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
i=0
@@ -824,7 +1531,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=-1;
;;
- cygwin* | mingw*)
+ cygwin* | mingw* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
@@ -879,7 +1586,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
sysv5* | sco5v6* | sysv4.2uw2*)
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
else
lt_cv_sys_max_cmd_len=32768
fi
@@ -890,20 +1597,28 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
test $i != 17 # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
fi
;;
@@ -914,27 +1629,35 @@ if test -n $lt_cv_sys_max_cmd_len ; then
else
AC_MSG_RESULT(none)
fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
if test "$cross_compiling" = yes; then :
[$4]
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
+ cat > conftest.$ac_ext <<_LT_EOF
[#line __oline__ "configure"
#include "confdefs.h"
@@ -976,10 +1699,6 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
void fnord() { int i=42;}
int main ()
{
@@ -995,9 +1714,9 @@ int main ()
else
puts (dlerror ());
- exit (status);
+ return status;
}]
-EOF
+_LT_EOF
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
lt_status=$?
@@ -1012,13 +1731,13 @@ EOF
fi
fi
rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
+])# _LT_TRY_DLOPEN_SELF
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
if test "x$enable_dlopen" != xyes; then
enable_dlopen=unknown
enable_dlopen_self=unknown
@@ -1034,15 +1753,15 @@ else
lt_cv_dlopen_self=yes
;;
- mingw* | pw32*)
+ mingw* | pw32* | cegcc*)
lt_cv_dlopen="LoadLibrary"
lt_cv_dlopen_libs=
- ;;
+ ;;
cygwin*)
lt_cv_dlopen="dlopen"
lt_cv_dlopen_libs=
- ;;
+ ;;
darwin*)
# if libdl is installed we need to link against it
@@ -1052,7 +1771,7 @@ else
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
])
- ;;
+ ;;
*)
AC_CHECK_FUNC([shl_load],
@@ -1094,7 +1813,7 @@ else
AC_CACHE_CHECK([whether a program can dlopen itself],
lt_cv_dlopen_self, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
+ _LT_TRY_DLOPEN_SELF(
lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
])
@@ -1102,8 +1821,8 @@ else
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
])
@@ -1125,19 +1844,32 @@ else
*) enable_dlopen_self_static=unknown ;;
esac
fi
-])# AC_LIBTOOL_DLOPEN_SELF
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $rm -r conftest 2>/dev/null
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
@@ -1161,37 +1893,41 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
fi
fi
chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $rm conftest*
+ $RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
cd ..
- rmdir conftest
- $rm conftest*
+ $RM -r conftest
+ $RM conftest*
])
-])# AC_LIBTOOL_PROG_CC_C_O
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
AC_MSG_CHECKING([if we can lock with hard links])
hard_links=yes
- $rm conftest*
+ $RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
@@ -1204,12 +1940,13 @@ if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks"
else
need_locks=no
fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
[rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
@@ -1221,40 +1958,46 @@ else
fi
rmdir .libs 2>/dev/null])
objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
- test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
- test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
- # We can hardcode non-existant directories.
- if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
# Linking always hardcodes the temporary library directory.
- _LT_AC_TAGVAR(hardcode_action, $1)=relink
+ _LT_TAGVAR(hardcode_action, $1)=relink
else
# We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+ _LT_TAGVAR(hardcode_action, $1)=immediate
fi
else
# We cannot hardcode anything, or else we can only hardcode existing
# directories.
- _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
# Fast installation is not supported
enable_fast_install=no
elif test "$shlibpath_overrides_runpath" = yes ||
@@ -1262,73 +2005,70 @@ elif test "$shlibpath_overrides_runpath" = yes ||
# Fast installation is not necessary
enable_fast_install=needless
fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
old_striplib=
AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
AC_MSG_RESULT([yes])
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
-fi
- ;;
- *)
- AC_MSG_RESULT([no])
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
;;
esac
fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# _LT_SYS_DYNAMIC_LINKER([TAG])
# -----------------------------
# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
+m4_if([$1],
+ [], [
if test "$GCC" = yes; then
case $host_os in
darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
*) lt_awk_arg="/^libraries:/" ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
# Ok, now we have the path, separated by spaces, we can step through it
# and add multilib dir if necessary.
@@ -1342,7 +2082,7 @@ if test "$GCC" = yes; then
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
- lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
BEGIN {RS=" "; FS="/|\n";} {
lt_foo="";
lt_count=0;
@@ -1362,10 +2102,23 @@ BEGIN {RS=" "; FS="/|\n";} {
if (lt_foo != "") { lt_freq[[lt_foo]]++; }
if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
}'`
- sys_lib_search_path_spec=`echo $lt_search_path_spec`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -1402,7 +2155,7 @@ aix[[4-9]]*)
aix4 | aix4.[[01]] | aix4.[[01]].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
@@ -1428,9 +2181,18 @@ aix[[4-9]]*)
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
beos*)
@@ -1453,25 +2215,28 @@ bsdi[[45]]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
- $rm \$dlpath'
+ $RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
@@ -1480,20 +2245,20 @@ cygwin* | mingw* | pw32*)
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
# It is most probably a Windows format PATH printed by
# mingw gcc, but we are running on Cygwin. Gcc prints its search
# path with ; separators, and with drive letters. We can handle the
# drive letters (cygwin fileutils understands them), so leave them,
# especially as we might pass files found there to a mingw objdump,
# which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
;;
pw32*)
@@ -1517,13 +2282,13 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
soname_spec='${libname}${release}${major}$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -1616,18 +2381,18 @@ hpux9* | hpux10* | hpux11*)
fi
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
@@ -1704,16 +2469,28 @@ linux* | k*bsd*-gnu)
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
fi
@@ -1730,7 +2507,7 @@ netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
@@ -1751,14 +2528,16 @@ newsos6)
shlibpath_overrides_runpath=yes
;;
-nto-qnx*)
- version_type=linux
+*nto* | *qnx*)
+ version_type=qnx
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
;;
openbsd*)
@@ -1767,13 +2546,13 @@ openbsd*)
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
esac
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case $host_os in
openbsd2.[[89]] | openbsd2.[[89]].*)
shlibpath_overrides_runpath=no
@@ -1845,7 +2624,6 @@ sysv4 | sysv4.3*)
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
runpath_var=LD_RUN_PATH
;;
siemens)
@@ -1876,13 +2654,12 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
if test "$with_gnu_ld" = yes; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
case $host_os in
sco3.2v5*)
sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
@@ -1892,6 +2669,17 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
sys_lib_dlsearch_path_spec='/usr/lib'
;;
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -1906,288 +2694,58 @@ esac
AC_MSG_RESULT([$dynamic_linker])
test "$dynamic_linker" = no && can_build_shared=no
-AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
-[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
-[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
- [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
- [include additional configurations @<:@automatic@:>@])],
- [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- AC_MSG_WARN([output file `$ofile' does not exist])
- fi
-
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
- else
- AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
- "") ;;
- *) AC_MSG_ERROR([invalid tag name: $tagname])
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- AC_MSG_ERROR([tag name \"$tagname\" already exists])
- fi
-
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_LIBTOOL_LANG_CXX_CONFIG
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
- AC_LIBTOOL_LANG_F77_CONFIG
- else
- tagname=""
- fi
- ;;
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
- AC_LIBTOOL_LANG_GCJ_CONFIG
- else
- tagname=""
- fi
- ;;
-
- RC)
- AC_LIBTOOL_LANG_RC_CONFIG
- ;;
-
- *)
- AC_MSG_ERROR([Unsupported tag name: $tagname])
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- AC_MSG_ERROR([unable to update list of available tagged configurations.])
- fi
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
- [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
- [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
- [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-# AC_LIBTOOL_PICMODE([MODE])
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
- [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
[case $MAGIC_CMD in
@@ -2200,7 +2758,7 @@ AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
dnl $ac_dummy forces splitting on constant user-supplied paths.
dnl POSIX.2 word splitting is done only on the output of word expansions,
dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="ifelse([$2], , $PATH, [$2])"
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
for ac_dir in $ac_dummy; do
IFS="$lt_save_ifs"
test -z "$ac_dir" && ac_dir=.
@@ -2215,7 +2773,7 @@ dnl not every word. This closes a longstanding sh security hole.
$EGREP "$file_magic_regex" > /dev/null; then
:
else
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -2226,7 +2784,7 @@ dnl not every word. This closes a longstanding sh security hole.
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
-EOF
+_LT_EOF
fi ;;
esac
fi
@@ -2243,37 +2801,47 @@ if test -n "$MAGIC_CMD"; then
else
AC_MSG_RESULT(no)
fi
-])# AC_PATH_TOOL_PREFIX
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-# AC_PATH_MAGIC
-# -------------
+
+# _LT_PATH_MAGIC
+# --------------
# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
else
MAGIC_CMD=:
fi
fi
-])# AC_PATH_MAGIC
+])# _LT_PATH_MAGIC
-# AC_PROG_LD
+# LT_PATH_LD
# ----------
# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
- [AC_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
@@ -2290,9 +2858,9 @@ if test "$GCC" = yes; then
[[\\/]]* | ?:[[\\/]]*)
re_direlt='/[[^/]][[^/]]*/\.\./'
# Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -2342,15 +2910,24 @@ else
AC_MSG_RESULT(no)
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
[# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
@@ -2361,14 +2938,14 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac])
with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
+])# _LT_PATH_LD_GNU
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
+# _LT_CMD_RELOAD
+# --------------
# find reload flag for linker
# -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+m4_defun([_LT_CMD_RELOAD],
[AC_CACHE_CHECK([for $LD option to reload object files],
lt_cv_ld_reload_flag,
[lt_cv_ld_reload_flag='-r'])
@@ -2387,15 +2964,19 @@ case $host_os in
fi
;;
esac
-])# AC_PROG_LD_RELOAD_FLAG
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
# how to check for library dependencies
# -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
@@ -2445,12 +3026,18 @@ mingw* | pw32*)
fi
;;
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
@@ -2508,7 +3095,7 @@ linux* | k*bsd*-gnu)
;;
netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
@@ -2521,12 +3108,12 @@ newos6*)
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
;;
openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
@@ -2545,6 +3132,10 @@ solaris*)
lt_cv_deplibs_check_method=pass_all
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
sysv4 | sysv4.3*)
case $host_vendor in
motorola)
@@ -2572,7 +3163,7 @@ sysv4 | sysv4.3*)
esac
;;
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+tpf*)
lt_cv_deplibs_check_method=pass_all
;;
esac
@@ -2580,14 +3171,20 @@ esac
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
-# AC_PROG_NM
+
+# LT_PATH_NM
# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
[if test -n "$NM"; then
# Let the user override the test.
lt_cv_path_NM="$NM"
@@ -2629,16 +3226,51 @@ else
done
IFS="$lt_save_ifs"
done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+ : ${lt_cv_path_NM=no}
fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
-# AC_CHECK_LIBM
-# -------------
+
+# LT_LIB_M
+# --------
# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
+AC_DEFUN([LT_LIB_M],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
@@ -2653,2155 +3285,46 @@ case $host in
AC_CHECK_LIB(m, cos, LIBM="-lm")
;;
esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!). If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- case $enable_ltdl_convenience in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!). If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- AC_CHECK_LIB(ltdl, lt_dlinit,
- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
- [if test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- else
- enable_ltdl_install=yes
- fi
- ])
- if test x"$enable_ltdl_install" = x"yes"; then
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- else
- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- LTDLINCL=
- fi
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
- [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
- [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
- [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- AC_PROG_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- darwin* | rhapsody*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
- if test "$GXX" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
- fi
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- freebsd-elf*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*) ;;
- *)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- interix[[3-9]]*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler