ADDED ChangeLog Index: ChangeLog ================================================================== --- /dev/null +++ ChangeLog @@ -0,0 +1,290 @@ +2015-04-19 + + * fixed javadoc comments + +2015-04-17 + + * proper detect Java 1.8 in configure + * cleaned up unnecessary code thanks Ville Skytta" + +2014-06-24 + + * fixed crashes when keys given as null strings in + interfaces to sqlite3_(re)key as suggested by Ghui Liao + * some code reordering due to Ville Skytta"'s CLANG analysis + +2013-11-24 + + * fixed memory leak in SQLite.Database.vm_compile as + suggested by Vijay Shankar Rajanna + +2013-02-14 + + * improved vatest in configure as suggested by Michael Brey + * fixed memory leaks in SQLite.Database.(re)key as + suggested by Tam'as Kov'acs + * fixed concurrency/locking issues in finalizer methods + +2012-02-09 + + * added newer sqlite3_status(), sqlite3_db_status() constants + * added DataSource for JDK 1.4/1.5/1.6 + * proper detect Java 1.7 in SQLite.JDBC + +2012-02-02 + + * reviewed configure for Java 1.7 + * added DataSource for Java 1.7 + +2011-12-22 + * fixes in open mode of SQLite.Shell + * minor tweaks in Makefile.in + +2011-11-22 + + * support for OpenJDK 1.7 added + +2011-10-30 + + * minor doc update + * updated config.sub/config.guess + +2011-10-27 + + * updated libtool/aclocal/configure + * added SQLite.Stmt.column_name method as suggested by Eoin Shanaghy + +2011-08-27 + + * update to SQLite 3.7.7.1 + * fallback to pkg-config for Ubuntu 11 SQLite3 + * RPM packaging + * added support for Oracle Java Embedded Client (OJEC) + +2011-04-30 + + * update to SQLite 3.7.6.2 + * fix to allow "CREATE TRIGGER" in JDBCPreparedStatement + * added Ville Skytta"'s performance patches for JDK >= 1.6 + +2011-01-06 + + * update to SQLite 3.7.4 + * fixed divide by zero in batches as per Gregory Goldberg's patch + * added Elliot Hughes' patches for Android + +2010-07-27 + + * update to SQLite 3.7.0 + * fixes in using JNI method GetStringUTFRegion + +2010-07-09 + + * update to SQLite 3.6.23.1 + * added backup API support (SQLite.Backup class) + * added SQLite.Stmt.status method + * added SQLite.Database.status, SQLite.Database.db_status methods + * added SQLite.Profile interface + +2010-04-13 + + * added Elliot Hughes' patches for Android + +2010-01-31 + + * update to SQLite 3.6.22 + * fix in SQLite.StringEncoder regarding string length + * fix in configure logic for JAVA_HOME detection + +2009-08-21 + + * added new utility classes SQLite.SQLDump and SQLite.SQLRestore + * fixed swapped PKCOLUMN_NAME vs. FKCOLUMN_NAME in + JDBCDatabaseMetaData, thanks Ryan McKay for patch + +2009-04-30 + + * for SQLite 3 engines the Vm.step() method now reports + column meta data for empty result sets similar to + PRAGMA empty_result_callbacks = on + +2009-04-20 + + * update to SQLite 3.6.13 + * autoconf and JDBC2z fixes as suggested by Ville Skyttä + +2009-04-09 + + * update to SQLite 3.6.11 + * renamed native method SQLite.Database._open() to .._open4() + and re-added old .._open() method to be backward compatible + to sqlite.jar files older than 2009-01-22 + * added JDBC driver property "vfs" to enable distinct + per connection SQLite 3 VFS choice + * added configure option --enable-load-extension + +2009-02-13 + + * prefer amalgamation sqlite3.c if --with-sqlite3= is used in + configure, this allows to built a self contained libsqlite_jni.so + when --without-sqlite is specified, too. + +2009-02-10 + + * added SQLite.Benchmark to sqlite.jar + +2009-01-22 + + * added support for sqlite3_open_v2() + * added variant SQLite.Database.open to allow to explicitely + select creation of an SQLite 2 or 3 database, thanks + David Fuchs for patch + * added test for failed malloc in internal trans2iso() function + * fixed wrong "DECIMAL_POINTS" column for + JDBCDatabaseMetaData.getColumns() method to "DECIMAL_DIGITS" + +2008-10-12 + + * updated MSVC makefiles for newer SEE versions + +2008-10-06 + + * update to SQLite 3.6.3 + * Debian packaging fixes as suggested by Pedro Aranda + * UN*X fixes as suggested by Ville Skyttä + +2008-08-04 + + * added JNI method _enable_shared_cache() and + handling of system property SQLite.sharedcache + * implemented Connection.setTransactionIsolation() for + SQLite 3.x with shared cache enabled + * update to SQLite 3.6.0 + +2008-07-16 + + * added support for java.sql.Statement.(get|set)MaxRows() + * fixed warnings when compiling for x86_64 with SQLite 2 support + +2008-04-20 + + * update to SQLite 3.5.8 + +2008-04-10 + + * libtool/automake update to 1.4.3/1.6.3 for proper + x86_64 DSO building + * integrated Ville Skyttä's JDBC 4.0 SPI patch + * integrated Ville Skyttä's update boolean methods + +2008-04-05 + + * integrated Ville Skyttä's configure/make patches + +2008-04-01 + + * further fixes in setCharacterStream methods + * update to SQLite 3.5.7 + +2008-03-31 + + * provide (not space/time efficient!) implementations for + java.sql.ResultSet.getBinaryStream(), + java.sql.ResultSet.getCharacterStream(), + java.sql.PreparedStatement.setBinaryStream(), + java.sql.PreparedStatement.setCharacterStream() + * again fix in StringEncoder, this time in the SQLite3 + blob (X'..' format) decoder, thanks Terry Zanzuchi + for reporting + +2008-03-15 + + * again fix right-shift operator in StringEncoder + this time with proper mask, thanks Ziqi Zhang for + reporting + * fixed typo in JDBCResultSet which failed compilation + on Java 1.6 + +2008-01-30 + + * improved SQLite.(Database|Vm).compile error reporting for + SQLite3 databases in native functions in sqlite_jni.c + * again conversion fixes in milliseconds vs. + julian date double values, thanks Dr Harry Karadimas + for initial fixes and testing + +2008-01-12 + + * fixes in double/julian date value conversions + in SQLite.Database + +2008-01-10 + + * again tweaks regarding static native initializers + * allow to omit JNI_OnLoad function in sqlite_jni.c + by C define DONT_USE_JNI_ONLOAD + +2008-01-08 + + * initial implementation of JDBC date/time/timestamp + representation as double/julian date values as + suggested by Dr Harry Karadimas, this is an option + to be set in JDBC connect property "daterepr" = "[Jj]ulian" + * eliminated some jikes warnings + * integrated Ville Skyt"a's getBoolean() patch + * integrated Ville Skytt"a's lib64 and -classpath + into configure.in and Makefile.in + * fix wrong right-shift operator in StringEncoder + thanks Dr Harry Karadimas for patch + +2007-11-08 + + * update MSVC6 build, now using SQLite 3.5.2 + * added java.sql.Types.REAL support + +2007-10-27 + + * update MSVC6 build stuff for SQLite 3.5.1 + * added detect/support of encryption extension + * use "SELECT 1 FROM sqlite_master LIMIT 1" in various + JDBCDatabaseMetaData methods to forcibly reload schema + before "PRAGMA" statements are executed + +2007-09-15 + + * fixes in JDBCResultSet.deleteRow method, indexing + of result set was wrong + +2007-09-14 + + * fixes regarding statement concurrency/type in + JDBCDatabaseMetaData and JDBCConnection + +2007-09-11 + + * further fixes regarding updatable result sets in + JDBCDatabaseMetaData and JDBCResultSet classes + +2007-09-09 + + * first working version with updatable result sets in + JDBCResultSet class + +2007-08-23 + + * JDBC driver's getMinorVersion() returns date code as version + identification + +2007-08-21 + + * explicitely clear batch in JDBCPreparedStatement.close() + * fixed in transaction flag in JDBCConnection.setAutocommit() + when auto commit is turned back on + +2007-08-14 + + * made JDBCDatabaseMetaData.supportsBatchUpdates() report + true for drivers for JDK >= 1.2 + * fixed bug in indexing batch arguments in + JDBCPreparedStatement.executeBatch() + Index: Makefile.in ================================================================== --- Makefile.in +++ Makefile.in @@ -114,14 +114,14 @@ SQLite/BenchmarkDriver.class JDBC0_CLASSES = $(JDBC_DATA_SOURCE_CLASSES) JDBC1_CLASSES = $(JDBC_DRIVER_CLASSES) JDBC2_CLASSES = $(JDBC_DRIVER_CLASSES) -JDBC2x_CLASSES = $(JDBC_DRIVER_CLASSES) -JDBC2y_CLASSES = $(JDBC_DRIVER_CLASSES) -JDBC2z_CLASSES = $(JDBC_DRIVER_CLASSES) -JDBC2z1_CLASSES = $(JDBC_DRIVER_CLASSES) +JDBC2x_CLASSES = $(JDBC_DRIVER_CLASSES) $(JDBC_DATA_SOURCE_CLASSES) +JDBC2y_CLASSES = $(JDBC_DRIVER_CLASSES) $(JDBC_DATA_SOURCE_CLASSES) +JDBC2z_CLASSES = $(JDBC_DRIVER_CLASSES) $(JDBC_DATA_SOURCE_CLASSES) +JDBC2z1_CLASSES = $(JDBC_DRIVER_CLASSES) $(JDBC_DATA_SOURCE_CLASSES) PRIVATE_CLASSES = $(COMMON_CLASSES) $(@JDBCVER@_CLASSES) DOCSRCS = \ SQLite/Authorizer.java \ @@ -206,15 +206,21 @@ $(JAVAC) -classpath sqlite.jar:$(CURDIR) $(JAVAC_FLAGS) test3.java LD_LIBRARY_PATH="$$LD_LIBRARY_PATH:$(CURDIR)/.libs" \ $(JAVA_RUN) $(JAVA_FLAGS) -classpath sqlite.jar:$(CURDIR) \ -DSQLite.library.path=$(CURDIR)/.libs test3 +testg: all + $(JAVAC) -classpath sqlite.jar:$(CURDIR) $(JAVAC_FLAGS) testg.java + LD_LIBRARY_PATH="$$LD_LIBRARY_PATH:$(CURDIR)/.libs" \ + $(JAVA_RUN) $(JAVA_FLAGS) -classpath sqlite.jar:$(CURDIR) \ + -DSQLite.library.path=$(CURDIR)/.libs testg + clean: $(RM) SQLite/*.class SQLite/@JDBCVER@/*.class *.lo *.la *.o *~ \ native/sqlite_jni.h native/mkconst \ SQLite/Constants.java \ - test.class test3.class sqlite.jar conftest* + test.class test3.class testg.class sqlite.jar conftest* $(RM) -r .libs native/.libs META-INF distclean: clean $(RM) config.status config.log config.cache Makefile Index: SQLite/Backup.java ================================================================== --- SQLite/Backup.java +++ SQLite/Backup.java @@ -12,10 +12,12 @@ protected long handle = 0; /** * Finish a backup. + * + * @throws SQLite.Exception indicating SQLite error */ protected void finish() throws SQLite.Exception { synchronized(this) { _finalize(); @@ -40,10 +42,11 @@ /** * Perform a backup step. * * @param n number of pages to backup * @return true when backup completed + * @throws SQLite.Exception indicating SQLite error */ public boolean step(int n) throws SQLite.Exception { synchronized(this) { return _step(n); @@ -52,10 +55,12 @@ private native boolean _step(int n) throws SQLite.Exception; /** * Perform the backup in one step. + * + * @throws SQLite.Exception indicating SQLite error */ public void backup() throws SQLite.Exception { synchronized(this) { _step(-1); @@ -62,10 +67,13 @@ } } /** * Return number of remaining pages to be backed up. + * + * @return number of remaining pages + * @throws SQLite.Exception indicating SQLite error */ public int remaining() throws SQLite.Exception { synchronized(this) { return _remaining(); @@ -74,10 +82,13 @@ private native int _remaining() throws SQLite.Exception; /** * Return the total number of pages in the backup source database. + * + * @return total number of pages + * @throws SQLite.Exception indicating SQLite error */ public int pagecount() throws SQLite.Exception { synchronized(this) { return _pagecount(); Index: SQLite/Benchmark.java ================================================================== --- SQLite/Benchmark.java +++ SQLite/Benchmark.java @@ -181,21 +181,21 @@ Client = (Thread) en.nextElement(); Client.join(); } vClient.removeAllElements(); reportDone(); - + transactions = true; prepared_stmt = false; start_time = System.currentTimeMillis(); for (int i = 0; i < n_clients; i++) { Client = new BenchmarkThread(n_txn_per_client, url, user, password, this); Client.start(); vClient.addElement(Client); } - + /* * Barrier to complete this test session */ en = vClient.elements(); while (en.hasMoreElements()) { @@ -202,11 +202,11 @@ Client = (Thread) en.nextElement(); Client.join(); } vClient.removeAllElements(); reportDone(); - + transactions = false; prepared_stmt = true; start_time = System.currentTimeMillis(); for (int i = 0; i < n_clients; i++) { Client = new BenchmarkThread(n_txn_per_client, url, @@ -216,11 +216,11 @@ } /* * Barrier to complete this test session */ - + en = vClient.elements(); while (en.hasMoreElements()) { Client = (Thread) en.nextElement(); Client.join(); } @@ -234,11 +234,11 @@ Client = new BenchmarkThread(n_txn_per_client, url, user, password, this); Client.start(); vClient.addElement(Client); } - + /* * Barrier to complete this test session */ en = vClient.elements(); while (en.hasMoreElements()) { Index: SQLite/Blob.java ================================================================== --- SQLite/Blob.java +++ SQLite/Blob.java @@ -23,20 +23,24 @@ private int pos; /** * Contruct InputStream from blob instance. + * + * @param blob blob to make input stream from */ BlobR(Blob blob) { this.blob = blob; this.pos = 0; } /** * Return number of available bytes for reading. + * * @return available input bytes + * @throws IOException on I/O error */ public int available() throws IOException { int ret = blob.size - pos; return (ret < 0) ? 0 : ret; @@ -49,26 +53,31 @@ public void mark(int limit) { } /** * Reset method; dummy to satisfy InputStream class. + * + * @throws IOException on I/O error */ public void reset() throws IOException { } /** * Mark support; not for this class. + * * @return always false */ public boolean markSupported() { return false; } /** * Close this blob InputStream. + * + * @throws IOException on I/O error */ public void close() throws IOException { blob.close(); blob = null; @@ -75,10 +84,13 @@ pos = 0; } /** * Skip over blob data. + * + * @param n number of bytes to skip + * @throws IOException on I/O error */ public long skip(long n) throws IOException { long ret = pos + n; if (ret < 0) { @@ -93,11 +105,13 @@ return ret; } /** * Read single byte from blob. + * * @return byte read + * @throws IOException on I/O error */ public int read() throws IOException { byte b[] = new byte[1]; int n = blob.read(b, 0, pos, b.length); @@ -108,12 +122,14 @@ return -1; } /** * Read byte array from blob. + * * @param b byte array to be filled * @return number of bytes read + * @throws IOException on I/O error */ public int read(byte b[]) throws IOException { int n = blob.read(b, 0, pos, b.length); if (n > 0) { @@ -123,14 +139,16 @@ return -1; } /** * Read slice of byte array from blob. + * * @param b byte array to be filled * @param off offset into byte array * @param len length to be read * @return number of bytes read + * @throws IOException on I/O error */ public int read(byte b[], int off, int len) throws IOException { if (off + len > b.length) { len = b.length - off; @@ -169,26 +187,32 @@ private int pos; /** * Contruct OutputStream from blob instance. + * + * @param blob blob to make output stream from */ BlobW(Blob blob) { this.blob = blob; this.pos = 0; } /** * Flush blob; dummy to satisfy OutputStream class. + * + * @throws IOException on I/O error */ public void flush() throws IOException { } /** * Close this blob OutputStream. + * + * @throws IOException on I/O error */ public void close() throws IOException { blob.close(); blob = null; @@ -195,11 +219,13 @@ pos = 0; } /** * Write blob data. + * * @param v byte to be written at current position. + * @throws IOException on I/O error */ public void write(int v) throws IOException { byte b[] = new byte[1]; b[0] = (byte) v; @@ -206,11 +232,13 @@ pos += blob.write(b, 0, pos, 1); } /** * Write blob data. + * * @param b byte array to be written at current position. + * @throws IOException on I/O error */ public void write(byte[] b) throws IOException { if (b != null && b.length > 0) { pos += blob.write(b, 0, pos, b.length); @@ -217,13 +245,15 @@ } } /** * Write blob data. + * * @param b byte array to be written. * @param off offset within byte array * @param len length of data to be written + * @throws IOException on I/O error */ public void write(byte[] b, int off, int len) throws IOException { if (b != null) { if (off + len > b.length) { @@ -261,19 +291,21 @@ protected int size = 0; /** * Return InputStream for this blob + * * @return InputStream */ public InputStream getInputStream() { return new BlobR(this); } /** * Return OutputStream for this blob + * * @return OutputStream */ public OutputStream getOutputStream() { return new BlobW(this); @@ -285,26 +317,30 @@ public native void close(); /** * Internal blob write method. + * * @param b byte array to be written * @param off offset into byte array * @param pos offset into blob * @param len length to be written * @return number of bytes written to blob + * @throws IOException on I/O error */ native int write(byte[] b, int off, int pos, int len) throws IOException; /** * Internal blob read method. + * * @param b byte array to be written * @param off offset into byte array * @param pos offset into blob * @param len length to be written * @return number of bytes written to blob + * @throws IOException on I/O error */ native int read(byte[] b, int off, int pos, int len) throws IOException; /** Index: SQLite/BusyHandler.java ================================================================== --- SQLite/BusyHandler.java +++ SQLite/BusyHandler.java @@ -12,9 +12,10 @@ * until the table becomes unlocked, or false in order * to abandon the action.

* * @param table the name of the locked table * @param count number of times the table was locked + * @return true if still blocked */ public boolean busy(String table, int count); } Index: SQLite/Callback.java ================================================================== --- SQLite/Callback.java +++ SQLite/Callback.java @@ -60,9 +60,10 @@ * This method is invoked for each row of the * result set. If true is returned the running * SQLite query is aborted.

* * @param rowdata string array holding the column values of the row + * @return true to abort */ public boolean newrow(String rowdata[]); } Index: SQLite/Database.java ================================================================== --- SQLite/Database.java +++ SQLite/Database.java @@ -21,10 +21,11 @@ /** * Open an SQLite database file. * * @param filename the name of the database file * @param mode open mode (e.g. SQLITE_OPEN_READONLY) + * @throws SQLite.Exception indicating SQLite error */ public void open(String filename, int mode) throws SQLite.Exception { if ((mode & 0200) != 0) { mode = SQLite.Constants.SQLITE_OPEN_READWRITE | @@ -48,11 +49,12 @@ /** * Open an SQLite database file. * * @param filename the name of the database file * @param mode open mode (e.g. SQLITE_OPEN_READONLY) - * @param vfs VFS name (for SQLite >= 3.5) + * @param vfs VFS name (for SQLite ≥ 3.5) + * @throws SQLite.Exception indicating SQLite error */ public void open(String filename, int mode, String vfs) throws SQLite.Exception { if ((mode & 0200) != 0) { @@ -77,12 +79,13 @@ /** * Open an SQLite database file. * * @param filename the name of the database file * @param mode open mode (e.g. SQLITE_OPEN_READONLY) - * @param vfs VFS name (for SQLite >= 3.5) + * @param vfs VFS name (for SQLite ≥ 3.5) * @param ver2 flag to force version on create (false = SQLite3, true = SQLite2) + * @throws SQLite.Exception indicating SQLite error */ public void open(String filename, int mode, String vfs, boolean ver2) throws SQLite.Exception { if ((mode & 0200) != 0) { @@ -122,10 +125,11 @@ /** * Open SQLite auxiliary database file for temporary * tables. * * @param filename the name of the auxiliary file or null + * @throws SQLite.Exception indicating SQLite error */ public void open_aux_file(String filename) throws SQLite.Exception { synchronized(this) { _open_aux_file(filename); @@ -147,10 +151,12 @@ private native void _finalize(); /** * Close the underlying SQLite database file. + * + * @throws SQLite.Exception indicating SQLite error */ public void close() throws SQLite.Exception { synchronized(this) { _close(); @@ -168,10 +174,11 @@ * an error code is set, which later can be retrieved by * the last_error() method. * * @param sql the SQL statement to be executed * @param cb the object implementing the callback methods + * @throws SQLite.Exception indicating SQLite error */ public void exec(String sql, SQLite.Callback cb) throws SQLite.Exception { synchronized(this) { _exec(sql, cb); @@ -200,10 +207,11 @@ * the last_error() method. * * @param sql the SQL statement to be executed * @param cb the object implementing the callback methods * @param args arguments for the SQL statement, '%q' substitution + * @throws SQLite.Exception indicating SQLite error */ public void exec(String sql, SQLite.Callback cb, String args[]) throws SQLite.Exception { synchronized(this) { @@ -215,10 +223,12 @@ throws SQLite.Exception; /** * Return the row identifier of the last inserted * row. + * + * @return rowid of last inserted row */ public long last_insert_rowid() { synchronized(this) { return _last_insert_rowid(); @@ -239,10 +249,12 @@ private native void _interrupt(); /** * Return the number of changed rows for the last statement. + * + * @return number of changed rows */ public long changes() { synchronized(this) { return _changes(); @@ -286,10 +298,11 @@ * set into memory. * * @param sql the SQL statement to be executed * @param maxrows the max. number of rows to retrieve * @return result set + * @throws SQLite.Exception indicating SQLite error */ public TableResult get_table(String sql, int maxrows) throws SQLite.Exception { TableResult ret = new TableResult(maxrows); @@ -304,11 +317,13 @@ } else { synchronized(this) { /* only one statement !!! */ Vm vm = compile(sql); set_last_error(vm.error_code); - if (ret.maxrows > 0) { + if (vm.is_closed()) { + /* do nothing */ + } else if (ret.maxrows > 0) { while (ret.nrows < ret.maxrows && vm.step(ret)) { set_last_error(vm.error_code); } } else { while (vm.step(ret)) { @@ -325,10 +340,11 @@ * Convenience method to retrieve an entire result * set into memory. * * @param sql the SQL statement to be executed * @return result set + * @throws SQLite.Exception indicating SQLite error */ public TableResult get_table(String sql) throws SQLite.Exception { return get_table(sql, 0); } @@ -339,10 +355,11 @@ * * @param sql the SQL statement to be executed * @param maxrows the max. number of rows to retrieve * @param args arguments for the SQL statement, '%q' substitution * @return result set + * @throws SQLite.Exception indicating SQLite error */ public TableResult get_table(String sql, int maxrows, String args[]) throws SQLite.Exception { TableResult ret = new TableResult(maxrows); @@ -357,11 +374,13 @@ } else { synchronized(this) { /* only one statement !!! */ Vm vm = compile(sql, args); set_last_error(vm.error_code); - if (ret.maxrows > 0) { + if (vm.is_closed()) { + /* do nothing */ + } else if (ret.maxrows > 0) { while (ret.nrows < ret.maxrows && vm.step(ret)) { set_last_error(vm.error_code); } } else { while (vm.step(ret)) { @@ -379,10 +398,11 @@ * set into memory. * * @param sql the SQL statement to be executed * @param args arguments for the SQL statement, '%q' substitution * @return result set + * @throws SQLite.Exception indicating SQLite error */ public TableResult get_table(String sql, String args[]) throws SQLite.Exception { return get_table(sql, 0, args); @@ -393,10 +413,11 @@ * set into memory. * * @param sql the SQL statement to be executed * @param args arguments for the SQL statement, '%q' substitution * @param tbl TableResult to receive result set + * @throws SQLite.Exception indicating SQLite error */ public void get_table(String sql, String args[], TableResult tbl) throws SQLite.Exception { tbl.clear(); @@ -410,11 +431,13 @@ } } else { synchronized(this) { /* only one statement !!! */ Vm vm = compile(sql, args); - if (tbl.maxrows > 0) { + if (vm.is_closed()) { + /* do nothing */ + } else if (tbl.maxrows > 0) { while (tbl.nrows < tbl.maxrows && vm.step(tbl)) { set_last_error(vm.error_code); } } else { while (vm.step(tbl)) { @@ -430,10 +453,11 @@ * See if an SQL statement is complete. * Returns true if the input string comprises * one or more complete SQL statements. * * @param sql the SQL statement to be checked + * @return true if string is a complete SQL statement */ public synchronized static boolean complete(String sql) { return _complete(sql); } @@ -442,17 +466,21 @@ /** * Return SQLite version number as string. * Don't rely on this when both SQLite 2 and 3 are compiled * into the native part. Use the class method in this case. + * + * @return version string */ public native static String version(); /** * Return SQLite version number as string. - * If the database is not open, unknown is returned. + * If the database is not open, the string "unknown" is returned. + * + * @return version string */ public native String dbversion(); /** @@ -502,11 +530,11 @@ } private native void _function_type(String name, int type); /** - * Return the code of the last error occured in + * Return the code of the last error occurred in * any of the exec() methods. The value is valid * after an Exception has been reported by one of * these methods. See the Constants * class for possible values. * @@ -517,10 +545,11 @@ return error_code; } /** * Internal: set error code. + * * @param error_code new error code */ protected void set_last_error(int error_code) { this.error_code = error_code; @@ -549,11 +578,13 @@ public static native String error_string(int error_code); /** * Set character encoding. + * * @param enc name of encoding + * @throws SQLite.Exception indicating SQLite error */ public void set_encoding(String enc) throws SQLite.Exception { synchronized(this) { _set_encoding(enc); @@ -598,10 +629,11 @@ * * @param dest destination database * @param destName schema of destination database to be backed up * @param srcName schema of source database * @return Backup object to perform the backup operation + * @throws SQLite.Exception indicating SQLite error */ public Backup backup(Database dest, String destName, String srcName) throws SQLite.Exception { synchronized(this) { @@ -673,10 +705,11 @@ * Compile and return SQLite VM for SQL statement. Only available * in SQLite 2.8.0 and above, otherwise a no-op. * * @param sql SQL statement to be compiled * @return a Vm object + * @throws SQLite.Exception indicating SQLite error */ public Vm compile(String sql) throws SQLite.Exception { synchronized(this) { Vm vm = new Vm(); @@ -690,10 +723,11 @@ * in SQLite 3.0 and above, otherwise a no-op. * * @param sql SQL statement to be compiled * @param args arguments for the SQL statement, '%q' substitution * @return a Vm object + * @throws SQLite.Exception indicating SQLite error */ public Vm compile(String sql, String args[]) throws SQLite.Exception { synchronized(this) { Vm vm = new Vm(); @@ -706,10 +740,11 @@ * Prepare and return SQLite3 statement for SQL. Only available * in SQLite 3.0 and above, otherwise a no-op. * * @param sql SQL statement to be prepared * @return a Stmt object + * @throws SQLite.Exception indicating SQLite error */ public Stmt prepare(String sql) throws SQLite.Exception { synchronized(this) { Stmt stmt = new Stmt(); @@ -718,16 +753,18 @@ } } /** * Open an SQLite3 blob. Only available in SQLite 3.4.0 and above. + * * @param db database name * @param table table name * @param column column name * @param row row identifier * @param rw if true, open for read-write, else read-only * @return a Blob object + * @throws SQLite.Exception indicating SQLite error */ public Blob open_blob(String db, String table, String column, long row, boolean rw) throws SQLite.Exception { synchronized(this) { @@ -737,51 +774,60 @@ } } /** * Check type of open database. + * * @return true if SQLite3 database */ public native boolean is3(); /** * Internal compile method. + * * @param sql SQL statement * @param vm Vm object + * @throws SQLite.Exception indicating SQLite error */ private native void vm_compile(String sql, Vm vm) throws SQLite.Exception; /** * Internal compile method, SQLite 3.0 only. + * * @param sql SQL statement * @param args arguments for the SQL statement, '%q' substitution * @param vm Vm object + * @throws SQLite.Exception indicating SQLite error */ private native void vm_compile_args(String sql, Vm vm, String args[]) throws SQLite.Exception; /** * Internal SQLite3 prepare method. + * * @param sql SQL statement * @param stmt Stmt object + * @throws SQLite.Exception indicating SQLite error */ private native void stmt_prepare(String sql, Stmt stmt) throws SQLite.Exception; /** * Internal SQLite open blob method. + * * @param db database name * @param table table name * @param column column name * @param row row identifier * @param rw if true, open for read-write, else read-only * @param blob Blob object + * @throws SQLite.Exception indicating SQLite error */ private native void _open_blob(String db, String table, String column, long row, boolean rw, Blob blob) throws SQLite.Exception; @@ -806,10 +852,11 @@ * Specify key for encrypted database. To be called * right after open() on SQLite3 databases. * Not available in public releases of SQLite. * * @param ekey the key as byte array + * @throws SQLite.Exception indicating SQLite error */ public void key(byte[] ekey) throws SQLite.Exception { synchronized(this) { _key(ekey); @@ -820,10 +867,11 @@ * Specify key for encrypted database. To be called * right after open() on SQLite3 databases. * Not available in public releases of SQLite. * * @param skey the key as String + * @throws SQLite.Exception indicating SQLite error */ public void key(String skey) throws SQLite.Exception { synchronized(this) { byte ekey[] = null; @@ -844,10 +892,11 @@ * Change the key of a encrypted database. The * SQLite3 database must have been open()ed. * Not available in public releases of SQLite. * * @param ekey the key as byte array + * @throws SQLite.Exception indicating SQLite error */ public void rekey(byte[] ekey) throws SQLite.Exception { synchronized(this) { _rekey(ekey); @@ -858,10 +907,11 @@ * Change the key of a encrypted database. The * SQLite3 database must have been open()ed. * Not available in public releases of SQLite. * * @param skey the key as String + * @throws SQLite.Exception indicating SQLite error */ public void rekey(String skey) throws SQLite.Exception { synchronized(this) { byte ekey[] = null; @@ -909,10 +959,11 @@ /** * Make long value from julian date for java.lang.Date * * @param s string (double value) (julian date in SQLite3 format) * @return long + * @throws SQLite.Exception indicating SQLite error */ public static long long_from_julian(String s) throws SQLite.Exception { try { double d = Double.valueOf(s).doubleValue(); Index: SQLite/FunctionContext.java ================================================================== --- SQLite/FunctionContext.java +++ SQLite/FunctionContext.java @@ -64,10 +64,12 @@ public native void set_result_zeroblob(int n); /** * Retrieve number of rows for aggregate function. + * + * @return number of rows */ public native int count(); /** Index: SQLite/JDBC.java ================================================================== --- SQLite/JDBC.java +++ SQLite/JDBC.java @@ -41,11 +41,11 @@ try { Class.forName(cvers); } catch (java.lang.Exception e) { cvers = "SQLite.JDBC2x.JDBCConnection"; } - } else { + } else if (jvers.startsWith("1.6")) { cvers = "SQLite.JDBC2z.JDBCConnection"; try { Class.forName(cvers); } catch (java.lang.Exception e) { cvers = "SQLite.JDBC2y.JDBCConnection"; @@ -52,10 +52,27 @@ try { Class.forName(cvers); } catch (java.lang.Exception ee) { cvers = "SQLite.JDBC2x.JDBCConnection"; } + } + } else { + cvers = "SQLite.JDBC2z1.JDBCConnection"; + try { + Class.forName(cvers); + } catch (java.lang.Exception e) { + cvers = "SQLite.JDBC2z.JDBCConnection"; + try { + Class.forName(cvers); + } catch (java.lang.Exception ee) { + cvers = "SQLite.JDBC2y.JDBCConnection"; + try { + Class.forName(cvers); + } catch (java.lang.Exception eee) { + cvers = "SQLite.JDBC2x.JDBCConnection"; + } + } } } connClass = Class.forName(cvers); makeConn = connClass.getConstructor(args); try { @@ -66,11 +83,11 @@ sharedCache = SQLite.Database._enable_shared_cache(true); } } catch (java.lang.Exception e) { } try { - String tvfs = + String tvfs = java.lang.System.getProperty("SQLite.vfs"); if (tvfs != null) { vfs = tvfs; } } catch (java.lang.Exception e) { @@ -80,11 +97,11 @@ } } public JDBC() { } - + public boolean acceptsURL(String url) throws SQLException { return url.startsWith("sqlite:/") || url.startsWith("jdbc:sqlite:/"); } Index: SQLite/JDBC0/JDBCConnection.java ================================================================== --- SQLite/JDBC0/JDBCConnection.java +++ SQLite/JDBC0/JDBCConnection.java @@ -179,11 +179,11 @@ /* non-standard */ public SQLite.Database getSQLiteDatabase() { return (SQLite.Database) db; } - + public Statement createStatement() { JDBCStatement s = new JDBCStatement(this); return s; } @@ -200,11 +200,11 @@ throw new SQLException("unsupported result set concurrency"); } JDBCStatement s = new JDBCStatement(this); return s; } - + public DatabaseMetaData getMetaData() throws SQLException { if (meta == null) { meta = new JDBCDatabaseMetaData(this); } return meta; Index: SQLite/JDBC0/JDBCDatabaseMetaData.java ================================================================== --- SQLite/JDBC0/JDBCDatabaseMetaData.java +++ SQLite/JDBC0/JDBCDatabaseMetaData.java @@ -120,11 +120,11 @@ return "SELECT,UPDATE,CREATE,TABLE,VIEW,DELETE,FROM,WHERE" + ",COMMIT,ROLLBACK,TRIGGER"; } public String getNumericFunctions() throws SQLException { - return ""; + return ""; } public String getStringFunctions() throws SQLException { return ""; } @@ -158,11 +158,11 @@ } public boolean nullPlusNonNullIsNull() throws SQLException { return false; } - + public boolean supportsConvert() throws SQLException { return false; } public boolean supportsConvert(int fromType, int toType) @@ -215,11 +215,11 @@ return true; } public boolean supportsMinimumSQLGrammar() throws SQLException { return true; - } + } public boolean supportsCoreSQLGrammar() throws SQLException { return false; } @@ -285,11 +285,11 @@ } public boolean supportsSchemasInTableDefinitions() throws SQLException { return false; } - + public boolean supportsSchemasInIndexDefinitions() throws SQLException { return false; } public boolean supportsSchemasInPrivilegeDefinitions() @@ -500,11 +500,11 @@ return null; } public ResultSet getProcedureColumns(String catalog, String schemaPattern, - String procedureNamePattern, + String procedureNamePattern, String columnNamePattern) throws SQLException { return null; } @@ -527,11 +527,11 @@ sb.append(" AND "); if (types == null || types.length == 0) { sb.append("(type = 'table' or type = 'view')"); } else { sb.append("("); - String sep = ""; + String sep = ""; for (int i = 0; i < types.length; i++) { sb.append(sep); sb.append("type = "); sb.append(SQLite.Shell.sql_quote(types[i].toLowerCase())); sep = " or "; @@ -1433,12 +1433,12 @@ public boolean supportsBatchUpdates() throws SQLException { return true; } - public ResultSet getUDTs(String catalog, String schemaPattern, - String typeNamePattern, int[] types) + public ResultSet getUDTs(String catalog, String schemaPattern, + String typeNamePattern, int[] types) throws SQLException { return null; } public Connection getConnection() throws SQLException { @@ -1630,15 +1630,15 @@ } public int getJDBCMajorVersion() { return 1; } - + public int getJDBCMinorVersion() { return 0; } public int getSQLStateType() throws SQLException { return sqlStateXOpen; } } Index: SQLite/JDBC0/JDBCPreparedStatement.java ================================================================== --- SQLite/JDBC0/JDBCPreparedStatement.java +++ SQLite/JDBC0/JDBCPreparedStatement.java @@ -6,15 +6,11 @@ class BatchArg { String arg; boolean blob; BatchArg(String arg, boolean blob) { - if (arg == null) { - this.arg = null; - } else { - this.arg = new String(arg); - } + this.arg = arg; this.blob = blob; } } public class JDBCPreparedStatement extends JDBCStatement @@ -142,11 +138,11 @@ throw new SQLException("bad parameter index"); } args[parameterIndex - 1] = nullrepl ? "" : null; blobs[parameterIndex - 1] = false; } - + public void setBoolean(int parameterIndex, boolean x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } @@ -246,11 +242,11 @@ } } blobs[parameterIndex - 1] = false; } - public void setTime(int parameterIndex, java.sql.Time x) + public void setTime(int parameterIndex, java.sql.Time x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } if (x == null) { @@ -285,11 +281,11 @@ public void setAsciiStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLException("not supported"); } - public void setUnicodeStream(int parameterIndex, java.io.InputStream x, + public void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLException("not supported"); } public void setBinaryStream(int parameterIndex, java.io.InputStream x, Index: SQLite/JDBC0/JDBCResultSet.java ================================================================== --- SQLite/JDBC0/JDBCResultSet.java +++ SQLite/JDBC0/JDBCResultSet.java @@ -150,11 +150,11 @@ public int findColumn(String columnName) throws SQLException { JDBCResultSetMetaData m = (JDBCResultSetMetaData) getMetaData(); return m.findColByName(columnName); } - + public int getRow() throws SQLException { if (tr == null) { throw new SQLException("no rows"); } return row + 1; @@ -470,11 +470,11 @@ } catch (java.lang.Exception e) { lastg = null; } return null; } - + public double getDouble(String columnName) throws SQLException { int col = findColumn(columnName); return getDouble(col); } @@ -684,11 +684,11 @@ } public boolean wasNull() throws SQLException { return lastg == null; } - + public void clearWarnings() throws SQLException { throw new SQLException("not supported"); } public boolean isFirst() throws SQLException { Index: SQLite/JDBC0/JDBCResultSetMetaData.java ================================================================== --- SQLite/JDBC0/JDBCResultSetMetaData.java +++ SQLite/JDBC0/JDBCResultSetMetaData.java @@ -3,15 +3,15 @@ import java.sql.*; public class JDBCResultSetMetaData implements java.sql.ResultSetMetaData { private JDBCResultSet r; - + public JDBCResultSetMetaData(JDBCResultSet r) { this.r = r; } - + public String getCatalogName(int column) throws java.sql.SQLException { return null; } public String getColumnClassName(int column) throws java.sql.SQLException { @@ -162,11 +162,11 @@ public boolean isCurrency(int column) throws java.sql.SQLException { return false; } - public boolean isDefinitelyWritable(int column) + public boolean isDefinitelyWritable(int column) throws java.sql.SQLException { return true; } public int isNullable(int column) throws java.sql.SQLException { Index: SQLite/JDBC0/JDBCStatement.java ================================================================== --- SQLite/JDBC0/JDBCStatement.java +++ SQLite/JDBC0/JDBCStatement.java @@ -13,11 +13,11 @@ public JDBCStatement(JDBCConnection conn) { this.conn = conn; this.updcnt = 0; this.rs = null; - this.batch = null; + this.batch = null; } public void setFetchSize(int fetchSize) throws SQLException { throw new SQLException("not supported"); } @@ -129,11 +129,11 @@ throw new SQLException(e.toString()); } break; } if (!updonly && tr == null) { - throw new SQLException("no result set produced"); + rs = new JDBCResultSet(new TableResultX(0), this); } if (!updonly && tr != null) { rs = new JDBCResultSet(new TableResultX(tr), this); } return rs; Index: SQLite/JDBC0/TableResultX.java ================================================================== --- SQLite/JDBC0/TableResultX.java +++ SQLite/JDBC0/TableResultX.java @@ -35,12 +35,12 @@ } if (tr.types != null) { for (int i = 0; i < tr.types.length; i++) { sql_type[i] = JDBCDatabaseMetaData.mapSqlType(tr.types[i]); } - } + } } void sql_types(int types[]) { sql_type = types; - } + } } Index: SQLite/JDBC1/JDBCConnection.java ================================================================== --- SQLite/JDBC1/JDBCConnection.java +++ SQLite/JDBC1/JDBCConnection.java @@ -179,11 +179,11 @@ /* non-standard */ public SQLite.Database getSQLiteDatabase() { return db; } - + public Statement createStatement() { JDBCStatement s = new JDBCStatement(this); return s; } Index: SQLite/JDBC1/JDBCDatabaseMetaData.java ================================================================== --- SQLite/JDBC1/JDBCDatabaseMetaData.java +++ SQLite/JDBC1/JDBCDatabaseMetaData.java @@ -120,11 +120,11 @@ return "SELECT,UPDATE,CREATE,TABLE,VIEW,DELETE,FROM,WHERE" + ",COMMIT,ROLLBACK,TRIGGER"; } public String getNumericFunctions() throws SQLException { - return ""; + return ""; } public String getStringFunctions() throws SQLException { return ""; } @@ -158,11 +158,11 @@ } public boolean nullPlusNonNullIsNull() throws SQLException { return false; } - + public boolean supportsConvert() throws SQLException { return false; } public boolean supportsConvert(int fromType, int toType) @@ -215,11 +215,11 @@ return true; } public boolean supportsMinimumSQLGrammar() throws SQLException { return true; - } + } public boolean supportsCoreSQLGrammar() throws SQLException { return false; } @@ -285,11 +285,11 @@ } public boolean supportsSchemasInTableDefinitions() throws SQLException { return false; } - + public boolean supportsSchemasInIndexDefinitions() throws SQLException { return false; } public boolean supportsSchemasInPrivilegeDefinitions() @@ -500,11 +500,11 @@ return null; } public ResultSet getProcedureColumns(String catalog, String schemaPattern, - String procedureNamePattern, + String procedureNamePattern, String columnNamePattern) throws SQLException { return null; } @@ -527,11 +527,11 @@ sb.append(" AND "); if (types == null || types.length == 0) { sb.append("(type = 'table' or type = 'view')"); } else { sb.append("("); - String sep = ""; + String sep = ""; for (int i = 0; i < types.length; i++) { sb.append(sep); sb.append("type = "); sb.append(SQLite.Shell.sql_quote(types[i].toLowerCase())); sep = " or "; @@ -1361,12 +1361,12 @@ } } return rs; } - public ResultSet getUDTs(String catalog, String schemaPattern, - String typeNamePattern, int[] types) + public ResultSet getUDTs(String catalog, String schemaPattern, + String typeNamePattern, int[] types) throws SQLException { return null; } public Connection getConnection() throws SQLException { Index: SQLite/JDBC1/JDBCPreparedStatement.java ================================================================== --- SQLite/JDBC1/JDBCPreparedStatement.java +++ SQLite/JDBC1/JDBCPreparedStatement.java @@ -133,11 +133,11 @@ throw new SQLException("bad parameter index"); } args[parameterIndex - 1] = nullrepl ? "" : null; blobs[parameterIndex - 1] = false; } - + public void setBoolean(int parameterIndex, boolean x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } @@ -250,11 +250,11 @@ } } blobs[parameterIndex - 1] = false; } - public void setTime(int parameterIndex, java.sql.Time x) + public void setTime(int parameterIndex, java.sql.Time x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } if (x == null) { @@ -289,11 +289,11 @@ public void setAsciiStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLException("not supported"); } - public void setUnicodeStream(int parameterIndex, java.io.InputStream x, + public void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLException("not supported"); } public void setBinaryStream(int parameterIndex, java.io.InputStream x, Index: SQLite/JDBC1/JDBCResultSet.java ================================================================== --- SQLite/JDBC1/JDBCResultSet.java +++ SQLite/JDBC1/JDBCResultSet.java @@ -154,11 +154,11 @@ public int findColumn(String columnName) throws SQLException { JDBCResultSetMetaData m = (JDBCResultSetMetaData) getMetaData(); return m.findColByName(columnName); } - + public int getRow() throws SQLException { if (tr == null) { throw new SQLException("no rows"); } return row + 1; @@ -452,11 +452,11 @@ } catch (java.lang.Exception e) { lastg = null; } return null; } - + public double getDouble(String columnName) throws SQLException { int col = findColumn(columnName); return getDouble(col); } @@ -669,11 +669,11 @@ } public boolean wasNull() throws SQLException { return lastg == null; } - + public void clearWarnings() throws SQLException { throw new SQLException("not supported"); } public boolean isFirst() throws SQLException { Index: SQLite/JDBC1/JDBCResultSetMetaData.java ================================================================== --- SQLite/JDBC1/JDBCResultSetMetaData.java +++ SQLite/JDBC1/JDBCResultSetMetaData.java @@ -3,15 +3,15 @@ import java.sql.*; public class JDBCResultSetMetaData implements java.sql.ResultSetMetaData { private JDBCResultSet r; - + public JDBCResultSetMetaData(JDBCResultSet r) { this.r = r; } - + public String getCatalogName(int column) throws java.sql.SQLException { return null; } public String getColumnClassName(int column) throws java.sql.SQLException { @@ -162,11 +162,11 @@ public boolean isCurrency(int column) throws java.sql.SQLException { return false; } - public boolean isDefinitelyWritable(int column) + public boolean isDefinitelyWritable(int column) throws java.sql.SQLException { return true; } public int isNullable(int column) throws java.sql.SQLException { Index: SQLite/JDBC1/JDBCStatement.java ================================================================== --- SQLite/JDBC1/JDBCStatement.java +++ SQLite/JDBC1/JDBCStatement.java @@ -111,11 +111,11 @@ throw new SQLException(e.toString()); } break; } if (!updonly && tr == null) { - throw new SQLException("no result set produced"); + rs = new JDBCResultSet(new TableResultX(0), this); } if (!updonly && tr != null) { rs = new JDBCResultSet(new TableResultX(tr), this); } return rs; Index: SQLite/JDBC1/TableResultX.java ================================================================== --- SQLite/JDBC1/TableResultX.java +++ SQLite/JDBC1/TableResultX.java @@ -34,12 +34,12 @@ } if (tr.types != null) { for (int i = 0; i < tr.types.length; i++) { sql_type[i] = JDBCDatabaseMetaData.mapSqlType(tr.types[i]); } - } + } } void sql_types(int types[]) { sql_type = types; - } + } } Index: SQLite/JDBC2/JDBCConnection.java ================================================================== --- SQLite/JDBC2/JDBCConnection.java +++ SQLite/JDBC2/JDBCConnection.java @@ -190,11 +190,11 @@ /* non-standard */ public SQLite.Database getSQLiteDatabase() { return db; } - + public Statement createStatement() { JDBCStatement s = new JDBCStatement(this); return s; } @@ -211,11 +211,11 @@ throw new SQLException("unsupported result set concurrency"); } JDBCStatement s = new JDBCStatement(this); return s; } - + public DatabaseMetaData getMetaData() throws SQLException { if (meta == null) { meta = new JDBCDatabaseMetaData(this); } return meta; @@ -399,11 +399,11 @@ } public void setTypeMap(java.util.Map map) throws SQLException { throw new SQLException("not supported"); } - + } class DatabaseX extends SQLite.Database { static Object lock = new Object(); Index: SQLite/JDBC2/JDBCDatabaseMetaData.java ================================================================== --- SQLite/JDBC2/JDBCDatabaseMetaData.java +++ SQLite/JDBC2/JDBCDatabaseMetaData.java @@ -124,11 +124,11 @@ return "SELECT,UPDATE,CREATE,TABLE,VIEW,DELETE,FROM,WHERE" + ",COMMIT,ROLLBACK,TRIGGER"; } public String getNumericFunctions() throws SQLException { - return ""; + return ""; } public String getStringFunctions() throws SQLException { return ""; } @@ -162,11 +162,11 @@ } public boolean nullPlusNonNullIsNull() throws SQLException { return false; } - + public boolean supportsConvert() throws SQLException { return false; } public boolean supportsConvert(int fromType, int toType) @@ -219,11 +219,11 @@ return true; } public boolean supportsMinimumSQLGrammar() throws SQLException { return true; - } + } public boolean supportsCoreSQLGrammar() throws SQLException { return false; } @@ -289,11 +289,11 @@ } public boolean supportsSchemasInTableDefinitions() throws SQLException { return false; } - + public boolean supportsSchemasInIndexDefinitions() throws SQLException { return false; } public boolean supportsSchemasInPrivilegeDefinitions() @@ -504,11 +504,11 @@ return null; } public ResultSet getProcedureColumns(String catalog, String schemaPattern, - String procedureNamePattern, + String procedureNamePattern, String columnNamePattern) throws SQLException { return null; } @@ -531,11 +531,11 @@ sb.append(" AND "); if (types == null || types.length == 0) { sb.append("(type = 'table' or type = 'view')"); } else { sb.append("("); - String sep = ""; + String sep = ""; for (int i = 0; i < types.length; i++) { sb.append(sep); sb.append("type = "); sb.append(SQLite.Shell.sql_quote(types[i].toLowerCase())); sep = " or "; @@ -1444,12 +1444,12 @@ public boolean supportsBatchUpdates() throws SQLException { return true; } - public ResultSet getUDTs(String catalog, String schemaPattern, - String typeNamePattern, int[] types) + public ResultSet getUDTs(String catalog, String schemaPattern, + String typeNamePattern, int[] types) throws SQLException { return null; } public Connection getConnection() throws SQLException { Index: SQLite/JDBC2/JDBCPreparedStatement.java ================================================================== --- SQLite/JDBC2/JDBCPreparedStatement.java +++ SQLite/JDBC2/JDBCPreparedStatement.java @@ -7,15 +7,11 @@ class BatchArg { String arg; boolean blob; BatchArg(String arg, boolean blob) { - if (arg == null) { - this.arg = null; - } else { - this.arg = new String(arg); - } + this.arg = arg; this.blob = blob; } } public class JDBCPreparedStatement extends JDBCStatement @@ -143,11 +139,11 @@ throw new SQLException("bad parameter index"); } args[parameterIndex - 1] = nullrepl ? "" : null; blobs[parameterIndex - 1] = false; } - + public void setBoolean(int parameterIndex, boolean x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } @@ -260,11 +256,11 @@ } } blobs[parameterIndex - 1] = false; } - public void setTime(int parameterIndex, java.sql.Time x) + public void setTime(int parameterIndex, java.sql.Time x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } if (x == null) { @@ -299,11 +295,11 @@ public void setAsciiStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLException("not supported"); } - public void setUnicodeStream(int parameterIndex, java.io.InputStream x, + public void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLException("not supported"); } public void setBinaryStream(int parameterIndex, java.io.InputStream x, Index: SQLite/JDBC2/JDBCResultSet.java ================================================================== --- SQLite/JDBC2/JDBCResultSet.java +++ SQLite/JDBC2/JDBCResultSet.java @@ -156,11 +156,11 @@ public int findColumn(String columnName) throws SQLException { JDBCResultSetMetaData m = (JDBCResultSetMetaData) getMetaData(); return m.findColByName(columnName); } - + public int getRow() throws SQLException { if (tr == null) { throw new SQLException("no rows"); } return row + 1; @@ -476,11 +476,11 @@ } catch (java.lang.Exception e) { lastg = null; } return null; } - + public double getDouble(String columnName) throws SQLException { int col = findColumn(columnName); return getDouble(col); } @@ -666,11 +666,11 @@ public Object getObject(String columnName) throws SQLException { int col = findColumn(columnName); return getObject(col); } - public Object getObject(int columnIndex, java.util.Map map) + public Object getObject(int columnIndex, java.util.Map map) throws SQLException { throw new SQLException("not supported"); } public Object getObject(String columnIndex, java.util.Map map) @@ -735,11 +735,11 @@ } public boolean wasNull() throws SQLException { return lastg == null; } - + public void clearWarnings() throws SQLException { throw new SQLException("not supported"); } public boolean isFirst() throws SQLException { Index: SQLite/JDBC2/JDBCResultSetMetaData.java ================================================================== --- SQLite/JDBC2/JDBCResultSetMetaData.java +++ SQLite/JDBC2/JDBCResultSetMetaData.java @@ -4,15 +4,15 @@ import java.sql.Types; public class JDBCResultSetMetaData implements java.sql.ResultSetMetaData { private JDBCResultSet r; - + public JDBCResultSetMetaData(JDBCResultSet r) { this.r = r; } - + public String getCatalogName(int column) throws java.sql.SQLException { return null; } public String getColumnClassName(int column) throws java.sql.SQLException { @@ -163,11 +163,11 @@ public boolean isCurrency(int column) throws java.sql.SQLException { return false; } - public boolean isDefinitelyWritable(int column) + public boolean isDefinitelyWritable(int column) throws java.sql.SQLException { return true; } public int isNullable(int column) throws java.sql.SQLException { Index: SQLite/JDBC2/JDBCStatement.java ================================================================== --- SQLite/JDBC2/JDBCStatement.java +++ SQLite/JDBC2/JDBCStatement.java @@ -18,11 +18,11 @@ public JDBCStatement(JDBCConnection conn) { this.conn = conn; this.updcnt = 0; this.rs = null; - this.batch = null; + this.batch = null; } public void setFetchSize(int fetchSize) throws SQLException { if (fetchSize != 1) { throw new SQLException("fetch size not 1"); @@ -136,11 +136,11 @@ throw new SQLException(e.toString()); } break; } if (!updonly && tr == null) { - throw new SQLException("no result set produced"); + rs = new JDBCResultSet(new TableResultX(0), this); } if (!updonly && tr != null) { rs = new JDBCResultSet(new TableResultX(tr), this); } return rs; Index: SQLite/JDBC2/TableResultX.java ================================================================== --- SQLite/JDBC2/TableResultX.java +++ SQLite/JDBC2/TableResultX.java @@ -34,12 +34,12 @@ } if (tr.types != null) { for (int i = 0; i < tr.types.length; i++) { sql_type[i] = JDBCDatabaseMetaData.mapSqlType(tr.types[i]); } - } + } } void sql_types(int types[]) { sql_type = types; - } + } } Index: SQLite/JDBC2x/JDBCConnection.java ================================================================== --- SQLite/JDBC2x/JDBCConnection.java +++ SQLite/JDBC2x/JDBCConnection.java @@ -191,11 +191,11 @@ /* non-standard */ public SQLite.Database getSQLiteDatabase() { return db; } - + public Statement createStatement() { JDBCStatement s = new JDBCStatement(this); return s; } @@ -212,11 +212,11 @@ throw new SQLException("unsupported result set concurrency"); } JDBCStatement s = new JDBCStatement(this); return s; } - + public DatabaseMetaData getMetaData() throws SQLException { if (meta == null) { meta = new JDBCDatabaseMetaData(this); } return meta; @@ -400,11 +400,11 @@ } public void setTypeMap(java.util.Map map) throws SQLException { throw new SQLException("not supported"); } - + public int getHoldability() throws SQLException { return ResultSet.HOLD_CURSORS_OVER_COMMIT; } public void setHoldability(int holdability) throws SQLException { Index: SQLite/JDBC2x/JDBCDatabaseMetaData.java ================================================================== --- SQLite/JDBC2x/JDBCDatabaseMetaData.java +++ SQLite/JDBC2x/JDBCDatabaseMetaData.java @@ -124,11 +124,11 @@ return "SELECT,UPDATE,CREATE,TABLE,VIEW,DELETE,FROM,WHERE" + ",COMMIT,ROLLBACK,TRIGGER"; } public String getNumericFunctions() throws SQLException { - return ""; + return ""; } public String getStringFunctions() throws SQLException { return ""; } @@ -162,11 +162,11 @@ } public boolean nullPlusNonNullIsNull() throws SQLException { return false; } - + public boolean supportsConvert() throws SQLException { return false; } public boolean supportsConvert(int fromType, int toType) @@ -219,11 +219,11 @@ return true; } public boolean supportsMinimumSQLGrammar() throws SQLException { return true; - } + } public boolean supportsCoreSQLGrammar() throws SQLException { return false; } @@ -289,11 +289,11 @@ } public boolean supportsSchemasInTableDefinitions() throws SQLException { return false; } - + public boolean supportsSchemasInIndexDefinitions() throws SQLException { return false; } public boolean supportsSchemasInPrivilegeDefinitions() @@ -504,11 +504,11 @@ return null; } public ResultSet getProcedureColumns(String catalog, String schemaPattern, - String procedureNamePattern, + String procedureNamePattern, String columnNamePattern) throws SQLException { return null; } @@ -531,11 +531,11 @@ sb.append(" AND "); if (types == null || types.length == 0) { sb.append("(type = 'table' or type = 'view')"); } else { sb.append("("); - String sep = ""; + String sep = ""; for (int i = 0; i < types.length; i++) { sb.append(sep); sb.append("type = "); sb.append(SQLite.Shell.sql_quote(types[i].toLowerCase())); sep = " or "; @@ -1443,12 +1443,12 @@ public boolean supportsBatchUpdates() throws SQLException { return true; } - public ResultSet getUDTs(String catalog, String schemaPattern, - String typeNamePattern, int[] types) + public ResultSet getUDTs(String catalog, String schemaPattern, + String typeNamePattern, int[] types) throws SQLException { return null; } public Connection getConnection() throws SQLException { @@ -1640,15 +1640,15 @@ } public int getJDBCMajorVersion() { return 1; } - + public int getJDBCMinorVersion() { return 0; } public int getSQLStateType() throws SQLException { return sqlStateXOpen; } } Index: SQLite/JDBC2x/JDBCPreparedStatement.java ================================================================== --- SQLite/JDBC2x/JDBCPreparedStatement.java +++ SQLite/JDBC2x/JDBCPreparedStatement.java @@ -7,15 +7,11 @@ class BatchArg { String arg; boolean blob; BatchArg(String arg, boolean blob) { - if (arg == null) { - this.arg = null; - } else { - this.arg = new String(arg); - } + this.arg = arg; this.blob = blob; } } public class JDBCPreparedStatement extends JDBCStatement @@ -143,11 +139,11 @@ throw new SQLException("bad parameter index"); } args[parameterIndex - 1] = nullrepl ? "" : null; blobs[parameterIndex - 1] = false; } - + public void setBoolean(int parameterIndex, boolean x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } @@ -260,11 +256,11 @@ } } blobs[parameterIndex - 1] = false; } - public void setTime(int parameterIndex, java.sql.Time x) + public void setTime(int parameterIndex, java.sql.Time x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } if (x == null) { @@ -299,11 +295,11 @@ public void setAsciiStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLException("not supported"); } - public void setUnicodeStream(int parameterIndex, java.io.InputStream x, + public void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLException("not supported"); } public void setBinaryStream(int parameterIndex, java.io.InputStream x, Index: SQLite/JDBC2x/JDBCResultSet.java ================================================================== --- SQLite/JDBC2x/JDBCResultSet.java +++ SQLite/JDBC2x/JDBCResultSet.java @@ -156,11 +156,11 @@ public int findColumn(String columnName) throws SQLException { JDBCResultSetMetaData m = (JDBCResultSetMetaData) getMetaData(); return m.findColByName(columnName); } - + public int getRow() throws SQLException { if (tr == null) { throw new SQLException("no rows"); } return row + 1; @@ -476,11 +476,11 @@ } catch (java.lang.Exception e) { lastg = null; } return null; } - + public double getDouble(String columnName) throws SQLException { int col = findColumn(columnName); return getDouble(col); } @@ -666,11 +666,11 @@ public Object getObject(String columnName) throws SQLException { int col = findColumn(columnName); return getObject(col); } - public Object getObject(int columnIndex, java.util.Map map) + public Object getObject(int columnIndex, java.util.Map map) throws SQLException { throw new SQLException("not supported"); } public Object getObject(String columnIndex, java.util.Map map) @@ -735,11 +735,11 @@ } public boolean wasNull() throws SQLException { return lastg == null; } - + public void clearWarnings() throws SQLException { throw new SQLException("not supported"); } public boolean isFirst() throws SQLException { Index: SQLite/JDBC2x/JDBCResultSetMetaData.java ================================================================== --- SQLite/JDBC2x/JDBCResultSetMetaData.java +++ SQLite/JDBC2x/JDBCResultSetMetaData.java @@ -3,15 +3,15 @@ import java.sql.*; public class JDBCResultSetMetaData implements java.sql.ResultSetMetaData { private JDBCResultSet r; - + public JDBCResultSetMetaData(JDBCResultSet r) { this.r = r; } - + public String getCatalogName(int column) throws java.sql.SQLException { return null; } public String getColumnClassName(int column) throws java.sql.SQLException { @@ -162,11 +162,11 @@ public boolean isCurrency(int column) throws java.sql.SQLException { return false; } - public boolean isDefinitelyWritable(int column) + public boolean isDefinitelyWritable(int column) throws java.sql.SQLException { return true; } public int isNullable(int column) throws java.sql.SQLException { Index: SQLite/JDBC2x/JDBCStatement.java ================================================================== --- SQLite/JDBC2x/JDBCStatement.java +++ SQLite/JDBC2x/JDBCStatement.java @@ -13,11 +13,11 @@ public JDBCStatement(JDBCConnection conn) { this.conn = conn; this.updcnt = 0; this.rs = null; - this.batch = null; + this.batch = null; } public void setFetchSize(int fetchSize) throws SQLException { if (fetchSize != 1) { throw new SQLException("fetch size not 1"); @@ -131,11 +131,11 @@ throw new SQLException(e.toString()); } break; } if (!updonly && tr == null) { - throw new SQLException("no result set produced"); + rs = new JDBCResultSet(new TableResultX(0), this); } if (!updonly && tr != null) { rs = new JDBCResultSet(new TableResultX(tr), this); } return rs; Index: SQLite/JDBC2x/TableResultX.java ================================================================== --- SQLite/JDBC2x/TableResultX.java +++ SQLite/JDBC2x/TableResultX.java @@ -34,12 +34,12 @@ } if (tr.types != null) { for (int i = 0; i < tr.types.length; i++) { sql_type[i] = JDBCDatabaseMetaData.mapSqlType(tr.types[i]); } - } + } } void sql_types(int types[]) { sql_type = types; - } + } } Index: SQLite/JDBC2y/JDBCConnection.java ================================================================== --- SQLite/JDBC2y/JDBCConnection.java +++ SQLite/JDBC2y/JDBCConnection.java @@ -191,11 +191,11 @@ /* non-standard */ public SQLite.Database getSQLiteDatabase() { return db; } - + public Statement createStatement() { JDBCStatement s = new JDBCStatement(this); return s; } @@ -212,11 +212,11 @@ throw new SQLException("unsupported result set concurrency"); } JDBCStatement s = new JDBCStatement(this); return s; } - + public DatabaseMetaData getMetaData() throws SQLException { if (meta == null) { meta = new JDBCDatabaseMetaData(this); } return meta; @@ -400,11 +400,11 @@ } public void setTypeMap(java.util.Map map) throws SQLException { throw new SQLException("not supported"); } - + public int getHoldability() throws SQLException { return ResultSet.HOLD_CURSORS_OVER_COMMIT; } public void setHoldability(int holdability) throws SQLException { Index: SQLite/JDBC2y/JDBCDatabaseMetaData.java ================================================================== --- SQLite/JDBC2y/JDBCDatabaseMetaData.java +++ SQLite/JDBC2y/JDBCDatabaseMetaData.java @@ -124,11 +124,11 @@ return "SELECT,UPDATE,CREATE,TABLE,VIEW,DELETE,FROM,WHERE" + ",COMMIT,ROLLBACK,TRIGGER"; } public String getNumericFunctions() throws SQLException { - return ""; + return ""; } public String getStringFunctions() throws SQLException { return ""; } @@ -162,11 +162,11 @@ } public boolean nullPlusNonNullIsNull() throws SQLException { return false; } - + public boolean supportsConvert() throws SQLException { return false; } public boolean supportsConvert(int fromType, int toType) @@ -219,11 +219,11 @@ return true; } public boolean supportsMinimumSQLGrammar() throws SQLException { return true; - } + } public boolean supportsCoreSQLGrammar() throws SQLException { return false; } @@ -289,11 +289,11 @@ } public boolean supportsSchemasInTableDefinitions() throws SQLException { return false; } - + public boolean supportsSchemasInIndexDefinitions() throws SQLException { return false; } public boolean supportsSchemasInPrivilegeDefinitions() @@ -504,11 +504,11 @@ return null; } public ResultSet getProcedureColumns(String catalog, String schemaPattern, - String procedureNamePattern, + String procedureNamePattern, String columnNamePattern) throws SQLException { return null; } @@ -531,11 +531,11 @@ sb.append(" AND "); if (types == null || types.length == 0) { sb.append("(type = 'table' or type = 'view')"); } else { sb.append("("); - String sep = ""; + String sep = ""; for (int i = 0; i < types.length; i++) { sb.append(sep); sb.append("type = "); sb.append(SQLite.Shell.sql_quote(types[i].toLowerCase())); sep = " or "; @@ -1445,12 +1445,12 @@ public boolean supportsBatchUpdates() throws SQLException { return true; } - public ResultSet getUDTs(String catalog, String schemaPattern, - String typeNamePattern, int[] types) + public ResultSet getUDTs(String catalog, String schemaPattern, + String typeNamePattern, int[] types) throws SQLException { return null; } public Connection getConnection() throws SQLException { @@ -1642,15 +1642,15 @@ } public int getJDBCMajorVersion() { return 1; } - + public int getJDBCMinorVersion() { return 0; } public int getSQLStateType() throws SQLException { return sqlStateXOpen; } } Index: SQLite/JDBC2y/JDBCPreparedStatement.java ================================================================== --- SQLite/JDBC2y/JDBCPreparedStatement.java +++ SQLite/JDBC2y/JDBCPreparedStatement.java @@ -17,15 +17,11 @@ class BatchArg { String arg; boolean blob; BatchArg(String arg, boolean blob) { - if (arg == null) { - this.arg = null; - } else { - this.arg = new String(arg); - } + this.arg = arg; this.blob = blob; } } public class JDBCPreparedStatement extends JDBCStatement @@ -153,11 +149,11 @@ throw new SQLException("bad parameter index"); } args[parameterIndex - 1] = nullrepl ? "" : null; blobs[parameterIndex - 1] = false; } - + public void setBoolean(int parameterIndex, boolean x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } @@ -270,11 +266,11 @@ } } blobs[parameterIndex - 1] = false; } - public void setTime(int parameterIndex, java.sql.Time x) + public void setTime(int parameterIndex, java.sql.Time x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } if (x == null) { @@ -310,11 +306,11 @@ int length) throws SQLException { throw new SQLException("not supported"); } @Deprecated - public void setUnicodeStream(int parameterIndex, java.io.InputStream x, + public void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLException("not supported"); } public void setBinaryStream(int parameterIndex, java.io.InputStream x, Index: SQLite/JDBC2y/JDBCResultSet.java ================================================================== --- SQLite/JDBC2y/JDBCResultSet.java +++ SQLite/JDBC2y/JDBCResultSet.java @@ -155,11 +155,11 @@ public int findColumn(String columnName) throws SQLException { JDBCResultSetMetaData m = (JDBCResultSetMetaData) getMetaData(); return m.findColByName(columnName); } - + public int getRow() throws SQLException { if (tr == null) { throw new SQLException("no rows"); } return row + 1; @@ -473,11 +473,11 @@ } catch (java.lang.Exception e) { lastg = null; } return null; } - + public double getDouble(String columnName) throws SQLException { int col = findColumn(columnName); return getDouble(col); } @@ -669,16 +669,16 @@ public Object getObject(String columnName) throws SQLException { int col = findColumn(columnName); return getObject(col); } - public Object getObject(int columnIndex, java.util.Map map) + public Object getObject(int columnIndex, java.util.Map map) throws SQLException { throw new SQLException("not supported"); } - public Object getObject(String columnIndex, java.util.Map map) + public Object getObject(String columnIndex, java.util.Map map) throws SQLException { throw new SQLException("not supported"); } public java.sql.Ref getRef(int columnIndex) throws SQLException { @@ -738,11 +738,11 @@ } public boolean wasNull() throws SQLException { return lastg == null; } - + public void clearWarnings() throws SQLException { throw new SQLException("not supported"); } public boolean isFirst() throws SQLException { Index: SQLite/JDBC2y/JDBCResultSetMetaData.java ================================================================== --- SQLite/JDBC2y/JDBCResultSetMetaData.java +++ SQLite/JDBC2y/JDBCResultSetMetaData.java @@ -4,15 +4,15 @@ import java.sql.Types; public class JDBCResultSetMetaData implements java.sql.ResultSetMetaData { private JDBCResultSet r; - + public JDBCResultSetMetaData(JDBCResultSet r) { this.r = r; } - + public String getCatalogName(int column) throws java.sql.SQLException { return null; } public String getColumnClassName(int column) throws java.sql.SQLException { @@ -163,11 +163,11 @@ public boolean isCurrency(int column) throws java.sql.SQLException { return false; } - public boolean isDefinitelyWritable(int column) + public boolean isDefinitelyWritable(int column) throws java.sql.SQLException { return true; } public int isNullable(int column) throws java.sql.SQLException { Index: SQLite/JDBC2y/JDBCStatement.java ================================================================== --- SQLite/JDBC2y/JDBCStatement.java +++ SQLite/JDBC2y/JDBCStatement.java @@ -18,11 +18,11 @@ public JDBCStatement(JDBCConnection conn) { this.conn = conn; this.updcnt = 0; this.rs = null; - this.batch = null; + this.batch = null; } public void setFetchSize(int fetchSize) throws SQLException { if (fetchSize != 1) { throw new SQLException("fetch size not 1"); @@ -136,11 +136,11 @@ throw new SQLException(e.toString()); } break; } if (!updonly && tr == null) { - throw new SQLException("no result set produced"); + rs = new JDBCResultSet(new TableResultX(0), this); } if (!updonly && tr != null) { rs = new JDBCResultSet(new TableResultX(tr), this); } return rs; Index: SQLite/JDBC2y/TableResultX.java ================================================================== --- SQLite/JDBC2y/TableResultX.java +++ SQLite/JDBC2y/TableResultX.java @@ -34,12 +34,12 @@ } if (tr.types != null) { for (int i = 0; i < tr.types.length; i++) { sql_type[i] = JDBCDatabaseMetaData.mapSqlType(tr.types[i]); } - } + } } void sql_types(int types[]) { sql_type = types; - } + } } Index: SQLite/JDBC2z/JDBCConnection.java ================================================================== --- SQLite/JDBC2z/JDBCConnection.java +++ SQLite/JDBC2z/JDBCConnection.java @@ -195,11 +195,11 @@ /* non-standard */ public SQLite.Database getSQLiteDatabase() { return db; } - + @Override public Statement createStatement() { JDBCStatement s = new JDBCStatement(this); return s; } @@ -218,11 +218,11 @@ throw new SQLFeatureNotSupportedException("unsupported result set concurrency"); } JDBCStatement s = new JDBCStatement(this); return s; } - + @Override public DatabaseMetaData getMetaData() throws SQLException { if (meta == null) { meta = new JDBCDatabaseMetaData(this); } @@ -428,11 +428,11 @@ @Override public void setTypeMap(java.util.Map map) throws SQLException { throw new SQLFeatureNotSupportedException(); } - + @Override public int getHoldability() throws SQLException { return ResultSet.HOLD_CURSORS_OVER_COMMIT; } Index: SQLite/JDBC2z/JDBCDatabaseMetaData.java ================================================================== --- SQLite/JDBC2z/JDBCDatabaseMetaData.java +++ SQLite/JDBC2z/JDBCDatabaseMetaData.java @@ -153,11 +153,11 @@ ",COMMIT,ROLLBACK,TRIGGER"; } @Override public String getNumericFunctions() throws SQLException { - return ""; + return ""; } @Override public String getStringFunctions() throws SQLException { return ""; @@ -200,11 +200,11 @@ @Override public boolean nullPlusNonNullIsNull() throws SQLException { return false; } - + @Override public boolean supportsConvert() throws SQLException { return false; } @@ -271,11 +271,11 @@ } @Override public boolean supportsMinimumSQLGrammar() throws SQLException { return true; - } + } @Override public boolean supportsCoreSQLGrammar() throws SQLException { return false; } @@ -358,11 +358,11 @@ @Override public boolean supportsSchemasInTableDefinitions() throws SQLException { return false; } - + @Override public boolean supportsSchemasInIndexDefinitions() throws SQLException { return false; } @@ -625,11 +625,11 @@ } @Override public ResultSet getProcedureColumns(String catalog, String schemaPattern, - String procedureNamePattern, + String procedureNamePattern, String columnNamePattern) throws SQLException { return null; } @@ -653,11 +653,11 @@ sb.append(" AND "); if (types == null || types.length == 0) { sb.append("(type = 'table' or type = 'view')"); } else { sb.append("("); - String sep = ""; + String sep = ""; for (int i = 0; i < types.length; i++) { sb.append(sep); sb.append("type = "); sb.append(SQLite.Shell.sql_quote(types[i].toLowerCase())); sep = " or "; @@ -1588,12 +1588,12 @@ public boolean supportsBatchUpdates() throws SQLException { return true; } @Override - public ResultSet getUDTs(String catalog, String schemaPattern, - String typeNamePattern, int[] types) + public ResultSet getUDTs(String catalog, String schemaPattern, + String typeNamePattern, int[] types) throws SQLException { return null; } @Override @@ -1800,11 +1800,11 @@ @Override public int getJDBCMajorVersion() { return 1; } - + @Override public int getJDBCMinorVersion() { return 0; } Index: SQLite/JDBC2z/JDBCPreparedStatement.java ================================================================== --- SQLite/JDBC2z/JDBCPreparedStatement.java +++ SQLite/JDBC2z/JDBCPreparedStatement.java @@ -21,15 +21,11 @@ class BatchArg { String arg; boolean blob; BatchArg(String arg, boolean blob) { - if (arg == null) { - this.arg = null; - } else { - this.arg = new String(arg); - } + this.arg = arg; this.blob = blob; } } public class JDBCPreparedStatement extends JDBCStatement @@ -160,11 +156,11 @@ throw new SQLException("bad parameter index"); } args[parameterIndex - 1] = nullrepl ? "" : null; blobs[parameterIndex - 1] = false; } - + @Override public void setBoolean(int parameterIndex, boolean x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); @@ -289,11 +285,11 @@ } blobs[parameterIndex - 1] = false; } @Override - public void setTime(int parameterIndex, java.sql.Time x) + public void setTime(int parameterIndex, java.sql.Time x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } if (x == null) { @@ -332,11 +328,11 @@ throw new SQLException("not supported"); } @Override @Deprecated - public void setUnicodeStream(int parameterIndex, java.io.InputStream x, + public void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLFeatureNotSupportedException(); } @Override Index: SQLite/JDBC2z/JDBCResultSet.java ================================================================== --- SQLite/JDBC2z/JDBCResultSet.java +++ SQLite/JDBC2z/JDBCResultSet.java @@ -161,11 +161,11 @@ @Override public int findColumn(String columnName) throws SQLException { JDBCResultSetMetaData m = (JDBCResultSetMetaData) getMetaData(); return m.findColByName(columnName); } - + @Override public int getRow() throws SQLException { if (tr == null) { throw new SQLException("no rows"); } @@ -509,11 +509,11 @@ } catch (java.lang.Exception e) { lastg = null; } return null; } - + @Override public double getDouble(String columnName) throws SQLException { int col = findColumn(columnName); return getDouble(col); } @@ -731,11 +731,11 @@ int col = findColumn(columnName); return getObject(col); } @Override - public Object getObject(int columnIndex, java.util.Map map) + public Object getObject(int columnIndex, java.util.Map map) throws SQLException { throw new SQLFeatureNotSupportedException(); } @Override @@ -818,11 +818,11 @@ @Override public boolean wasNull() throws SQLException { return lastg == null; } - + @Override public void clearWarnings() throws SQLException { throw new SQLException("not supported"); } Index: SQLite/JDBC2z/JDBCResultSetMetaData.java ================================================================== --- SQLite/JDBC2z/JDBCResultSetMetaData.java +++ SQLite/JDBC2z/JDBCResultSetMetaData.java @@ -4,15 +4,15 @@ import java.sql.Types; public class JDBCResultSetMetaData implements java.sql.ResultSetMetaData { private JDBCResultSet r; - + public JDBCResultSetMetaData(JDBCResultSet r) { this.r = r; } - + @Override public String getCatalogName(int column) throws java.sql.SQLException { return null; } @@ -179,11 +179,11 @@ public boolean isCurrency(int column) throws java.sql.SQLException { return false; } @Override - public boolean isDefinitelyWritable(int column) + public boolean isDefinitelyWritable(int column) throws java.sql.SQLException { return true; } @Override Index: SQLite/JDBC2z/JDBCStatement.java ================================================================== --- SQLite/JDBC2z/JDBCStatement.java +++ SQLite/JDBC2z/JDBCStatement.java @@ -19,11 +19,11 @@ public JDBCStatement(JDBCConnection conn) { this.conn = conn; this.updcnt = 0; this.rs = null; - this.batch = null; + this.batch = null; } @Override public void setFetchSize(int fetchSize) throws SQLException { if (fetchSize != 1) { @@ -153,11 +153,11 @@ throw new SQLException(e); } break; } if (!updonly && tr == null) { - throw new SQLException("no result set produced"); + rs = new JDBCResultSet(new TableResultX(0), this); } if (!updonly && tr != null) { rs = new JDBCResultSet(new TableResultX(tr), this); } return rs; Index: SQLite/JDBC2z/TableResultX.java ================================================================== --- SQLite/JDBC2z/TableResultX.java +++ SQLite/JDBC2z/TableResultX.java @@ -34,12 +34,12 @@ } if (tr.types != null) { for (int i = 0; i < tr.types.length; i++) { sql_type[i] = JDBCDatabaseMetaData.mapSqlType(tr.types[i]); } - } + } } void sql_types(int types[]) { sql_type = types; - } + } } Index: SQLite/JDBC2z1/JDBCConnection.java ================================================================== --- SQLite/JDBC2z1/JDBCConnection.java +++ SQLite/JDBC2z1/JDBCConnection.java @@ -196,11 +196,11 @@ /* non-standard */ public SQLite.Database getSQLiteDatabase() { return db; } - + @Override public Statement createStatement() { JDBCStatement s = new JDBCStatement(this); return s; } @@ -219,11 +219,11 @@ throw new SQLFeatureNotSupportedException("unsupported result set concurrency"); } JDBCStatement s = new JDBCStatement(this); return s; } - + @Override public DatabaseMetaData getMetaData() throws SQLException { if (meta == null) { meta = new JDBCDatabaseMetaData(this); } @@ -429,11 +429,11 @@ @Override public void setTypeMap(java.util.Map map) throws SQLException { throw new SQLFeatureNotSupportedException(); } - + @Override public int getHoldability() throws SQLException { return ResultSet.HOLD_CURSORS_OVER_COMMIT; } Index: SQLite/JDBC2z1/JDBCDatabaseMetaData.java ================================================================== --- SQLite/JDBC2z1/JDBCDatabaseMetaData.java +++ SQLite/JDBC2z1/JDBCDatabaseMetaData.java @@ -154,11 +154,11 @@ ",COMMIT,ROLLBACK,TRIGGER"; } @Override public String getNumericFunctions() throws SQLException { - return ""; + return ""; } @Override public String getStringFunctions() throws SQLException { return ""; @@ -201,11 +201,11 @@ @Override public boolean nullPlusNonNullIsNull() throws SQLException { return false; } - + @Override public boolean supportsConvert() throws SQLException { return false; } @@ -272,11 +272,11 @@ } @Override public boolean supportsMinimumSQLGrammar() throws SQLException { return true; - } + } @Override public boolean supportsCoreSQLGrammar() throws SQLException { return false; } @@ -359,11 +359,11 @@ @Override public boolean supportsSchemasInTableDefinitions() throws SQLException { return false; } - + @Override public boolean supportsSchemasInIndexDefinitions() throws SQLException { return false; } @@ -626,11 +626,11 @@ } @Override public ResultSet getProcedureColumns(String catalog, String schemaPattern, - String procedureNamePattern, + String procedureNamePattern, String columnNamePattern) throws SQLException { return null; } @@ -654,11 +654,11 @@ sb.append(" AND "); if (types == null || types.length == 0) { sb.append("(type = 'table' or type = 'view')"); } else { sb.append("("); - String sep = ""; + String sep = ""; for (int i = 0; i < types.length; i++) { sb.append(sep); sb.append("type = "); sb.append(SQLite.Shell.sql_quote(types[i].toLowerCase())); sep = " or "; @@ -1589,12 +1589,12 @@ public boolean supportsBatchUpdates() throws SQLException { return true; } @Override - public ResultSet getUDTs(String catalog, String schemaPattern, - String typeNamePattern, int[] types) + public ResultSet getUDTs(String catalog, String schemaPattern, + String typeNamePattern, int[] types) throws SQLException { return null; } @Override @@ -1801,11 +1801,11 @@ @Override public int getJDBCMajorVersion() { return 1; } - + @Override public int getJDBCMinorVersion() { return 0; } Index: SQLite/JDBC2z1/JDBCPreparedStatement.java ================================================================== --- SQLite/JDBC2z1/JDBCPreparedStatement.java +++ SQLite/JDBC2z1/JDBCPreparedStatement.java @@ -21,15 +21,11 @@ class BatchArg { String arg; boolean blob; BatchArg(String arg, boolean blob) { - if (arg == null) { - this.arg = null; - } else { - this.arg = new String(arg); - } + this.arg = arg; this.blob = blob; } } public class JDBCPreparedStatement extends JDBCStatement @@ -160,11 +156,11 @@ throw new SQLException("bad parameter index"); } args[parameterIndex - 1] = nullrepl ? "" : null; blobs[parameterIndex - 1] = false; } - + @Override public void setBoolean(int parameterIndex, boolean x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); @@ -289,11 +285,11 @@ } blobs[parameterIndex - 1] = false; } @Override - public void setTime(int parameterIndex, java.sql.Time x) + public void setTime(int parameterIndex, java.sql.Time x) throws SQLException { if (parameterIndex < 1 || parameterIndex > args.length) { throw new SQLException("bad parameter index"); } if (x == null) { @@ -332,11 +328,11 @@ throw new SQLException("not supported"); } @Override @Deprecated - public void setUnicodeStream(int parameterIndex, java.io.InputStream x, + public void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length) throws SQLException { throw new SQLFeatureNotSupportedException(); } @Override Index: SQLite/JDBC2z1/JDBCResultSet.java ================================================================== --- SQLite/JDBC2z1/JDBCResultSet.java +++ SQLite/JDBC2z1/JDBCResultSet.java @@ -161,11 +161,11 @@ @Override public int findColumn(String columnName) throws SQLException { JDBCResultSetMetaData m = (JDBCResultSetMetaData) getMetaData(); return m.findColByName(columnName); } - + @Override public int getRow() throws SQLException { if (tr == null) { throw new SQLException("no rows"); } @@ -509,11 +509,11 @@ } catch (java.lang.Exception e) { lastg = null; } return null; } - + @Override public double getDouble(String columnName) throws SQLException { int col = findColumn(columnName); return getDouble(col); } @@ -731,11 +731,11 @@ int col = findColumn(columnName); return getObject(col); } @Override - public Object getObject(int columnIndex, java.util.Map map) + public Object getObject(int columnIndex, java.util.Map map) throws SQLException { throw new SQLFeatureNotSupportedException(); } @Override @@ -818,11 +818,11 @@ @Override public boolean wasNull() throws SQLException { return lastg == null; } - + @Override public void clearWarnings() throws SQLException { throw new SQLException("not supported"); } Index: SQLite/JDBC2z1/JDBCResultSetMetaData.java ================================================================== --- SQLite/JDBC2z1/JDBCResultSetMetaData.java +++ SQLite/JDBC2z1/JDBCResultSetMetaData.java @@ -4,15 +4,15 @@ import java.sql.Types; public class JDBCResultSetMetaData implements java.sql.ResultSetMetaData { private JDBCResultSet r; - + public JDBCResultSetMetaData(JDBCResultSet r) { this.r = r; } - + @Override public String getCatalogName(int column) throws java.sql.SQLException { return null; } @@ -179,11 +179,11 @@ public boolean isCurrency(int column) throws java.sql.SQLException { return false; } @Override - public boolean isDefinitelyWritable(int column) + public boolean isDefinitelyWritable(int column) throws java.sql.SQLException { return true; } @Override Index: SQLite/JDBC2z1/JDBCStatement.java ================================================================== --- SQLite/JDBC2z1/JDBCStatement.java +++ SQLite/JDBC2z1/JDBCStatement.java @@ -19,11 +19,11 @@ public JDBCStatement(JDBCConnection conn) { this.conn = conn; this.updcnt = 0; this.rs = null; - this.batch = null; + this.batch = null; } @Override public void setFetchSize(int fetchSize) throws SQLException { if (fetchSize != 1) { @@ -153,11 +153,11 @@ throw new SQLException(e); } break; } if (!updonly && tr == null) { - throw new SQLException("no result set produced"); + rs = new JDBCResultSet(new TableResultX(0), this); } if (!updonly && tr != null) { rs = new JDBCResultSet(new TableResultX(tr), this); } return rs; Index: SQLite/JDBC2z1/TableResultX.java ================================================================== --- SQLite/JDBC2z1/TableResultX.java +++ SQLite/JDBC2z1/TableResultX.java @@ -34,12 +34,12 @@ } if (tr.types != null) { for (int i = 0; i < tr.types.length; i++) { sql_type[i] = JDBCDatabaseMetaData.mapSqlType(tr.types[i]); } - } + } } void sql_types(int types[]) { sql_type = types; - } + } } ADDED SQLite/JDBCDataSource.java17 Index: SQLite/JDBCDataSource.java17 ================================================================== --- /dev/null +++ SQLite/JDBCDataSource.java17 @@ -0,0 +1,69 @@ +package SQLite; + +import java.sql.Connection; +import java.sql.SQLException; +import java.sql.SQLFeatureNotSupportedException; +import javax.sql.DataSource; +import java.util.Properties; +import java.util.logging.Logger; +import java.io.PrintWriter; + +public final class JDBCDataSource extends JDBC implements DataSource { + + private String url; + + private int loginTimeout; + + private PrintWriter logWriter; + + public JDBCDataSource(String url) { + if (url == null) { + this.url = "jdbc:sqlite:/:memory:"; + } else { + this.url = url; + } + } + + public Connection getConnection() throws SQLException { + return getConnection(null, null); + } + + public Connection getConnection(String user, String password) + throws SQLException { + Properties info = new Properties(); + if (password != null) { + info.setProperty("password", password); + } + return connect(url, info); + } + + public int getLoginTimeout() { + return loginTimeout; + } + + public void setLoginTimeout(int seconds) { + this.loginTimeout = seconds; + } + + public PrintWriter getLogWriter() { + return logWriter; + } + + public void setLogWriter(PrintWriter out) { + this.logWriter = logWriter; + } + + // public T unwrap(java.lang.Class iface) throws SQLException + public java.lang.Object unwrap(java.lang.Class iface) throws SQLException { + throw new SQLException("unsupported"); + } + + public boolean isWrapperFor(java.lang.Class iface) throws SQLException { + return false; + } + + public Logger getParentLogger() throws SQLFeatureNotSupportedException { + throw new SQLFeatureNotSupportedException(); + } + +} Index: SQLite/JDBCDriver.java17 ================================================================== --- SQLite/JDBCDriver.java17 +++ SQLite/JDBCDriver.java17 @@ -2,10 +2,11 @@ import java.sql.Connection; import java.sql.Driver; import java.sql.DriverPropertyInfo; import java.sql.SQLException; +import java.sql.SQLFeatureNotSupportedException; import java.util.Properties; import java.util.logging.Logger; public class JDBCDriver extends JDBC implements Driver { @@ -47,9 +48,9 @@ public boolean jdbcCompliant() { return false; } public Logger getParentLogger() throws SQLFeatureNotSupportedException { - throw new SQLException("not supported"); + throw new SQLFeatureNotSupportedException(); } } Index: SQLite/ProgressHandler.java ================================================================== --- SQLite/ProgressHandler.java +++ SQLite/ProgressHandler.java @@ -9,9 +9,11 @@ /** * Invoked for N SQLite VM opcodes. * The method should return true to continue the * current query, or false in order * to abandon the action.

+ * + * @return true to continue, false else */ public boolean progress(); } Index: SQLite/Stmt.java ================================================================== --- SQLite/Stmt.java +++ SQLite/Stmt.java @@ -25,10 +25,12 @@ /** * Prepare the next SQL statement for the Stmt instance. * @return true when the next piece of the SQL statement sequence * has been prepared, false on end of statement sequence. + * + * @throws SQLite.Exception indicating SQLite error */ public native boolean prepare() throws SQLite.Exception; /** @@ -60,170 +62,212 @@ * } catch (SQLite.Exception e) { * s.close(); * } * * - * @return true when row data is available, false on end - * of result set. + * @return true when row data is available, false on end of result set. + * @throws SQLite.Exception indicating SQLite error */ public native boolean step() throws SQLite.Exception; /** * Close the compiled SQLite3 statement. + * + * @throws SQLite.Exception indicating SQLite error */ public native void close() throws SQLite.Exception; /** * Reset the compiled SQLite3 statement without * clearing parameter bindings. + * + * @throws SQLite.Exception indicating SQLite error */ public native void reset() throws SQLite.Exception; /** * Clear all bound parameters of the compiled SQLite3 statement. + * + * @throws SQLite.Exception indicating SQLite error */ public native void clear_bindings() throws SQLite.Exception; /** * Bind positional integer value to compiled SQLite3 statement. + * * @param pos parameter index, 1-based * @param value value of parameter + * @throws SQLite.Exception indicating SQLite error */ public native void bind(int pos, int value) throws SQLite.Exception; /** * Bind positional long value to compiled SQLite3 statement. + * * @param pos parameter index, 1-based * @param value value of parameter + * @throws SQLite.Exception indicating SQLite error */ public native void bind(int pos, long value) throws SQLite.Exception; /** * Bind positional double value to compiled SQLite3 statement. + * * @param pos parameter index, 1-based * @param value value of parameter + * @throws SQLite.Exception indicating SQLite error */ public native void bind(int pos, double value) throws SQLite.Exception; /** * Bind positional byte array to compiled SQLite3 statement. + * * @param pos parameter index, 1-based * @param value value of parameter, may be null + * @throws SQLite.Exception indicating SQLite error */ public native void bind(int pos, byte[] value) throws SQLite.Exception; /** * Bind positional String to compiled SQLite3 statement. + * * @param pos parameter index, 1-based * @param value value of parameter, may be null + * @throws SQLite.Exception indicating SQLite error */ public native void bind(int pos, String value) throws SQLite.Exception; /** * Bind positional SQL null to compiled SQLite3 statement. + * * @param pos parameter index, 1-based + * @throws SQLite.Exception indicating SQLite error */ public native void bind(int pos) throws SQLite.Exception; /** * Bind positional zero'ed blob to compiled SQLite3 statement. + * * @param pos parameter index, 1-based * @param length byte size of zero blob + * @throws SQLite.Exception indicating SQLite error */ public native void bind_zeroblob(int pos, int length) throws SQLite.Exception; /** * Return number of parameters in compiled SQLite3 statement. + * * @return int number of parameters + * @throws SQLite.Exception indicating SQLite error */ public native int bind_parameter_count() throws SQLite.Exception; /** * Return name of parameter in compiled SQLite3 statement. + * * @param pos parameter index, 1-based * @return String parameter name + * @throws SQLite.Exception indicating SQLite error */ public native String bind_parameter_name(int pos) throws SQLite.Exception; /** * Return index of named parameter in compiled SQLite3 statement. + * * @param name of parameter * @return int index of parameter, 1-based + * @throws SQLite.Exception indicating SQLite error */ public native int bind_parameter_index(String name) throws SQLite.Exception; /** * Retrieve integer column from exec'ed SQLite3 statement. + * * @param col column number, 0-based * @return int column value + * @throws SQLite.Exception indicating SQLite error */ public native int column_int(int col) throws SQLite.Exception; /** * Retrieve long column from exec'ed SQLite3 statement. + * * @param col column number, 0-based * @return long column value + * @throws SQLite.Exception indicating SQLite error */ public native long column_long(int col) throws SQLite.Exception; /** * Retrieve double column from exec'ed SQLite3 statement. + * * @param col column number, 0-based * @return double column value + * @throws SQLite.Exception indicating SQLite error */ public native double column_double(int col) throws SQLite.Exception; /** * Retrieve blob column from exec'ed SQLite3 statement. + * * @param col column number, 0-based * @return byte[] column value + * @throws SQLite.Exception indicating SQLite error */ public native byte[] column_bytes(int col) throws SQLite.Exception; /** * Retrieve string column from exec'ed SQLite3 statement. + * * @param col column number, 0-based * @return String column value + * @throws SQLite.Exception indicating SQLite error */ public native String column_string(int col) throws SQLite.Exception; /** * Retrieve column type from exec'ed SQLite3 statement. + * * @param col column number, 0-based * @return column type code, e.g. SQLite.Constants.SQLITE_INTEGER + * @throws SQLite.Exception indicating SQLite error */ public native int column_type(int col) throws SQLite.Exception; /** * Retrieve number of columns of exec'ed SQLite3 statement. + * * @return int number of columns + * @throws SQLite.Exception indicating SQLite error */ public native int column_count() throws SQLite.Exception; /** * Retrieve column data as object from exec'ed SQLite3 statement. + * * @param col column number, 0-based * @return Object or null + * @throws SQLite.Exception indicating SQLite error */ public Object column(int col) throws SQLite.Exception { switch (column_type(col)) { case Constants.SQLITE_INTEGER: @@ -238,44 +282,54 @@ return null; } /** * Return table name of column of SQLite3 statement. + * * @param col column number, 0-based * @return String or null + * @throws SQLite.Exception indicating SQLite error */ public native String column_table_name(int col) throws SQLite.Exception; /** * Return database name of column of SQLite3 statement. + * * @param col column number, 0-based * @return String or null + * @throws SQLite.Exception indicating SQLite error */ public native String column_database_name(int col) throws SQLite.Exception; /** * Return declared column type of SQLite3 statement. + * * @param col column number, 0-based * @return String or null + * @throws SQLite.Exception indicating SQLite error */ public native String column_decltype(int col) throws SQLite.Exception; /** * Return column name of column of SQLite3 statement. + * * @param col column number, 0-based * @return String or null + * @throws SQLite.Exception indicating SQLite error */ public native String column_name(int col) throws SQLite.Exception; /** * Return origin column name of column of SQLite3 statement. + * * @param col column number, 0-based * @return String or null + * @throws SQLite.Exception indicating SQLite error */ public native String column_origin_name(int col) throws SQLite.Exception; /** Index: SQLite/TableResult.java ================================================================== --- SQLite/TableResult.java +++ SQLite/TableResult.java @@ -79,10 +79,12 @@ clear(); } /** * Create an empty result set with maximum number of rows. + * + * @param maxrows number of rows */ public TableResult(int maxrows) { this.maxrows = maxrows; clear(); Index: SQLite/Vm.java ================================================================== --- SQLite/Vm.java +++ SQLite/Vm.java @@ -40,33 +40,47 @@ * * * @param cb the object implementing the callback methods. * @return true as long as more row data can be retrieved, * false, otherwise. + * @throws SQLite.Exception indicating SQLite error */ public native boolean step(Callback cb) throws SQLite.Exception; /** * Compile the next SQL statement for the SQLite VM instance. + * * @return true when SQL statement has been compiled, false * on end of statement sequence. + * @throws SQLite.Exception indicating SQLite error */ public native boolean compile() throws SQLite.Exception; /** * Abort the compiled SQLite VM. + * + * @throws SQLite.Exception indicating SQLite error */ public native void stop() throws SQLite.Exception; /** * Destructor for object. */ protected native void finalize(); + + /** + * Is Vm closed ? + * @return true when closed. + */ + + boolean is_closed() { + return (handle == 0); + } /** * Internal native initializer. */ ADDED VERSION Index: VERSION ================================================================== --- /dev/null +++ VERSION @@ -0,0 +1,1 @@ +20150419 ADDED configure Index: configure ================================================================== --- /dev/null +++ configure @@ -0,0 +1,13736 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.68. +# +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$lt_ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +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! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<_LT_EOF +$* +_LT_EOF + exit 0 +fi + +# 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 + +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. + + 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 "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" + 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 + + 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 + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= +PACKAGE_URL= + +ac_unique_file="native/sqlite_jni.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='LTLIBOBJS +LIBOBJS +NATIVE_LIB_DIR +JDBCVER +JAR_DIR +JNIINCLUDE +JAVADOC +JAR +JAVAC_FLAGS +JAVAC +JAVA_FLAGS +JAVA_RUN +JAVAH +READLINK +VALIST_FLAGS +SQLITE3_A10N_FLAGS +SQLITE3_A10N_O +SQLITE3_A10N_C +HAVE_SQLITE3_STMT_STATUS +HAVE_SQLITE3_DB_STATUS +HAVE_SQLITE3_STATUS +HAVE_SQLITE3_PROFILE +HAVE_SQLITE3_BACKUPAPI +HAVE_SQLITE3_LOAD_EXTENSION +HAVE_SQLITE3_OPEN_V2 +HAVE_SQLITE3_SHARED_CACHE +HAVE_SQLITE3_KEY +HAVE_SQLITE3_INCRBLOBIO +HAVE_SQLITE3_RESULT_ZEROBLOB +HAVE_SQLITE3_BIND_PARAMETER_INDEX +HAVE_SQLITE3_BIND_PARAMETER_NAME +HAVE_SQLITE3_BIND_PARAMETER_COUNT +HAVE_SQLITE3_COLUMN_ORIGIN_NAME16 +HAVE_SQLITE3_COLUMN_DATABASE_NAME16 +HAVE_SQLITE3_COLUMN_TABLE_NAME16 +HAVE_SQLITE3_CLEAR_BINDINGS +HAVE_SQLITE3_BIND_ZEROBLOB +HAVE_SQLITE3_PREPARE16_V2 +HAVE_SQLITE3_PREPARE_V2 +HAVE_SQLITE3_MALLOC +HAVE_SQLITE3 +SQLITE3_LIB +SQLITE3_INC +HAVE_SQLITE_PROGRESS_HANDLER +HAVE_SQLITE_COMPILE +HAVE_SQLITE_TRACE +HAVE_SQLITE_SET_AUTHORIZER +HAVE_SQLITE_OPEN_AUX_FILE +HAVE_SQLITE_FUNCTION_TYPE +HAVE_SQLITE2 +SQLITE_LIB +SQLITE_INC +target_os +target_vendor +target_cpu +target +HOST_CFLAGS +HOSTCC +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +CPP +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +lt_ECHO +RANLIB +STRIP +AR +OBJDUMP +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_static +enable_shared +with_pic +enable_fast_install +with_gnu_ld +enable_libtool_lock +with_jardir +with_sqlite +with_sqlite3 +enable_load_extension +with_jdk +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-static[=PKGS] build static libraries [default=no] + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-load-extension support for loading SQLite 3.x extensions. + ***** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***** + *** Note that the --enable-load-extension option makes it *** + *** possible for library users to load arbitrary native code *** + *** into the JVM bypassing its security manager checks, and *** + *** thus should be enabled only if you know what you're doing. *** + ******************************************************************* + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-jardir=DIR where to place .jar files + --with-sqlite=DIR use SQLite header/lib from DIR + --with-sqlite3=DIR use SQLite3 header/lib from DIR + --with-jdk=DIR use Java top directory DIR + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to the package provider. +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.68 + +Copyright (C) 2010 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.68. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; 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 +else + enable_static=no +fi + + + + + + + + + +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.2.6b' +macro_revision='1.3017' + + + + + + + + + + + + + +ltmain="$ac_aux_dir/ltmain.sh" + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + 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%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +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. + if test -n "$ac_tool_prefix"; then + for ac_prog in "dumpbin -symbols" "link -dump -symbols" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in "dumpbin -symbols" "link -dump -symbols" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:3780: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:3783: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:3786: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + 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, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + 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` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + 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/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + 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}} + # 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. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 +$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 +$as_echo "$xsi_shell" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 +$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 +$as_echo "$lt_shell_append" >&6; } + + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + 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 + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + 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)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*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 + 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)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +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) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } +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 + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + + + + + + + + + + + + + + + + + + + + + + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 4992 "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; 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 + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; 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*) + 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* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + 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 + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + 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 + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + 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. + 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" >&5 + $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 >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _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' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + 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}' + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; 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 +else + enable_shared=yes +fi + + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + + +test -z "$pic_mode" && pic_mode=default + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; 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 +else + enable_fast_install=yes +fi + + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + + + + + + + + + + + + + + +case $host_os in +aix3*) + # 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 + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +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' + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +for cc_temp in $compiler""; 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-%%"` + + +# 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$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);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +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* + +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* + + +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6487: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:6491: \$? = $ac_status" >&5 + 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 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl*) + # IBM XL C 8.0/Fortran 10.1 on PPC + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 +$as_echo "$lt_prog_compiler_pic" >&6; } + + + + + + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6826: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:6830: \$? = $ac_status" >&5 + 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 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $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 + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6931: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:6935: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$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 + $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_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $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 + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6986: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:6990: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$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 + $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_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $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 + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $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 + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $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... + archive_expsym_cmds='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 $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${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. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag= + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${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' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld='-rpath $libdir' + archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + 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 + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + 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 + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + 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. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' + + if test "$GCC" = 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 + hardcode_direct=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 + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + 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 + + export_dynamic_flag_spec='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=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. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$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. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${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. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$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 + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + allow_undefined_flag="$_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 + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="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}" + module_expsym_cmds="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}" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo(void) {} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='${wl}-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 +$as_echo "$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +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 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'` + else + 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. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + 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 ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + 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` +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 + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + 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 + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + 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*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + 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' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +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,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'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$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' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + 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* | 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 + # 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'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + 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`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + 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' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + 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}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_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' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + 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 + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + 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}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + 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}' + soname_spec='${libname}${release}${shared_ext}$major' + 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_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + 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 + + # 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + 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' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*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=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + 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 ;; + 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 + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + 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}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + 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 + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + 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' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + 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}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +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 + +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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct" != 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_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen="shl_load" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line 9356 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line 9452 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +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" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +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" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report which library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +CC=${CC:-cc} + +HOSTCC=${HOSTCC:-cc} + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +$as_echo_n "checking target system type... " >&6; } +if ${ac_cv_target+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +$as_echo "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + +########## +# Handle the --prefix option +# +if test "${prefix}" = "NONE" ; then + prefix=/usr/local +fi +if test "${exec_prefix}" = "NONE" ; then + exec_prefix=$prefix +fi +eval libdir="$libdir" + +########## +# Where to place the .jar file(s) +# + +# Check whether --with-jardir was given. +if test "${with_jardir+set}" = set; then : + withval=$with_jardir; JAR_DIR=$withval +fi + +if test "x$JAR_DIR" = "x" ; then + JAR_DIR_UNSPEC=yes + JAR_DIR=$prefix/share/java +fi + +########## +# Find SQLite header file and library +# + +# Check whether --with-sqlite was given. +if test "${with_sqlite+set}" = set; then : + withval=$with_sqlite; SQLITE_DIR=$withval +fi + +if test ! -n "$SQLITE_DIR" -a -d "$SQLITE_DIR" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SQLite2 directory $SQLITE_DIR does not exist" >&5 +$as_echo "$as_me: WARNING: SQLite2 directory $SQLITE_DIR does not exist" >&2;} +fi + +SQLITE_INC="" +SQLITE_LIB="" +HAVE_SQLITE2=0 + +if test "$with_sqlite" != "no" ; then + if test -z "$SQLITE_DIR" ; then + SQLITE_DIR="../sqlite /usr /usr/local /opt" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SQLite header and library" >&5 +$as_echo_n "checking for SQLite header and library... " >&6; } + SQLITE_INC=UNKNOWN + SQLITE_LIB=UNKNOWN + for i in $SQLITE_DIR ; do + if test -r $i/sqlite.h ; then + if test -r $i/libsqlite.la ; then + SQLITE_INC="-I$i" + SQLITE_LIB="$i/libsqlite.la" + SQLITE_LIBDIR="-L$i" + break + elif test -r $i/libsqlite.a ; then + SQLITE_INC="-I$i" + SQLITE_LIB="$i/libsqlite.a" + SQLITE_LIBDIR="-L$i" + break + fi + elif test -r $i/include/sqlite.h ; then + for lib in lib64 lib ; do + if test -r $i/$lib/libsqlite.la ; then + SQLITE_INC="-I$i/include" + SQLITE_LIB="$i/$lib/libsqlite.la" + SQLITE_LIBDIR="-L$i/$lib" + break + elif test -r $i/$lib/libsqlite.a ; then + SQLITE_INC="-I$i/include" + SQLITE_LIB="$i/$lib/libsqlite.a" + SQLITE_LIBDIR="-L$i/$lib" + break + elif test -r $i/$lib/libsqlite.so ; then + SQLITE_INC="-I$i/include" + SQLITE_LIB="-lsqlite" + SQLITE_LIBDIR="-L$i/$lib" + break + fi + done + if test "$SQLITE_LIB" != "UNKNOWN" ; then + break + fi + fi + done + if test "$SQLITE_LIB" = "UNKNOWN" ; then + lib=`pkg-config sqlite --libs 2>/dev/null` + if test -n "$lib" ; then + SQLITE_INC=`pkg-config sqlite --cflags-only-I` + SQLITE_LIB="$lib" + SQLITE_LIBDIR=`pkg-config sqlite --libs-only-L` + fi + fi + if test "$SQLITE_INC" = "UNKNOWN" -o "$SQLITE_LIB" = "UNKNOWN" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SQLite2 header files and/or library not found" >&5 +$as_echo "$as_me: WARNING: SQLite2 header files and/or library not found" >&2;} + SQLITE_INC="" + SQLITE_LIB="" + HAVE_SQLITE2=0 + else + HAVE_SQLITE2=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi +fi + + + + +########## +# Check SQLite features +# +HAVE_SQLITE_FUNCTION_TYPE=0 +HAVE_SQLITE_OPEN_AUX_FILE=0 +HAVE_SQLITE_SET_AUTHORIZER=0 +HAVE_SQLITE_TRACE=0 +HAVE_SQLITE_COMPILE=0 +HAVE_SQLITE_PROGRESS_HANDLER=0 +if test "$HAVE_SQLITE2" = 1 ; then + saved_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $SQLITE_INC" + saved_LIBS=$LIBS + LIBS="$LIBS $SQLITE_LIBDIR" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite_function_type in -lsqlite" >&5 +$as_echo_n "checking for sqlite_function_type in -lsqlite... " >&6; } +if ${ac_cv_lib_sqlite_sqlite_function_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite_function_type (); +int +main () +{ +return sqlite_function_type (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite_sqlite_function_type=yes +else + ac_cv_lib_sqlite_sqlite_function_type=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite_sqlite_function_type" >&5 +$as_echo "$ac_cv_lib_sqlite_sqlite_function_type" >&6; } +if test "x$ac_cv_lib_sqlite_sqlite_function_type" = xyes; then : + HAVE_SQLITE_FUNCTION_TYPE=1 +else + HAVE_SQLITE_FUNCTION_TYPE=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite_open_aux_file in -lsqlite" >&5 +$as_echo_n "checking for sqlite_open_aux_file in -lsqlite... " >&6; } +if ${ac_cv_lib_sqlite_sqlite_open_aux_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite_open_aux_file (); +int +main () +{ +return sqlite_open_aux_file (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite_sqlite_open_aux_file=yes +else + ac_cv_lib_sqlite_sqlite_open_aux_file=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite_sqlite_open_aux_file" >&5 +$as_echo "$ac_cv_lib_sqlite_sqlite_open_aux_file" >&6; } +if test "x$ac_cv_lib_sqlite_sqlite_open_aux_file" = xyes; then : + HAVE_SQLITE_OPEN_AUX_FILE=1 +else + HAVE_SQLITE_OPEN_AUX_FILE=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite_set_authorizer in -lsqlite" >&5 +$as_echo_n "checking for sqlite_set_authorizer in -lsqlite... " >&6; } +if ${ac_cv_lib_sqlite_sqlite_set_authorizer+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite_set_authorizer (); +int +main () +{ +return sqlite_set_authorizer (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite_sqlite_set_authorizer=yes +else + ac_cv_lib_sqlite_sqlite_set_authorizer=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite_sqlite_set_authorizer" >&5 +$as_echo "$ac_cv_lib_sqlite_sqlite_set_authorizer" >&6; } +if test "x$ac_cv_lib_sqlite_sqlite_set_authorizer" = xyes; then : + HAVE_SQLITE_SET_AUTHORIZER=1 +else + HAVE_SQLITE_SET_AUTHORIZER=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite_trace in -lsqlite" >&5 +$as_echo_n "checking for sqlite_trace in -lsqlite... " >&6; } +if ${ac_cv_lib_sqlite_sqlite_trace+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite_trace (); +int +main () +{ +return sqlite_trace (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite_sqlite_trace=yes +else + ac_cv_lib_sqlite_sqlite_trace=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite_sqlite_trace" >&5 +$as_echo "$ac_cv_lib_sqlite_sqlite_trace" >&6; } +if test "x$ac_cv_lib_sqlite_sqlite_trace" = xyes; then : + HAVE_SQLITE_TRACE=1 +else + HAVE_SQLITE_TRACE=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite_compile in -lsqlite" >&5 +$as_echo_n "checking for sqlite_compile in -lsqlite... " >&6; } +if ${ac_cv_lib_sqlite_sqlite_compile+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite_compile (); +int +main () +{ +return sqlite_compile (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite_sqlite_compile=yes +else + ac_cv_lib_sqlite_sqlite_compile=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite_sqlite_compile" >&5 +$as_echo "$ac_cv_lib_sqlite_sqlite_compile" >&6; } +if test "x$ac_cv_lib_sqlite_sqlite_compile" = xyes; then : + HAVE_SQLITE_COMPILE=1 +else + HAVE_SQLITE_COMPILE=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite_progress_handler in -lsqlite" >&5 +$as_echo_n "checking for sqlite_progress_handler in -lsqlite... " >&6; } +if ${ac_cv_lib_sqlite_sqlite_progress_handler+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite_progress_handler (); +int +main () +{ +return sqlite_progress_handler (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite_sqlite_progress_handler=yes +else + ac_cv_lib_sqlite_sqlite_progress_handler=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite_sqlite_progress_handler" >&5 +$as_echo "$ac_cv_lib_sqlite_sqlite_progress_handler" >&6; } +if test "x$ac_cv_lib_sqlite_sqlite_progress_handler" = xyes; then : + HAVE_SQLITE_PROGRESS_HANDLER=1 +else + HAVE_SQLITE_PROGRESS_HANDLER=0 +fi + + LIBS=$saved_LIBS + CFLAGS=$saved_CFLAGS +fi + + + + + + + +########## +# Find SQLite3 header file and library +# + +# Check whether --with-sqlite3 was given. +if test "${with_sqlite3+set}" = set; then : + withval=$with_sqlite3; SQLITE3_DIR=$withval +fi + +if test ! -n "$SQLITE3_DIR" -a -d "$SQLITE3_DIR" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SQLite3 directory $SQLITE3_DIR does not exist" >&5 +$as_echo "$as_me: WARNING: SQLite3 directory $SQLITE3_DIR does not exist" >&2;} +fi + +if test -z "$SQLITE3_DIR" ; then + SQLITE3_DIR="../sqlite /usr /usr/local /opt" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SQLite3 header and library" >&5 +$as_echo_n "checking for SQLite3 header and library... " >&6; } +SQLITE3_INC=UNKNOWN +SQLITE3_LIB=UNKNOWN +for i in $SQLITE3_DIR ; do + if test -r $i/sqlite3.h ; then + if test -r $i/sqlite3.c ; then + SQLITE3_INC="-I$i" + SQLITE3_LIB="unknown" + SQLITE3_LIBDIR="" + SQLITE3_A10N_C="$i/sqlite3.c" + SQLITE3_A10N_O="sqlite3.lo" + break + elif test -r $i/libsqlite3.la ; then + SQLITE3_INC="-I$i" + SQLITE3_LIB="$i/libsqlite3.la" + SQLITE3_LIBDIR="-L$i" + break + elif test -r $i/libsqlite3.a ; then + SQLITE3_INC="-I$i" + SQLITE3_LIB="$i/libsqlite3.a" + SQLITE3_LIBDIR="-L$i" + break + elif test -r $i/see-sqlite3.c ; then + SQLITE3_INC="-I$i" + SQLITE3_LIB="unknown" + SQLITE3_LIBDIR="" + SQLITE3_A10N_C="$i/see-sqlite3.c" + SQLITE3_A10N_O="see-sqlite3.lo" + SQLITE3_IS_BUILD_WITH_SEE="yes" + HAVE_SQLITE3_KEY=1 + break + fi + elif test -r $i/include/sqlite3.h ; then + for lib in lib64 lib ; do + if test -r $i/$lib/libsqlite3.la ; then + SQLITE3_INC="-I$i/include" + SQLITE3_LIB="$i/$lib/libsqlite3.la" + SQLITE3_LIBDIR="-L$i/$lib" + break + elif test -r $i/$lib/libsqlite3.a ; then + SQLITE3_INC="-I$i/include" + SQLITE3_LIB="$i/$lib/libsqlite3.a" + SQLITE3_LIBDIR="-L$i/$lib" + break + elif test -r $i/$lib/libsqlite3.so ; then + SQLITE3_INC="-I$i/include" + SQLITE3_LIB="-lsqlite3" + SQLITE3_LIBDIR="-L$i/$lib" + break + fi + done + if test "$SQLITE3_LIB" != "UNKNOWN" ; then + break + fi + fi +done +if test "$SQLITE3_LIB" = "UNKNOWN" ; then + lib=`pkg-config sqlite3 --libs 2>/dev/null` + if test -n "$lib" ; then + SQLITE3_INC=`pkg-config sqlite3 --cflags-only-I` + SQLITE3_LIB="$lib" + SQLITE3_LIBDIR=`pkg-config sqlite3 --libs-only-L` + fi +fi +if test "$SQLITE3_INC" = "UNKNOWN" -o "$SQLITE3_LIB" = "UNKNOWN" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SQLite3 header files and/or library not found" >&5 +$as_echo "$as_me: WARNING: SQLite3 header files and/or library not found" >&2;} + SQLITE3_INC="" + SQLITE3_LIB="" + HAVE_SQLITE3=0 +elif test -n "$SQLITE3_A10N_C" ; then + SQLITE3_LIB="" + SQLITE3_A10N_FLAGS="$SQLITE3_A10N_FLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1" + SQLITE3_A10N_FLAGS="$SQLITE3_A10N_FLAGS -DSQLITE_DLL=1" + HAVE_SQLITE3=1 + if test "$SQLITE3_IS_BUILT_WITH_SEE" = "yes" ; then + SQLITE3_A10N_FLAGS="$SQLITE3_A10N_FLAGS -DSQLITE_HAS_CODEC=1" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, using SEE" >&5 +$as_echo "yes, using SEE" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi +else + HAVE_SQLITE3=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi + + + + +########## +# Check SQLite3 features +# +# Check whether --enable-load-extension was given. +if test "${enable_load_extension+set}" = set; then : + enableval=$enable_load_extension; +fi + +test "x$enable_load_extension" = "xyes" || enable_load_extension=no +HAVE_SQLITE3_MALLOC=0 +HAVE_SQLITE3_PREPARE_V2=0 +HAVE_SQLITE3_PREPARE16_V2=0 +HAVE_SQLITE3_BIND_ZEROBLOB=0 +HAVE_SQLITE3_CLEAR_BINDINGS=0 +HAVE_SQLITE3_COLUMN_TABLE_NAME16=0 +HAVE_SQLITE3_COLUMN_DATABASE_NAME16=0 +HAVE_SQLITE3_COLUMN_ORIGIN_NAME16=0 +HAVE_SQLITE3_BIND_PARAMETER_COUNT=0 +HAVE_SQLITE3_BIND_PARAMETER_NAME=0 +HAVE_SQLITE3_BIND_PARAMETER_INDEX=0 +HAVE_SQLITE3_RESULT_ZEROBLOB=0 +HAVE_SQLITE3_INCRBLOBIO=0 +HAVE_SQLITE3_KEY=0 +HAVE_SQLITE3_SHARED_CACHE=0 +HAVE_SQLITE3_OPEN_V2=0 +HAVE_SQLITE3_LOAD_EXTENSION=0 +HAVE_SQLITE3_BACKUPAPI=0 +HAVE_SQLITE3_PROFILE=0 +HAVE_SQLITE3_STATUS=0 +HAVE_SQLITE3_DB_STATUS=0 +HAVE_SQLITE3_STMT_STATUS=0 +if test "$HAVE_SQLITE3" = 1 -a -n "$SQLITE3_A10N_C" ; then + HAVE_SQLITE3_MALLOC=1 + HAVE_SQLITE3_PREPARE_V2=1 + HAVE_SQLITE3_PREPARE16_V2=1 + HAVE_SQLITE3_BIND_ZEROBLOB=1 + HAVE_SQLITE3_CLEAR_BINDINGS=1 + HAVE_SQLITE3_COLUMN_TABLE_NAME16=1 + HAVE_SQLITE3_COLUMN_DATABASE_NAME16=1 + HAVE_SQLITE3_COLUMN_ORIGIN_NAME16=1 + HAVE_SQLITE3_BIND_PARAMETER_COUNT=1 + HAVE_SQLITE3_BIND_PARAMETER_NAME=1 + HAVE_SQLITE3_BIND_PARAMETER_INDEX=1 + HAVE_SQLITE3_RESULT_ZEROBLOB=1 + HAVE_SQLITE3_INCRBLOBIO=1 + HAVE_SQLITE3_SHARED_CACHE=1 + HAVE_SQLITE3_OPEN_V2=1 + if test "$enable_load_extension" = "yes" ; then + HAVE_SQLITE3_LOAD_EXTENSION=1 + fi + HAVE_SQLITE3_BACKUPAPI=1 + HAVE_SQLITE3_PROFILE=1 + HAVE_SQLITE3_STATUS=1 + HAVE_SQLITE3_DB_STATUS=1 + HAVE_SQLITE3_STMT_STATUS=1 +fi +if test "$HAVE_SQLITE3" = 1 -a -z "$SQLITE3_A10N_C" ; then + saved_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $SQLITE3_INC" + saved_LIBS=$LIBS + LIBS="$LIBS $SQLITE3_LIBDIR" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_malloc in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_malloc in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_malloc+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_malloc (); +int +main () +{ +return sqlite3_malloc (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_malloc=yes +else + ac_cv_lib_sqlite3_sqlite3_malloc=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_malloc" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_malloc" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_malloc" = xyes; then : + HAVE_SQLITE3_MALLOC=1 +else + HAVE_SQLITE3_MALLOC=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_prepare_v2 in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_prepare_v2 in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_prepare_v2+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_prepare_v2 (); +int +main () +{ +return sqlite3_prepare_v2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_prepare_v2=yes +else + ac_cv_lib_sqlite3_sqlite3_prepare_v2=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_prepare_v2" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_prepare_v2" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_prepare_v2" = xyes; then : + HAVE_SQLITE3_PREPARE_V2=1 +else + HAVE_SQLITE3_PREPARE_V2=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_prepare16_v2 in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_prepare16_v2 in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_prepare16_v2+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_prepare16_v2 (); +int +main () +{ +return sqlite3_prepare16_v2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_prepare16_v2=yes +else + ac_cv_lib_sqlite3_sqlite3_prepare16_v2=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_prepare16_v2" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_prepare16_v2" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_prepare16_v2" = xyes; then : + HAVE_SQLITE3_PREPARE16_V2=1 +else + HAVE_SQLITE3_PREPARE16_V2=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_bind_zeroblob in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_bind_zeroblob in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_bind_zeroblob+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_bind_zeroblob (); +int +main () +{ +return sqlite3_bind_zeroblob (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_bind_zeroblob=yes +else + ac_cv_lib_sqlite3_sqlite3_bind_zeroblob=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_bind_zeroblob" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_bind_zeroblob" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_bind_zeroblob" = xyes; then : + HAVE_SQLITE3_BIND_ZEROBLOB=1 +else + HAVE_SQLITE3_BIND_ZEROBLOB=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_clear_bindings in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_clear_bindings in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_clear_bindings+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_clear_bindings (); +int +main () +{ +return sqlite3_clear_bindings (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_clear_bindings=yes +else + ac_cv_lib_sqlite3_sqlite3_clear_bindings=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_clear_bindings" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_clear_bindings" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_clear_bindings" = xyes; then : + HAVE_SQLITE3_CLEAR_BINDINGS=1 +else + HAVE_SQLITE3_CLEAR_BINDINGS=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_column_table_name16 in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_column_table_name16 in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_column_table_name16+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_column_table_name16 (); +int +main () +{ +return sqlite3_column_table_name16 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_column_table_name16=yes +else + ac_cv_lib_sqlite3_sqlite3_column_table_name16=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_column_table_name16" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_column_table_name16" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_column_table_name16" = xyes; then : + HAVE_SQLITE3_COLUMN_TABLE_NAME16=1 +else + HAVE_SQLITE3_COLUMN_TABLE_NAME16=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_column_database_name16 in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_column_database_name16 in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_column_database_name16+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_column_database_name16 (); +int +main () +{ +return sqlite3_column_database_name16 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_column_database_name16=yes +else + ac_cv_lib_sqlite3_sqlite3_column_database_name16=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_column_database_name16" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_column_database_name16" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_column_database_name16" = xyes; then : + HAVE_SQLITE3_COLUMN_DATABASE_NAME16=1 +else + HAVE_SQLITE3_COLUMN_DATABASE_NAME16=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_column_origin_name16 in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_column_origin_name16 in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_column_origin_name16+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_column_origin_name16 (); +int +main () +{ +return sqlite3_column_origin_name16 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_column_origin_name16=yes +else + ac_cv_lib_sqlite3_sqlite3_column_origin_name16=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_column_origin_name16" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_column_origin_name16" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_column_origin_name16" = xyes; then : + HAVE_SQLITE3_COLUMN_ORIGIN_NAME16=1 +else + HAVE_SQLITE3_COLUMN_ORIGIN_NAME16=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_bind_parameter_count in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_bind_parameter_count in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_bind_parameter_count+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_bind_parameter_count (); +int +main () +{ +return sqlite3_bind_parameter_count (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_bind_parameter_count=yes +else + ac_cv_lib_sqlite3_sqlite3_bind_parameter_count=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_bind_parameter_count" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_bind_parameter_count" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_bind_parameter_count" = xyes; then : + HAVE_SQLITE3_BIND_PARAMETER_COUNT=1 +else + HAVE_SQLITE3_BIND_PARAMETER_COUNT=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_bind_parameter_name in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_bind_parameter_name in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_bind_parameter_name+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_bind_parameter_name (); +int +main () +{ +return sqlite3_bind_parameter_name (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_bind_parameter_name=yes +else + ac_cv_lib_sqlite3_sqlite3_bind_parameter_name=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_bind_parameter_name" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_bind_parameter_name" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_bind_parameter_name" = xyes; then : + HAVE_SQLITE3_BIND_PARAMETER_NAME=1 +else + HAVE_SQLITE3_BIND_PARAMETER_NAME=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_bind_parameter_index in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_bind_parameter_index in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_bind_parameter_index+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_bind_parameter_index (); +int +main () +{ +return sqlite3_bind_parameter_index (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_bind_parameter_index=yes +else + ac_cv_lib_sqlite3_sqlite3_bind_parameter_index=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_bind_parameter_index" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_bind_parameter_index" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_bind_parameter_index" = xyes; then : + HAVE_SQLITE3_BIND_PARAMETER_INDEX=1 +else + HAVE_SQLITE3_BIND_PARAMETER_INDEX=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_result_zeroblob in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_result_zeroblob in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_result_zeroblob+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_result_zeroblob (); +int +main () +{ +return sqlite3_result_zeroblob (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_result_zeroblob=yes +else + ac_cv_lib_sqlite3_sqlite3_result_zeroblob=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_result_zeroblob" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_result_zeroblob" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_result_zeroblob" = xyes; then : + HAVE_SQLITE3_RESULT_ZEROBLOB=1 +else + HAVE_SQLITE3_RESULT_ZEROBLOB=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_blob_open in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_blob_open in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_blob_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_blob_open (); +int +main () +{ +return sqlite3_blob_open (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_blob_open=yes +else + ac_cv_lib_sqlite3_sqlite3_blob_open=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_blob_open" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_blob_open" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_blob_open" = xyes; then : + HAVE_SQLITE3_INCRBLOBIO=1 +else + HAVE_SQLITE3_INCRBLOBIO=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_key in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_key in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_key+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_key (); +int +main () +{ +return sqlite3_key (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_key=yes +else + ac_cv_lib_sqlite3_sqlite3_key=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_key" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_key" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_key" = xyes; then : + HAVE_SQLITE3_KEY=1 +else + HAVE_SQLITE3_KEY=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_rekey in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_rekey in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_rekey+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_rekey (); +int +main () +{ +return sqlite3_rekey (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_rekey=yes +else + ac_cv_lib_sqlite3_sqlite3_rekey=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_rekey" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_rekey" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_rekey" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBSQLITE3 1 +_ACEOF + + LIBS="-lsqlite3 $LIBS" + +else + HAVE_SQLITE3_KEY=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_enable_shared_cache in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_enable_shared_cache in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_enable_shared_cache+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_enable_shared_cache (); +int +main () +{ +return sqlite3_enable_shared_cache (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_enable_shared_cache=yes +else + ac_cv_lib_sqlite3_sqlite3_enable_shared_cache=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_enable_shared_cache" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_enable_shared_cache" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_enable_shared_cache" = xyes; then : + HAVE_SQLITE3_SHARED_CACHE=1 +else + HAVE_SQLITE3_SHARED_CACHE=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_open_v2 in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_open_v2 in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_open_v2+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_open_v2 (); +int +main () +{ +return sqlite3_open_v2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_open_v2=yes +else + ac_cv_lib_sqlite3_sqlite3_open_v2=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_open_v2" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_open_v2" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_open_v2" = xyes; then : + HAVE_SQLITE3_OPEN_V2=1 +else + HAVE_SQLITE3_OPEN_V2=0 +fi + + if test "$enable_load_extension" = "yes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_load_extension in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_load_extension in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_load_extension+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_load_extension (); +int +main () +{ +return sqlite3_load_extension (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_load_extension=yes +else + ac_cv_lib_sqlite3_sqlite3_load_extension=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_load_extension" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_load_extension" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_load_extension" = xyes; then : + HAVE_SQLITE3_LOAD_EXTENSION=1 +else + HAVE_SQLITE3_LOAD_EXTENSION=0 +fi + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_backup_init in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_backup_init in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_backup_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_backup_init (); +int +main () +{ +return sqlite3_backup_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_backup_init=yes +else + ac_cv_lib_sqlite3_sqlite3_backup_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_backup_init" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_backup_init" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_backup_init" = xyes; then : + HAVE_SQLITE3_BACKUPAPI=1 +else + HAVE_SQLITE3_BACKUPAPI=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_profile in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_profile in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_profile+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_profile (); +int +main () +{ +return sqlite3_profile (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_profile=yes +else + ac_cv_lib_sqlite3_sqlite3_profile=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_profile" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_profile" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_profile" = xyes; then : + HAVE_SQLITE3_PROFILE=1 +else + HAVE_SQLITE3_PROFILE=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_status in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_status in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_status+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_status (); +int +main () +{ +return sqlite3_status (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_status=yes +else + ac_cv_lib_sqlite3_sqlite3_status=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_status" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_status" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_status" = xyes; then : + HAVE_SQLITE3_STATUS=1 +else + HAVE_SQLITE3_STATUS=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_db_status in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_db_status in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_db_status+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_db_status (); +int +main () +{ +return sqlite3_db_status (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_db_status=yes +else + ac_cv_lib_sqlite3_sqlite3_db_status=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_db_status" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_db_status" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_db_status" = xyes; then : + HAVE_SQLITE3_DB_STATUS=1 +else + HAVE_SQLITE3_DB_STATUS=0 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_stmt_status in -lsqlite3" >&5 +$as_echo_n "checking for sqlite3_stmt_status in -lsqlite3... " >&6; } +if ${ac_cv_lib_sqlite3_sqlite3_stmt_status+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsqlite3 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqlite3_stmt_status (); +int +main () +{ +return sqlite3_stmt_status (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sqlite3_sqlite3_stmt_status=yes +else + ac_cv_lib_sqlite3_sqlite3_stmt_status=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_stmt_status" >&5 +$as_echo "$ac_cv_lib_sqlite3_sqlite3_stmt_status" >&6; } +if test "x$ac_cv_lib_sqlite3_sqlite3_stmt_status" = xyes; then : + HAVE_SQLITE3_STMT_STATUS=1 +else + HAVE_SQLITE3_STMT_STATUS=0 +fi + + LIBS=$saved_LIBS + CFLAGS=$saved_CFLAGS +fi + + + + + + + + + + + + + + + + + + + + + + + +if test -z "$SQLITE3_A10N_C" ; then + SQLITE3_A10N_C="native/dummy.c" + SQLITE3_A10N_O="dummy.lo" +fi + + + + +########## +# Any usable SQLite found ? +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable SQLite" >&5 +$as_echo_n "checking for usable SQLite... " >&6; } +if test "$HAVE_SQLITE2" != "1" -a "$HAVE_SQLITE3" != "1" ; then + as_fn_error $? "No SQLite found, please try --with-sqlite/--with-sqlite3" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +########## +# Find out if char ptr array can be passed in place of +# a va_list (needed for sqlite_exec_vprintf() and +# sqlite_vmprintf()) +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking va_list usage" >&5 +$as_echo_n "checking va_list usage... " >&6; } +if test "$cross_compiling" = yes; then : + USE_VFUNCS=0 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +static int +vatest2(va_list ap) +{ + return 0; +} + +static int +vatest(char **x, ...) +{ + va_list ap; + char *y; + int ret; + + va_start(ap, x); + y = va_arg(ap, char *); + x = (char **) &x + 1; + ret = (y != *x); + va_end(ap); + return ret; +} + +int +main(int argc, char **argv) +{ + /* Check if we can convert char ** to va_list. */ + vatest2((va_list) argv); + /* Check if parameters are passed through stack. */ + exit(vatest(NULL, vatest, 0.0, 0, NULL)); +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + USE_VFUNCS=1 +else + USE_VFUNCS=0 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +if test "$USE_VFUNCS" = "1" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using sqlite_exec_vprintf/sqlite_vmprintf" >&5 +$as_echo "using sqlite_exec_vprintf/sqlite_vmprintf" >&6; } + VALIST_FLAGS="" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: NOT using sqlite_exec_vprintf/sqlite_vmprintf" >&5 +$as_echo "NOT using sqlite_exec_vprintf/sqlite_vmprintf" >&6; } + VALIST_FLAGS="-DCANT_PASS_VALIST_AS_CHARPTR=1" +fi + + +########## +# Find JRE/JDK things +# +# Extract the first word of "readlink", so it can be a program name with args. +set dummy readlink; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_READLINK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$READLINK"; then + ac_cv_prog_READLINK="$READLINK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_READLINK="readlink" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +READLINK=$ac_cv_prog_READLINK +if test -n "$READLINK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINK" >&5 +$as_echo "$READLINK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + +# Check whether --with-jdk was given. +if test "${with_jdk+set}" = set; then : + withval=$with_jdk; JAVA_HOME=$withval +fi + +if test -z "$JAVA_HOME" ; then + JAVA_HOME=`which javac` + if test -z "$JAVA_HOME" ; then + as_fn_error $? "JAVA_HOME directory not found, please use --with-jdk=DIR" "$LINENO" 5 + fi + if test -n "$READLINK" ; then + while test -L $JAVA_HOME ; do + JAVA_HOME=`$READLINK $JAVA_HOME` + done + fi + JAVA_HOME=`dirname $JAVA_HOME` + JAVA_HOME=`dirname $JAVA_HOME` + if test "x$JAR_DIR_UNSPEC" = "xyes" ; then + JAR_DIR=$JAVA_HOME/jre/lib/ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: will install sqlite.jar into $JAR_DIR" >&5 +$as_echo "will install sqlite.jar into $JAR_DIR" >&6; } + fi + if test "x$NATIVE_LIB_DIR" = "x" ; then + if test "$prefix" = "/usr/local" ; then + case "$target_cpu" in + i[3-6]86*) + NATIVE_LIB_DIR=$JAVA_HOME/jre/lib/i386 + ;; + x86_64) + if test -d $JAVA_HOME/jre/lib/amd64 ; then + NATIVE_LIB_DIR=$JAVA_HOME/jre/lib/amd64 + else + NATIVE_LIB_DIR=$JAVA_HOME/jre/lib/$target_cpu + fi + ;; + *) + NATIVE_LIB_DIR=$JAVA_HOME/jre/lib/$target_cpu + ;; + esac + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: will install libsqlite_jni into $NATIVE_LIB_DIR" >&5 +$as_echo "will install libsqlite_jni into $NATIVE_LIB_DIR" >&6; } + fi +fi +if test ! -d "$JAVA_HOME" ; then + as_fn_error $? "JAVA_HOME directory not found, please use --with-jdk=DIR" "$LINENO" 5 +fi + +if test -n "$JAVA_HOME" ; then + if test "x$JAVA_RUN" = "x"; then + JAVA_RUN=$JAVA_HOME/bin/java + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Overriding JAVA command with: $JAVA_RUN" >&5 +$as_echo "$as_me: WARNING: Overriding JAVA command with: $JAVA_RUN" >&2;} + fi + JAVAC=$JAVA_HOME/bin/javac + JAVAH="$JAVA_HOME/bin/javah -jni" + JAR=$JAVA_HOME/bin/jar + JAVADOC=$JAVA_HOME/bin/javadoc +else + if test "x$JAVA_RUN" = "x"; then + JAVA_RUN=`which java` + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Overriding JAVA command with: $JAVA_RUN" >&5 +$as_echo "$as_me: WARNING: Overriding JAVA command with: $JAVA_RUN" >&2;} + fi + JAVAC=`which javac` + JAVAH="`which javah` -jni" + JAR=`which jar` + JAVADOC=`which javadoc` + JAVA_HOME=`dirname $JAVAC` + JAVA_HOME=`dirname $JAVA_HOME` +fi + + + + + + + + + +# Set up the JNI include directory specification +case $build_os in + solaris*) + JNIINCLUDE="-I$JAVA_HOME/include -I$JAVA_HOME/include/solaris" + ;; + linux*) + JNIINCLUDE="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux" + ;; + freebsd*) + JNIINCLUDE="-I$JAVA_HOME/include -I$JAVA_HOME/include/freebsd" + ;; + *) + JNIINCLUDE="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/${build_os}" + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: setting generic JNI include file directives!" >&5 +$as_echo "$as_me: WARNING: setting generic JNI include file directives!" >&2;} + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: setting JNI include file directives: $JNIINCLUDE" >&5 +$as_echo "setting JNI include file directives: $JNIINCLUDE" >&6; } + +# Figure out JDK version +if test "x$JDBCVER" = "x" ; then + JDBCVER=JDBC2 + $JAVA_RUN -version 2>&1 | grep 'version "1.1' >/dev/null && JDBCVER=JDBC1 + $JAVA_RUN -version 2>&1 | grep 'version "1.4' >/dev/null && JDBCVER=JDBC2x + $JAVA_RUN -version 2>&1 | grep 'version "1.5' >/dev/null && JDBCVER=JDBC2y + $JAVA_RUN -version 2>&1 | grep 'version "1.6' >/dev/null && JDBCVER=JDBC2z + $JAVA_RUN -version 2>&1 | grep 'version "1.[78]' >/dev/null && JDBCVER=JDBC2z1 + $JAVA_RUN -version 2>&1 | grep 'JSR169' >/dev/null && JDBCVER=JDBC0 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: overriding JDBC driver: $JDBCVER" >&5 +$as_echo "$as_me: WARNING: overriding JDBC driver: $JDBCVER" >&2;} +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using JDBC driver from $JDBCVER directory" >&5 +$as_echo "using JDBC driver from $JDBCVER directory" >&6; } + +# default to pre 1.7 source +cp SQLite/JDBCDriver.java16 SQLite/JDBCDriver.java +cp SQLite/JDBCDataSource.javajsr169 SQLite/JDBCDataSource.java + +if test "$JDBCVER" = "JDBC2y" ; then + # 1.5 gives one unchecked warning on SQLite/TableResult.java + JAVAC="$JAVAC -nowarn" +fi +if test "$JDBCVER" = "JDBC2z" ; then + # 1.6 gives some unchecked warnings, e.g. on SQLite/TableResult.java + JAVAC="$JAVAC -nowarn" +fi +if test "$JDBCVER" = "JDBC2z1" ; then + # 1.7 gives some unchecked warnings, e.g. on SQLite/TableResult.java + JAVAC="$JAVAC -nowarn" + cp SQLite/JDBCDriver.java17 SQLite/JDBCDriver.java + cp SQLite/JDBCDataSource.java17 SQLite/JDBCDataSource.java +fi + +if test "x$NATIVE_LIB_DIR" = "x" ; then + NATIVE_LIB_DIR=$libdir +fi + + + + + + +ac_config_files="$ac_config_files Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` + + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.68. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + +Configuration files: +$config_files + +Configuration commands: +$config_commands + +Report bugs to the package provider." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.68, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2010 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# + + +# 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' +enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' +macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' +macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' +pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' +host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' +host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' +host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' +build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' +build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' +build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' +SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' +Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' +GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' +EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' +FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' +LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' +NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' +LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' +ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' +exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' +lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' +reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' +AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' +STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' +RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' +compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' +GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' +SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' +ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' +need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' +LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' +libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' +version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' +runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' +libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' +soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' +old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' +striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# Quote evaled strings. +for var in SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +AR \ +AR_FLAGS \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +SHELL \ +ECHO \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_wl \ +lt_prog_compiler_pic \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_flag_spec_ld \ +hardcode_libdir_separator \ +fix_srcfile_path \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +finish_eval \ +old_striplib \ +striplib; 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 reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +sys_lib_dlsearch_path_spec; 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"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` + ;; +esac + +ac_aux_dir='$ac_aux_dir' +xsi_shell='$xsi_shell' +lt_shell_append='$lt_shell_append' + +# 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 + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile' + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + + +eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "libtool":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. +# +# 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. + + +# The names of the tagged configurations supported by this script. +available_tags="" + +# ### BEGIN LIBTOOL CONFIG + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that does not interpret backslashes. +ECHO=$lt_ECHO + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# 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 +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# ### 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 + + +ltmain="$ac_aux_dir/ltmain.sh" + + + # 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) + + case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[^=]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$@"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1=\$$1\$2" +} + +_LT_EOF + ;; + esac + + + 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" + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + Index: configure.in ================================================================== --- configure.in +++ configure.in @@ -418,10 +418,16 @@ # AC_MSG_CHECKING([va_list usage]) AC_TRY_RUN([ #include #include + +static int +vatest2(va_list ap) +{ + return 0; +} static int vatest(char **x, ...) { va_list ap; @@ -437,10 +443,13 @@ } int main(int argc, char **argv) { + /* Check if we can convert char ** to va_list. */ + vatest2((va_list) argv); + /* Check if parameters are passed through stack. */ exit(vatest(NULL, vatest, 0.0, 0, NULL)); } ],[USE_VFUNCS=1],[USE_VFUNCS=0],[USE_VFUNCS=0]) if test "$USE_VFUNCS" = "1" ; then @@ -554,19 +563,20 @@ JDBCVER=JDBC2 $JAVA_RUN -version 2>&1 | grep 'version "1.1' >/dev/null && JDBCVER=JDBC1 $JAVA_RUN -version 2>&1 | grep 'version "1.4' >/dev/null && JDBCVER=JDBC2x $JAVA_RUN -version 2>&1 | grep 'version "1.5' >/dev/null && JDBCVER=JDBC2y $JAVA_RUN -version 2>&1 | grep 'version "1.6' >/dev/null && JDBCVER=JDBC2z - $JAVA_RUN -version 2>&1 | grep 'version "1.7' >/dev/null && JDBCVER=JDBC2z1 + $JAVA_RUN -version 2>&1 | grep 'version "1.[78]' >/dev/null && JDBCVER=JDBC2z1 $JAVA_RUN -version 2>&1 | grep 'JSR169' >/dev/null && JDBCVER=JDBC0 else AC_MSG_WARN([overriding JDBC driver: $JDBCVER]) fi AC_MSG_RESULT([using JDBC driver from $JDBCVER directory]) # default to pre 1.7 source -cp SQLite/JDBCDriver.java16 SQLite/JDBCDriver +cp SQLite/JDBCDriver.java16 SQLite/JDBCDriver.java +cp SQLite/JDBCDataSource.javajsr169 SQLite/JDBCDataSource.java if test "$JDBCVER" = "JDBC2y" ; then # 1.5 gives one unchecked warning on SQLite/TableResult.java JAVAC="$JAVAC -nowarn" fi @@ -576,10 +586,11 @@ fi if test "$JDBCVER" = "JDBC2z1" ; then # 1.7 gives some unchecked warnings, e.g. on SQLite/TableResult.java JAVAC="$JAVAC -nowarn" cp SQLite/JDBCDriver.java17 SQLite/JDBCDriver.java + cp SQLite/JDBCDataSource.java17 SQLite/JDBCDataSource.java fi if test "x$NATIVE_LIB_DIR" = "x" ; then NATIVE_LIB_DIR=$libdir fi Index: doc/overview.html ================================================================== --- doc/overview.html +++ doc/overview.html @@ -23,14 +23,14 @@ Since September, 2004, SQLite3 (minimum 3.0.7) is supported. The JNI part can be generated to include support for both SQLite 2.x and 3.x and detects at runtime the type of the database.

The current source tarball can be downloaded from - -javasqlite-20111222.tar.gz. -It has been tested on Linux, using SQLite 2.8.17 and 3.7.9, -and JDK 1.4/1.5/1.6 from + +javasqlite-20150419.tar.gz. +It has been tested on Linux, using SQLite 2.8.17 and 3.7.15, +and JDK 1.4/1.5/1.6/1.7 from Sun. The change log starting from August 2007 is here.

For rebuilding the following requirements must be met: Index: doc/title.html ================================================================== --- doc/title.html +++ doc/title.html @@ -1,4 +1,4 @@ SQLite Java Wrapper/JDBC Driver
-2011-12-22 +2015-04-19 Index: javasqlite.mak ================================================================== --- javasqlite.mak +++ javasqlite.mak @@ -5,30 +5,30 @@ # Change this to the location where your Java2 SDK is installed JAVA_HOME = C:\j2sdk1.4.2_03 # Change this to the location where your Java2 Runtime is installed -JRE_HOME = $(JAVA_HOME)\jre +JRE_HOME = "$(JAVA_HOME)\jre" # See comment at top SQLITE = sqlite-2.8.17 CC = cl SQLITE_INC = $(SQLITE) SQLITE_LIB = $(SQLITE)\libsqlite.lib -JAVAH = $(JAVA_HOME)\bin\javah -jni -JAVA_RUN = $(JAVA_HOME)\bin\java -JAVAC = $(JAVA_HOME)\bin\javac -JAVADOC = $(JAVA_HOME)\bin\javadoc -JAR = $(JAVA_HOME)\bin\jar -JNIINCLUDE = $(JAVA_HOME)\include +JAVAH = "$(JAVA_HOME)\bin\javah" -jni +JAVA_RUN = "$(JAVA_HOME)\bin\java" +JAVAC = "$(JAVA_HOME)\bin\javac" +JAVADOC = "$(JAVA_HOME)\bin\javadoc" +JAR = "$(JAVA_HOME)\bin\jar" +JNIINCLUDE = "$(JAVA_HOME)\include" JDBCVER = JDBC2x -EXTENSION_DIR = $(JRE_HOME)\lib\ext +EXTENSION_DIR = "$(JRE_HOME)\lib\ext" -NATIVE_LIB_DIR = $(JRE_HOME)\bin +NATIVE_LIB_DIR = "$(JRE_HOME)\bin" CFLAGS = -nologo -Oti -Gs -W3 -D_MT -D_WIN32 \ -I$(SQLITE_INC) -I$(JNIINCLUDE) -I$(JNIINCLUDE)\win32 \ -DHAVE_SQLITE_FUNCTION_TYPE=1 -DHAVE_SQLITE_SET_AUTHORIZER=1 \ -DHAVE_SQLITE_COMPILE=1 -DHAVE_SQLITE_TRACE=1 \ @@ -41,11 +41,11 @@ LIBS = $(SQLITE_LIB) .SUFFIXES: .java .class .jar .java.class: - $(JAVAC) $(JAVAC_FLAGS) $< + $(JAVAC) $(JAVAC_FLAGS) "$<" CLASSES = \ SQLite/Authorizer.class \ SQLite/BusyHandler.class \ SQLite/Callback.class \ Index: javasqlite23.mak ================================================================== --- javasqlite23.mak +++ javasqlite23.mak @@ -6,11 +6,11 @@ # Change this to the location where your Java2 SDK is installed JAVA_HOME = C:\j2sdk1.4.2_03 # Change this to the location where your Java2 Runtime is installed -JRE_HOME = $(JAVA_HOME)\jre +JRE_HOME = "$(JAVA_HOME)\jre" # See comment at top SQLITE = sqlite-2.8.17 SQLITE3 = sqlite-amalgamation-3070701 @@ -17,22 +17,22 @@ CC = cl SQLITE_INC = $(SQLITE) SQLITE_LIB = $(SQLITE)\libsqlite.lib SQLITE3_INC = $(SQLITE3) SQLITE3_LIB = $(SQLITE3)\libsqlite3.lib -JAVAH = $(JAVA_HOME)\bin\javah -jni -JAVA_RUN = $(JAVA_HOME)\bin\java -JAVAC = $(JAVA_HOME)\bin\javac -JAVADOC = $(JAVA_HOME)\bin\javadoc -JAR = $(JAVA_HOME)\bin\jar -JNIINCLUDE = $(JAVA_HOME)\include +JAVAH = "$(JAVA_HOME)\bin\javah" -jni +JAVA_RUN = "$(JAVA_HOME)\bin\java" +JAVAC = "$(JAVA_HOME)\bin\javac" +JAVADOC = "$(JAVA_HOME)\bin\javadoc" +JAR = "$(JAVA_HOME)\bin\jar" +JNIINCLUDE = "$(JAVA_HOME)\include" JDBCVER = JDBC2x -EXTENSION_DIR = $(JRE_HOME)\lib\ext +EXTENSION_DIR = "$(JRE_HOME)\lib\ext" -NATIVE_LIB_DIR = $(JRE_HOME)\bin +NATIVE_LIB_DIR = "$(JRE_HOME)\bin" CFLAGS = -nologo -Oti -Gs -W3 -D_MT -D_WIN32 \ -I$(SQLITE_INC) -I$(SQLITE3_INC) \ -I$(JNIINCLUDE) -I$(JNIINCLUDE)\win32 \ -DHAVE_SQLITE_FUNCTION_TYPE=1 -DHAVE_SQLITE_SET_AUTHORIZER=1 \ @@ -69,11 +69,11 @@ LIBS = $(SQLITE_LIB) $(SQLITE3_LIB) .SUFFIXES: .java .class .jar .java.class: - $(JAVAC) $(JAVAC_FLAGS) $< + $(JAVAC) $(JAVAC_FLAGS) "$<" CLASSES = \ SQLite/Authorizer.class \ SQLite/BusyHandler.class \ SQLite/Callback.class \ Index: javasqlite3-dll.mak ================================================================== --- javasqlite3-dll.mak +++ javasqlite3-dll.mak @@ -4,30 +4,30 @@ # Change this to the location where your Java2 SDK is installed JAVA_HOME = C:\j2sdk1.4.2_03 # Change this to the location where your Java2 Runtime is installed -JRE_HOME = $(JAVA_HOME)\jre +JRE_HOME = "$(JAVA_HOME)\jre" # See comment at top SQLITE3 = . CC = cl SQLITE3_INC = $(SQLITE3) SQLITE3_LIB = $(SQLITE3)\sqlite3.lib -JAVAH = $(JAVA_HOME)\bin\javah -jni -JAVA_RUN = $(JAVA_HOME)\bin\java -JAVAC = $(JAVA_HOME)\bin\javac -JAVADOC = $(JAVA_HOME)\bin\javadoc -JAR = $(JAVA_HOME)\bin\jar -JNIINCLUDE = $(JAVA_HOME)\include +JAVAH = "$(JAVA_HOME)\bin\javah" -jni +JAVA_RUN = "$(JAVA_HOME)\bin\java" +JAVAC = "$(JAVA_HOME)\bin\javac" +JAVADOC = "$(JAVA_HOME)\bin\javadoc" +JAR = "$(JAVA_HOME)\bin\jar" +JNIINCLUDE = "$(JAVA_HOME)\include" JDBCVER = JDBC2x -EXTENSION_DIR = $(JRE_HOME)\lib\ext +EXTENSION_DIR = "$(JRE_HOME)\lib\ext" -NATIVE_LIB_DIR = $(JRE_HOME)\bin +NATIVE_LIB_DIR = "$(JRE_HOME)\bin" CFLAGS = -nologo -Oti -Gs -W3 -D_MT -D_WIN32 \ -I$(SQLITE3_INC) -I$(JNIINCLUDE) -I$(JNIINCLUDE)\win32 \ -DHAVE_SQLITE_SET_AUTHORIZER=1 -DHAVE_SQLITE3=1 \ -DHAVE_SQLITE3_MALLOC=1 \ @@ -58,11 +58,11 @@ LIBS = $(SQLITE3_LIB) .SUFFIXES: .java .class .jar .java.class: - $(JAVAC) $(JAVAC_FLAGS) $< + $(JAVAC) $(JAVAC_FLAGS) "$<" CLASSES = \ SQLite/Authorizer.class \ SQLite/BusyHandler.class \ SQLite/Callback.class \ Index: javasqlite3-see.mak ================================================================== --- javasqlite3-see.mak +++ javasqlite3-see.mak @@ -5,30 +5,30 @@ # Change this to the location where your Java2 SDK is installed JAVA_HOME = C:\j2sdk1.4.2_03 # Change this to the location where your Java2 Runtime is installed -JRE_HOME = $(JAVA_HOME)\jre +JRE_HOME = "$(JAVA_HOME)\jre" # See comment at top SQLITE3 = sqlite-3-see CC = cl SQLITE3_INC = $(SQLITE3) SQLITE3_LIB = $(SQLITE3)\libsqlite3see.lib -JAVAH = $(JAVA_HOME)\bin\javah -jni -JAVA_RUN = $(JAVA_HOME)\bin\java -JAVAC = $(JAVA_HOME)\bin\javac -JAVADOC = $(JAVA_HOME)\bin\javadoc -JAR = $(JAVA_HOME)\bin\jar -JNIINCLUDE = $(JAVA_HOME)\include +JAVAH = "$(JAVA_HOME)\bin\javah" -jni +JAVA_RUN = "$(JAVA_HOME)\bin\java" +JAVAC = "$(JAVA_HOME)\bin\javac" +JAVADOC = "$(JAVA_HOME)\bin\javadoc" +JAR = "$(JAVA_HOME)\bin\jar" +JNIINCLUDE = "$(JAVA_HOME)\include" JDBCVER = JDBC2x -EXTENSION_DIR = $(JRE_HOME)\lib\ext +EXTENSION_DIR = "$(JRE_HOME)\lib\ext" -NATIVE_LIB_DIR = $(JRE_HOME)\bin +NATIVE_LIB_DIR = "$(JRE_HOME)\bin" CFLAGS = -nologo -Oti -Gs -W3 -D_MT -D_WIN32 \ -I$(SQLITE3_INC) -I$(JNIINCLUDE) -I$(JNIINCLUDE)\win32 \ -DHAVE_SQLITE_SET_AUTHORIZER=1 -DHAVE_SQLITE3=1 \ -DHAVE_SQLITE3_MALLOC=1 \ @@ -54,11 +54,11 @@ LIBS = $(SQLITE3_LIB) .SUFFIXES: .java .class .jar .java.class: - $(JAVAC) $(JAVAC_FLAGS) $< + $(JAVAC) $(JAVAC_FLAGS) "$<" CLASSES = \ SQLite/Authorizer.class \ SQLite/BusyHandler.class \ SQLite/Callback.class \ Index: javasqlite3.mak ================================================================== --- javasqlite3.mak +++ javasqlite3.mak @@ -5,30 +5,30 @@ # Change this to the location where your Java2 SDK is installed JAVA_HOME = C:\j2sdk1.4.2_03 # Change this to the location where your Java2 Runtime is installed -JRE_HOME = $(JAVA_HOME)\jre +JRE_HOME = "$(JAVA_HOME)\jre" # See comment at top SQLITE3 = sqlite-amalgamation-3070701 CC = cl SQLITE3_INC = $(SQLITE3) SQLITE3_LIB = $(SQLITE3)\libsqlite3.lib -JAVAH = $(JAVA_HOME)\bin\javah -jni -JAVA_RUN = $(JAVA_HOME)\bin\java -JAVAC = $(JAVA_HOME)\bin\javac -JAVADOC = $(JAVA_HOME)\bin\javadoc -JAR = $(JAVA_HOME)\bin\jar -JNIINCLUDE = $(JAVA_HOME)\include +JAVAH = "$(JAVA_HOME)\bin\javah" -jni +JAVA_RUN = "$(JAVA_HOME)\bin\java" +JAVAC = "$(JAVA_HOME)\bin\javac" +JAVADOC = "$(JAVA_HOME)\bin\javadoc" +JAR = "$(JAVA_HOME)\bin\jar" +JNIINCLUDE = "$(JAVA_HOME)\include" JDBCVER = JDBC2x -EXTENSION_DIR = $(JRE_HOME)\lib\ext +EXTENSION_DIR = "$(JRE_HOME)\lib\ext" -NATIVE_LIB_DIR = $(JRE_HOME)\bin +NATIVE_LIB_DIR = "$(JRE_HOME)\bin" CFLAGS = -nologo -Oti -Gs -W3 -D_MT -D_WIN32 \ -I$(SQLITE3_INC) -I$(JNIINCLUDE) -I$(JNIINCLUDE)\win32 \ -DHAVE_SQLITE_SET_AUTHORIZER=1 -DHAVE_SQLITE3=1 \ -DHAVE_SQLITE3_MALLOC=1 \ @@ -59,11 +59,11 @@ LIBS = $(SQLITE3_LIB) .SUFFIXES: .java .class .jar .java.class: - $(JAVAC) $(JAVAC_FLAGS) $< + $(JAVAC) $(JAVAC_FLAGS) "$<" CLASSES = \ SQLite/Authorizer.class \ SQLite/BusyHandler.class \ SQLite/Callback.class \ Index: native/mkconst.c ================================================================== --- native/mkconst.c +++ native/mkconst.c @@ -290,20 +290,60 @@ #ifndef SQLITE_IGNORE #define SQLITE_IGNORE 2 #endif QCONST(SQLITE_IGNORE); -#ifndef SQLITE_OPEN_NOMUTEX -#define SQLITE_OPEN_NOMUTEX 0 +#ifndef SQLITE_OPEN_AUTOPROXY +#define SQLITE_OPEN_AUTOPROXY 0 +#endif + QCONST(SQLITE_OPEN_AUTOPROXY); + +#ifndef SQLITE_OPEN_CREATE +#define SQLITE_OPEN_CREATE 0 +#endif + QCONST(SQLITE_OPEN_CREATE); + +#ifndef SQLITE_OPEN_DELETEONCLOSE +#define SQLITE_OPEN_DELETEONCLOSE 0 +#endif + QCONST(SQLITE_OPEN_DELETEONCLOSE); + +#ifndef SQLITE_OPEN_EXCLUSIVE +#define SQLITE_OPEN_EXCLUSIVE 0 #endif - QCONST(SQLITE_OPEN_NOMUTEX); + QCONST(SQLITE_OPEN_EXCLUSIVE); #ifndef SQLITE_OPEN_FULLMUTEX #define SQLITE_OPEN_FULLMUTEX 0 #endif QCONST(SQLITE_OPEN_FULLMUTEX); +#ifndef SQLITE_OPEN_MAIN_DB +#define SQLITE_OPEN_MAIN_DB 0 +#endif + QCONST(SQLITE_OPEN_MAIN_DB); + +#ifndef SQLITE_OPEN_MAIN_JOURNAL +#define SQLITE_OPEN_MAIN_JOURNAL 0 +#endif + QCONST(SQLITE_OPEN_MAIN_JOURNAL); + +#ifndef SQLITE_OPEN_MASTER_JOURNAL +#define SQLITE_OPEN_MASTER_JOURNAL 0 +#endif + QCONST(SQLITE_OPEN_MASTER_JOURNAL); + +#ifndef SQLITE_OPEN_NOMUTEX +#define SQLITE_OPEN_NOMUTEX 0 +#endif + QCONST(SQLITE_OPEN_NOMUTEX); + +#ifndef SQLITE_OPEN_PRIVATECACHE +#define SQLITE_OPEN_PRIVATECACHE 0 +#endif + QCONST(SQLITE_OPEN_PRIVATECACHE); + #ifndef SQLITE_OPEN_READONLY #define SQLITE_OPEN_READONLY 0 #endif QCONST(SQLITE_OPEN_READONLY); @@ -310,29 +350,59 @@ #ifndef SQLITE_OPEN_READWRITE #define SQLITE_OPEN_READWRITE 0 #endif QCONST(SQLITE_OPEN_READWRITE); -#ifndef SQLITE_OPEN_CREATE -#define SQLITE_OPEN_CREATE 0 -#endif - QCONST(SQLITE_OPEN_CREATE); - -#ifndef SQLITE_STATUS_MEMORY_USED -#define SQLITE_STATUS_MEMORY_USED 0 -#endif - QCONST(SQLITE_STATUS_MEMORY_USED); +#ifndef SQLITE_OPEN_SHAREDCACHE +#define SQLITE_OPEN_SHAREDCACHE 0 +#endif + QCONST(SQLITE_OPEN_SHAREDCACHE); + +#ifndef SQLITE_OPEN_SUBJOURNAL +#define SQLITE_OPEN_SUBJOURNAL 0 +#endif + QCONST(SQLITE_OPEN_SUBJOURNAL); + +#ifndef SQLITE_OPEN_TEMP_DB +#define SQLITE_OPEN_TEMP_DB 0 +#endif + QCONST(SQLITE_OPEN_TEMP_DB); + +#ifndef SQLITE_OPEN_TEMP_JOURNAL +#define SQLITE_OPEN_TEMP_JOURNAL 0 +#endif + QCONST(SQLITE_OPEN_TEMP_JOURNAL); + +#ifndef SQLITE_OPEN_TRANSIENT_DB +#define SQLITE_OPEN_TRANSIENT_DB 0 +#endif + QCONST(SQLITE_OPEN_TRANSIENT_DB); + +#ifndef SQLITE_OPEN_URI +#define SQLITE_OPEN_URI 0 +#endif + QCONST(SQLITE_OPEN_URI); + +#ifndef SQLITE_OPEN_WAL +#define SQLITE_OPEN_WAL 0 +#endif + QCONST(SQLITE_OPEN_WAL); + +#ifndef SQLITE_STATUS_MALLOC_COUNT +#define SQLITE_STATUS_MALLOC_COUNT 0 +#endif + QCONST(SQLITE_STATUS_MALLOC_COUNT); #ifndef SQLITE_STATUS_MALLOC_SIZE #define SQLITE_STATUS_MALLOC_SIZE 0 #endif QCONST(SQLITE_STATUS_MALLOC_SIZE); -#ifndef SQLITE_STATUS_PAGECACHE_USED -#define SQLITE_STATUS_PAGECACHE_USED 0 +#ifndef SQLITE_STATUS_MEMORY_USED +#define SQLITE_STATUS_MEMORY_USED 0 #endif - QCONST(SQLITE_STATUS_PAGECACHE_USED); + QCONST(SQLITE_STATUS_MEMORY_USED); #ifndef SQLITE_STATUS_PAGECACHE_OVERFLOW #define SQLITE_STATUS_PAGECACHE_OVERFLOW 0 #endif QCONST(SQLITE_STATUS_PAGECACHE_OVERFLOW); @@ -340,14 +410,19 @@ #ifndef SQLITE_STATUS_PAGECACHE_SIZE #define SQLITE_STATUS_PAGECACHE_SIZE 0 #endif QCONST(SQLITE_STATUS_PAGECACHE_SIZE); -#ifndef SQLITE_STATUS_SCRATCH_USED -#define SQLITE_STATUS_SCRATCH_USED 0 +#ifndef SQLITE_STATUS_PAGECACHE_USED +#define SQLITE_STATUS_PAGECACHE_USED 0 +#endif + QCONST(SQLITE_STATUS_PAGECACHE_USED); + +#ifndef SQLITE_STATUS_PARSER_STACK +#define SQLITE_STATUS_PARSER_STACK 0 #endif - QCONST(SQLITE_STATUS_SCRATCH_USED); + QCONST(SQLITE_STATUS_PARSER_STACK); #ifndef SQLITE_STATUS_SCRATCH_OVERFLOW #define SQLITE_STATUS_SCRATCH_OVERFLOW 0 #endif QCONST(SQLITE_STATUS_SCRATCH_OVERFLOW); @@ -355,24 +430,59 @@ #ifndef SQLITE_STATUS_SCRATCH_SIZE #define SQLITE_STATUS_SCRATCH_SIZE 0 #endif QCONST(SQLITE_STATUS_SCRATCH_SIZE); -#ifndef SQLITE_STATUS_PARSER_STACK -#define SQLITE_STATUS_PARSER_STACK 0 +#ifndef SQLITE_STATUS_SCRATCH_USED +#define SQLITE_STATUS_SCRATCH_USED 0 +#endif + QCONST(SQLITE_STATUS_SCRATCH_USED); + +#ifndef SQLITE_DBSTATUS_CACHE_HIT +#define SQLITE_DBSTATUS_CACHE_HIT 0 +#endif + QCONST(SQLITE_DBSTATUS_CACHE_HIT); + +#ifndef SQLITE_DBSTATUS_CACHE_MISS +#define SQLITE_DBSTATUS_CACHE_MISS 0 +#endif + QCONST(SQLITE_DBSTATUS_CACHE_MISS); + +#ifndef SQLITE_DBSTATUS_CACHE_USED +#define SQLITE_DBSTATUS_CACHE_USED 0 +#endif + QCONST(SQLITE_DBSTATUS_CACHE_USED); + +#ifndef SQLITE_DBSTATUS_LOOKASIDE_HIT +#define SQLITE_DBSTATUS_LOOKASIDE_HIT 0 +#endif + QCONST(SQLITE_DBSTATUS_LOOKASIDE_HIT); + +#ifndef SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE +#define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE 0 +#endif + QCONST(SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE); + +#ifndef SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL +#define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL 0 #endif - QCONST(SQLITE_STATUS_PARSER_STACK); + QCONST(SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL); #ifndef SQLITE_DBSTATUS_LOOKASIDE_USED #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 #endif QCONST(SQLITE_DBSTATUS_LOOKASIDE_USED); -#ifndef SQLITE_DBSTATUS_CACHE_USED -#define SQLITE_DBSTATUS_CACHE_USED 0 +#ifndef SQLITE_DBSTATUS_SCHEMA_USED +#define SQLITE_DBSTATUS_SCHEMA_USED 0 +#endif + QCONST(SQLITE_DBSTATUS_SCHEMA_USED); + +#ifndef SQLITE_DBSTATUS_STMT_USED +#define SQLITE_DBSTATUS_STMT_USED 0 #endif - QCONST(SQLITE_DBSTATUS_CACHE_USED); + QCONST(SQLITE_DBSTATUS_STMT_USED); #ifndef SQLITE_STMTSTATUS_FULLSCAN_STEP #define SQLITE_STMTSTATUS_FULLSCAN_STEP 0 #endif QCONST(SQLITE_STMTSTATUS_FULLSCAN_STEP); Index: native/sqlite_jni.c ================================================================== --- native/sqlite_jni.c +++ native/sqlite_jni.c @@ -1,8 +1,14 @@ #include #include #include +#ifdef __STDC__ +#include +#else +#undef inline +#define inline +#endif #if HAVE_SQLITE2 #include "sqlite.h" #endif @@ -16,12 +22,13 @@ #define HAVE_SQLITE_TRACE 1 #if !HAVE_SQLITE3_MALLOC #define sqlite3_malloc malloc #define sqlite3_free free #endif +#define MAX_PARAMS3 1024 #if !HAVE_SQLITE3_BIND_PARAMETER_COUNT -#define sqlite3_bind_parameter_count(dummy) (1000) +#define sqlite3_bind_parameter_count(dummy) (MAX_PARAMS3) #endif #endif #if HAVE_SQLITE2 && HAVE_SQLITE3 #define HAVE_BOTH_SQLITE 1 @@ -31,15 +38,21 @@ #define HAVE_SQLITE3_SHARED_CACHE 0 #endif #include "sqlite_jni.h" -#if defined(_WIN32) || !defined(CANT_PASS_VALIST_AS_CHARPTR) +#if (defined(_WIN32) && !defined(_WIN64)) || !defined(CANT_PASS_VALIST_AS_CHARPTR) #define MAX_PARAMS 256 #else #define MAX_PARAMS 32 #endif + +#ifdef __STDC__ +#define INT2PTR(p) ((void *)(ptrdiff_t)(p)) +#else +#define INT2PTR(p) ((void *)(p)) +#endif /* free memory proc */ typedef void (freemem)(void *); @@ -70,11 +83,11 @@ #endif #if HAVE_SQLITE3 && HAVE_SQLITE3_INCRBLOBIO struct hbl *blobs; /* SQLite3 blob handles */ #endif #if HAVE_SQLITE3 && HAVE_SQLITE3_BACKUPAPI - struct hbk *backups; /* SQLite3 backup handles */ + struct hbk *backups; /* SQLite3 backup handles */ #endif } handle; /* internal handle for SQLite user defined function */ @@ -136,10 +149,11 @@ } transstr; /* static cached weak class refs, field and method ids */ static jclass C_java_lang_String = 0; +static jclass C_SQLite_Database = 0; static jfieldID F_SQLite_Database_handle = 0; static jfieldID F_SQLite_Database_error_code = 0; static jfieldID F_SQLite_FunctionContext_handle = 0; static jfieldID F_SQLite_Vm_handle = 0; @@ -155,11 +169,11 @@ static jmethodID M_java_lang_String_initBytes = 0; static jmethodID M_java_lang_String_initBytes2 = 0; static const char xdigits[] = "0123456789ABCDEF"; -static void +static inline void seterr(JNIEnv *env, jobject obj, int err) { jvalue v; v.j = 0; @@ -166,11 +180,11 @@ v.i = (jint) err; (*env)->SetIntField(env, obj, F_SQLite_Database_error_code, v.i); } #if HAVE_SQLITE_COMPILE -static void +static inline void setvmerr(JNIEnv *env, jobject obj, int err) { jvalue v; v.j = 0; @@ -177,21 +191,21 @@ v.i = (jint) err; (*env)->SetIntField(env, obj, F_SQLite_Vm_error_code, v.i); } #if HAVE_SQLITE3 -static void +static inline void setstmterr(JNIEnv *env, jobject obj, int err) { jvalue v; v.j = 0; v.i = (jint) err; (*env)->SetIntField(env, obj, F_SQLite_Stmt_error_code, v.i); } -static int +static inline int jstrlen(const jchar *jstr) { int len = 0; if (jstr) { @@ -202,73 +216,148 @@ return len; } #endif #endif -static void * +static inline void * gethandle(JNIEnv *env, jobject obj) { jvalue v; v.j = (*env)->GetLongField(env, obj, F_SQLite_Database_handle); return (void *) v.l; } + +static inline void * +getclrhandle(JNIEnv *env, jobject obj) +{ + jvalue v; + + if ((*env)->MonitorEnter(env, obj) != JNI_OK) { + fprintf(stderr, "getclrhandle: MonitorEnter failed\n"); + return 0; + } + v.j = (*env)->GetLongField(env, obj, F_SQLite_Database_handle); + (*env)->SetLongField(env, obj, F_SQLite_Database_handle, 0); + (*env)->MonitorExit(env, obj); + return (void *) v.l; +} #if HAVE_SQLITE_COMPILE -static void * +static inline void * gethvm(JNIEnv *env, jobject obj) { jvalue v; v.j = (*env)->GetLongField(env, obj, F_SQLite_Vm_handle); return (void *) v.l; } + +static inline void * +getclrhvm(JNIEnv *env, jobject obj) +{ + jvalue v; + + if ((*env)->MonitorEnter(env, obj) != JNI_OK) { + fprintf(stderr, "getclrhvm: MonitorEnter failed\n"); + return 0; + } + v.j = (*env)->GetLongField(env, obj, F_SQLite_Vm_handle); + (*env)->SetLongField(env, obj, F_SQLite_Vm_handle, 0); + (*env)->MonitorExit(env, obj); + return (void *) v.l; +} #if HAVE_SQLITE3 -static void * +static inline void * gethstmt(JNIEnv *env, jobject obj) { jvalue v; v.j = (*env)->GetLongField(env, obj, F_SQLite_Stmt_handle); return (void *) v.l; } + +static inline void * +getclrhstmt(JNIEnv *env, jobject obj) +{ + jvalue v; + + if ((*env)->MonitorEnter(env, obj) != JNI_OK) { + fprintf(stderr, "getclrhstmt: MonitorEnter failed\n"); + return 0; + } + v.j = (*env)->GetLongField(env, obj, F_SQLite_Stmt_handle); + (*env)->SetLongField(env, obj, F_SQLite_Stmt_handle, 0); + (*env)->MonitorExit(env, obj); + return (void *) v.l; +} #endif #endif #if HAVE_SQLITE3 && HAVE_SQLITE3_INCRBLOBIO -static void * +static inline void * gethbl(JNIEnv *env, jobject obj) { jvalue v; v.j = (*env)->GetLongField(env, obj, F_SQLite_Blob_handle); return (void *) v.l; } + +static inline void * +getclrhbl(JNIEnv *env, jobject obj) +{ + jvalue v; + + if ((*env)->MonitorEnter(env, obj) != JNI_OK) { + fprintf(stderr, "getclrhbl: MonitorEnter failed\n"); + return 0; + } + v.j = (*env)->GetLongField(env, obj, F_SQLite_Blob_handle); + (*env)->SetLongField(env, obj, F_SQLite_Blob_handle, 0); + (*env)->MonitorExit(env, obj); + return (void *) v.l; +} #endif #if HAVE_SQLITE3 && HAVE_SQLITE3_BACKUPAPI -static void * +static inline void * gethbk(JNIEnv *env, jobject obj) { jvalue v; v.j = (*env)->GetLongField(env, obj, F_SQLite_Backup_handle); return (void *) v.l; } + +static inline void * +getclrhbk(JNIEnv *env, jobject obj) +{ + jvalue v; + + if ((*env)->MonitorEnter(env, obj) != JNI_OK) { + fprintf(stderr, "getclrhbk: MonitorEnter failed\n"); + return 0; + } + v.j = (*env)->GetLongField(env, obj, F_SQLite_Backup_handle); + (*env)->SetLongField(env, obj, F_SQLite_Backup_handle, 0); + (*env)->MonitorExit(env, obj); + return (void *) v.l; +} #endif -static void +static inline void delglobrefp(JNIEnv *env, jobject *obj) { if (*obj) { (*env)->DeleteGlobalRef(env, *obj); *obj = 0; } } -static jobject +static inline jobject globrefpop(JNIEnv *env, jobject *obj) { jobject ret = 0; if (*obj) { @@ -276,32 +365,32 @@ *obj = 0; } return ret; } -static void +static inline void globrefset(JNIEnv *env, jobject obj, jobject *ref) { if (ref) { - if (obj) { + if (obj) { *ref = (*env)->NewGlobalRef(env, obj); } else { *ref = 0; } } } -static void +static inline void freep(char **strp) { if (strp && *strp) { free(*strp); *strp = 0; } } -static void +static inline void throwex(JNIEnv *env, const char *msg) { jclass except = (*env)->FindClass(env, "SQLite/Exception"); (*env)->ExceptionClear(env); @@ -308,11 +397,11 @@ if (except) { (*env)->ThrowNew(env, except, msg); } } -static void +static inline void throwoom(JNIEnv *env, const char *msg) { jclass except = (*env)->FindClass(env, "java/lang/OutOfMemoryError"); (*env)->ExceptionClear(env); @@ -319,18 +408,18 @@ if (except) { (*env)->ThrowNew(env, except, msg); } } -static void +static inline void throwclosed(JNIEnv *env) { throwex(env, "database already closed"); } #if HAVE_SQLITE3 && HAVE_SQLITE3_INCRBLOBIO -static void +static inline void throwioex(JNIEnv *env, const char *msg) { jclass except = (*env)->FindClass(env, "java/io/IOException"); (*env)->ExceptionClear(env); @@ -338,18 +427,18 @@ (*env)->ThrowNew(env, except, msg); } } #endif -static void +static inline void transfree(transstr *dest) { dest->result = 0; freep(&dest->tofree); } -static char * +static inline char * trans2iso(JNIEnv *env, int haveutf, jstring enc, jstring src, transstr *dest) { jbyteArray bytes = 0; jthrowable exc; @@ -393,20 +482,20 @@ dest->tofree = malloc(len + 1); if (!dest->tofree) { throwoom(env, "string translation failed"); return dest->result; } - dest->result = dest->tofree; + dest->result = dest->tofree; (*env)->GetByteArrayRegion(env, bytes, 0, len, (jbyte *) dest->result); dest->result[len] = '\0'; } else { (*env)->DeleteLocalRef(env, exc); } return dest->result; } -static jstring +static inline jstring trans2utf(JNIEnv *env, int haveutf, jstring enc, const char *src, transstr *dest) { jbyteArray bytes = 0; int len; @@ -768,11 +857,11 @@ } static void doclose(JNIEnv *env, jobject obj, int final) { - handle *h = gethandle(env, obj); + handle *h = getclrhandle(env, obj); if (h) { hfunc *f; #if HAVE_SQLITE3 && HAVE_SQLITE3_INCRBLOBIO hbl *bl; @@ -780,11 +869,17 @@ #if HAVE_SQLITE3 && HAVE_SQLITE3_BACKUPAPI hbk *bk; #endif #if HAVE_SQLITE_COMPILE hvm *v; +#endif + if ((*env)->MonitorEnter(env, C_SQLite_Database) != JNI_OK) { + fprintf(stderr, "doclose: MonitorEnter failed\n"); + return; + } +#if HAVE_SQLITE_COMPILE while ((v = h->vms)) { h->vms = v->next; v->next = 0; v->h = 0; if (v->vm) { @@ -857,24 +952,185 @@ sqlite3_backup_finish(bk->bkup); } bk->bkup = 0; } #endif + (*env)->MonitorExit(env, C_SQLite_Database); delglobrefp(env, &h->bh); delglobrefp(env, &h->cb); delglobrefp(env, &h->ai); delglobrefp(env, &h->tr); delglobrefp(env, &h->ph); delglobrefp(env, &h->enc); free(h); - (*env)->SetLongField(env, obj, F_SQLite_Database_handle, 0); return; } if (!final) { throwclosed(env); } } + +#if HAVE_SQLITE3 +static int sqlite3_enhanced_exec(sqlite3 *db, const char *sql, + sqlite3_callback cb, void *cbarg, + char **errmsg, int nargs, char **args) +{ + int rc = SQLITE_OK, argCount; + const char *leftsql = 0, *p; + sqlite3_stmt *stmt = 0; + char **azCols = 0; + int callbackIsInit; + char *q, *qsql = sqlite3_malloc(strlen(sql) + 1); + + if (errmsg) { + *errmsg = 0; + } + if (!qsql) { + return SQLITE_NOMEM; + } + p = sql; + q = qsql; + argCount = 0; + while (*p) { + if (p[0] == '%') { + if (p[1] == 'Q' || p[1] == 'q' || p[1] == 's') { + *q++ = '?'; + argCount++; + p++; + } else if (p[1] == '%') { + *q++ = '%'; + p++; + } else { + *q++ = *p; + } + } else { + *q++ = *p; + } + ++p; + } + *q = '\0'; + if (argCount != nargs) { + sqlite3_free(qsql); + p = "parameter count mismatch"; + *errmsg = sqlite3_malloc(strlen(p) + 1); + if (*errmsg) { + strcpy(*errmsg, p); + rc = SQLITE_ERROR; + } else { + rc = SQLITE_NOMEM; + } + return rc; + } + sqlite3_mutex_enter(sqlite3_db_mutex(db)); + argCount = 0; + q = qsql; + while (rc == SQLITE_OK && q[0]) { + int i, nCol, nPar; + + stmt = 0; +#if HAVE_SQLITE3_PREPARE_V2 + rc = sqlite3_prepare_v2(db, q, -1, &stmt, &leftsql); +#else + rc = sqlite3_prepare(db, q, -1, &stmt, &leftsql); +#endif + if (rc != SQLITE_OK) { + continue; + } + if (!stmt) { + /* this happens for a comment or white-space */ + q = (char *) leftsql; + continue; + } + /* bind parameters */ + nPar = sqlite3_bind_parameter_count(stmt); + for (i = 1; i <= nPar; i++) { + if (argCount < nargs && args[argCount]) { + sqlite3_bind_text(stmt, i, args[argCount], -1, SQLITE_STATIC); + } else { + sqlite3_bind_null(stmt, i); + } + argCount++; + } + + callbackIsInit = 0; + nCol = sqlite3_column_count(stmt); + while (1) { + char **azVals = 0; + + rc = sqlite3_step(stmt); + + /* invoke the callback function if required */ + if (cb && (rc == SQLITE_ROW || + (rc == SQLITE_DONE && !callbackIsInit))) { + if (!callbackIsInit) { + int n = 2 * nCol * sizeof (char *) + sizeof (char *); + + azCols = sqlite3_malloc(n); + if (!azCols) { + rc = SQLITE_NOMEM; + goto execDone; + } + memset(azCols, 0, n); + for (i = 0; i < nCol; i++) { + azCols[i] = (char *) sqlite3_column_name(stmt, i); + } + callbackIsInit = 1; + } + if (rc == SQLITE_ROW) { + azVals = &azCols[nCol]; + for (i = 0; i < nCol; i++) { + azVals[i] = (char *) sqlite3_column_text(stmt, i); + if (!azVals[i] && + sqlite3_column_type(stmt, i) != SQLITE_NULL) { + rc = SQLITE_NOMEM; + goto execDone; + } + } + } + if (cb(cbarg, nCol, azVals, azCols) ){ + rc = SQLITE_ABORT; + sqlite3_finalize(stmt); + stmt = 0; + goto execDone; + } + } + if (rc != SQLITE_ROW) { + rc = sqlite3_finalize(stmt); + stmt = 0; + q = (char *) leftsql; + break; + } + } + sqlite3_free(azCols); + azCols = 0; + } + +execDone: + if (qsql) { + sqlite3_free(qsql); + } + if (stmt) { + sqlite3_finalize(stmt); + } + if (azCols) { + sqlite3_free(azCols); + } + + if (rc != SQLITE_OK && errmsg) { + int n = strlen(sqlite3_errstr(rc)) + 1; + + *errmsg = sqlite3_malloc(n); + if (*errmsg) { + strcpy(*errmsg, sqlite3_errstr(rc)); + } else { + rc = SQLITE_NOMEM; + } + } + sqlite3_mutex_leave(sqlite3_db_mutex(db)); + return rc; +} +#endif JNIEXPORT void JNICALL Java_SQLite_Database__1close(JNIEnv *env, jobject obj) { doclose(env, obj, 0); @@ -1048,11 +1304,11 @@ JNIEXPORT void JNICALL Java_SQLite_Database__1open4(JNIEnv *env, jobject obj, jstring file, jint mode, jstring vfs, jboolean ver2) { - handle *h = gethandle(env, obj); + handle *h = gethandle(env, obj), *hh = 0; jthrowable exc; char *err = 0; transstr filename; int maj, min, lev; #if HAVE_SQLITE3_OPEN_V2 @@ -1081,11 +1337,11 @@ #endif #endif h->sqlite = 0; } } else { - h = malloc(sizeof (handle)); + h = hh = malloc(sizeof (handle)); if (!h) { throwoom(env, "unable to get SQLite handle"); return; } h->sqlite = 0; @@ -1117,25 +1373,34 @@ h->backups = 0; #endif } h->env = 0; if (!file) { + if (hh) { + free(hh); + } throwex(env, err ? err : "invalid file name"); return; } trans2iso(env, h->haveutf, h->enc, file, &filename); exc = (*env)->ExceptionOccurred(env); if (exc) { + if (hh) { + free(hh); + } (*env)->DeleteLocalRef(env, exc); return; } #if HAVE_SQLITE3_OPEN_V2 if (vfs) { trans2iso(env, 1, h->enc, vfs, &vfsname); exc = (*env)->ExceptionOccurred(env); if (exc) { transfree(&filename); + if (hh) { + free(hh); + } (*env)->DeleteLocalRef(env, exc); return; } } #endif @@ -1214,18 +1479,22 @@ sqlite3_close((sqlite3 *) h->sqlite); #endif #endif } h->sqlite = 0; + if (hh) { + free(hh); + } return; } if (h->sqlite) { jvalue v; v.j = 0; v.l = (jobject) h; (*env)->SetLongField(env, obj, F_SQLite_Database_handle, v.j); + hh = 0; #if HAVE_SQLITE2 if (err) { sqlite_freemem(err); } #endif @@ -1249,10 +1518,13 @@ #endif #endif #endif h->ver = ((maj & 0xFF) << 16) | ((min & 0xFF) << 8) | (lev & 0xFF); return; + } + if (hh) { + free(hh); } throwex(env, err ? err : "unknown error in open"); #if HAVE_SQLITE2 if (err) { sqlite_freemem(err); @@ -1425,10 +1697,11 @@ Java_SQLite_Database__1exec__Ljava_lang_String_2LSQLite_Callback_2_3Ljava_lang_String_2 (JNIEnv *env, jobject obj, jstring sql, jobject cb, jobjectArray args) { handle *h = gethandle(env, obj); freemem *freeproc = 0; + int max_params = MAX_PARAMS; if (!sql) { throwex(env, "invalid SQL statement"); return; } @@ -1444,29 +1717,39 @@ jobject obj; transstr trans; } *argv = 0; char **cargv = 0; jobject oldcb = globrefpop(env, &h->cb); + +#if HAVE_BOTH_SQLITE + if (h->is3) { + max_params = MAX_PARAMS3; + } +#else +#if HAVE_SQLITE3 + max_params = MAX_PARAMS3; +#endif +#endif globrefset(env, cb, &h->cb); p = (char *) str; nargs = 0; while (*p) { if (*p == '%') { ++p; if (*p == 'q' || *p == 's') { nargs++; - if (nargs > MAX_PARAMS) { + if (nargs > max_params) { (*env)->ReleaseStringUTFChars(env, sql, str); delglobrefp(env, &h->cb); h->cb = oldcb; throwex(env, "too much SQL parameters"); return; } } else if (h->ver >= 0x020500 && *p == 'Q') { nargs++; - if (nargs > MAX_PARAMS) { + if (nargs > max_params) { (*env)->ReleaseStringUTFChars(env, sql, str); delglobrefp(env, &h->cb); h->cb = oldcb; throwex(env, "too much SQL parameters"); return; @@ -1479,21 +1762,20 @@ return; } } ++p; } - cargv = malloc((sizeof (*argv) + sizeof (char *)) - * MAX_PARAMS); + cargv = malloc((sizeof (*argv) + sizeof (char *)) * max_params); if (!cargv) { (*env)->ReleaseStringUTFChars(env, sql, str); delglobrefp(env, &h->cb); h->cb = oldcb; throwoom(env, "unable to allocate arg vector"); return; } - argv = (struct args *) (cargv + MAX_PARAMS); - for (i = 0; i < MAX_PARAMS; i++) { + argv = (struct args *) (cargv + max_params); + for (i = 0; i < max_params; i++) { cargv[i] = 0; argv[i].arg = 0; argv[i].obj = 0; argv[i].trans.result = argv[i].trans.tofree = 0; } @@ -1530,42 +1812,17 @@ trans2iso(env, h->haveutf, h->enc, sql, &sqlstr); exc = (*env)->ExceptionOccurred(env); if (!exc) { #if HAVE_BOTH_SQLITE if (h->is3) { -#if defined(_WIN32) || !defined(CANT_PASS_VALIST_AS_CHARPTR) - char *s = sqlite3_vmprintf(sqlstr.result, (char *) cargv); -#else - char *s = sqlite3_mprintf(sqlstr.result, - cargv[0], cargv[1], - cargv[2], cargv[3], - cargv[4], cargv[5], - cargv[6], cargv[7], - cargv[8], cargv[9], - cargv[10], cargv[11], - cargv[12], cargv[13], - cargv[14], cargv[15], - cargv[16], cargv[17], - cargv[18], cargv[19], - cargv[20], cargv[21], - cargv[22], cargv[23], - cargv[24], cargv[25], - cargv[26], cargv[27], - cargv[28], cargv[29], - cargv[30], cargv[31]); -#endif - - if (s) { - rc = sqlite3_exec((sqlite3 *) h->sqlite, s, callback, - h, &err); - sqlite3_free(s); - } else { - rc = SQLITE_NOMEM; - } + rc = sqlite3_enhanced_exec((sqlite3 *) h->sqlite, + sqlstr.result, + callback, h, &err, + nargs, cargv); freeproc = (freemem *) sqlite3_free; } else { -#if defined(_WIN32) || !defined(CANT_PASS_VALIST_AS_CHARPTR) +#if (defined(_WIN32) && !defined(_WIN64)) || !defined(CANT_PASS_VALIST_AS_CHARPTR) rc = sqlite_exec_vprintf((sqlite *) h->sqlite, sqlstr.result, callback, h, &err, (char *) cargv); #else rc = sqlite_exec_printf((sqlite *) h->sqlite, @@ -1590,11 +1847,11 @@ #endif freeproc = (freemem *) sqlite_freemem; } #else #if HAVE_SQLITE2 -#if defined(_WIN32) || !defined(CANT_PASS_VALIST_AS_CHARPTR) +#if (defined(_WIN32) && !defined(_WIN64)) || !defined(CANT_PASS_VALIST_AS_CHARPTR) rc = sqlite_exec_vprintf((sqlite *) h->sqlite, sqlstr.result, callback, h, &err, (char *) cargv); #else rc = sqlite_exec_printf((sqlite *) h->sqlite, sqlstr.result, callback, h, &err, @@ -1616,39 +1873,14 @@ cargv[30], cargv[31]); #endif freeproc = (freemem *) sqlite_freemem; #endif #if HAVE_SQLITE3 -#if defined(_WIN32) || !defined(CANT_PASS_VALIST_AS_CHARPTR) - char *s = sqlite3_vmprintf(sqlstr.result, (char *) cargv); -#else - char *s = sqlite3_mprintf(sqlstr.result, - cargv[0], cargv[1], - cargv[2], cargv[3], - cargv[4], cargv[5], - cargv[6], cargv[7], - cargv[8], cargv[9], - cargv[10], cargv[11], - cargv[12], cargv[13], - cargv[14], cargv[15], - cargv[16], cargv[17], - cargv[18], cargv[19], - cargv[20], cargv[21], - cargv[22], cargv[23], - cargv[24], cargv[25], - cargv[26], cargv[27], - cargv[28], cargv[29], - cargv[30], cargv[31]); -#endif - - if (s) { - rc = sqlite3_exec((sqlite3 *) h->sqlite, s, callback, - h, &err); - sqlite3_free(s); - } else { - rc = SQLITE_NOMEM; - } + rc = sqlite3_enhanced_exec((sqlite3 *) h->sqlite, + sqlstr.result, + callback, h, &err, + nargs, cargv); freeproc = (freemem *) sqlite3_free; #endif #endif exc = (*env)->ExceptionOccurred(env); } @@ -2455,13 +2687,17 @@ #if HAVE_SQLITE_COMPILE static void dovmfinal(JNIEnv *env, jobject obj, int final) { - hvm *v = gethvm(env, obj); + hvm *v = getclrhvm(env, obj); if (v) { + if ((*env)->MonitorEnter(env, C_SQLite_Database) != JNI_OK) { + fprintf(stderr, "dovmfinal: MonitorEnter failed\n"); + return; + } if (v->h) { handle *h = v->h; hvm *vv, **vvp; vvp = &h->vms; @@ -2473,10 +2709,11 @@ } vvp = &vv->next; vv = *vvp; } } + (*env)->MonitorExit(env, C_SQLite_Database); if (v->vm) { #if HAVE_BOTH_SQLITE if (v->is3) { sqlite3_finalize((sqlite3_stmt *) v->vm); } else { @@ -2491,11 +2728,10 @@ #endif #endif v->vm = 0; } free(v); - (*env)->SetLongField(env, obj, F_SQLite_Vm_handle, 0); return; } if (!final) { throwex(env, "vm already closed"); } @@ -2504,13 +2740,17 @@ #if HAVE_SQLITE3 static void dostmtfinal(JNIEnv *env, jobject obj) { - hvm *v = gethstmt(env, obj); + hvm *v = getclrhstmt(env, obj); if (v) { + if ((*env)->MonitorEnter(env, C_SQLite_Database) != JNI_OK) { + fprintf(stderr, "dostmtfinal: MonitorEnter failed\n"); + return; + } if (v->h) { handle *h = v->h; hvm *vv, **vvp; vvp = &h->vms; @@ -2522,27 +2762,31 @@ } vvp = &vv->next; vv = *vvp; } } + (*env)->MonitorExit(env, C_SQLite_Database); if (v->vm) { sqlite3_finalize((sqlite3_stmt *) v->vm); } v->vm = 0; free(v); - (*env)->SetLongField(env, obj, F_SQLite_Stmt_handle, 0); } } #endif #if HAVE_SQLITE3 && HAVE_SQLITE3_INCRBLOBIO static void doblobfinal(JNIEnv *env, jobject obj) { - hbl *bl = gethbl(env, obj); + hbl *bl = getclrhbl(env, obj); if (bl) { + if ((*env)->MonitorEnter(env, C_SQLite_Database) != JNI_OK) { + fprintf(stderr, "doblobfinal: MonitorEnter failed\n"); + return; + } if (bl->h) { handle *h = bl->h; hbl *blc, **blp; blp = &h->blobs; @@ -2554,16 +2798,16 @@ } blp = &blc->next; blc = *blp; } } + (*env)->MonitorExit(env, C_SQLite_Database); if (bl->blob) { sqlite3_blob_close(bl->blob); } bl->blob = 0; free(bl); - (*env)->SetLongField(env, obj, F_SQLite_Blob_handle, 0); (*env)->SetIntField(env, obj, F_SQLite_Blob_size, 0); } } #endif @@ -2617,10 +2861,11 @@ hvm *v = gethvm(env, obj); if (v && v->vm && v->h) { jthrowable exc; int ret; + char *err = 0; #if HAVE_SQLITE2 int tmp; #endif long ncol = 0; #if HAVE_SQLITE3 @@ -2639,11 +2884,10 @@ data = calloc(ncol * 3 + 3 + 1, sizeof (char *)); if (data) { data[0] = (const char *) ncol; ++data; cols = data + ncol + 1; - blob = cols + ncol + 1; freeproc = free_tab; } else { ret = SQLITE_NOMEM; } } @@ -2723,14 +2967,13 @@ if (ret == SQLITE_DONE && v->hh.row1) { ncol = sqlite3_column_count((sqlite3_stmt *) v->vm); if (ncol > 0) { data = calloc(ncol * 3 + 3 + 1, sizeof (char *)); if (data) { - data[0] = (const char *) ncol; + data[0] = INT2PTR(ncol); ++data; cols = data + ncol + 1; - blob = cols + ncol + 1; freeproc = free_tab; } else { ret = SQLITE_NOMEM; } } @@ -2745,11 +2988,11 @@ } else if (ret == SQLITE_ROW) { ncol = sqlite3_data_count((sqlite3_stmt *) v->vm); if (ncol > 0) { data = calloc(ncol * 3 + 3 + 1, sizeof (char *)); if (data) { - data[0] = (const char *) ncol; + data[0] = INT2PTR(ncol); ++data; cols = data + ncol + 1; blob = cols + ncol + 1; freeproc = free_tab; } else { @@ -2808,10 +3051,11 @@ #endif callback((void *) &v->hh, ncol, (char **) data, (char **) cols); #if HAVE_SQLITE3 if (data && freeproc) { freeproc((void *) data); + data = 0; } #endif exc = (*env)->ExceptionOccurred(env); if (exc) { (*env)->DeleteLocalRef(env, exc); @@ -2834,10 +3078,11 @@ #endif callback((void *) &v->hh, ncol, (char **) 0, (char **) cols); #if HAVE_SQLITE3 if (data && freeproc) { freeproc((void *) data); + data = 0; } #endif exc = (*env)->ExceptionOccurred(env); if (exc) { (*env)->DeleteLocalRef(env, exc); @@ -2859,26 +3104,56 @@ #endif v->vm = 0; return JNI_FALSE; } #if HAVE_BOTH_SQLITE + if (v->is3) { + err = (char *) sqlite3_errmsg((sqlite3 *) v->h->sqlite); + } else { + err = sqlite_error_string(ret); + } + if (err) { + int n = strlen(err); + char *p = malloc(n + 1); + + if (p) { + memcpy(p, err, n + 1); + } + err = p; + } if (v->is3) { sqlite3_finalize((sqlite3_stmt *) v->vm); } else { sqlite_finalize((sqlite_vm *) v->vm, 0); } #else +#if HAVE_SQLITE2 + err = sqlite_error_string(ret); +#endif +#if HAVE_SQLITE3 + err = (char *) sqlite3_errmsg((sqlite3 *) v->h->sqlite); +#endif + if (err) { + int n = strlen(err); + char *p = malloc(n + 1); + + if (p) { + memcpy(p, err, n + 1); + } + err = p; + } #if HAVE_SQLITE2 sqlite_finalize((sqlite_vm *) v->vm, 0); #endif #if HAVE_SQLITE3 sqlite3_finalize((sqlite3_stmt *) v->vm); #endif #endif setvmerr(env, obj, ret); v->vm = 0; - throwex(env, "error in step"); + throwex(env, err ? err : "error in step"); + freep(&err); return JNI_FALSE; } throwex(env, "vm already closed"); #else throwex(env, "unsupported"); @@ -2891,11 +3166,11 @@ { #if HAVE_SQLITE_COMPILE hvm *v = gethvm(env, obj); void *svm = 0; char *err = 0; -#ifdef HAVE_SQLITE2 +#if HAVE_SQLITE2 char *errfr = 0; #endif const char *tail; int ret; @@ -3160,10 +3435,11 @@ v->hh.vms = 0; v->hh.env = 0; vv.j = 0; vv.l = (jobject) v; (*env)->SetLongField(env, vm, F_SQLite_Vm_handle, vv.j); + transfree(&tr); #else throwex(env, "unsupported"); #endif } @@ -3185,11 +3461,11 @@ #else #if HAVE_SQLITE2 throwex(env, "unsupported"); #endif #endif -#if HAVE_SQLITE3 +#if HAVE_SQLITE3 if (!h || !h->sqlite) { throwclosed(env); return; } if (!vm) { @@ -3203,29 +3479,30 @@ void *svm = 0; hvm *v; jvalue vv; jthrowable exc; int rc = SQLITE_ERROR, nargs, i; - char *p; + char *p, *q, *qsql = 0; const char *str = (*env)->GetStringUTFChars(env, sql, 0); const char *tail; transstr sqlstr; struct args { char *arg; jobject obj; transstr trans; } *argv = 0; char **cargv = 0; + int npar, max_params = MAX_PARAMS3; p = (char *) str; nargs = 0; while (*p) { if (*p == '%') { ++p; if (*p == 'q' || *p == 'Q' || *p == 's') { nargs++; - if (nargs > MAX_PARAMS) { + if (nargs > max_params) { (*env)->ReleaseStringUTFChars(env, sql, str); throwex(env, "too much SQL parameters"); return; } } else if (*p != '%') { @@ -3234,18 +3511,45 @@ return; } } ++p; } - cargv = malloc((sizeof (*argv) + sizeof (char *)) * MAX_PARAMS); + p = (char *) str; + qsql = q = malloc(strlen(p) + 1); + nargs = 0; + if (!q) { + (*env)->ReleaseStringUTFChars(env, sql, str); + throwoom(env, "unable to copy SQL string"); + return; + } + while (*p) { + if (*p == '%') { + if (p[1] == 'q' || p[1] == 'Q' || p[1] == 's') { + *q++= '?'; + nargs++; + p++; + } else if (p[1] == '%') { + *q++ = '%'; + p++; + } else { + *q++ = *p; + } + } else { + *q++ = *p; + } + ++p; + } + *q = '\0'; + cargv = malloc((sizeof (*argv) + sizeof (char *)) * max_params); if (!cargv) { + freep(&qsql); (*env)->ReleaseStringUTFChars(env, sql, str); throwoom(env, "unable to allocate arg vector"); return; } - argv = (struct args *) (cargv + MAX_PARAMS); - for (i = 0; i < MAX_PARAMS; i++) { + argv = (struct args *) (cargv + max_params); + for (i = 0; i < max_params; i++) { cargv[i] = 0; argv[i].arg = 0; argv[i].obj = 0; argv[i].trans.result = argv[i].trans.tofree = 0; } @@ -3268,78 +3572,52 @@ for (i = 0; i < nargs; i++) { if (argv[i].obj) { transfree(&argv[i].trans); } } + freep(&qsql); freep((char **) &cargv); (*env)->ReleaseStringUTFChars(env, sql, str); return; } h->row1 = 1; trans2iso(env, 1, 0, sql, &sqlstr); exc = (*env)->ExceptionOccurred(env); if (!exc) { -#if defined(_WIN32) || !defined(CANT_PASS_VALIST_AS_CHARPTR) - char *s = sqlite3_vmprintf(sqlstr.result, (char *) cargv); -#else - char *s = sqlite3_mprintf(sqlstr.result, - cargv[0], cargv[1], - cargv[2], cargv[3], - cargv[4], cargv[5], - cargv[6], cargv[7], - cargv[8], cargv[9], - cargv[10], cargv[11], - cargv[12], cargv[13], - cargv[14], cargv[15], - cargv[16], cargv[17], - cargv[18], cargv[19], - cargv[20], cargv[21], - cargv[22], cargv[23], - cargv[24], cargv[25], - cargv[26], cargv[27], - cargv[28], cargv[29], - cargv[30], cargv[31]); -#endif - if (!s) { - rc = SQLITE_NOMEM; - } else { #if HAVE_SQLITE3_PREPARE_V2 - rc = sqlite3_prepare_v2((sqlite3 *) h->sqlite, s, -1, - (sqlite3_stmt **) &svm, &tail); -#else - rc = sqlite3_prepare((sqlite3 *) h->sqlite, s, -1, - (sqlite3_stmt **) &svm, &tail); -#endif - if (rc != SQLITE_OK) { - if (svm) { - sqlite3_finalize((sqlite3_stmt *) svm); - svm = 0; - } - } - } - if (rc != SQLITE_OK) { - sqlite3_free(s); + rc = sqlite3_prepare_v2((sqlite3 *) h->sqlite, qsql, -1, + (sqlite3_stmt **) &svm, &tail); +#else + rc = sqlite3_prepare((sqlite3 *) h->sqlite, qsql, -1, + (sqlite3_stmt **) &svm, &tail); +#endif + if (rc != SQLITE_OK) { + if (svm) { + sqlite3_finalize((sqlite3_stmt *) svm); + svm = 0; + } for (i = 0; i < nargs; i++) { if (argv[i].obj) { transfree(&argv[i].trans); } } + freep(&qsql); freep((char **) &cargv); transfree(&sqlstr); (*env)->ReleaseStringUTFChars(env, sql, str); setvmerr(env, vm, rc); throwex(env, "error in prepare"); return; } - v = malloc(sizeof (hvm) + strlen(tail) + 1); + v = malloc(sizeof (hvm) + 1); if (!v) { - sqlite3_free(s); for (i = 0; i < nargs; i++) { if (argv[i].obj) { transfree(&argv[i].trans); } } + freep(&qsql); freep((char **) &cargv); transfree(&sqlstr); (*env)->ReleaseStringUTFChars(env, sql, str); sqlite3_finalize((sqlite3_stmt *) svm); setvmerr(env, vm, SQLITE_NOMEM); @@ -3352,12 +3630,11 @@ v->h = h; v->tail = (char *) (v + 1); #if HAVE_BOTH_SQLITE v->is3 = v->hh.is3 = h->is3; #endif - strcpy(v->tail, tail); - sqlite3_free(s); + v->tail[0] = '\0'; v->hh.sqlite = 0; v->hh.haveutf = h->haveutf; v->hh.ver = h->ver; v->hh.bh = v->hh.cb = v->hh.ai = v->hh.tr = v->hh.ph = 0; v->hh.row1 = 1; @@ -3366,16 +3643,26 @@ v->hh.vms = 0; v->hh.env = 0; vv.j = 0; vv.l = (jobject) v; (*env)->SetLongField(env, vm, F_SQLite_Vm_handle, vv.j); + } + npar = sqlite3_bind_parameter_count((sqlite3_stmt *) svm); + for (i = 0; i < nargs && i < npar; i++) { + if (cargv[i]) { + sqlite3_bind_text((sqlite3_stmt *) svm, i + 1, cargv[i], + -1, SQLITE_TRANSIENT); + } else { + sqlite3_bind_null((sqlite3_stmt *) svm, i + 1); + } } for (i = 0; i < nargs; i++) { if (argv[i].obj) { transfree(&argv[i].trans); } } + freep(&qsql); freep((char **) &cargv); transfree(&sqlstr); (*env)->ReleaseStringUTFChars(env, sql, str); if (exc) { (*env)->DeleteLocalRef(env, exc); @@ -4556,20 +4843,23 @@ } JNIEXPORT void JNICALL Java_SQLite_Database__1key(JNIEnv *env, jobject obj, jbyteArray key) { - jsize len; - jbyte *data; + jsize len = 0; + jbyte *data = 0; #if HAVE_SQLITE3_KEY handle *h = gethandle(env, obj); #endif - len = (*env)->GetArrayLength(env, key); - data = (*env)->GetByteArrayElements(env, key, 0); - if (len == 0) { - data = 0; + if (key) { + len = (*env)->GetArrayLength(env, key); + data = (*env)->GetByteArrayElements(env, key, 0); + if (len == 0) { + (*env)->ReleaseByteArrayElements(env, key, data, 0); + data = 0; + } } if (!data) { len = 0; } #if HAVE_SQLITE3_KEY @@ -4583,38 +4873,44 @@ } #endif sqlite3_key((sqlite3 *) h->sqlite, data, len); if (data) { memset(data, 0, len); + (*env)->ReleaseByteArrayElements(env, key, data, 0); } } else { if (data) { memset(data, 0, len); + (*env)->ReleaseByteArrayElements(env, key, data, 0); } throwclosed(env); } #else if (data) { memset(data, 0, len); + (*env)->ReleaseByteArrayElements(env, key, data, 0); } /* no error */ #endif } JNIEXPORT void JNICALL Java_SQLite_Database__1rekey(JNIEnv *env, jobject obj, jbyteArray key) { - jsize len; - jbyte *data; + jsize len = 0; + jbyte *data = 0; #if HAVE_SQLITE3_KEY handle *h = gethandle(env, obj); #endif - len = (*env)->GetArrayLength(env, key); - data = (*env)->GetByteArrayElements(env, key, 0); - if (len == 0) { - data = 0; + if (key) { + len = (*env)->GetArrayLength(env, key); + data = (*env)->GetByteArrayElements(env, key, 0); + if (len == 0) { + (*env)->ReleaseByteArrayElements(env, key, data, 0); + data = 0; + } } if (!data) { len = 0; } #if HAVE_SQLITE3_KEY @@ -4628,20 +4924,23 @@ } #endif sqlite3_rekey((sqlite3 *) h->sqlite, data, len); if (data) { memset(data, 0, len); + (*env)->ReleaseByteArrayElements(env, key, data, 0); } } else { if (data) { memset(data, 0, len); + (*env)->ReleaseByteArrayElements(env, key, data, 0); } throwclosed(env); } #else if (data) { memset(data, 0, len); + (*env)->ReleaseByteArrayElements(env, key, data, 0); } throwex(env, "unsupported"); #endif } @@ -4743,15 +5042,19 @@ JNIEXPORT void JNICALL Java_SQLite_Backup__1finalize(JNIEnv *env, jobject obj) { #if HAVE_SQLITE3 && HAVE_SQLITE3_BACKUPAPI - hbk *bk = gethbk(env, obj); + hbk *bk = getclrhbk(env, obj); int ret = SQLITE_OK; char *err = 0; if (bk) { + if ((*env)->MonitorEnter(env, C_SQLite_Database) != JNI_OK) { + fprintf(stderr, "SQLite.Backup.finalize: MonitorEnter failed\n"); + return; + } if (bk->h) { handle *h = bk->h; hbk *bkc, **bkp; bkp = &h->backups; @@ -4763,19 +5066,19 @@ } bkp = &bkc->next; bkc = *bkp; } } + (*env)->MonitorExit(env, C_SQLite_Database); if (bk->bkup) { ret = sqlite3_backup_finish(bk->bkup); if (ret != SQLITE_OK && bk->h) { err = (char *) sqlite3_errmsg((sqlite3 *) bk->h->sqlite); } } bk->bkup = 0; free(bk); - (*env)->SetLongField(env, obj, F_SQLite_Backup_handle, 0); if (ret != SQLITE_OK) { throwex(env, err ? err : "unknown error"); } } #endif @@ -5027,11 +5330,11 @@ #if !defined(DONT_USE_JNI_ONLOAD) && defined(JNI_VERSION_1_2) JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env; - jclass cls; + jclass cls1, cls2; #ifndef _WIN32 #if HAVE_SQLITE2 if (strcmp(sqlite_libencoding(), "UTF-8") != 0) { fprintf(stderr, "WARNING: using non-UTF SQLite2 engine\n"); @@ -5039,15 +5342,20 @@ #endif #endif if ((*vm)->GetEnv(vm, (void **) &env, JNI_VERSION_1_2)) { return JNI_ERR; } - cls = (*env)->FindClass(env, "java/lang/String"); - if (!cls) { + cls1 = (*env)->FindClass(env, "java/lang/String"); + if (!cls1) { + return JNI_ERR; + } + cls2 = (*env)->FindClass(env, "SQLite/Database"); + if (!cls2) { return JNI_ERR; } - C_java_lang_String = (*env)->NewGlobalRef(env, cls); + C_java_lang_String = (*env)->NewGlobalRef(env, cls1); + C_SQLite_Database = (*env)->NewGlobalRef(env, cls2); return JNI_VERSION_1_2; } JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved) @@ -5054,12 +5362,16 @@ { JNIEnv *env; if ((*vm)->GetEnv(vm, (void **) &env, JNI_VERSION_1_2)) { return; + } + if (C_SQLite_Database) { + (*env)->DeleteGlobalRef(env, C_SQLite_Database); + C_SQLite_Database = 0; } if (C_java_lang_String) { (*env)->DeleteGlobalRef(env, C_java_lang_String); C_java_lang_String = 0; } } #endif ADDED test3.java Index: test3.java ================================================================== --- /dev/null +++ test3.java @@ -0,0 +1,253 @@ +import SQLite.*; +import java.io.*; + +public class test3 implements SQLite.Trace, SQLite.Profile { + + public void trace(String stmt) { + System.out.println("TRACE: " + stmt); + } + + public void profile(String stmt, long est) { + System.out.println("PROFILE(" + est + "): " + stmt); + } + + SQLite.Stmt prep_ins(SQLite.Database db, String sql) + throws SQLite.Exception { + return db.prepare(sql); + } + + void do_ins(SQLite.Stmt stmt) throws SQLite.Exception { + stmt.reset(); + while (stmt.step()) { + } + } + + void do_ins(SQLite.Stmt stmt, int i, double d, String t, byte[] b) + throws SQLite.Exception { + stmt.reset(); + stmt.bind(1, i); + stmt.bind(2, d); + stmt.bind(3, t); + stmt.bind(4, b); + while (stmt.step()) { + } + } + + void do_exec(SQLite.Database db, String sql) throws SQLite.Exception { + SQLite.Stmt stmt = db.prepare(sql); + while (stmt.step()) { + } + stmt.close(); + } + + void do_select(SQLite.Database db, String sql) throws SQLite.Exception { + SQLite.Stmt stmt = db.prepare(sql); + int row = 0; + while (stmt.step()) { + int i, ncol = stmt.column_count(); + System.out.println("=== ROW " + row + "==="); + for (i = 0; i < ncol; i++) { + try { + System.out.print(stmt.column_database_name(i) + "." + + stmt.column_table_name(i) + "." + + stmt.column_origin_name(i) + "<" + + stmt.column_decltype(i) + ">="); + } catch (SQLite.Exception se) { + System.out.print("COLUMN#" + i + "<" + + stmt.column_decltype(i) + ">="); + } + Object obj = stmt.column(i); + if (obj == null) { + System.out.println("null"); + } else if (obj instanceof byte[]) { + byte[] b = (byte[]) obj; + String sep = ""; + System.out.print("{"); + for (i = 0; i < b.length; i++) { + System.out.print(sep + b[i]); + sep = ","; + } + System.out.print("}"); + } else { + System.out.print(obj.toString()); + } + if (obj != null) { + System.out.println("<" + obj.getClass().getName() + ">"); + } + } + row++; + } + stmt.close(); + } + + public static void main(String args[]) { + boolean error = true; + test3 T = new test3(); + System.out.println("LIB version: " + SQLite.Database.version()); + SQLite.Database db = new SQLite.Database(); + try { + byte[] b; + db.open("db3", 0666); + System.out.println("DB version: " + db.dbversion()); + db.busy_timeout(1000); + db.busy_handler(null); + db.trace(T); + db.profile(T); + T.do_exec(db, "create table TEST3("+ + "i integer, d double, t text, b blob)"); + T.do_exec(db, "create table B(" + + "id integer primary key, val blob)"); + T.do_select(db, "select * from sqlite_master"); + Stmt ins = T.prep_ins(db, "insert into TEST3(i,d,t,b)" + + " VALUES(:one,:two,:three,:four)"); + System.out.println("INFO: " + ins.bind_parameter_count() + + " parameters"); + for (int i = 1; i <= ins.bind_parameter_count(); i++) { + String name = ins.bind_parameter_name(i); + if (name != null) { + System.out.println("INFO: name for " + i + " is " + name); + System.out.println("INFO: index of " + name + " is " + + ins.bind_parameter_index(name)); + } + } + b = new byte[4]; + b[0] = 1; b[1] = 1; b[2] = 2; b[3] = 3; + T.do_ins(ins, 1, 2.4, "two point four", b); + T.do_ins(ins); + b[0] = -1; b[1] = -2; b[2] = -3; b[3] = -4; + T.do_ins(ins, 2, 4.8, "four point eight", b); + T.do_ins(ins); + T.do_ins(ins, 3, -3.333, null, null); + ins.close(); + T.do_select(db, "select * from TEST3"); + T.do_exec(db, "insert into B values(NULL, zeroblob(128))"); + T.do_exec(db, "insert into B values(NULL, zeroblob(128))"); + T.do_exec(db, "insert into B values(NULL, zeroblob(128))"); + T.do_select(db, "select id from B"); + byte[] b128 = new byte[128]; + for (int i = 0; i < b128.length; i++) { + b128[i] = (byte) i; + } + Blob blob = db.open_blob("main", "B", "val", 1, true); + OutputStream os = blob.getOutputStream(); + os.write(b128); + os.close(); + blob.close(); + blob = db.open_blob("main", "B", "val", 3, true); + os = blob.getOutputStream(); + os.write(b128); + os.close(); + blob.close(); + T.do_select(db, "select * from B"); + blob = db.open_blob("main", "B", "val", 1, false); + InputStream is = blob.getInputStream(); + is.skip(96); + is.read(b); + is.close(); + blob.close(); + System.out.println("INFO: expecting {96,97,98,99} got {" + + b[0] + "," + b[1] + "," + + b[2] + "," + b[3] + "}"); + System.out.println("INFO: backup begin"); + try { + SQLite.Database dbdest = new SQLite.Database(); + dbdest.open("db3-backup", 0666); + dbdest.busy_timeout(1000); + dbdest.busy_handler(null); + Backup backup = db.backup(dbdest, "main", "main"); + while (!backup.step(1)) { + System.out.println("INFO: backup step: " + + backup.remaining() + "/" + + backup.pagecount()); + } + b = null; + System.out.println("INFO: backup end"); + } catch (java.lang.Exception ee) { + System.err.println("error: " + ee); + } + int info[] = new int[2]; + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_MALLOC_COUNT, info, false); + System.out.println("INFO: status(STATUS_MALLOC_COUNT) = " + + info[0] + "/" + info[1]); + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_MALLOC_SIZE, info, false); + System.out.println("INFO: status(STATUS_MALLOC_SIZE) = " + + info[0] + "/" + info[1]); + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_MEMORY_USED, info, false); + System.out.println("INFO: status(STATUS_MEMORY_USED) = " + + info[0] + "/" + info[1]); + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_PAGECACHE_OVERFLOW, info, false); + System.out.println("INFO: status(STATUS_PAGECACHE_OVERFLOW) = " + + info[0] + "/" + info[1]); + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_PAGECACHE_SIZE, info, false); + System.out.println("INFO: status(STATUS_PAGECACHE_SIZE) = " + + info[0] + "/" + info[1]); + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_PAGECACHE_USED, info, false); + System.out.println("INFO: status(STATUS_PAGECACHE_USED) = " + + info[0] + "/" + info[1]); + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_PARSER_STACK, info, false); + System.out.println("INFO: status(STATUS_PARSER_STACK) = " + + info[0] + "/" + info[1]); + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_SCRATCH_OVERFLOW, info, false); + System.out.println("INFO: status(STATUS_SCRATCH_OVERFLOW) = " + + info[0] + "/" + info[1]); + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_SCRATCH_SIZE, info, false); + System.out.println("INFO: status(STATUS_SCRATCH_SIZE) = " + + info[0] + "/" + info[1]); + SQLite.Database.status(SQLite.Constants.SQLITE_STATUS_SCRATCH_USED, info, false); + System.out.println("INFO: status(STATUS_SCRATCH_USED) = " + + info[0] + "/" + info[1]); + db.db_status(SQLite.Constants.SQLITE_DBSTATUS_CACHE_HIT, info, false); + System.out.println("INFO: db_status(DBSTATUS_CACHE_HIT) = " + + info[0] + "/" + info[1]); + db.db_status(SQLite.Constants.SQLITE_DBSTATUS_CACHE_MISS, info, false); + System.out.println("INFO: db_status(DBSTATUS_CACHE_MISS) = " + + info[0] + "/" + info[1]); + db.db_status(SQLite.Constants.SQLITE_DBSTATUS_CACHE_USED, info, false); + System.out.println("INFO: db_status(DBSTATUS_CACHE_USED) = " + + info[0] + "/" + info[1]); + db.db_status(SQLite.Constants.SQLITE_DBSTATUS_LOOKASIDE_HIT, info, false); + System.out.println("INFO: db_status(DBSTATUS_LOOKASIZE_HIT) = " + + info[0] + "/" + info[1]); + db.db_status(SQLite.Constants.SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, info, false); + System.out.println("INFO: db_status(DBSTATUS_LOOKASIZE_MISS_FULL) = " + + info[0] + "/" + info[1]); + db.db_status(SQLite.Constants.SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, info, false); + System.out.println("INFO: db_status(DBSTATUS_LOOKASIZE_MISS_SIZE) = " + + info[0] + "/" + info[1]); + db.db_status(SQLite.Constants.SQLITE_DBSTATUS_LOOKASIDE_USED, info, false); + System.out.println("INFO: db_status(DBSTATUS_LOOKASIZE_USED) = " + + info[0] + "/" + info[1]); + db.db_status(SQLite.Constants.SQLITE_DBSTATUS_SCHEMA_USED, info, false); + System.out.println("INFO: db_status(DBSTATUS_SCHEMA_USED) = " + + info[0] + "/" + info[1]); + db.db_status(SQLite.Constants.SQLITE_DBSTATUS_STMT_USED, info, false); + System.out.println("INFO: db_status(DBSTATUS_STMT_USED) = " + + info[0] + "/" + info[1]); + T.do_exec(db, "drop table TEST3"); + T.do_exec(db, "drop table B"); + T.do_select(db, "select * from sqlite_master"); + error = false; + } catch (java.lang.Exception e) { + System.err.println("error: " + e); + e.printStackTrace(); + } finally { + try { + System.err.println("cleaning up ..."); + try { + T.do_exec(db, "drop table TEST3"); + T.do_exec(db, "drop table B"); + } catch(SQLite.Exception e) { + } + db.close(); + } catch(java.lang.Exception e) { + System.err.println("error: " + e); + error = true; + } finally { + System.err.println("done."); + } + } + if (error) { + System.exit(1); + } + } +} ADDED testg.java Index: testg.java ================================================================== --- /dev/null +++ testg.java @@ -0,0 +1,26 @@ +import SQLite.Constants; +import SQLite.Database; +import SQLite.Exception; +import SQLite.Stmt; + +public class testg { + public static void main(String[] args) throws Exception { + Database db = new Database(); + db.open(":memory:", Constants.SQLITE_OPEN_READWRITE); + Stmt createTable = db.prepare("CREATE TABLE test (col1)"); + createTable.step(); + createTable.close(); + Stmt beginTx = db.prepare("BEGIN TRANSACTION"); + beginTx.step(); + beginTx.close(); + for (int i = 0; i < 1000000; i++) { + Stmt insert = db.prepare("INSERT INTO test VALUES ('whatever')"); + insert.step(); + insert.close(); + } + Stmt commitTx = db.prepare("COMMIT TRANSACTION"); + commitTx.step(); + commitTx.close(); + db.close(); + } +}