summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-02-17 17:25:57 +0000
committer <>2015-03-17 16:26:24 +0000
commit780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch)
tree598f8b9fa431b228d29897e798de4ac0c1d3d970 /dist
parent7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff)
downloadberkeleydb-master.tar.gz
Imported from /home/lorry/working-area/delta_berkeleydb/db-6.1.23.tar.gz.HEADdb-6.1.23master
Diffstat (limited to 'dist')
-rw-r--r--dist/ChangeLog486
-rw-r--r--dist/Makefile.in90
-rw-r--r--dist/RELEASE14
-rw-r--r--dist/aclocal/clock.m46
-rw-r--r--dist/aclocal/mmap.m417
-rw-r--r--dist/aclocal/mutex.m462
-rw-r--r--dist/aclocal/options.m480
-rw-r--r--dist/aclocal/sequence.m48
-rw-r--r--dist/aclocal/sql.m411
-rw-r--r--dist/aclocal/types.m47
-rw-r--r--dist/adodotnet/adapt_SQLite.Interop.2008.xq.in43
-rw-r--r--dist/adodotnet/adapt_SQLite.Interop.2010.xq.in21
-rw-r--r--dist/adodotnet/adapt_common.xq.in8
-rw-r--r--dist/adodotnet/adodotnet.patch173
-rw-r--r--dist/adodotnet/gen_wince_project.xq.in144
-rw-r--r--dist/adodotnet/test.2008.csproj.user8
-rw-r--r--dist/adodotnet/testce.2008.csproj132
-rw-r--r--dist/android/Android.mk.template368
-rw-r--r--dist/android/android_config.in34
-rw-r--r--dist/android/jdbc/Android.mk.template411
-rw-r--r--dist/api_flags16
-rw-r--r--dist/api_flags.c2
-rw-r--r--dist/buildpkg6
-rwxr-xr-xdist/config.guess358
-rw-r--r--dist/config.hin41
-rwxr-xr-xdist/config.sub131
-rwxr-xr-xdist/configure900
-rw-r--r--dist/configure.ac43
-rw-r--r--dist/db_provider.d2
-rw-r--r--dist/events.in2
-rw-r--r--dist/gen_msg.awk26
-rw-r--r--dist/gen_rec.awk8
-rw-r--r--dist/jdbc/jdbc.patch36
-rw-r--r--dist/jdbc/jdbc.patch2124
-rw-r--r--dist/odbc/odbc.patch66
-rw-r--r--dist/odbc/sqlite3odbc.patch19
-rw-r--r--dist/pubdef.in44
-rwxr-xr-xdist/s_android1
-rwxr-xr-xdist/s_csharp_stat5
-rwxr-xr-xdist/s_docs2
-rwxr-xr-xdist/s_include2
-rwxr-xr-xdist/s_java_stat22
-rwxr-xr-xdist/s_javadoc6
-rwxr-xr-xdist/s_message_id27
-rwxr-xr-xdist/s_readme6
-rwxr-xr-xdist/s_recover5
-rwxr-xr-xdist/s_sql_drivers252
-rwxr-xr-xdist/s_sql_upgrade35
-rwxr-xr-xdist/s_symlink2
-rwxr-xr-xdist/s_tags2
-rwxr-xr-xdist/s_test2
-rwxr-xr-xdist/s_vxworks133
-rwxr-xr-xdist/s_windows8
-rw-r--r--dist/srcfiles.in10
-rw-r--r--dist/template/rec_dbreg65
-rw-r--r--dist/template/rec_fileops455
-rw-r--r--dist/template/rec_heap130
-rw-r--r--dist/validate/s_chk_comma.c2
-rw-r--r--dist/validate/s_chk_flags.c2
-rw-r--r--dist/validate/s_chk_logverify.c2
-rw-r--r--dist/validate/s_chk_runrecovery4
-rw-r--r--dist/validate/s_chk_stats1
-rw-r--r--dist/validate/s_chk_vxworks2
-rw-r--r--dist/vx_6/Makefile.12
-rw-r--r--dist/vx_config.in34
-rw-r--r--dist/vx_setup/LICENSE.TXT2
-rw-r--r--dist/win_config.in41
-rw-r--r--dist/win_exports.in29
-rw-r--r--dist/win_projects/db.projects3
-rw-r--r--dist/win_projects/db_wince.projects14
-rw-r--r--dist/win_projects/genproject.template9
-rw-r--r--dist/win_projects/projects.template.xml101
-rw-r--r--dist/win_projects/projects_csharp.template.xml3
-rw-r--r--dist/win_projects/projects_wince.template.xml161
-rw-r--r--dist/win_projects/vs2010.template2
-rw-r--r--dist/wince_config.in40
-rw-r--r--dist/winmsi/build.bat22
-rw-r--r--dist/winmsi/db.wxs4
78 files changed, 4032 insertions, 1565 deletions
diff --git a/dist/ChangeLog b/dist/ChangeLog
index 8ed93de7..adff63a8 100644
--- a/dist/ChangeLog
+++ b/dist/ChangeLog
@@ -1,318 +1,384 @@
-= Berkeley DB 5.3 Changelog =
+= Berkeley DB 6.1 Changelog =
-== Changes between 11.2.5.3.15 and 11.2.5.3.21 ==
+== Changes between 12.1.6.1.20 and 12.1.6.1.23 ==
-Fixed incompatibility problems of Java DPL with JDK7, so DPL will now
-work with JDK7. [#20586]
+Fixed a recovery bug that could cause files to end up in the
+wrong directory when using logs created in 5.3 or earlier. [#24169]
-Added a flag to allow database locking to be disabled from the SQL
-API. [#20928]
+Creating a table in SQL will no longer fail if the database
+connection was opened without the SQLITE_OPEN_CREATE flag. [#24115]
-Fixed a bug that could allocate a heap data page in a region after the
-region creation has been undone. [#20939]
+Fixed a bug where an error message was not displayed back to the user
+correctly when sequence creation failed. [#24103]
-Redundant whitespaces are now ignored in DB_CONFIG lines pertaining to
-directories, e.g. set_data_dir. [#20158]
+Fixed a bug where BDB was not handling tables with multiple BLOB columns
+when using the SQL API. [#24092]
-Fixed a bug that caused DB_ENV->backup to stop early if DB_BACKUP_FILES was
-not set and a non-DB file was in the data directory. [#21076]
+SQL sequence names are now case insensitive except when surrounded
+by quotation marks. [#23964]
-Fixed a rare race condition that could cause a crash if two processes opened
-the same database at the same time. [#21041]
+Avoid incrementing the statistic DB_LOG_STAT.st_scount
+("Total log file flushes") when DB_LOG_NOSYNC is in effect. [#23945]
-Fixed missing cross compiling capability for the JDBC driver. [#21101]
+Fixed a bug that may lead to crash when opening multiple environments
+in a multi-threaded program. [#23913]
-Allow the same system/machine to host both a master and a replica
-database through the use of relative pathnames. [#21105]
+Improved the way we mark a password as consumed. [#23876]
-Fixed a bug in the Java API where EnvironmentConfig.setCreateDir would fail
-to configure the environment. [#21127]
+Fixed the error "BDB2074 No space available in latch table" for
+configurations using plain pthreads mutexes and DB_ENV->set_thread_count().
+Susceptible configurations include the definition of HAVE_MUTEX_PTHREADS
+in db_config.h but do not define HAVE_MUTEX_HYBRID. [#23831]
-Fixed an assert failure in btreeCompare when allocating memory
-in the wrong thread was causing a memory leak. [#21232]
+Fixed a crash when MVCC and snapshot isolation are used and the system is under
+heavy load. [#23815]
-Fixed a bug in the Java API where concurrent operations that change the
-database schema could lead to a hang. [#21265]
+Fixed a problem with closing a panicked environment, in which an
+infinite loop was possible. [#23814]
-Added JDBC code to the code base and updated the windows build files
-to include the JDBC solution. [#21294]
+Removed Java 5 targets from Windows builds and javadoc production. [#23811]
-Fixed a bug where the heap's region size was not getting swapped correctly
-in mixed-endian environments. [#21295]
+Support for client-to-client replication of BLOB data during internal
+initialization has been disabled. [#23748]
-Fixed a bug in the db_sql_jdbc project file for vs2010 that was preventing
-it from building correctly. [#21332]
+Fixed a bug that may cause self-deadlock during database compaction. [#23725]
-== Database or Log File On-Disk Format Changes ==
+Fixed a bug in the recovery of a truncated hash database. [#23772]
+
+== Changes between 12.1.6.1.19 and 12.1.6.1.20 ==
+
+Fixed a sqlite3odbc bug which may return an out-of-memory error when calling
+SQLGetData() on empty long columns. [#22777]
+
+Enabling BLOB support and master leases will no longer result
+in unexpected DB_REP_LEASE_EXPIRED errors. [#23275]
-Existing database file formats were unchanged in library version 11.2.5.3.
+Fixed a race condition when BLOB support is enabled with replication
+where message handling could fail with an ENOENT error. [#23275]
-The log file format changed in library version 11.2.5.3.
+Existing SQL databases will have to be reindexed after upgrading
+to this release. No actions are required for non-SQL databases.
+Check the upgrade documentation for more details. [#23469]
-== New Features ==
+Fixed a known bug in SQL where ORDER BY could return results
+out of order if an index is used to answer the query. [#23469]
-Added support for verifying named in-memory dbs. [#16941]
+Fixed a bug that causes a crash when opening a corrupted environment
+with encryption and DB_REGISTER. [#23643]
-Added an integer key comparison function to improve performance through
-the SQL API. [#19609]
+Fixed a bug that causes a crash when opening a corrupted environment
+with DB_FAILCHK using a BDB compiled with DIAGNOSTIC defined. [#23643]
-Support build on the platforms where pthread_t is a struct. [#19876]
+Fixed a bug where closing a panicked environment raised an access violation
+and crashed the program. [#23679]
-Added an API call so the user can specify the size of the region in a
-heap db. [#19914]
+Fixed a bug where db_verify did not verify multiple files correctly. [#23692]
+
+Fixed a bug that causes a site joining a replication group to hang or
+to only partially complete the internal steps necessary to join the
+replication group. [#23750]
+
+== Database or Log File On-Disk Format Changes ==
-Improved Replication Manager's ability to recover from the (perhaps
-rare) phenomenon of two sites trying to connect to each other
-simultaneously, which used to result in loss of both connections,
-requiring a retry after the CONNECTION_RETRY timeout period. [#19980]
+The log file format changed in 12.1.6.1.
-Enhanced the interface for copying databases for a hot backup. Added configure
-support for --enable-atomicfileread. [#20129]
+== New Features/Improvements ==
-Enhaced the log reading routine to detect that a log file is missing rather
-than returning that a zero length record was found. [#20130]
+Demonstrated in a sample app how to use thread-specific structures to
+associate a DB_EVENT_REP_PERM_FAILED event with the transaction that
+caused it. [#17686]
-Added pragma bdbsql_shared_resources to set or report the maximum amount of
-memory to be used by shared structures in the main environment region and
-bdbsql_lock_tablesize to set or report the number of buckets in
-the lock object hash table. These are advanced tuning features for
-applications with large number of tables or needs to reduce locking on
-concurrent long running transactions. [#20156]
+Replication Manager Preferred Master is a new option for 2-site
+replication groups. One site is the preferred master, which assumes the
+master role as much of the time as its availability permits. A preferred
+master replication group guarantees that transactions committed
+on the preferred master site will never be rolled back while also
+providing client failover. [#20230]
-Added set_metadata_dir() and get_metadata_dir() to enable storage of
-persistent metadata files in a location other than the environment
-home directory. [#20174]
+A new flag DB_FORCESYNCENV is provided for DB_ENV->close(), which forces
+flushing the memory mapped regions before unmapping them. [#21176]
-Improved the error handling through the SQL API. Errors can be sent to a
-file with the use of the BDBSQL_ERROR_FILE pragma. [#20213]
+A new API is provided to limit the Replication Manager incoming queue based
+on the amount of heap memory it uses. [#21481]
-Database handles can now be configured to give exclusive access to
-the database. [#20331]
+BLOB support is now available for environments configured for
+replication. [#22359]
-XA transactions will now use transaction snapshots if the XA databases
-they operate on were configured with DB_MULTIVERSION. [#20332]
+A new version of DB_ENV->failchk() helps supports multi-process environments
+which use DB_REGISTER rather than a monitoring process. It is turned on with
+--enable-failchk_broadcast. [#22419]
-Added additional stats fields into the C# API [#20693]
+Added support for Visual Studio 2012. [#22477]
-Added pragma bdbsql_single_process to keep the Berkeley DB environment
-information on the heap instead of in shared memory. This option cannot
-be used if the database is accessed from multiple processes. [#20789]
+CPU time needed for database backups is now reduced. [#22967]
-Improved the ability of DB->compact to move DB_HASH database pages to the
-begining of the file. [#20815]
+Added BDB utilities for the Android platform. [#23079]
+
+Added --enable-error_history support. This diagnostic tool prints a
+stack trace when a panic occurs. [#23119]
+
+The new log configuration option DB_LOG_NOSYNC has been added to avoid
+flushing the transaction log in order to stabilize storage. This can be
+useful when durability across system crashes is unnecessary and all the
+transactions in the environment specify either the DB_TXN_NOSYNC or
+DB_TXN_WRITE_NOSYNC flag. This configuration setting may be made by
+DB_ENV->log_set_config() or a DB_CONFIG line "db_log_nosync [on|off]". [#23191]
== Database Environment Changes ==
-Fixed a bug that could cause a segmentation violation when closing
-an environment handle which has open database handles on partition
-databases. [#20281]
+Fixed a problem with DB_LOCKDOWN which would cause an mlock error ENOMEM
+on some operating systems. [#21379]
+
+DB_ENV->close() now detaches from the environment's mmap and shared memory
+regions even when a panic error (DB_RUNRECOVERY) has been returned.
+DB_ENV->open(DB_REGISTER) detects whether a panic has occurred in the
+environment. If so it returns DB_RUNRECOVERY. Prior to this, the panic state
+was not detected, which might have caused a hang. [#22805]
-Fixed a bug that could cause a segmentation violation if a region was
-extended leaving a very small fragment at the end. [#20414]
+Ensure that the size of memory mapped backing files are a multiple of the
+system pagesize. Previously the files were aligned up to 8KB boundaries,
+which was not adequate for systems with a 64KB pagesize. [#23290]
-Changed the behavior of the DB_REGISTER | DB_RECOVER flag combination, so
-that recovery is always run if the environment panic bit is set. [#20767]
+== Concurrent Data Store Changes ==
+
+-None
== Access Method Changes ==
-Fixed a bug were database configuration settings could be lost when the
-database was opened if the open operation was blocked for any amount
-of time. [#20860]
+Fixed a bug that left behind obsolete queue extents. [#21988]
-Fixed a bug that bulk update operations did not work correctly on
-compressed databases. [#19017]
+Fixed a bug that occurred if the range keys did not fit within one database
+page during database partition opening. [#22280]
-Improved the log flushing performance when ftruncate() is not available
-on a system. [#19725]
+Corrected a buffer mutex deadlock involving off-page duplicate sets and
+less than full transactional isolation levels. [#22532]
-When performing partial puts in a heap database, empty pieces will no longer
-be left in a split record chain. [#20052]
+Fixed a byte swapping bug that could corrupt the header of heap database
+pages. [#23318]
-Fixed a bug where, on systems without FTRUNCATE, db_verify will return an
-error for truncated heap databases. [#20195]
+== API Changes ==
-Fixed a bug where BDB could run out of mutexes when many databases are
-renamed. [#20228]
+Make flag checking in sequence stat print API consistent with the other
+stat print APIs. [#22513]
-Fixed a bug where the metadata page in hash databases would not be flushed
-to disk. [#20265]
+== SQL-specific API Changes ==
-Fixed a bug that could leave deleted pages from a HEAP database in the
-buffer cache. [#20309]
+Fixed a bug that was preventing old log files from being
+removed while using the SQL API. [#22521]
-Fixed a bug where the library would fail to put records with overflow keys
-into hash duplicate database. [#20329]
-
-Fixed a bug in DB->compact of btrees that could cause a bad pointer
-reference. [#20360]
+Updated SQL API build to be compatible with SQLite 3.8.3.1. [#23178]
-Fixed a bug that could cause the last page number stored on the metadata
-page to be wrong after rolling forward a db->compact operation that freed
-more pages than will fit in a single log record. [#20646]
+Updated ADO.NET API to be compatible with System.Data.SQLite 1.0.91.0. [#23446]
-Fixed a bug that could cause DB->stat to block on a mutex while holding a
-lock on the metadata page. [#20770]
+== Tcl-specific API Changes ==
-Fixed a bug that could cause DB->compact of a DB_HASH database to fail to
-mark a page it updated as dirty. [#20778]
+Exposed flag DB_SET_MUTEX_FAILCHK_TIMEOUT in Tcl API. [#23163]
-Fixed a bug where internal HEAP structures were not rebuilt during database
-handle refresh. [#20821]
+Added msgfile and msgfile_close in the Tcl API. [#31881].
-Fixed a bug with secondary indices, off-page duplicates and
-DB_READ_COMMITTED which could erroneously release the lock on the page
-holding a returned record. [#20853]
+== Java-specific API Changes ==
-Fixed a bug that could cause a hang or improperly report an empty queue when
-the queue record numbers wrapped around at 2^32. [#20956]
+Exposed DB->set_msgfile(), DB_ENV->set_msgfile() and all xxx_stat_print() in
+Java API.[#22691]
-Fixed a bug on Linux or Windows that could generate a checksum error
-if a database file was being opened while the meta data page happened
-to be flushed from the cache. [#20996]
+Exposed flags DB_REPMGR_CONF_PREFMAS_MASTER and DB_REPMGR_CONF_PREFMAS_CLIENT
+in Java API. [#23163]
-== SQL API Changes ==
+Exposed new flag DB_LOG_NOSYNC in Java API. [#23191]
-Fixed several memory leaks in the Online Backup API. [#19850]
+Updated DPL changes from BDB JE. [#23251]
-Fixed a bug in the SQL API when using large blob items and multiple concurrent
-connections. [#19945]
+Exposed new flag DB_EVENT_REP_INQUEUE_FULL in Java API. [#23280]
-To avoid a race condition that could cause a snapshot reader to see a wrong
-version it is now not permitted to open a DB handle specifying DB_MULTIVERSION
-if that database is currently opened by a handle which did not specify
-DB_MULTIVERSION. [#19940]
+Fixed a bug that partition directories could not be set correctly via
+Java API. [#23410]
-Pragma replication=on can now enable replication on an existing database.
-Turning replication off is now permanent. [#20180]
+== C#-specific API Changes ==
-Fixed a bug in the SQL API where it was possible for a schema update to be
-ignored when accessing a database from multiple processes. [#20319]
+The class LockDetectMode has been removed. It was duplicating functionality
+provided in other classes and not being used. [#21248]
-Fixed a bug where aborting an exclusive transaction followed by an
-auto-commit read operation causes an assert failure. [#20567]
+Exposed DB_STAT_ALLOC in PrintLockingSystemStats(), PrintLoggingSystemStats(),
+PrintMPoolSystemStats(), PrintMutexSystemStats(), PrintStats() and
+PrintTransactionSystemStats(). [#22513]
-Fixed a bug in the SQL API where using the journal_mode pragma could cause a
-crash when used as the first operation in a connection on an existing
-database. [#20620]
+Exposed DB->set_msgcall(), DB->set_msgfile(), DB_ENV->set_msgcall() and
+DB_ENV->set_msgfile() to C# API. [#22799]
-Turn off the DBSQL encryption option on Windows/WinCE by default to match the
-behavior on the other platforms. [#20671]
+Exposed flags DB_REPMGR_CONF_PREFMAS_MASTER and DB_REPMGR_CONF_PREFMAS_CLIENT
+in C# API. [#23163]
-Renamed the BDBSQL_OMIT_SHARING preprocessor flag to
-BDBSQL_SINGLE_PROCESS. [#20789]
+Exposed new flag DB_LOG_NOSYNC in C# API. [#23191]
-Fixed a bug dealing with handle lock modes not reflecting the correct state
-which was causing a deadlock in the SQL API. [#20862]
+Exposed new flag DB_EVENT_REP_INQUEUE_FULL in C# API. [#23280]
-== Java-specific API changes ==
+Changed definition of all structs to make SWIG 2.0.12 can generate code
+successfully. [#23295]
-Added ReplicationManagerConnectionStatus class and
-ReplicationManagerSiteInfo.getConnectionStatus(). Deprecated
-ReplicationManagerSiteInfo.isConnected(). [#18068]
+== C++-specific API Changes ==
-Updated EID_MASTER to be "public static final" so that it would be exposed
-in Java docs. [#20184]
+Fixed a bug that db_stl library could not build using gcc-4.7 or later
+versions. [#22615]
-Fixed a bug where calls that return Stat objects could cause a
-segfault. [#20377]
-
== Replication Changes ==
-Fixed quorum computation when most sites are unelectable. [#15251]
+Fixed a bug where, after some rare multiple-site failure scenarios
+including transaction rollbacks, Replication Manager could have incorrectly
+determined that new transactions fulfilled the acknowledgement policy. [#16624]
+
+Acknowledgements are counted more precisely when an unelectable client is first
+joining the replication group and also when a master has been set to be
+unelectable. [#20825]
-Made Replication more resilient to random input on its port. [#15712]
+If there is already a replication process running, do not require a flag
+value when calling DB_ENV->repmgr_start() to start a subordinate
+process. [#20980]
-Fixed a bug where the datadir structure was not maintained during an
-internal init. [#19041]
+Fixed a bug that a site could not rejoin the replication group on Windows
+after being removed from the group. [#22460]
-Fixed a repmgr memory leak when using DB_PRIVATE. [#19363]
+When a removed site rejoins a two-site replication group with
+DB_REPMGR_CONF_2SITE_STRICT turned off, defer its election so that the
+rejoining site does not prematurely elect itself master with only its own
+vote when the other site is already master. [#22683]
-Fixed a minor bug to handle ENOMEM when using an in-memory
-temp database. [#20197]
+Fixed a bug where a Replication Manager subordinate process could fail its
+automatic takeover as the replication process because it is unnecessarily
+waiting for acknowledgements from other sites before the connections to
+these sites are properly established. [#22998]
-Fixed a bug where multiple long running transactions across
-checkpoints could cause Log Sequence errors on client systems. [#20421]
+Fixed a bug where a client synchronization could get stuck because certain
+error paths were failing to release an internal lockout. [#23169]
-Fixed a bug where multiple Replication Manager processes would sometimes
-not all conform to replication-group-aware log archiving. [#20342]
+Fixed a bug where replication group-aware log archiving might have
+unnecessarily kept log files after certain connection sequences between
+sites. [#23420]
== Locking Subsystem Changes ==
-Fixed a bug that could cause an early lock timeout if a previous error
-left a lock timeout value set. [#19973]
+None
== Logging Subsystem Changes ==
-Fixed a bug which could cause an incompletely written log record to be
-recognized as valid, resulting in recovery failing with the message "Illegal
-record type <integer, usually 0> in log". [#17851]
-
-Fixed a bug where printlog would fail on in-memory heap databases. [#20269]
+Avoid incrementing the statistic DB_LOG_STAT.st_scount
+("Total log file flushes") when DB_LOG_NOSYNC is in effect. [#23945]
== Memory Pool Subsystem Changes ==
-Fixed a bug which overstated the number of clean and dirty pages evicted from
-the cache. [#20410]
+None
-Fixed a bug that left a small fragment at the end of a region when
-extending. [#20414]
+== Mutex Subsystem Changes ==
-Fixed a bug where the file bucket was always zero when creating a mpoolfile
-using the mpool API. [#20468]
+Removed an environment handle mutex which was no longer needed. [#23099]
-Fixed a bug with multiversion concurrency control which could cause
-versions of pages to remain in the cache even though they are no longer
-needed. [#20570]
+Removed the last source files of the defunct fcntl mutex
+implementation. [#23119]
-The memory pool allocator will now start freezing MVCC versions of buffers
-if it sees more than 1/4 of the available buffers are taken up by
-versions. [#20836]
+== Transaction Subsystem Changes ==
-== Mutex Subsystem Changes ==
+None
-Fixed a bug in which DB_ENV->mutex_set_align() could cause
-DB_ENV->mutex_stat_print(dbenv, DB_STAT_ALL) to display only the
-first mutex. [#20522]
+== Test Suite Changes ==
-Fixed a bug with DB_ENV->mutex_stat_print() in which the information on
-some mutexes would not be displayed, if any mutex had been freed and not
-yet reallocated. [#20533]
+None
-== Transaction Subsystem Changes ==
+== Utility Changes ==
-Fixed a bug where a malloc failure could result in a segfault
-when doing a put on a database with secondaries. [#20641]
+None
-== Utility Changes ==
+== Configuration, Documentation, Sample Apps, Portability and Build Changes ==
-Fixed a bug that would cause verify to call the wrong compare function if
-there are user defined compare functions used and the database has multilevel
-off page sorted duplicate trees. [#20284]
+Fixed a bug that ex_rep_base could not quit gracefully after receiving 'exit'
+command. [#16871]
-Fixed a bug that could cause recovery to fail if DB->compact moved the meta
-data page of a HASH subdatabase. [#20708]
+Extended the ex_rep_mgr Replication Manager sample application to demonstrate
+the use of a thread-specific structure to associate a DB_EVENT_REP_PERM_FAILED
+event with its originating transaction. [#17686]
-Fixed two problems with db_hotbackup's handling of transaction logs. A hotbackup
-would always try to open the logs in the environment home, even if a log
-directory had been specified. The second fix corrected an error path, in which
-the memory was freed by the wrong function, possibly causing a guard byte error.
-[#21313]
+Parameter "-module" is removed from task libsqilte_jni in JDBC makefile. So
+libsqlite_jni library could be built in '.dylib' format on Mac OS X. [#22937]
-== Configuration, Documentation, Sample Apps, Portability and Build Changes ==
+Additional information about the cause of an error may now be displayed by
+configuring with --enable-error_history. [#23119]
-The DB_CONFIG configuration commands which specify directory pathnames
-("set_data_dir", "set_lg_dir", and "set_tmp_dir") now accept names containing
-whitespace characters. [#20158]
+Add one public error code 'DB_META_CHKSUM_FAIL'. [#23304]
-== Known Bugs ==
+Added build support on latest MinGW. [#23332]
+
+A configuration warning 'Ignoring --with-cryptography flag value' is added
+for the non-crypto package. [#23333]
+
+Parameter LIBSQLSO_LIBS is added to the task libsqlso_target to workaround
+a linking issue with the gcc 4.8.1 distributed by Ubuntu. [#23372]
+
+Extended the Mac OS X section in the chapter 7 of the installation
+guide. [#23388]
-If two SQL processes are concurrently altering the schema of the same tables
-in a database, there is a race condition that can cause the application
-to hang. [#20513]
+Fixed PHP module to consistently use the ZEND_REGISTER_RESOURCE macro,
+preventing a build failure with PHP 5.5. Updated INSTALL file
+to note the changed location of sample output. [#23391]
+
+Fixed a few typos in the JDBC/ODBC sections of the Windows/Unix installation
+guide. [#23404]
+
+== Example Changes ==
+
+Added an example using BDB SQL with the JDBC driver and ADF. [#22569]
+
+== Miscellaneous Bug Fixes ==
+
+Fixed a byte swapping bug with log file operations on blob files.
+[#22215]
+
+Fixed test failures on QNX with small mutex regions. [#22310]
+
+Database containing BLOBS are now portable between machines of
+opposite endianness. [#22455]
+
+Added a -D option to display output for db_dump and db_printlog.
+This value takes priority over DB_ENV->set_data_len() if that
+was called to set the length. [#22485]
+
+Updates to PHP API to handle functional changes in PHP 5.4. [#22549]
+
+Fixed heap databases so they can work on both big and little
+endian machines. [#22929]
+
+Restructure the blob delete code to improve performance. [#22935]
+
+Properly clean up blob meta database after aborting the creation of its
+parent database. [#23000]
+
+Fixed memory alignment issues with the DB_MPOOL stats. [#23150]
+
+Fixed a byte swapping bug with heap blob log records. [#23319]
+
+Fixed two race condition bugs with DB_ENV->failchk(). [#23347]
+
+Fixed memory alignment issue on Solaris. [#23571]
+
+Fixed a bug that using Visual Studio 2010 and JDK 1.5 could generate corrupted
+jar files. [#23574]
+
+Fixed a bug that specifying --with-cryptography=yes did not build the jdbc
+library correctly. [#23606]
+
+== Platform Certification Changes ==
+
+Berkeley DB no longer tests or certifies Windows XP or Windows 2003.
+
+== Deprecated Features ==
+
+The DB_AUTO_COMMIT flag is present in the DB_SEQUENCE APIs for Java and
+C#. This flg is no longer meaningful for these APIs and will be
+deprecated in the next release.
+
+== Known Bugs ==
-Replication groups including machines of different endianness do
-not support the heap access method. [#21016]
+[#23469] (Fixed in 12.1.6.1.20 -- see above.)
+The SQL ORDER BY command on the primary key of a table can in
+rare cases return the results out of order if an index search is used in
+executing the query. For example: Create a single column table. Insert
+two rows with identical values. A query on the row id and the column will
+produce results in a different order depending on whether an index is used.
-If a txn that is attempting to remove a region page from a heap database is
-aborted and another txn is trying to update that same page then it can
-cause the original txn to abort. This is timing dependant. [#20939]
diff --git a/dist/Makefile.in b/dist/Makefile.in
index 0d319707..3328583d 100644
--- a/dist/Makefile.in
+++ b/dist/Makefile.in
@@ -107,6 +107,7 @@ libxso_major= $(libcxx_base)-$(LIBMAJOR)@SOSUFFIX@
##################################################
SQLFLAGS= -I$(builddir) -I$(builddir)/sql -I$(langdir)/sql/generated \
-D_HAVE_SQLITE_CONFIG_H @SQL_FLAGS@
+LIBSQLSO_LIBS= @LIBSQLSO_LIBS@ @LIBCSO_LIBS@ @LIBSO_LIBS@
libsql_base= libdb_sql
libsql= $(libsql_base).a
@@ -224,7 +225,7 @@ HASH_VRFY_OBJS=\
hash_verify@o@
HEAP_OBJS=\
heap@o@ heap_auto@o@ heap_backup@o@ heap_conv@o@ heap_method@o@ \
- heap_open@o@ heap_rec@o@ heap_reclaim@o@ heap_stat@o@
+ heap_open@o@ heap_rec@o@ heap_reclaim@o@ heap_stat@o@ heap_upgrade@o@
HEAP_VRFY_OBJS=\
heap_verify@o@
QUEUE_OBJS=\
@@ -263,6 +264,7 @@ XA_OBJS=\
# object files in order to generate the additional objects in @FINAL_OBJS@.
DTRACE_OBJS= @ADDITIONAL_OBJS@ @REPLACEMENT_OBJS@ @CRYPTO_OBJS@ \
+ blob_fileops@o@ blob_page@o@ blob_stream@o@ blob_util@o@ \
clock@o@ crdel_auto@o@ crdel_rec@o@ db@o@ db_am@o@ db_auto@o@ \
db_backup@o@ db_byteorder@o@ db_cam@o@ db_cds@o@ db_compact@o@ \
db_compint@o@ db_conv@o@ db_copy@o@ db_dispatch@o@ db_dup@o@ \
@@ -285,7 +287,7 @@ DTRACE_OBJS= @ADDITIONAL_OBJS@ @REPLACEMENT_OBJS@ @CRYPTO_OBJS@ \
os_alloc@o@ os_clock@o@ os_cpu@o@ os_ctime@o@ os_config@o@ \
os_dir@o@ os_errno@o@ os_fid@o@ os_flock@o@ os_fsync@o@ \
os_getenv@o@ os_handle@o@ os_map@o@ os_method@o@ os_mkdir@o@ \
- os_open@o@ os_path@o@ os_pid@o@ os_rename@o@ os_root@o@ \
+ os_open@o@ os_path@o@ os_pid@o@ os_rename@o@ os_rmdir@o@ os_root@o@ \
os_rpath@o@ os_rw@o@ os_seek@o@ os_stack@o@ os_stat@o@ \
os_tmpdir@o@ os_truncate@o@ os_uid@o@ os_unlink@o@ os_yield@o@ \
partition@o@ seq_stat@o@ sequence@o@ sha1@o@ snprintf@o@ txn@o@ \
@@ -296,14 +298,16 @@ DTRACE_OBJS= @ADDITIONAL_OBJS@ @REPLACEMENT_OBJS@ @CRYPTO_OBJS@ \
C_OBJS= $(DTRACE_OBJS) @FINAL_OBJS@
CUTEST_OBJS=\
- CuTest@o@ CuTests@o@ Runner@o@ TestChannel@o@ TestDbHotBackup@o@ \
- TestDbTuner@o@ TestEncryption@o@ TestEnvConfig@o@ TestEnvMethod@o@ \
- TestKeyExistErrorReturn@o@ TestPartial@o@ TestQueue@o@ \
+ CuTest@o@ CuTests@o@ Runner@o@ TestCallbackSetterAndGetter@o@ \
+ TestChannel@o@ TestDbHotBackup@o@ TestDbTuner@o@ TestEncryption@o@ \
+ TestEnvConfig@o@ TestEnvMethod@o@ TestKeyExistErrorReturn@o@ \
+ TestMutexAlignment@o@ TestPartial@o@ TestPartition@o@ \
+ TestPreOpenSetterAndGetter@o@ TestQueue@o@
CXX_OBJS=\
- cxx_channel@o@ cxx_db@o@ cxx_dbc@o@ cxx_dbt@o@ cxx_env@o@ \
- cxx_except@o@ cxx_lock@o@ cxx_logc@o@ cxx_mpool@o@ cxx_multi@o@ \
- cxx_rid@o@ cxx_seq@o@ cxx_site@o@ cxx_txn@o@
+ cxx_channel@o@ cxx_db@o@ cxx_dbc@o@ cxx_dbstream@o@ cxx_dbt@o@ \
+ cxx_env@o@ cxx_except@o@ cxx_lock@o@ cxx_logc@o@ cxx_mpool@o@ \
+ cxx_multi@o@ cxx_rid@o@ cxx_seq@o@ cxx_site@o@ cxx_txn@o@
CRYPTO_OBJS=\
aes_method@o@ crypto@o@ mt19937db@o@ rijndael-alg-fst@o@ \
@@ -424,6 +428,8 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/db/DatabaseEntry.java \
$(JAVA_SLEEPYCAT)/db/DatabaseException.java \
$(JAVA_SLEEPYCAT)/db/DatabaseStats.java \
+ $(JAVA_SLEEPYCAT)/db/DatabaseStream.java \
+ $(JAVA_SLEEPYCAT)/db/DatabaseStreamConfig.java \
$(JAVA_SLEEPYCAT)/db/DatabaseType.java \
$(JAVA_SLEEPYCAT)/db/DeadlockException.java \
$(JAVA_SLEEPYCAT)/db/Environment.java \
@@ -458,6 +464,7 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/db/LogVerifyConfig.java \
$(JAVA_SLEEPYCAT)/db/MemoryException.java \
$(JAVA_SLEEPYCAT)/db/MessageHandler.java \
+ $(JAVA_SLEEPYCAT)/db/MetaCheckSumFailException.java \
$(JAVA_SLEEPYCAT)/db/MultipleNIODataEntry.java \
$(JAVA_SLEEPYCAT)/db/MultipleKeyNIODataEntry.java \
$(JAVA_SLEEPYCAT)/db/MultipleRecnoNIODataEntry.java \
@@ -495,6 +502,7 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/db/ReplicationStatus.java \
$(JAVA_SLEEPYCAT)/db/ReplicationTimeoutType.java \
$(JAVA_SLEEPYCAT)/db/ReplicationTransport.java \
+ $(JAVA_SLEEPYCAT)/db/ReplicationViewHandler.java \
$(JAVA_SLEEPYCAT)/db/RunRecoveryException.java \
$(JAVA_SLEEPYCAT)/db/SecondaryConfig.java \
$(JAVA_SLEEPYCAT)/db/SecondaryCursor.java \
@@ -521,6 +529,7 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/db/internal/DbMpoolFile.java \
$(JAVA_SLEEPYCAT)/db/internal/DbSequence.java \
$(JAVA_SLEEPYCAT)/db/internal/DbSite.java \
+ $(JAVA_SLEEPYCAT)/db/internal/DbStream.java \
$(JAVA_SLEEPYCAT)/db/internal/DbTxn.java \
$(JAVA_SLEEPYCAT)/db/internal/DbUtil.java \
$(JAVA_SLEEPYCAT)/db/internal/Dbc.java \
@@ -780,9 +789,9 @@ STL_OBJS=\
dbstl_container@o@ dbstl_resource_manager@o@
TCL_OBJS=\
- tcl_compat@o@ tcl_db@o@ tcl_db_pkg@o@ tcl_dbcursor@o@ tcl_env@o@ \
- tcl_internal@o@ tcl_lock@o@ tcl_log@o@ tcl_mp@o@ tcl_mutex@o@ \
- tcl_rep@o@ tcl_seq@o@ tcl_txn@o@ tcl_util@o@
+ tcl_compat@o@ tcl_db@o@ tcl_db_pkg@o@ tcl_dbcursor@o@ tcl_dbstream@o@ \
+ tcl_env@o@ tcl_internal@o@ tcl_lock@o@ tcl_log@o@ tcl_mp@o@ \
+ tcl_mutex@o@ tcl_rep@o@ tcl_seq@o@ tcl_txn@o@ tcl_util@o@
TEST_MICRO_OBJS=\
b_curalloc@o@ b_curwalk@o@ b_del@o@ b_get@o@ b_inmem@o@ b_latch@o@ \
@@ -891,7 +900,7 @@ $(libsql_version): $(SQL_OBJS)
# Shared SQL library.
$(libsqlso_target): $(SQL_OBJS)
- $(SOLINK) $(SOFLAGS) $(LDFLAGS) -o $@ $(SQL_OBJS) $(LIBCSO_LIBS)
+ $(SOLINK) $(SOFLAGS) $(LDFLAGS) -o $@ $(SQL_OBJS) $(LIBSQLSO_LIBS)
$(RM) $(libsql)
$(LN) -s .libs/$(libsql_version) $(libsql)
@@ -1177,11 +1186,12 @@ uninstall_docs:
CLEAN_LIST=\
StlTxnGuide TxnGuide TxnGuideInMemory berkeley_db_cxxsvc \
berkeley_db_svc cutest db_dump185 db_perf db_repsite db_reptest dbs \
- ex_access ex_apprec ex_btrec ex_bulk ex_dbclient ex_env ex_heap ex_lock \
+ ex_access ex_apprec ex_blob ex_btrec ex_bulk ex_dbclient ex_env \
+ ex_heap ex_lock \
ex_mpool ex_rep_base ex_rep_chan ex_rep_gsg_repmgr ex_rep_gsg_simple \
ex_rep_mgr ex_sequence ex_stream ex_thread ex_tpcb \
example_database_load example_database_read excxx_access \
- excxx_btrec excxx_env excxx_example_database_load \
+ excxx_btrec excxx_bulk excxx_env excxx_example_database_load \
excxx_example_database_read excxx_lock excxx_mpool \
excxx_repquote excxx_repquote_gsg_repmgr excxx_repquote_gsg_simple \
excxx_sequence excxx_tpcb ex_sql_binding ex_sql_fts3 ex_sql_index \
@@ -1316,6 +1326,8 @@ CuTests@o@: $(testdir)/c/cutest/CuTests.c
$(CC) $(CUTEST_FLAGS) $?
Runner@o@: $(testdir)/c/cutest/Runner.c
$(CC) $(CUTEST_FLAGS) $?
+TestCallbackSetterAndGetter@o@: $(testdir)/c/suites/TestCallbackSetterAndGetter.c
+ $(CC) $(CUTEST_FLAGS) $?
TestChannel@o@: $(testdir)/c/suites/TestChannel.c
$(CC) $(CUTEST_FLAGS) $?
TestDbHotBackup@o@: $(testdir)/c/suites/TestDbHotBackup.c
@@ -1330,8 +1342,14 @@ TestEnvMethod@o@: $(testdir)/c/suites/TestEnvMethod.c
$(CC) $(CUTEST_FLAGS) $?
TestKeyExistErrorReturn@o@: $(testdir)/c/suites/TestKeyExistErrorReturn.c
$(CC) $(CUTEST_FLAGS) $?
+TestMutexAlignment@o@: $(testdir)/c/suites/TestMutexAlignment.c
+ $(CC) $(CUTEST_FLAGS) $?
TestPartial@o@: $(testdir)/c/suites/TestPartial.c
$(CC) $(CUTEST_FLAGS) $?
+TestPartition@o@: $(testdir)/c/suites/TestPartition.c
+ $(CC) $(CUTEST_FLAGS) $?
+TestPreOpenSetterAndGetter@o@: $(testdir)/c/suites/TestPreOpenSetterAndGetter.c
+ $(CC) $(CUTEST_FLAGS) $?
TestQueue@o@: $(testdir)/c/suites/TestQueue.c
$(CC) $(CUTEST_FLAGS) $?
@@ -1340,6 +1358,13 @@ cutest: $(CUTEST_OBJS) $(DEF_LIB) db_tuner.lo
$(LDFLAGS) $(CUTEST_OBJS) $(DEF_LIB) $(TEST_LIBS) $(LIBS)
$(POSTLINK) $@
+TEST_FAILOBJS=test_failchk@o@
+test_failchk@o@: $(testdir)/c/test_failchk.c
+ $(CC) $(CUTEST_FLAGS) $?
+test_failchk: $(TEST_FAILOBJS) $(DEF_LIB)
+ $(CCLINK) -o $@ \
+ $(LDFLAGS) $(TEST_FAILOBJS) $(DEF_LIB) $(TEST_LIBS) $(LIBS)
+
db_repsite@o@: $(testdir)/repmgr/db_repsite.cpp
$(CXX) $(CXXFLAGS) $?
DBREPSITE_OBJS=db_repsite@o@
@@ -1451,13 +1476,14 @@ test_mutex: test_mutex@o@ $(DEF_LIB)
##################################################
# Targets for example programs.
##################################################
-examples_c: ex_access ex_apprec ex_btrec ex_bulk ex_env ex_heap ex_lock \
+examples_c: ex_access ex_apprec ex_blob ex_btrec ex_bulk ex_env \
+ ex_heap ex_lock \
ex_mpool ex_rep_base ex_rep_chan ex_rep_gsg_repmgr ex_rep_gsg_simple \
ex_rep_mgr ex_sequence ex_stream ex_thread ex_tpcb \
example_database_load example_database_read txn_guide txn_guide_inmemory
-examples_cxx: TxnGuide TxnGuideInMemory excxx_access \
- excxx_example_database_load excxx_example_database_read \
+examples_cxx: TxnGuide TxnGuideInMemory excxx_access excxx_btrec excxx_bulk \
+ excxx_env excxx_example_database_load excxx_example_database_read \
excxx_lock excxx_mpool excxx_repquote excxx_repquote_gsg_repmgr \
excxx_repquote_gsg_simple excxx_sequence excxx_tpcb
@@ -1493,6 +1519,12 @@ ex_apprec: $(EX_APPREC_OBJS) $(DEF_LIB)
$(CCLINK) -o $@ \
$(LDFLAGS) $(EX_APPREC_OBJS) $(DEF_LIB) $(TEST_LIBS) $(LIBS)
+ex_blob@o@: $(exampledir)/c/ex_blob.c
+ $(CC) $(CFLAGS) $?
+ex_blob: ex_blob@o@ $(DEF_LIB)
+ $(CCLINK) -o $@ $(LDFLAGS) ex_blob@o@ $(DEF_LIB) $(LIBS)
+ $(POSTLINK) $@
+
ex_btrec@o@: $(exampledir)/c/ex_btrec.c
$(CC) $(CFLAGS) $?
ex_btrec: ex_btrec@o@ $(DEF_LIB)
@@ -1656,6 +1688,12 @@ excxx_btrec: BtRecExample@o@ $(DEF_LIB_CXX)
$(CXXLINK) -o $@ $(LDFLAGS) BtRecExample@o@ $(DEF_LIB_CXX) $(LIBS)
$(POSTLINK) $@
+BulkExample@o@: $(exampledir)/cxx/BulkExample.cpp
+ $(CXX) $(CXXFLAGS) $?
+excxx_bulk: BulkExample@o@ $(DEF_LIB_CXX)
+ $(CXXLINK) -o $@ $(LDFLAGS) BulkExample@o@ $(DEF_LIB_CXX) $(LIBS)
+ $(POSTLINK) $@
+
EnvExample@o@: $(exampledir)/cxx/EnvExample.cpp
$(CXX) $(CXXFLAGS) $?
excxx_env: EnvExample@o@ $(DEF_LIB_CXX)
@@ -1845,6 +1883,14 @@ ex_sql_transaction@o@: $(exampledir)/sql/c/ex_sql_transaction.c
##################################################
aes_method@o@: $(srcdir)/crypto/aes_method.c
$(CC) $(CFLAGS) $?
+blob_fileops@o@: $(srcdir)/blob/blob_fileops.c
+ $(CC) $(CFLAGS) $?
+blob_page@o@: $(srcdir)/blob/blob_page.c
+ $(CC) $(CFLAGS) $?
+blob_stream@o@: $(srcdir)/blob/blob_stream.c
+ $(CC) $(CFLAGS) $?
+blob_util@o@: $(srcdir)/blob/blob_util.c
+ $(CC) $(CFLAGS) $?
bt_compare@o@: $(srcdir)/btree/bt_compare.c
$(CC) $(CFLAGS) $?
bt_compress@o@: $(srcdir)/btree/bt_compress.c
@@ -2095,6 +2141,8 @@ heap_stat@o@: $(srcdir)/heap/heap_stat.c
$(CC) $(CFLAGS) $?
heap_stub@o@: $(srcdir)/heap/heap_stub.c
$(CC) $(CFLAGS) $?
+heap_upgrade@o@: $(srcdir)/heap/heap_upgrade.c
+ $(CC) $(CFLAGS) $?
heap_verify@o@: $(srcdir)/heap/heap_verify.c
$(CC) $(CFLAGS) $?
hmac@o@: $(srcdir)/hmac/hmac.c
@@ -2193,8 +2241,6 @@ mut_alloc@o@: $(srcdir)/mutex/mut_alloc.c
$(CC) $(CFLAGS) $?
mut_failchk@o@: $(srcdir)/mutex/mut_failchk.c
$(CC) $(CFLAGS) $?
-mut_fcntl@o@: $(srcdir)/mutex/mut_fcntl.c
- $(CC) $(CFLAGS) $?
mut_method@o@: $(srcdir)/mutex/mut_method.c
$(CC) $(CFLAGS) $?
mut_pthread@o@: $(srcdir)/mutex/mut_pthread.c
@@ -2259,6 +2305,8 @@ os_qnx_open@o@: $(srcdir)/os_qnx/os_qnx_open.c
$(CC) $(CFLAGS) $?
os_rename@o@: $(srcdir)/@OSDIR@/os_rename.c
$(CC) $(CFLAGS) $?
+os_rmdir@o@: $(srcdir)/@OSDIR@/os_rmdir.c
+ $(CC) $(CFLAGS) $?
os_root@o@: $(srcdir)/os/os_root.c
$(CC) $(CFLAGS) $?
os_rpath@o@: $(srcdir)/os/os_rpath.c
@@ -2419,6 +2467,8 @@ cxx_db@o@: $(langdir)/cxx/cxx_db.cpp
$(CXX) $(CXXFLAGS) $?
cxx_dbc@o@: $(langdir)/cxx/cxx_dbc.cpp
$(CXX) $(CXXFLAGS) $?
+cxx_dbstream@o@: $(langdir)/cxx/cxx_dbstream.cpp
+ $(CXX) $(CXXFLAGS) $?
cxx_dbt@o@: $(langdir)/cxx/cxx_dbt.cpp
$(CXX) $(CXXFLAGS) $?
cxx_env@o@: $(langdir)/cxx/cxx_env.cpp
@@ -2475,6 +2525,8 @@ tcl_db_pkg@o@: $(TCL_SRCDIR)/tcl_db_pkg.c
$(CC) $(CFLAGS) $(TCL_INCLUDE_SPEC) $?
tcl_dbcursor@o@: $(TCL_SRCDIR)/tcl_dbcursor.c
$(CC) $(CFLAGS) $(TCL_INCLUDE_SPEC) $?
+tcl_dbstream@o@: $(TCL_SRCDIR)/tcl_dbstream.c
+ $(CC) $(CFLAGS) $(TCL_INCLUDE_SPEC) $?
tcl_env@o@: $(TCL_SRCDIR)/tcl_env.c
$(CC) $(CFLAGS) $(TCL_INCLUDE_SPEC) $?
tcl_internal@o@: $(TCL_SRCDIR)/tcl_internal.c
diff --git a/dist/RELEASE b/dist/RELEASE
index 54896523..d323b470 100644
--- a/dist/RELEASE
+++ b/dist/RELEASE
@@ -1,16 +1,16 @@
# $Id$
-DB_VERSION_FAMILY=11
-DB_VERSION_LETTER="g"
-DB_VERSION_RELEASE=2
-DB_VERSION_MAJOR=5
-DB_VERSION_MINOR=3
-DB_VERSION_PATCH=21
+DB_VERSION_FAMILY=12
+DB_VERSION_LETTER="c"
+DB_VERSION_RELEASE=1
+DB_VERSION_MAJOR=6
+DB_VERSION_MINOR=1
+DB_VERSION_PATCH=23
DB_VERSION="$DB_VERSION_MAJOR.$DB_VERSION_MINOR.$DB_VERSION_PATCH"
DB_VERSION_FULL="$DB_VERSION_FAMILY.$DB_VERSION_RELEASE.$DB_VERSION_MAJOR.$DB_VERSION_MINOR.$DB_VERSION_PATCH"
DB_VERSION_UNIQUE_NAME=`printf "_%d%03d" $DB_VERSION_MAJOR $DB_VERSION_MINOR`
-DB_RELEASE_DATE="May 11, 2012"
+DB_RELEASE_DATE="February 17, 2015"
DB_VERSION_STRING="Berkeley DB $DB_VERSION: ($DB_RELEASE_DATE)"
DB_VERSION_FULL_STRING="Berkeley DB $DB_VERSION_FAMILY$DB_VERSION_LETTER Release $DB_VERSION_RELEASE, library version $DB_VERSION_FULL: ($DB_RELEASE_DATE)"
diff --git a/dist/aclocal/clock.m4 b/dist/aclocal/clock.m4
index a978ffa5..a0c09112 100644
--- a/dist/aclocal/clock.m4
+++ b/dist/aclocal/clock.m4
@@ -3,7 +3,7 @@
# Configure clocks and timers.
AC_DEFUN(AC_TIMERS, [
-AC_CHECK_FUNCS(gettimeofday localtime time strftime)
+AC_CHECK_FUNCS(gettimeofday localtime localtime_r time strftime)
# AIX 4.3 will link applications with calls to clock_gettime, but the
# calls always fail.
@@ -20,12 +20,14 @@ esac
# existence to mean the clock really exists.
AC_CACHE_CHECK([for clock_gettime monotonic clock], db_cv_clock_monotonic, [
AC_TRY_RUN([
+#include <time.h>
#include <sys/time.h>
-main() {
+int main() {
struct timespec t;
return (clock_gettime(CLOCK_MONOTONIC, &t) != 0);
}], db_cv_clock_monotonic=yes, db_cv_clock_monotonic=no,
AC_TRY_LINK([
+#include <time.h>
#include <sys/time.h>], [
struct timespec t;
clock_gettime(CLOCK_MONOTONIC, &t);
diff --git a/dist/aclocal/mmap.m4 b/dist/aclocal/mmap.m4
index 727c6c35..cb20228c 100644
--- a/dist/aclocal/mmap.m4
+++ b/dist/aclocal/mmap.m4
@@ -1,4 +1,4 @@
-# Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015 Oracle and/or its affiliates. All rights reserved.
# Detect mmap capability: If the file underlying an mmap is extended,
# does the addressable memory grow too?
@@ -28,8 +28,10 @@ if test "$mmap_ok" = "yes" ; then
/* Not all these includes are needed, but the minimal set varies from
* system to system.
*/
+ #include <stdlib.h>
#include <stdio.h>
#include <string.h>
+ #include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -41,18 +43,25 @@ if test "$mmap_ok" = "yes" ; then
#ifndef MAP_FAILED
#define MAP_FAILED (-1)
#endif
+ /* Prevent unused variabl warnings by setting and using it. */
+ #define COMPQUIET(n, v) do { \
+ (n) = (v); \
+ (n) = (n); \
+ } while (0)
- int catch_sig(sig)
+
+ void catch_sig(sig)
int sig;
{
+ COMPQUIET(sig,0);
exit(1);
}
- main() {
+ int main() {
const char *underlying;
unsigned gapsize;
char *base;
- int count, fd, i, mode, open_flags, ret, total_size;
+ int count, fd, i, mode, open_flags, total_size;
char buf[TEST_MMAP_BUFSIZE];
gapsize = 1024;
diff --git a/dist/aclocal/mutex.m4 b/dist/aclocal/mutex.m4
index 81f1ea8d..9e02c4af 100644
--- a/dist/aclocal/mutex.m4
+++ b/dist/aclocal/mutex.m4
@@ -5,12 +5,12 @@ AC_DEFUN(AM_PTHREADS_SHARED, [
AC_TRY_RUN([
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_condattr_setpshared(&condattr, PTHREAD_PROCESS_SHARED) ||
pthread_mutexattr_init(&mutexattr) ||
@@ -31,7 +31,7 @@ AC_TRY_LINK([
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_condattr_setpshared(&condattr, PTHREAD_PROCESS_SHARED) ||
pthread_mutexattr_init(&mutexattr) ||
@@ -49,12 +49,12 @@ AC_DEFUN(AM_PTHREADS_PRIVATE, [
AC_TRY_RUN([
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_mutexattr_init(&mutexattr) ||
pthread_cond_init(&cond, &condattr) ||
@@ -73,7 +73,7 @@ AC_TRY_LINK([
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_mutexattr_init(&mutexattr) ||
pthread_cond_init(&cond, &condattr) ||
@@ -89,10 +89,10 @@ AC_DEFUN(AM_PTHREADS_CONDVAR_DUPINITCHK, [
AC_TRY_RUN([
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr) ||
pthread_cond_init(&cond, &condattr));
}], [db_cv_pthread_condinit_dupgood="yes"],
@@ -102,7 +102,7 @@ AC_TRY_LINK([
#include <pthread.h>], [
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr));
], [db_cv_pthread_condinit_dupgood="yes"],
[db_cv_pthread_condinit_dupgood="no"]))])
@@ -110,10 +110,10 @@ AC_DEFUN(AM_PTHREADS_RWLOCKVAR_DUPINITCHK, [
AC_TRY_RUN([
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ return (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
}], [db_cv_pthread_rwlockinit_dupgood="yes"],
@@ -123,7 +123,7 @@ AC_TRY_LINK([
#include <pthread.h>], [
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ exit (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
], [db_cv_pthread_rwlockinit_dupgood="yes"],
[db_cv_pthread_rwlockinit_dupgood="no"]))])
@@ -282,7 +282,7 @@ if test "$db_cv_mutex" = no; then
# x86/gcc: FreeBSD, NetBSD, BSD/OS, Linux
AC_TRY_COMPILE(,[
#if (defined(i386) || defined(__i386__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -291,7 +291,7 @@ if test "$db_cv_mutex" = no; then
# x86_64/gcc: FreeBSD, NetBSD, BSD/OS, Linux
AC_TRY_COMPILE(,[
#if (defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -314,7 +314,7 @@ if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if defined(__sparc__) && defined(__GNUC__)
asm volatile ("membar #StoreStore|#StoreLoad|#LoadStore");
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -356,7 +356,7 @@ AC_TRY_LINK([
msem_init(&x, 0);
msem_lock(&x, 0);
msem_unlock(&x, 0);
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -373,7 +373,7 @@ AC_TRY_LINK([
msem_init(&x, 0);
msem_lock(&x, 0);
msem_unlock(&x, 0);
- exit(0);
+ return (0);
], [db_cv_mutex=UNIX/msem_init])
fi
@@ -395,7 +395,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if defined(__USLC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -452,7 +452,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if defined(__alpha) && defined(__DECC)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -463,7 +463,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if defined(__alpha) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -474,7 +474,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if defined(__arm__) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -485,7 +485,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if (defined(__mips) || defined(__mips__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -496,7 +496,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if (defined(__hppa) || defined(__hppa__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -507,7 +507,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -518,7 +518,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if (defined(mc68020) || defined(sun3)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -529,7 +529,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if defined(__MVS__) && defined(__IBMC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -540,7 +540,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if defined(__s390__) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -551,7 +551,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if defined(__ia64) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -562,7 +562,7 @@ fi
if test "$db_cv_mutex" = no; then
AC_TRY_COMPILE(,[
#if defined(_UTS)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -910,9 +910,9 @@ fi
if test "$db_cv_atomic" = no; then
AC_TRY_COMPILE(,[
#if ((defined(i386) || defined(__i386__)) && defined(__GNUC__))
- exit(0);
+ return (0);
#elif ((defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__))
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
diff --git a/dist/aclocal/options.m4 b/dist/aclocal/options.m4
index c007fba6..9bf6d339 100644
--- a/dist/aclocal/options.m4
+++ b/dist/aclocal/options.m4
@@ -175,6 +175,13 @@ AC_ARG_ENABLE(debug_wop,
[db_cv_debug_wop="$enable_debug_wop"], [db_cv_debug_wop="no"])
AC_MSG_RESULT($db_cv_debug_wop)
+AC_MSG_CHECKING(if --enable-error_history option specified)
+AC_ARG_ENABLE(error_history,
+ [AC_HELP_STRING([--enable-error_history],
+ [Build a version that records extra information about errors])],
+ [db_cv_error_history="$enable_error_history"], [db_cv_error_history="no"])
+AC_MSG_RESULT($db_cv_error_history)
+
AC_MSG_CHECKING(if --enable-diagnostic option specified)
AC_ARG_ENABLE(diagnostic,
[AC_HELP_STRING([--enable-diagnostic],
@@ -354,6 +361,21 @@ AC_ARG_ENABLE(perfmon_statistics,
[db_cv_perfmon_statistics="$enable_perfmon_statistics"], [db_cv_perfmon_statistics="no"])
AC_MSG_RESULT($db_cv_perfmon_statistics)
+# Application which use failchk can choose to inform all threads waiting on
+# mutexes to be notified as soon as possible after a crash thread is detected.
+AC_MSG_CHECKING(if --enable-failchk_broadcast option specified)
+AC_ARG_ENABLE(failchk_broadcast,
+ [AC_HELP_STRING([--enable-failchk_broadcast],
+ [Add support for immediately broadcasting failchk events to all waiting threads])],
+ [db_cv_failchk_broadcast="$enable_failchk_broadcast"], [db_cv_failchk_broadcast="no"])
+AC_MSG_RESULT($db_cv_failchk_broadcast)
+if test "$db_cv_failchk_broadcast" = "yes"; then
+ AC_DEFINE(HAVE_FAILCHK_BROADCAST)
+ AH_TEMPLATE(HAVE_FAILCHK_BROADCAST,
+ [Define to 1 for failchk to inform all waiting threads about crashes.])
+ ADDITIONAL_PROGS="$ADDITIONAL_PROGS test_failchk"
+fi
+
AC_MSG_CHECKING(if --enable-uimutexes option specified)
AC_ARG_ENABLE(uimutexes,
[AC_HELP_STRING([--enable-uimutexes],
@@ -388,30 +410,6 @@ if test "$db_cv_atomicfileread" = "yes"; then
[Define to 1 if platform reads and writes files atomically.])
fi
-# Cryptography support.
-# Until Berkeley DB 5.0, this was a simple yes/no decision.
-# With the addition of support for Intel Integrated Performance Primitives (ipp)
-# things are more complex. There are now three options:
-# 1) don't build cryptography (no)
-# 2) build using the built-in software implementation (yes)
-# 3) build using the Intel IPP implementation (ipp)
-# We handle this by making the primary configuration method:
-# --with-cryptography={yes|no|ipp}
-# which defaults to yes. The old enable/disable-cryptography argument is still
-# supported for backwards compatibility.
-AC_MSG_CHECKING(if --with-cryptography option specified)
-AC_ARG_ENABLE(cryptography, [], [], enableval=$db_cv_build_full)
-enable_cryptography="$enableval"
-AC_ARG_WITH([cryptography],
- AC_HELP_STRING([--with-cryptography=yes|no|ipp], [Build database cryptography support @<:@default=yes@:>@.]),
- [], [with_cryptography=$enable_cryptography])
-case "$with_cryptography" in
-yes|no|ipp) ;;
-*) AC_MSG_ERROR([unknown --with-cryptography argument \'$with_cryptography\']) ;;
-esac
-db_cv_build_cryptography="$with_cryptography"
-AC_MSG_RESULT($db_cv_build_cryptography)
-
AC_MSG_CHECKING(if --with-mutex=MUTEX option specified)
AC_ARG_WITH(mutex,
[AC_HELP_STRING([--with-mutex=MUTEX],
@@ -480,6 +478,40 @@ if test "$db_cv_jdbc" = "yes" -a "$db_cv_sql" = "no"; then
db_cv_sql=$db_cv_jdbc
fi
+# Cryptography support.
+# Until Berkeley DB 5.0, this was a simple yes/no decision.
+# With the addition of support for Intel Integrated Performance Primitives (ipp)
+# things are more complex. There are now three options:
+# 1) don't build cryptography (no)
+# 2) build using the built-in software implementation (yes)
+# 3) build using the Intel IPP implementation (ipp)
+# We handle this by making the primary configuration method:
+# --with-cryptography={yes|no|ipp}
+# which defaults to yes, unless building the SQL library(--enable-sql).
+# The old enable/disable-cryptography argument is still
+# supported for backwards compatibility.
+AC_MSG_CHECKING(if --with-cryptography option specified)
+build_cryptography="$db_cv_build_full";
+if test "$db_cv_sql" = "yes" -a "$build_cryptography" = "yes"; then
+ build_cryptography="no";
+fi
+AC_ARG_ENABLE(cryptography, [], [], [enableval=$build_cryptography])
+enable_cryptography="$enableval"
+AC_ARG_WITH([cryptography],
+ AC_HELP_STRING([--with-cryptography=yes|no|ipp], [Build database cryptography support. The default value is "yes", unless building the SQL library.]),
+ [], [with_cryptography=$enable_cryptography])
+case "$with_cryptography" in
+yes|no|ipp) ;;
+*) AC_MSG_ERROR([unknown --with-cryptography argument \'$with_cryptography\']) ;;
+esac
+db_cv_build_cryptography="$with_cryptography"
+if test -d "$topdir/src/crypto" ; then
+ AC_MSG_RESULT($db_cv_build_cryptography)
+else
+ db_cv_build_cryptography="no"
+ AC_MSG_WARN(Ignoring --with-cryptography flag value. The NC package builds a Berkeley DB library that does not support encryption.)
+fi
+
# Testing requires Tcl.
if test "$db_cv_test" = "yes" -a "$db_cv_tcl" = "no"; then
AC_MSG_ERROR([--enable-test requires --enable-tcl])
diff --git a/dist/aclocal/sequence.m4 b/dist/aclocal/sequence.m4
index 6e99b936..fffdcc44 100644
--- a/dist/aclocal/sequence.m4
+++ b/dist/aclocal/sequence.m4
@@ -43,7 +43,9 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [
# test, which won't test for the appropriate printf format strings.
if test "$db_cv_build_sequence" = "yes"; then
AC_TRY_RUN([
- main() {
+ #include <stdio.h>
+ #include <string.h>
+ int main() {
$db_cv_seq_type l;
unsigned $db_cv_seq_type u;
char buf@<:@100@:>@;
@@ -59,7 +61,9 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [
return (1);
return (0);
}],, [db_cv_build_sequence="no"],
- AC_TRY_LINK(,[
+ AC_TRY_LINK([
+ #include <stdio.h>
+ #include <string.h>],[
$db_cv_seq_type l;
unsigned $db_cv_seq_type u;
char buf@<:@100@:>@;
diff --git a/dist/aclocal/sql.m4 b/dist/aclocal/sql.m4
index c43edb8d..7b27bf8b 100644
--- a/dist/aclocal/sql.m4
+++ b/dist/aclocal/sql.m4
@@ -91,7 +91,12 @@ esac
# !!! END COPIED from autoconf distribution
sqlite_dir=$srcdir/../lang/sql/sqlite
-(cd sql && eval "\$SHELL ../$sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline" && cat build_config.h >> config.h) || exit 1
+orig_CPPFLAGS="$CPPFLAGS"
+jdbc_variables=""
+if test "$db_cv_build_cryptography" = "yes"; then
+ CPPFLAGS="$CPPFLAGS -DSQLITE_HAS_CODEC=1"
+fi
+(cd sql && eval "\$SHELL ../$sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline " && cat build_config.h >> config.h) || exit 1
# Configure JDBC if --enable-jdbc
if test "$db_cv_jdbc" != "no"; then
@@ -121,7 +126,6 @@ if test "$db_cv_jdbc" != "no"; then
test "$prefix" != "" && jdbc_args="--prefix=$prefix --with-jardir=$prefix/jar"
test "$enable_shared" != "" && jdbc_args="$jdbc_args --enable-shared=$enable_shared"
test "$enable_static" != "" && jdbc_args="$jdbc_args --enable-static=$enable_static"
- test "$cross_compiling" = "yes" && jdbc_args="$jdbc_args --build=$build --host=$host "
# 1. The build directory is build_unix/jdbc, so the include paths are relative
# to that.
@@ -132,6 +136,7 @@ if test "$db_cv_jdbc" != "no"; then
$CFLAGS $CPPFLAGS\""
# Set LDFLAGS for JDBC driver
test "$LDFLAGS" != "" && jdbc_flags="$jdbc_flags LDFLAGS=\"$LDFLAGS\""
+ test "$db_cv_build_cryptography" = "yes" && jdbc_flags="$jdbc_flags HAVE_SQLITE3_KEY=1"
# Copy ../lang/sql/jdbc to build_unix/
test ! -d jdbc && cp -r $jdbc_dir .
@@ -146,4 +151,6 @@ if test "$db_cv_jdbc" != "no"; then
sed "s/@BDB_LIB@/$BDB_LIB/g" Makefile.in.tmp > Makefile.in
eval "\$SHELL ./configure --with-sqlite3=../../lang/sql/generated $jdbc_args $jdbc_flags"
fi
+
+CPPFLAGS="$orig_CPPFLAGS"
])
diff --git a/dist/aclocal/types.m4 b/dist/aclocal/types.m4
index c3a2b78d..af7b5354 100644
--- a/dist/aclocal/types.m4
+++ b/dist/aclocal/types.m4
@@ -180,6 +180,13 @@ AC_SUBST(FILE_t_decl)
AC_CHECK_TYPE(FILE *,, AC_MSG_ERROR([No FILE type.]), $db_includes)
AC_SUBST(off_t_decl)
AC_CHECK_TYPE(off_t,, AC_MSG_ERROR([No off_t type.]), $db_includes)
+AC_CHECK_SIZEOF(off_t,, $db_includes)
+
+# db_off_t should be set to a signed integer type that is the same
+# size as off_t
+AC_SUBST(db_off_t_decl)
+AC_CHECK_TYPE(db_off_t,,
+ [AM_SEARCH_SSIZES(db_off_t_decl, db_off_t, $ac_cv_sizeof_off_t)])
AC_SUBST(pid_t_decl)
AC_CHECK_TYPE(pid_t,, AC_MSG_ERROR([No pid_t type.]), $db_includes)
AC_SUBST(size_t_decl)
diff --git a/dist/adodotnet/adapt_SQLite.Interop.2008.xq.in b/dist/adodotnet/adapt_SQLite.Interop.2008.xq.in
index 8079bf1f..45e8210f 100644
--- a/dist/adodotnet/adapt_SQLite.Interop.2008.xq.in
+++ b/dist/adodotnet/adapt_SQLite.Interop.2008.xq.in
@@ -24,7 +24,7 @@ declare function local:getFileList($fileList)
};
let $root := VisualStudioProject
-let $isWinCE := fn:contains($root/@Keyword, 'WinCE')
+let $isWinCE := fn:contains($root/@Name, '.CE.')
let $fileList := if ($isWinCE) then ($WINCE_FILES) else ($WINDOWS_FILES)
let $cflags := if ($isWinCE) then ($WINCE_FLAGS) else ($WINDOWS_FLAGS)
let $includes := if ($isWinCE) then ($WINCE_INCLUDE) else ($WINDOWS_INCLUDE)
@@ -49,12 +49,17 @@ return
let $AdditionalIncludeDirectories := $VCCLCompilerTool/@AdditionalIncludeDirectories
let $WarningLevel := $VCCLCompilerTool/@WarningLevel
let $AdditionalDependencies := $VCLinkerTool/@AdditionalDependencies
+ let $iswincenode := (fn:contains($config/@Name, 'Pocket PC 2003 (ARMV4)') or
+ fn:contains($config/@Name, 'Windows Mobile 5.0 Pocket PC SDK (ARMV4I)') or
+ fn:contains($config/@Name, 'Windows Mobile 5.0 Smartphone SDK (ARMV4I)') or
+ fn:contains($config/@Name, 'Smartphone 2003 (ARMV4)') or
+ fn:contains($config/@Name, 'Windows Mobile 6 Professional SDK (ARMV4I)') or
+ fn:contains($config/@Name, 'Windows Mobile 6.5.3 Professional DTK (ARMV4I)'))
return
(
(: For Win32/x64/WinCE :)
if (fn:contains($config/@Name, "Win32") or
- fn:contains($config/@Name, "x64") or
- fn:contains($config/@Name, $WINCE_PLATFORM_NAME)) then (
+ fn:contains($config/@Name, "x64") or $iswincenode) then (
(: Update PreprocessorDefinitions :)
(
@@ -63,12 +68,7 @@ return
if (fn:contains($config/@Name, 'Debug')) then (
$DEBUG_ADDITIONAL_FLAGS
) else ()
- let $combinedFlags :=
- if (fn:contains($config/@Name, $WINCE_PLATFORM_NAME)) then (
- fn:concat($cflags, $additionalFlags)
- ) else (
- fn:concat($node/string(), $cflags, $additionalFlags)
- )
+ let $combinedFlags := fn:concat($node/string(), $cflags, $additionalFlags)
return replace value of node $node with $combinedFlags
),
@@ -105,32 +105,13 @@ return
replace value of node $node with '3'
),
- (: Clean VCManifestTool for Windows CE/Mobile) :)
- (
- if (fn:contains($config/@Name, $WINCE_PLATFORM_NAME)) then (
- for $node in $VCManifestTool
- return replace node $node with
- <Tool Name="VCManifestTool" EmbedManifest="true"/>
- ) else ()
- ),
-
(: Set LinkTool for Windows CE/Mobile:)
(
- if (fn:contains($config/@Name, $WINCE_PLATFORM_NAME)) then (
+ if ($iswincenode) then (
for $node in $VCLinkerTool
(: Update the attribute if exist. Otherwise, insert it:)
return (
- ( (: Set TargetMachine to Multi-threaded (/MT):)
- let $value := $WINCE_TARGET_MACHINE
- let $attr := $node/@TargetMachine
- return
- if (fn:exists($attr)) then (
- replace value of node $attr with $value
- ) else (
- insert node attribute TargetMachine {$value} into $node
- )
- ),
- ( (: Change SubSystem for Windows CE/Mobile) :)
+ ( (: Change SubSystem for Windows CE/Mobile :)
let $value := $WINCE_SUB_SYSTEM
let $attr := $node/@SubSystem
return
@@ -146,7 +127,7 @@ return
(: Set ComplierTool for Windows CE/Mobile:)
(
- if (fn:contains($config/@Name, $WINCE_PLATFORM_NAME)) then (
+ if ($iswincenode) then (
for $node in $VCCLCompilerTool
(: Update the attribute if exist. Otherwise, insert it:)
return (
diff --git a/dist/adodotnet/adapt_SQLite.Interop.2010.xq.in b/dist/adodotnet/adapt_SQLite.Interop.2010.xq.in
index 1151c6bd..05a00e6b 100644
--- a/dist/adodotnet/adapt_SQLite.Interop.2010.xq.in
+++ b/dist/adodotnet/adapt_SQLite.Interop.2010.xq.in
@@ -21,15 +21,22 @@ declare function local:getFileList($fileList)
};
let $root := Project
+let $platformName := $root/ItemGroup/ProjectConfiguration[1]/Platform/string()
+let $isWinCE := (fn:contains($platformName, "CEPC") or fn:contains($platformName, "ARM"))
let $fileList := $WINDOWS_FILES
-let $cflags := $WINDOWS_FLAGS
-let $includes := fn:replace($WINDOWS_INCLUDE, ',', ';') (: VS2010 use ';' as separator :)
-let $inputLib := fn:concat($WINDOWS_INPUT_LIB, ';advapi32.lib')
+let $cflags := if ($isWinCE) then (fn:replace($WINCE_FLAGS,'ARMV4','')) else ($WINDOWS_FLAGS)
+(: VS2010 and VS2012 use ';' as separator :)
+let $includes := if ($isWinCE) then (fn:replace($WINCE_INCLUDE, ',', ';')) else (
+ fn:replace($WINDOWS_INCLUDE, ',', ';'))
+let $inputLib := if ($isWinCE) then ('') else (fn:concat($WINDOWS_INPUT_LIB, ';advapi32.lib'))
return
(
- (: Add BDB Files :)
+ (:
+ Add BDB Files. We avoid doing this for WinCE projects, since xqilla can not
+ handle it correctly.
+ :)
(
- let $newFileList := local:getFileList($fileList)
+ let $newFileList := if ($isWinCE) then () else (local:getFileList($fileList))
for $fileEntry in $root
for $fileItem in $newFileList
(:return $fileEntry:)
@@ -70,7 +77,9 @@ return
let $group := $node/parent::*
return
if (fn:contains($group/@Condition, "Win32") or
- fn:contains($group/@Condition, "x64")) then (
+ fn:contains($group/@Condition, "x64") or
+ fn:contains($group/@Condition, "CEPC") or
+ fn:contains($group/@Condition, "ARM")) then (
if (exists($dependcies)) then (
replace value of node $dependcies with fn:concat($inputLib, ';', $dependcies/string())
) else (
diff --git a/dist/adodotnet/adapt_common.xq.in b/dist/adodotnet/adapt_common.xq.in
index e7792a3a..1aec2490 100644
--- a/dist/adodotnet/adapt_common.xq.in
+++ b/dist/adodotnet/adapt_common.xq.in
@@ -3,7 +3,6 @@
:)
declare boundary-space preserve;
-declare variable $WINCE_PLATFORM_NAME := '@WINCE_PLATFORM_NAME@';
declare variable $WINCE_TARGET_MACHINE := '3'; (: const value in Visual Studio :)
declare variable $WINCE_SUB_SYSTEM := '8'; (: const value in Visual Studio :)
@@ -20,6 +19,7 @@ declare variable $COMMON_FLAGS := fn:concat(
declare variable $WINDOWS_FLAGS := fn:concat(';',
$COMMON_FLAGS,
+ 'INTEROP_LEGACY_CLOSE;',
'_CRT_SECURE_NO_DEPRECATE;',
'_CRT_NONSTDC_NO_DEPRECATE;',
'DB_CREATE_DLL;');
@@ -49,7 +49,7 @@ declare variable $WINCE_FLAGS := fn:concat(
'SQLITE_ENABLE_LOAD_EXTENSION;',
'SQLITE_SOUNDEX;',
'SQLITE_OMIT_WAL;',
- 'INVALID_FILE_ATTRIBUTES=((DWORD)-1)');
+ 'INVALID_FILE_ATTRIBUTES=((DWORD)-1);');
declare variable $DEBUG_ADDITIONAL_FLAGS := fn:concat(
'DIAGNOSTIC;',
@@ -58,8 +58,8 @@ declare variable $DEBUG_ADDITIONAL_FLAGS := fn:concat(
(: Win32/x64 variables :)
declare variable $WINCE_PROJ_URL := '@BDB_PATH@/build_wince/VS8/db.vcproj';
-declare variable $WINDOWS_INCLUDE := '..\@BDB_NAME@\build_windows,..\@BDB_NAME@\src';
-declare variable $WINCE_INCLUDE := '..\@BDB_NAME@\build_wince,..\@BDB_NAME@\src';
+declare variable $WINDOWS_INCLUDE := ',..\@BDB_NAME@\build_windows,..\@BDB_NAME@\src';
+declare variable $WINCE_INCLUDE := ',..\@BDB_NAME@\build_wince,..\@BDB_NAME@\src';
declare variable $WIN_SRC := '..\\@BDB_NAME@\\src';
declare variable $WINDOWS_INPUT_LIB := 'ws2_32.lib';
diff --git a/dist/adodotnet/adodotnet.patch b/dist/adodotnet/adodotnet.patch
index 235c1139..68661cbf 100644
--- a/dist/adodotnet/adodotnet.patch
+++ b/dist/adodotnet/adodotnet.patch
@@ -1,13 +1,45 @@
---- orginal/src/win/interop.c 2010-04-17 13:14:08 +0800
-+++ SQLite.Interop/src/win/interop.c 2010-11-18 12:59:06 +0800
-@@ -1,6 +1,5 @@
- #include "../core/sqlite3.c"
- #include "../contrib/extension-functions.c"
+diff -r fff253f6cfea SQLite.Interop/src/contrib/extension-functions.c
+--- SQLite.Interop/src/contrib/extension-functions.c Tue Apr 15 16:41:07 2014 +0800
++++ SQLite.Interop/src/contrib/extension-functions.c Tue Apr 15 17:13:26 2014 +0800
+@@ -126,7 +126,13 @@
+
+ #if !defined(_WIN32_WCE) || defined(HAVE_ERRNO_H)
+ #include <errno.h> /* LMH 2007-03-25 */
++#if defined(_WIN32_WCE)
++#include "dbinc/globals.h"
++#define strerror __db_Cstrerror
++extern char *strerror(int errnum);
++#endif
+ #else
++#undef errno
+ int errno;
+ #define strerror(x) ""
+ #endif
+@@ -141,8 +147,8 @@
+
+ typedef signed char int8_t;
+ typedef unsigned char uint8_t;
+-typedef signed int int16_t;
+-typedef unsigned int uint16_t;
++typedef signed short int16_t;
++typedef unsigned short uint16_t;
+ typedef signed long int int32_t;
+ typedef unsigned long int uint32_t;
+ typedef signed long long int int64_t;
+diff -r fff253f6cfea SQLite.Interop/src/win/interop.c
+--- SQLite.Interop/src/win/interop.c Tue Apr 15 16:41:07 2014 +0800
++++ SQLite.Interop/src/win/interop.c Tue Apr 15 17:13:26 2014 +0800
+@@ -31,9 +31,6 @@
+ #endif
+
+ #ifdef SQLITE_OS_WIN
+-#if defined(INTEROP_CODEC)
-#include "crypt.c"
+-#endif
- extern int RegisterExtensionFunctions(sqlite3 *db);
+ #include "interop.h"
-@@ -393,7 +392,7 @@
+@@ -871,7 +868,7 @@
int n;
int ret = -1;
@@ -16,7 +48,7 @@
for (n = 0; n < p->nCursor && p->apCsr[n] != NULL; n++)
{
if (p->apCsr[n]->isTable == FALSE) continue;
-@@ -405,7 +404,7 @@
+@@ -883,7 +880,7 @@
}
}
sqlite3_mutex_leave(db->mutex);
@@ -25,30 +57,48 @@
return ret;
}
---- orginal/src/contrib/extension-functions.c 2009-04-28 08:01:14 +0800
-+++ SQLite.Interop/src/contrib/extension-functions.c 2010-11-18 12:26:06 +0800
-@@ -120,6 +120,7 @@
- #ifndef _WIN32_WCE
- #include <errno.h> /* LMH 2007-03-25 */
- #else
-+#undef errno
- int errno;
- #define strerror(x) ""
- #endif
-@@ -134,8 +135,8 @@
-
- typedef signed char int8_t;
- typedef unsigned char uint8_t;
--typedef signed int int16_t;
--typedef unsigned int uint16_t;
-+typedef signed short int16_t;
-+typedef unsigned short uint16_t;
- typedef signed long int int32_t;
- typedef unsigned long int uint32_t;
- typedef signed long long int int64_t;
---- orginal/test/TestCases.cs 2011-04-27 17:27:26.000000000 +0800
-+++ test/TestCases.cs 2011-05-17 17:53:26.000000000 +0800
-@@ -1204,7 +1204,8 @@
+diff -r fff253f6cfea System.Data.SQLite/SQLiteConnection.cs
+--- System.Data.SQLite/SQLiteConnection.cs Tue Apr 15 16:41:07 2014 +0800
++++ System.Data.SQLite/SQLiteConnection.cs Tue Apr 15 17:13:26 2014 +0800
+@@ -2390,14 +2390,14 @@
+ cmd.CommandText = String.Format(CultureInfo.InvariantCulture, "PRAGMA max_page_count={0}", intValue);
+ cmd.ExecuteNonQuery();
+ }
+-
+- strValue = FindKey(opts, "Legacy Format", DefaultLegacyFormat.ToString());
+- boolValue = SQLiteConvert.ToBoolean(strValue);
+- if (boolValue != DefaultLegacyFormat)
+- {
+- cmd.CommandText = String.Format(CultureInfo.InvariantCulture, "PRAGMA legacy_file_format={0}", boolValue ? "ON" : "OFF");
+- cmd.ExecuteNonQuery();
+- }
++ // DBSQL does not support "PRAGMA legacy_file_format", ignore this operation.
++ // strValue = FindKey(opts, "Legacy Format", DefaultLegacyFormat.ToString());
++ // boolValue = SQLiteConvert.ToBoolean(strValue);
++ // if (boolValue != DefaultLegacyFormat)
++ // {
++ // cmd.CommandText = String.Format(CultureInfo.InvariantCulture, "PRAGMA legacy_file_format={0}", boolValue ? "ON" : "OFF");
++ // cmd.ExecuteNonQuery();
++ // }
+
+ strValue = FindKey(opts, "Synchronous", DefaultSynchronous.ToString());
+ enumValue = TryParseEnum(typeof(SQLiteSynchronousEnum), strValue, true);
+@@ -2419,8 +2419,9 @@
+ enumValue = TryParseEnum(typeof(SQLiteJournalModeEnum), strValue, true);
+ if (!(enumValue is SQLiteJournalModeEnum) || ((SQLiteJournalModeEnum)enumValue != DefaultJournalMode))
+ {
+- cmd.CommandText = String.Format(CultureInfo.InvariantCulture, "PRAGMA journal_mode={0}", strValue);
+- cmd.ExecuteNonQuery();
++ // DBSQL does not support "PRAGMA journal_mode", ignore this operation.
++ // cmd.CommandText = String.Format(CultureInfo.InvariantCulture, "PRAGMA journal_mode={0}", strValue);
++ // cmd.ExecuteNonQuery();
+ }
+
+ strValue = FindKey(opts, "Foreign Keys", DefaultForeignKeys.ToString());
+diff -r fff253f6cfea test/TestCases.cs
+--- test/TestCases.cs Tue Apr 15 16:41:07 2014 +0800
++++ test/TestCases.cs Tue Apr 15 17:13:26 2014 +0800
+@@ -1248,7 +1248,8 @@
CheckLocked();
}
@@ -58,8 +108,8 @@
internal void LockTest()
{
CheckSQLite();
-@@ -1289,7 +1290,8 @@
- internal int value;
+@@ -1334,7 +1335,8 @@
+ internal System.Threading.ManualResetEvent ev;
}
- [Test(Sequence=11)]
@@ -68,45 +118,20 @@
internal void MultithreadingTest()
{
using (DbCommand cmd = _cnn.CreateCommand())
---- orginal/testce/TestCases.cs 2011-04-27 17:27:26.000000000 +0800
-+++ testce/TestCases.cs 2011-05-17 17:52:26.000000000 +0800
-@@ -103,8 +103,9 @@
- try { VerifyBinaryData(cnn); frm.WriteLine("SUCCESS - VerifyBinaryData"); }
- catch (Exception) { frm.WriteLine("FAIL - VerifyBinaryData"); }
-
-- try { LockTest(cnn); frm.WriteLine("SUCCESS - LockTest"); }
-- catch (Exception) { frm.WriteLine("FAIL - LockTest"); }
-+ // Skip below test due to difference between SQLite and DBSQL."
-+ // try { LockTest(cnn); frm.WriteLine("SUCCESS - LockTest"); }
-+ // catch (Exception) { frm.WriteLine("FAIL - LockTest"); }
-
- try { ParameterizedInsertMissingParams(cnn); frm.WriteLine("FAIL - ParameterizedInsertMissingParams"); }
- catch (Exception) { frm.WriteLine("SUCCESS - ParameterizedInsertMissingParams"); }
---- orginal/System.Data.SQLite/SQLiteConnection.cs 2011-04-27 17:27:26.000000000 +0800
-+++ System.Data.SQLite/SQLiteConnection.cs 2011-05-17 17:58:36.000000000 +0800
-@@ -880,9 +880,10 @@
- cmd.ExecuteNonQuery();
- }
-
-- defValue = FindKey(opts, "Legacy Format", Boolean.FalseString);
-- cmd.CommandText = String.Format(CultureInfo.InvariantCulture, "PRAGMA legacy_file_format={0}", SQLiteConvert.ToBoolean(defValue) == true ? "ON" : "OFF");
-- cmd.ExecuteNonQuery();
-+ // DBSQL does not support "PRAGMA legacy_file_format", ignore this operation.
-+ // defValue = FindKey(opts, "Legacy Format", Boolean.FalseString);
-+ // cmd.CommandText = String.Format(CultureInfo.InvariantCulture, "PRAGMA legacy_file_format={0}", SQLiteConvert.ToBoolean(defValue) == true ? "ON" : "OFF");
-+ // cmd.ExecuteNonQuery();
+diff -r fff253f6cfea testce/TestCases.cs
+--- testce/TestCases.cs Tue Apr 15 16:41:07 2014 +0800
++++ testce/TestCases.cs Tue Apr 15 17:13:26 2014 +0800
+@@ -252,9 +252,10 @@
+ try { VerifyBinaryData(cnn); frm.WriteLine("SUCCESS - VerifyBinaryData"); passed++; }
+ catch (Exception) { frm.WriteLine("FAIL - VerifyBinaryData"); failed++; }
- defValue = FindKey(opts, "Synchronous", "Normal");
- if (String.Compare(defValue, "Full", StringComparison.OrdinalIgnoreCase) != 0)
-@@ -901,8 +902,9 @@
- defValue = FindKey(opts, "Journal Mode", "Delete");
- if (String.Compare(defValue, "Default", StringComparison.OrdinalIgnoreCase) != 0)
- {
-- cmd.CommandText = String.Format(CultureInfo.InvariantCulture, "PRAGMA journal_mode={0}", defValue);
-- cmd.ExecuteNonQuery();
-+ // DBSQL does not support "PRAGMA journal_mode", ignore this operation.
-+ // cmd.CommandText = String.Format(CultureInfo.InvariantCulture, "PRAGMA journal_mode={0}", defValue);
-+ // cmd.ExecuteNonQuery();
- }
+- total++;
+- try { LockTest(cnn, sql, isolatedSql); frm.WriteLine("SUCCESS - LockTest"); passed++; }
+- catch (Exception) { frm.WriteLine("FAIL - LockTest"); failed++; }
++ // Skip below test due to difference between SQLite and DBSQL.
++ // total++;
++ // try { LockTest(cnn, sql, isolatedSql); frm.WriteLine("SUCCESS - LockTest"); passed++; }
++ // catch (Exception) { frm.WriteLine("FAIL - LockTest"); failed++; }
- defValue = FindKey(opts, "Foreign Keys", Boolean.FalseString);
+ total++;
+ try { ParameterizedInsertMissingParams(cnn); frm.WriteLine("FAIL - ParameterizedInsertMissingParams"); failed++; }
diff --git a/dist/adodotnet/gen_wince_project.xq.in b/dist/adodotnet/gen_wince_project.xq.in
index 0830bd8e..e1f0897f 100644
--- a/dist/adodotnet/gen_wince_project.xq.in
+++ b/dist/adodotnet/gen_wince_project.xq.in
@@ -1,86 +1,98 @@
(:
-* This script will copy a WinCE configuration from default Win32
-* configuration for SQLite.Interop.2008.vcproj
+* This script will generate the configuration for the following 3 platforms:
+* Smartphone 2003 (ARMV4)
+* Windows Mobile 6 Professional SDK (ARMV4I)
+* Windows Mobile 6.5.3 Professional DTK (ARMV4I)
:)
-declare variable $PLATFORM_NAME := '@PLATFORM_NAME@';
-declare variable $PROJECT_GUID := '@PROJECT_GUID@';
-declare variable $PROJECT_FILE := '@PROJECT_FILE@';
-(: Copy WinCE Configurations from exisitng Win32 project :)
-declare function local:renameConfig($config)
+declare function local:getCopyNodes1($node)
{
- copy $newConfig := $config
+ copy $node1 := $node
+ modify replace value of node $node1/@Name with "Debug|Smartphone 2003 (ARMV4)"
+ return $node1
+};
+
+declare function local:getCopyNodes2($node)
+{
+ copy $node2 := $node
+ modify replace value of node $node2/@Name with "Release|Smartphone 2003 (ARMV4)"
+ return $node2
+};
+
+declare function local:getCopyNodes3($node)
+{
+ copy $node3 := $node
+ modify (
+ replace value of node $node3/@Name with "Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ,
+ replace value of node $node3/Tool[@Name="VCLinkerTool"]/@AdditionalOptions with '/subsystem:windowsce,5.02' ,
+ delete node $node3/Tool[@Name='VCLinkerTool']/@AdditionalDependencies
+ )
+ return $node3
+};
+
+declare function local:getCopyNodes4($node)
+{
+ copy $node4 := $node
+ modify (
+ replace value of node $node4/@Name with "Release|Windows Mobile 6 Professional SDK (ARMV4I)" ,
+ replace value of node $node4/Tool[@Name="VCLinkerTool"]/@AdditionalOptions with '/subsystem:windowsce,5.02' ,
+ delete node $node4/Tool[@Name='VCLinkerTool']/@AdditionalDependencies
+ )
+ return $node4
+};
+
+declare function local:getCopyNodes5($node)
+{
+ copy $node5 := $node
+ modify (
+ replace value of node $node5/@Name with "Debug|Windows Mobile 6.5.3 Professional DTK (ARMV4I)" ,
+ replace value of node $node5/Tool[@Name="VCLinkerTool"]/@AdditionalOptions with '/subsystem:windowsce,5.02' ,
+ delete node $node5/Tool[@Name='VCLinkerTool']/@AdditionalDependencies
+ )
+ return $node5
+};
+
+declare function local:getCopyNodes6($node)
+{
+ copy $node6 := $node
modify (
- (: Change Win32 to PLATFORM_NAME :)
- replace value of node $newConfig/@Name with
- fn:replace($config/@Name/string(), 'Win32', $PLATFORM_NAME)
+ replace value of node $node6/@Name with "Release|Windows Mobile 6.5.3 Professional DTK (ARMV4I)" ,
+ replace value of node $node6/Tool[@Name="VCLinkerTool"]/@AdditionalOptions with '/subsystem:windowsce,5.02' ,
+ delete node $node6/Tool[@Name='VCLinkerTool']/@AdditionalDependencies
)
- return $newConfig
+ return $node6
};
let $root := VisualStudioProject
return
(
- (: Change VisualStudioProject attributes :)
- (
- (replace value of node $root/@ProjectGUID with '@PROJECT_GUID@'),
- (replace value of node $root/@Keyword with 'WinCE_Proj'),
- (replace value of node $root/@Name with '@PROJECT_FILE@')
- ),
-
- (: Add WinCE Platform and remove others:)
- (
- (
- for $platforms in $root/Platforms/* return delete node $platforms
- ),
- (
- for $platforms in $root/Platforms
- return insert node <Platform Name="{$PLATFORM_NAME}" /> as last into $platforms
- )
- ),
-
- (: Copy WinCE Project from exisitng Win32 project :)
+ (: Add the new platforms into "FileConfiguration" and "Platforms" :)
(
- for $config in $root/Configurations/Configuration
+ for $platforms in ("Smartphone 2003 (ARMV4)", "Windows Mobile 6 Professional SDK (ARMV4I)",
+ "Windows Mobile 6.5.3 Professional DTK (ARMV4I)")
return
(
- (
- if (fn:contains($config/@Name, "Win32")) then (
- let $newConfig := local:renameConfig($config)
- return replace node $config with $newConfig
- ) else ()
- ),
-
- (: Remove Win32/x64 platform :)
- (
- if (fn:contains($config/@Name, "Win32") or
- fn:contains($config/@Name, "x64")) then (
- delete node $config
- ) else ()
- )
+ insert node <Platform Name="{$platforms}" /> as last into $root/Platforms,
+ for $n in $root/Files/Filter[@Name="Source Files"]/File/FileConfiguration[1]
+ for $conf in ("Debug", "Release")
+ return insert node <FileConfiguration ExcludedFromBuild="true" Name="{$conf}|{$platforms}">
+ <Tool Name="VCCLCompilerTool" /></FileConfiguration> as last into $n/parent::*
)
),
- (: Copy FileConfiguration for WinCE from exisitng Win32 FileConfiguration :)
+ (:
+ * Add the new platforms into "Configurations".
+ * We copy settings from "Debug|Pocket PC 2003(ARMV4)" and then
+ * do necessary changes.
+ :)
(
- for $fconfig in $root/Files/Filter/File/FileConfiguration
- return
- (
- (
- if (fn:contains($fconfig/@Name, "Win32")) then (
- let $newConfig := local:renameConfig($fconfig)
- return replace node $fconfig with $newConfig
- ) else ()
- ),
-
- (: Remove Win32/x64 platform :)
- (
- if (fn:contains($fconfig/@Name, "Win32") or
- fn:contains($fconfig/@Name, "x64")) then (
- delete node $fconfig
- ) else ()
- )
- )
+ let $node1 := local:getCopyNodes1($root/Configurations/Configuration[1])
+ let $node2 := local:getCopyNodes2($root/Configurations/Configuration[1])
+ let $node3 := local:getCopyNodes3($root/Configurations/Configuration[1])
+ let $node4 := local:getCopyNodes4($root/Configurations/Configuration[1])
+ let $node5 := local:getCopyNodes5($root/Configurations/Configuration[1])
+ let $node6 := local:getCopyNodes6($root/Configurations/Configuration[1])
+ for $node in ($node1, $node2, $node3, $node4, $node5, $node6)
+ return insert node $node as last into $root/Configurations
)
)
-
diff --git a/dist/adodotnet/test.2008.csproj.user b/dist/adodotnet/test.2008.csproj.user
deleted file mode 100644
index 300184a2..00000000
--- a/dist/adodotnet/test.2008.csproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <StartWorkingDirectory>..\..\..\bin\Win32\ReleaseNativeOnly</StartWorkingDirectory>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <StartWorkingDirectory>..\..\..\bin\Win32\DebugNativeOnly</StartWorkingDirectory>
- </PropertyGroup>
-</Project>
diff --git a/dist/adodotnet/testce.2008.csproj b/dist/adodotnet/testce.2008.csproj
deleted file mode 100644
index 141fe0c4..00000000
--- a/dist/adodotnet/testce.2008.csproj
+++ /dev/null
@@ -1,132 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{B86CE504-C4E4-496F-A0F0-E613BCFD3DF7}</ProjectGuid>
- <OutputType>WinExe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>test</RootNamespace>
- <AssemblyName>testce.2008</AssemblyName>
- <ProjectTypeGuids>{4D628B5B-2FBC-4AA6-8C16-197242AEB884};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <!-- DBSQL: Change the value for Windows Mobile platform
- <PlatformFamilyName>PocketPC</PlatformFamilyName>
- <PlatformID>3C41C503-53EF-4c2a-8DD4-A8217CAD115E</PlatformID>
- <OSVersion>4.20</OSVersion>
- -->
- <PlatformFamilyName>WindowsCE</PlatformFamilyName>
- <PlatformID>E2BECB1F-8C8C-41ba-B736-9BE7D946A398</PlatformID>
- <OSVersion>5.00</OSVersion>
- <DeployDirSuffix>testce</DeployDirSuffix>
- <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
- <FormFactorID>
- </FormFactorID>
- <StartupObject>
- </StartupObject>
- <DeployDirPrefix>%25CSIDL_PROGRAM_FILES%25</DeployDirPrefix>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <!-- DBSQL: Change the value for Windows Mobile platform
- <NativePlatformName>Pocket PC 2003</NativePlatformName>
- -->
- <NativePlatformName>Windows CE</NativePlatformName>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>..\bin\CompactFramework\</OutputPath>
- <!-- DBSQL: Change the value for Windows Mobile platform
- <DefineConstants>TRACE;DEBUG;PocketPC</DefineConstants>
- -->
- <DefineConstants>TRACE;DEBUG;PocketPC;PLATFORM_COMPACTFRAMEWORK</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <FileAlignment>512</FileAlignment>
- <WarningLevel>4</WarningLevel>
- <GenerateSerializationAssemblies>off</GenerateSerializationAssemblies>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>none</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>..\bin\CompactFramework\</OutputPath>
- <!-- DBSQL: Change the value for Windows Mobile platform
- <DefineConstants>PocketPC</DefineConstants>
- -->
- <DefineConstants>PocketPC;PLATFORM_COMPACTFRAMEWORK</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <FileAlignment>512</FileAlignment>
- <WarningLevel>4</WarningLevel>
- <GenerateSerializationAssemblies>off</GenerateSerializationAssemblies>
- </PropertyGroup>
- <ItemGroup>
- <ProjectReference Include="..\System.Data.SQLite\System.Data.SQLite.Compact.2008.csproj">
- <Project>{E2BECB1F-8C8C-41ba-B736-9BE7D946A398}</Project>
- <Name>System.Data.SQLite.Compact.2008</Name>
- <Private>False</Private>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <Reference Include="mscorlib" />
- <Reference Include="System">
- <Private>False</Private>
- </Reference>
- <Reference Include="System.Data">
- <Private>False</Private>
- </Reference>
- <!-- DBSQL: don't think below element makes sense. Remove it.
- <Reference Include="System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=1fdb50b1b62b4c84, processorArchitecture=x86">
- <SpecificVersion>False</SpecificVersion>
- <Private>True</Private>
- </Reference>
- -->
- <Reference Include="System.Drawing">
- <Private>False</Private>
- </Reference>
- <Reference Include="System.Windows.Forms">
- <Private>False</Private>
- </Reference>
- <Reference Include="System.Xml">
- <Private>False</Private>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="AssemblyInfo.cs" />
- <Compile Include="Form1.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="Form1.Designer.cs">
- <DependentUpon>Form1.cs</DependentUpon>
- </Compile>
- <Compile Include="Program.cs" />
- <Compile Include="TestCases.cs">
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <EmbeddedResource Include="Form1.resx">
- <DependentUpon>Form1.cs</DependentUpon>
- <SubType>Designer</SubType>
- </EmbeddedResource>
- </ItemGroup>
- <ItemGroup>
- <Folder Include="Properties\" />
- </ItemGroup>
- <Import Condition="'$(TargetFrameworkVersion)' == 'v1.0'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.v1.targets" />
- <Import Condition="'$(TargetFrameworkVersion)' == 'v2.0'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
- <ProjectExtensions>
- <VisualStudio>
- <FlavorProperties GUID="{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}">
- <HostingProcess disable="1" />
- </FlavorProperties>
- </VisualStudio>
- </ProjectExtensions>
- <Import Condition="'$(TargetFrameworkVersion)' == 'v3.5'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
-</Project>
diff --git a/dist/android/Android.mk.template b/dist/android/Android.mk.template
index 341258ae..2a463ece 100644
--- a/dist/android/Android.mk.template
+++ b/dist/android/Android.mk.template
@@ -26,6 +26,7 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(BDB_TOP)/build_android/sql
# Source files
LOCAL_SRC_FILES := \
@SOURCE_FILES@
+ $(BDB_TOP)/src/common/crypto_stub.c \
$(BDB_TOP)/lang/sql/generated/sqlite3.c
ifneq ($(TARGET_ARCH),arm)
@@ -94,3 +95,370 @@ LOCAL_MODULE := sqlite3
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
+################################################################################
+##device commande line tool:db_archive
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_archive
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_archive.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_archive
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_checkpoint
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_checkpoint
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_checkpoint.c \
+ $(BDB_TOP)/src/common/util_log.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_checkpoint
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_deadlock
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_deadlock
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_deadlock.c \
+ $(BDB_TOP)/src/common/util_log.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_deadlock
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_dump
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_dump
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_dump.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_dump
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_hotbackup
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_hotbackup
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_hotbackup.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_hotbackup
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_load
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_load
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_load.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_load
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_printlog
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_printlog
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_printlog.c \
+ $(BDB_TOP)/src/common/util_sig.c \
+ $(BDB_TOP)/src/btree/btree_autop.c \
+ $(BDB_TOP)/src/db/crdel_autop.c \
+ $(BDB_TOP)/src/db/db_autop.c \
+ $(BDB_TOP)/src/dbreg/dbreg_autop.c \
+ $(BDB_TOP)/src/fileops/fileops_autop.c \
+ $(BDB_TOP)/src/hash/hash_autop.c \
+ $(BDB_TOP)/src/heap/heap_autop.c \
+ $(BDB_TOP)/src/qam/qam_autop.c \
+ $(BDB_TOP)/src/repmgr/repmgr_autop.c \
+ $(BDB_TOP)/src/txn/txn_autop.c
+
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_printlog
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_recover
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_recover
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_recover.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_recover
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_replicate
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_replicate
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_replicate.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_replicate
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_stat
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_stat
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_stat.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_stat
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_tuner
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_tuner
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_tuner.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_tuner
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_upgrade
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_upgrade
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_upgrade.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_upgrade
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_verify
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_verify
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_verify.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_verify
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_log_verify
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_log_verify
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_log_verify.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+LOCAL_SHARED_LIBRARIES := libsqlite
+LOCAL_C_INCLUDES := $(BDB_PATH) $(LOCAL_PATH)/$(BDB_TOP)/build_android\
+ $(LOCAL_PATH)/$(BDB_TOP)/lang/sql/generated $(LOCAL_PATH)/../android
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_CFLAGS += -DHAVE_USLEEP=1 -DTHREADSAFE=1 -DNDEBUG=1
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+LOCAL_MODULE := db_log_verify
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
diff --git a/dist/android/android_config.in b/dist/android/android_config.in
index 689d81a1..fa6546cb 100644
--- a/dist/android/android_config.in
+++ b/dist/android/android_config.in
@@ -80,6 +80,10 @@
/* Define to 1 if building the DBM API. */
/* #undef HAVE_DBM */
+/* Define to 1 if you want a version that records extra information about
+ errors. */
+/* #undef HAVE_ERROR_HISTORY */
+
/* Define to 1 if you have the `directio' function. */
/* #undef HAVE_DIRECTIO */
@@ -99,6 +103,9 @@
/* Define to 1 if platform has EXIT_SUCCESS/EXIT_FAILURE #defines. */
#define HAVE_EXIT_SUCCESS 1
+/* Define to 1 for failchk to inform all waiting threads about crashes. */
+/* #undef HAVE_FAILCHK_BROADCAST */
+
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
@@ -168,6 +175,9 @@
/* Define to 1 if you have the `hstrerror' function. */
#define HAVE_HSTRERROR 1
+/* Define to 1 if you have the `initstate_r' function. */
+/* #undef HAVE_INITSTATE_R */
+
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
@@ -189,6 +199,9 @@
/* Define to 1 if you have the `localtime' function. */
#define HAVE_LOCALTIME 1
+/* Define to 1 if you have the `localtime_r' function. */
+#define HAVE_LOCALTIME_R 1
+
/* Define to 1 if you want to enable log checksums. */
/* #undef HAVE_LOG_CHECKSUM */
@@ -362,6 +375,15 @@
pthread_cond_t. */
/* #undef HAVE_PTHREAD_COND_REINIT_OKAY */
+/* Define to 1 if you have the `pthread_getspecific' function. */
+/* #undef HAVE_PTHREAD_GETSPECIFIC */
+
+/* Define to 1 if you have the `pthread_key_create' function. */
+/* #undef HAVE_PTHREAD_KEY_CREATE */
+
+/* Define to 1 if you have the `pthread_once' function. */
+/* #undef HAVE_PTHREAD_ONCE */
+
/* Define to 1 if it is OK to initialize an already initialized
pthread_rwlock_t. */
/* #undef HAVE_PTHREAD_RWLOCK_REINIT_OKAY */
@@ -369,6 +391,9 @@
/* Define to 1 if you have the `pthread_self' function. */
#define HAVE_PTHREAD_SELF 1
+/* Define to 1 if you have the `pthread_setspecific' function. */
+/* #undef HAVE_PTHREAD_SETSPECIFIC */
+
/* Define to 1 if you have the `pthread_yield' function. */
/* #undef HAVE_PTHREAD_YIELD */
@@ -393,6 +418,9 @@
/* Define to 1 if you have the `random' function. */
/* #undef HAVE_RANDOM */
+/* Define to 1 if you have the `random_r' function. */
+/* #undef HAVE_RANDOM_R /
+
/* Define to 1 if building replication support. */
/* #undef HAVE_REPLICATION */
@@ -429,6 +457,9 @@
/* Define to 1 if you have the `snprintf' function. */
#define HAVE_SNPRINTF 1
+/* Define to 1 if you have the `srandom_r' function. */
+/* #undef HAVE_SRANDOM_R */
+
/* Define to 1 if you have the `stat' function. */
#define HAVE_STAT 1
@@ -585,6 +616,9 @@
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
+/* The size of `off_t', as computed by sizeof. */
+#define SIZEOF_OFF_T
+
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
diff --git a/dist/android/jdbc/Android.mk.template b/dist/android/jdbc/Android.mk.template
index d05af245..b1118095 100644
--- a/dist/android/jdbc/Android.mk.template
+++ b/dist/android/jdbc/Android.mk.template
@@ -9,6 +9,7 @@
# Android directly.
###################################################################
LOCAL_PATH := $(call my-dir)
+BDB_ENABLE_ENCRYPTION := false
###################################################################
# Common variables
@@ -42,6 +43,10 @@ COMMON_CFLAGS := -Wall -DHAVE_USLEEP=1 \
-D_HAVE_SQLITE_CONFIG_H -DSQLITE_THREAD_OVERRIDE_LOCK=-1 \
-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_BACKWARDS -Dfdatasync=fsync
+ifeq ($(BDB_ENABLE_ENCRYPTION),true)
+COMMON_CFLAGS += -DSQLITE_HAS_CODEC -DHAVE_CRYPTO -DHAVE_SQLITE3_KEY
+endif
+
# Required for JDBC building
# Most of these are from configured <db>/lang/sql/jdbc/Makefile.in
COMMON_CFLAGS += \
@@ -65,7 +70,6 @@ COMMON_CFLAGS += \
-DHAVE_SQLITE3_BIND_PARAMETER_INDEX=1 \
-DHAVE_SQLITE3_RESULT_ZEROBLOB=1 \
-DHAVE_SQLITE3_INCRBLOBIO=1 \
- -DHAVE_SQLITE3_KEY=0 \
-DHAVE_SQLITE3_SHARED_CACHE=1 \
-DHAVE_SQLITE3_OPEN_V2=1 \
-DHAVE_SQLITE3_LOAD_EXTENSION=0 \
@@ -98,6 +102,17 @@ LOCAL_SRC_FILES := \
@SOURCE_FILES@
$(BDB_TOP)/lang/sql/generated/sqlite3.c
+ifeq ($(BDB_ENABLE_ENCRYPTION),true)
+LOCAL_SRC_FILES += \
+ $(BDB_TOP)/src/crypto/crypto.c \
+ $(BDB_TOP)/src/crypto/aes_method.c \
+ $(BDB_TOP)/src/crypto/mersenne/mt19937db.c \
+ $(BDB_TOP)/src/crypto/rijndael/rijndael-api-fst.c \
+ $(BDB_TOP)/src/crypto/rijndael/rijndael-alg-fst.c
+else
+LOCAL_SRC_FILES += $(BDB_TOP)/src/common/crypto_stub.c
+endif
+
ifneq ($(TARGET_ARCH),arm)
LOCAL_LDLIBS += -lpthread -ldl
endif
@@ -159,3 +174,397 @@ LOCAL_MODULE_TAGS := debug
include $(BUILD_EXECUTABLE)
endif # !SDK_ONLY
+
+################################################################################
+##device commande line tool:db_archive
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_archive
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_archive
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_archive.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_checkpoint
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_checkpoint
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_checkpoint
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_checkpoint.c \
+ $(BDB_TOP)/src/common/util_log.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_deadlock
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_deadlock
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_deadlock
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_deadlock.c \
+ $(BDB_TOP)/src/common/util_log.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_dump
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_dump
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_dump
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_dump.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_hotbackup
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_hotbackup
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_hotbackup
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_hotbackup.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_load
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_load
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_load
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_load.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_printlog
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_printlog
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_printlog
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_printlog.c \
+ $(BDB_TOP)/src/common/util_sig.c \
+ $(BDB_TOP)/src/btree/btree_autop.c \
+ $(BDB_TOP)/src/db/crdel_autop.c \
+ $(BDB_TOP)/src/db/db_autop.c \
+ $(BDB_TOP)/src/dbreg/dbreg_autop.c \
+ $(BDB_TOP)/src/fileops/fileops_autop.c \
+ $(BDB_TOP)/src/hash/hash_autop.c \
+ $(BDB_TOP)/src/heap/heap_autop.c \
+ $(BDB_TOP)/src/qam/qam_autop.c \
+ $(BDB_TOP)/src/repmgr/repmgr_autop.c \
+ $(BDB_TOP)/src/txn/txn_autop.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_recover
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_recover
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_recover
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_recover.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_replicate
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_replicate
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_replicate
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_replicate.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_stat
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_stat
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_stat
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_stat.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_tuner
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_tuner
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_tuner
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_tuner.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_upgrade
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_upgrade
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_upgrade
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_upgrade.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_verify
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_verify
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_verify
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_verify.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
+
+
+################################################################################
+##device commande line tool:db_log_verify
+################################################################################
+ifneq ($(SDK_ONLY),true) # SDK doesn't need device version of db_log_verify
+include $(CLEAR_VARS)
+LOCAL_MODULE := db_log_verify
+
+LOCAL_ARM_MODE := arm
+LOCAL_STATIC_LIBRARIES := libdb_sql_static # Based on above static library
+LOCAL_SRC_FILES := \
+ $(BDB_TOP)/util/db_log_verify.c \
+ $(BDB_TOP)/src/common/util_cache.c \
+ $(BDB_TOP)/src/common/util_sig.c
+
+# Import common flags
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_CFLAGS += $(COMMON_CFLAGS)
+
+ifneq ($(TARGET_ARCH),arm)
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_MODULE_TAGS := debug
+include $(BUILD_EXECUTABLE)
+endif # !SDK_ONLY
diff --git a/dist/api_flags b/dist/api_flags
index 9d606670..d269c900 100644
--- a/dist/api_flags
+++ b/dist/api_flags
@@ -14,6 +14,7 @@ DbEnv.backup
DbEnv.close
# Sync database when automatically closing its db handles.
DB_FORCESYNC
+ DB_FORCESYNCENV # Sync mmap()ed regions on close
DbEnv.dbremove
DB_AUTO_COMMIT # Implied transaction
@@ -100,10 +101,12 @@ DbEnv.log_put
DB_LOG_WRNOSYNC # UNDOC: Write, don't sync log_put
DbEnv.log_set_config
+ DB_LOG_AUTO_REMOVE # Automatically remove log files
+ DB_LOG_BLOB # Full logging of blob files
DB_LOG_DIRECT # Don't buffer log files in the OS
DB_LOG_DSYNC # Set O_DSYNC on the log
- DB_LOG_AUTO_REMOVE # Automatically remove log files
DB_LOG_IN_MEMORY # Store logs in buffers in memory
+ DB_LOG_NOSYNC # Don't fsync log files during flush
DB_LOG_ZERO # Zero log file on creation
DbEnv.log_stat
@@ -133,9 +136,10 @@ DbEnv.mutex_alloc
DB_MUTEX_ALLOCATED # UNDOC: Mutex currently allocated
DB_MUTEX_LOCKED # UNDOC: Mutex currently locked
DB_MUTEX_LOGICAL_LOCK # UNDOC: Mutex backs a database lock
+ DB_MUTEX_OWNER_DEAD # UNDOC: The owning thread has died
DB_MUTEX_PROCESS_ONLY # Mutex private to a process
DB_MUTEX_SELF_BLOCK # Must be able to block self
- DB_MUTEX_SHARED # Shared (read/write) mutex
+ DB_MUTEX_SHARED # Sharable (read/write) latch
DbEnv.mutex_stat
DB_STAT_CLEAR # Clear stats after return
@@ -154,10 +158,13 @@ DbEnv.remove
DbEnv.rep_set_config
DB_REPMGR_CONF_2SITE_STRICT # Don't cheat on election votes
DB_REPMGR_CONF_ELECTIONS # Manage elections to choose master
+ DB_REPMGR_CONF_PREFMAS_CLIENT # Preferred master client site
+ DB_REPMGR_CONF_PREFMAS_MASTER # Preferred master site
DB_REP_CONF_AUTOINIT # automatic client init
DB_REP_CONF_AUTOROLLBACK # UNDOC: discard txns to sync w/ master
DB_REP_CONF_BULK # Bulk transfer
DB_REP_CONF_DELAYCLIENT # Delay client synchronization
+ DB_REP_CONF_ELECT_LOGLENGTH # UNDOC: longest log wins election
DB_REP_CONF_INMEM # In-memory replication
DB_REP_CONF_LEASE # Master leases
DB_REP_CONF_NOWAIT # Don't wait, return error
@@ -236,16 +243,18 @@ DbEnv.set_isalive
DB_MUTEX_SELF_BLOCK # Must be able to block self
DbEnv.set_timeout
+ DB_SET_MUTEX_FAILCHK_TIMEOUT # Mutex support for failchk broadcasting
DB_SET_LOCK_TIMEOUT # Set lock timeout
+ DB_SET_REG_TIMEOUT # Set dbregister timeout
DB_SET_TXN_NOW # UNDOC: Timeout lock now
DB_SET_TXN_TIMEOUT # Set transaction timeout
- DB_SET_REG_TIMEOUT # Set dbregister timeout
DbEnv.set_verbose
DB_VERB_BACKUP # Backup information
DB_VERB_DEADLOCK # Deadlock detection information
DB_VERB_FILEOPS # Major file operations
DB_VERB_FILEOPS_ALL # All file operations
+ DB_VERB_MVCC # Freezing, thawing & version management
DB_VERB_RECOVERY # Recovery information
DB_VERB_REGISTER # Dump waits-for table
DB_VERB_REPLICATION # All replication and repmgr output
@@ -449,6 +458,7 @@ Db.open
# The following flags aren't actually part of the Db.open method
# API, but they are accepted by the underlying __db_open function.
DB_DURABLE_UNKNOWN # UNDOC: Durability on open
+ DB_INTERNAL_BLOB_DB # UNDOC: Open db in blob dir
DB_INTERNAL_PERSISTENT_DB # UNDOC: Open db in metadata dir
DB_INTERNAL_TEMPORARY_DB # UNDOC: Open db in env home dir
DB_NOERROR # UNDOC: Don't raise errors.
diff --git a/dist/api_flags.c b/dist/api_flags.c
index a546a0c0..b69bcca3 100644
--- a/dist/api_flags.c
+++ b/dist/api_flags.c
@@ -1,7 +1,7 @@
/*-
* See the file LICENSE for redistribution information.
*
- * Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015 Oracle and/or its affiliates. All rights reserved.
*/
#include <sys/types.h>
diff --git a/dist/buildpkg b/dist/buildpkg
index a7a4385c..8c25b76d 100644
--- a/dist/buildpkg
+++ b/dist/buildpkg
@@ -57,8 +57,8 @@ START_DIR=`pwd`
D=`pwd`/../release
R="$D/db-${VERSION}"
RNC="$D/db-$VERSION.NC"
-DOCS=`pwd`/../../docs_books-5.3
-DB_ADDONS=`pwd`/../../db_addons-5.3
+DOCS=`pwd`/../../docs_books-6.1
+DB_ADDONS=`pwd`/../../db_addons-6.1
if [ ! -d $DB_ADDONS ]; then
echo "buildpkg requires a db_addons repository at the same level as the db repository."
@@ -136,7 +136,7 @@ fi
# Build the ADO.NET package, including moving the ADO.NET doc built above
# into that package.
# Tell the script where to look for packages.
-cd $R/dist && sh s_sql_drivers ../../../..
+cd $R/dist && sh s_sql_drivers -addons ../../../..
# Warn if s_sql_drivers didn't move its docs.
if [ -e "$R/docs/bdb-sql-ado" ]; then
echo "WARNING: ADO.NET doc is still in the non ADO.NET package."
diff --git a/dist/config.guess b/dist/config.guess
index 8152efd6..1f5c50c0 100755
--- a/dist/config.guess
+++ b/dist/config.guess
@@ -1,14 +1,12 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2011-11-11'
+timestamp='2014-03-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -17,26 +15,22 @@ timestamp='2011-11-11'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
+# Originally written by Per Bothner.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -56,9 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -140,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ ;;
+esac
+
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
@@ -202,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -304,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -803,10 +820,13 @@ EOF
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
@@ -854,15 +874,22 @@ EOF
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
@@ -874,59 +901,54 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
cris:Linux:*:*)
- echo cris-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
frv:Linux:*:*)
- echo frv-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
hexagon:Linux:*:*)
- echo hexagon-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
@@ -945,54 +967,63 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
+ echo sparc-unknown-linux-${LIBC}
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+ echo hppa64-unknown-linux-${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
+ echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1196,6 +1227,9 @@ EOF
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
@@ -1222,19 +1256,31 @@ EOF
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1251,7 +1297,7 @@ EOF
NEO-?:NONSTOP_KERNEL:*:*)
echo neo-tandem-nsk${UNAME_RELEASE}
exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
+ NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
@@ -1320,158 +1366,10 @@ EOF
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
+esac
cat >&2 <<EOF
$0: unable to guess system type
diff --git a/dist/config.hin b/dist/config.hin
index 50e00a05..18af622f 100644
--- a/dist/config.hin
+++ b/dist/config.hin
@@ -95,12 +95,19 @@
/* Define to 1 to use dtrace for performance monitoring. */
#undef HAVE_DTRACE
+/* Define to 1 if you want a version that records extra information about
+ errors. */
+#undef HAVE_ERROR_HISTORY
+
/* Define to 1 if you have the <execinfo.h> header file. */
#undef HAVE_EXECINFO_H
/* Define to 1 if platform has EXIT_SUCCESS/EXIT_FAILURE #defines. */
#undef HAVE_EXIT_SUCCESS
+/* Define to 1 for failchk to inform all waiting threads about crashes. */
+#undef HAVE_FAILCHK_BROADCAST
+
/* Define to 1 if you have the `fchmod' function. */
#undef HAVE_FCHMOD
@@ -170,6 +177,9 @@
/* Define to 1 if you have the `hstrerror' function. */
#undef HAVE_HSTRERROR
+/* Define to 1 if you have the `initstate_r' function. */
+#undef HAVE_INITSTATE_R
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -191,6 +201,9 @@
/* Define to 1 if you have the `localtime' function. */
#undef HAVE_LOCALTIME
+/* Define to 1 if you have the `localtime_r' function. */
+#undef HAVE_LOCALTIME_R
+
/* Define to 1 if enabling checksums in log records. */
#undef HAVE_LOG_CHECKSUM
@@ -364,6 +377,15 @@
pthread_cond_t. */
#undef HAVE_PTHREAD_COND_REINIT_OKAY
+/* Define to 1 if you have the `pthread_getspecific' function. */
+#undef HAVE_PTHREAD_GETSPECIFIC
+
+/* Define to 1 if you have the `pthread_key_create' function. */
+#undef HAVE_PTHREAD_KEY_CREATE
+
+/* Define to 1 if you have the `pthread_once' function. */
+#undef HAVE_PTHREAD_ONCE
+
/* Define to 1 if it is OK to initialize an already initialized
pthread_rwlock_t. */
#undef HAVE_PTHREAD_RWLOCK_REINIT_OKAY
@@ -371,6 +393,9 @@
/* Define to 1 if you have the `pthread_self' function. */
#undef HAVE_PTHREAD_SELF
+/* Define to 1 if you have the `pthread_setspecific' function. */
+#undef HAVE_PTHREAD_SETSPECIFIC
+
/* Define to 1 if you have the `pthread_yield' function. */
#undef HAVE_PTHREAD_YIELD
@@ -395,6 +420,9 @@
/* Define to 1 if you have the `random' function. */
#undef HAVE_RANDOM
+/* Define to 1 if you have the `random_r' function. */
+#undef HAVE_RANDOM_R
+
/* Define to 1 if building replication support. */
#undef HAVE_REPLICATION
@@ -431,6 +459,9 @@
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
+/* Define to 1 if you have the `srandom_r' function. */
+#undef HAVE_SRANDOM_R
+
/* Define to 1 if you have the `stat' function. */
#undef HAVE_STAT
@@ -443,7 +474,7 @@
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
-/* Define to 1 if you have the `strcasecmp' function. */
+/* Define to 1 if you have the strcasecmp symbol. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strcat' function. */
@@ -587,6 +618,9 @@
/* The size of `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
+/* The size of `off_t', as computed by sizeof. */
+#undef SIZEOF_OFF_T
+
/* The size of `short', as computed by sizeof. */
#undef SIZEOF_SHORT
@@ -620,6 +654,11 @@
/* Define to 1 to mask harmless uninitialized memory read/writes. */
#undef UMRW
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
diff --git a/dist/config.sub b/dist/config.sub
index e76eaf47..6acbfacd 100755
--- a/dist/config.sub
+++ b/dist/config.sub
@@ -1,38 +1,31 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2011-11-11'
+timestamp='2014-04-03'
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@@ -75,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -125,13 +116,17 @@ esac
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
@@ -154,7 +149,7 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
+ -apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
@@ -223,6 +218,12 @@ case $os in
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
-lynx*)
os=-lynxos
;;
@@ -247,13 +248,16 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | be32 | be64 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
| fido | fr30 | frv \
@@ -261,10 +265,11 @@ case $basic_machine in
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -282,16 +287,16 @@ case $basic_machine in
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
- | nios | nios2 \
+ | nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | open8 \
- | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
@@ -319,8 +324,7 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -333,7 +337,10 @@ case $basic_machine in
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
-
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
xscaleeb)
basic_machine=armeb-unknown
;;
@@ -356,15 +363,16 @@ case $basic_machine in
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -373,11 +381,13 @@ case $basic_machine in
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -395,14 +405,16 @@ case $basic_machine in
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
- | nios-* | nios2-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -719,7 +731,6 @@ case $basic_machine in
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
@@ -777,11 +788,15 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze*)
basic_machine=microblaze-xilinx
;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
@@ -817,7 +832,7 @@ case $basic_machine in
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-msys
;;
mvs)
@@ -1008,7 +1023,11 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
basic_machine=i386-pc
os=-rdos
;;
@@ -1335,21 +1354,21 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
+ | -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1357,7 +1376,7 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1481,9 +1500,6 @@ case $os in
-aros*)
os=-aros
;;
- -kaos*)
- os=-kaos
- ;;
-zvmoe)
os=-zvmoe
;;
@@ -1532,6 +1548,12 @@ case $basic_machine in
c4x-* | tic4x-*)
os=-coff
;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
tic54x-*)
os=-coff
;;
@@ -1559,9 +1581,6 @@ case $basic_machine in
;;
m68000-sun)
os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
;;
m68*-cisco)
os=-aout
diff --git a/dist/configure b/dist/configure
index db718de0..4a63d8ef 100755
--- a/dist/configure
+++ b/dist/configure
@@ -1,13 +1,11 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for Berkeley DB 5.3.21.
+# Generated by GNU Autoconf 2.69 for Berkeley DB 6.1.23.
#
# Report bugs to <Oracle Technology Network Berkeley DB forum>.
#
#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -136,6 +134,31 @@ export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # 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
+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+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
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
@@ -169,7 +192,8 @@ 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"
+test x\$exitcode = x0 || exit 1
+test -x / || 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'\" &&
@@ -222,21 +246,25 @@ 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+"$@"}
+ export CONFIG_SHELL
+ # 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
+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+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
if test x$as_have_required = xno; then :
@@ -339,6 +367,14 @@ $as_echo X"$as_dir" |
} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -460,6 +496,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
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; }
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# 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).
@@ -494,16 +534,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... 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'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -515,28 +555,8 @@ else
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
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# 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'"
@@ -569,15 +589,15 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Berkeley DB'
-PACKAGE_TARNAME='db-5.3.21'
-PACKAGE_VERSION='5.3.21'
-PACKAGE_STRING='Berkeley DB 5.3.21'
+PACKAGE_TARNAME='db-6.1.23'
+PACKAGE_VERSION='6.1.23'
+PACKAGE_STRING='Berkeley DB 6.1.23'
PACKAGE_BUGREPORT='Oracle Technology Network Berkeley DB forum'
PACKAGE_URL=''
ac_unique_file="../src/db/db.c"
enable_option_checking=no
-ac_default_prefix=/usr/local/BerkeleyDB.5.3
+ac_default_prefix=/usr/local/BerkeleyDB.6.1
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -635,6 +655,7 @@ ssize_t_decl
time_t_decl
size_t_decl
pid_t_decl
+db_off_t_decl
off_t_decl
FILE_t_decl
int64_decl
@@ -735,6 +756,7 @@ MAKEFILE_CXXLINK
MAKEFILE_CXX
MAKEFILE_CCLINK
MAKEFILE_CC
+LIBSQLSO_LIBS
LIBXSO_LIBS
LIBTSO_MODULE
LIBTSO_MODSUFFIX
@@ -841,6 +863,7 @@ enable_cxx
enable_debug
enable_debug_rop
enable_debug_wop
+enable_error_history
enable_diagnostic
enable_dump185
enable_java
@@ -865,17 +888,18 @@ enable_dbm
enable_dtrace
enable_systemtap
enable_perfmon_statistics
+enable_failchk_broadcast
enable_uimutexes
enable_umrw
enable_atomicfileread
-enable_cryptography
-with_cryptography
with_mutex
with_mutexalign
with_stacksize
with_tcl
with_uniquename
enable_readline
+enable_cryptography
+with_cryptography
enable_shared
enable_static
with_pic
@@ -1353,8 +1377,6 @@ target=$target_alias
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
@@ -1440,7 +1462,7 @@ 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 Berkeley DB 5.3.21 to adapt to many kinds of systems.
+\`configure' configures Berkeley DB 6.1.23 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1489,7 +1511,7 @@ Fine tuning of the installation directories:
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root
- [DATAROOTDIR/doc/db-5.3.21]
+ [DATAROOTDIR/doc/db-6.1.23]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
@@ -1511,7 +1533,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Berkeley DB 5.3.21:";;
+ short | recursive ) echo "Configuration of Berkeley DB 6.1.23:";;
esac
cat <<\_ACEOF
@@ -1537,6 +1559,8 @@ Optional Features:
--enable-debug Build a debugging version.
--enable-debug_rop Build a version that logs read operations.
--enable-debug_wop Build a version that logs write operations.
+ --enable-error_history Build a version that records extra information about
+ errors
--enable-diagnostic Build a version with run-time diagnostics.
--enable-dump185 Build db_dump185(1) to dump 1.85 databases.
--enable-java Build Java API.
@@ -1563,6 +1587,9 @@ Optional Features:
--enable-perfmon-statistics
Configure to build in performance monitoring of
statistics values [default=no].
+ --enable-failchk_broadcast
+ Add support for immediately broadcasting failchk
+ events to all waiting threads
--enable-uimutexes Force use of Unix International mutexes.
--enable-umrw Mask harmless uninitialized memory read/writes.
--enable-atomicfileread Indicate that the platform reads and writes files
@@ -1578,14 +1605,15 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-jdbc=DIR Specify source directory of JDBC.
- --with-cryptography=yes|no|ipp
- Build database cryptography support [default=yes].
--with-mutex=MUTEX Select non-default mutex implementation.
--with-mutexalign=ALIGNMENT
Obsolete; use DbEnv::mutex_set_align instead.
--with-stacksize=SIZE Set the stack size for Berkeley DB threads.
--with-tcl=DIR Directory location of tclConfig.sh.
--with-uniquename=NAME Build a uniquely named library.
+ --with-cryptography=yes|no|ipp
+ Build database cryptography support. The default
+ value is "yes", unless building the SQL library.
--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]
@@ -1671,10 +1699,10 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Berkeley DB configure 5.3.21
-generated by GNU Autoconf 2.68
+Berkeley DB configure 6.1.23
+generated by GNU Autoconf 2.69
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1825,7 +1853,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2048,7 +2076,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2232,7 +2260,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2248,7 +2277,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2274,7 +2304,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2290,7 +2321,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2324,7 +2356,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2446,12 +2479,58 @@ $as_echo "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_type
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
+#endif
+
+ ;
+ return 0;
+}
+_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_decl
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 Berkeley DB $as_me 5.3.21, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+It was created by Berkeley DB $as_me 6.1.23, which was
+generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2997,6 +3076,7 @@ topdir=`echo "$srcdir/.." | sed 's,/dist/\.\.,,'`
+
# The Windows public header has two extra symbols we need to remove.
@@ -3006,19 +3086,19 @@ topdir=`echo "$srcdir/.." | sed 's,/dist/\.\.,,'`
# Configure the version information.
-DB_VERSION_FAMILY="11"
+DB_VERSION_FAMILY="12"
-DB_VERSION_RELEASE="2"
+DB_VERSION_RELEASE="1"
-DB_VERSION_MAJOR="5"
+DB_VERSION_MAJOR="6"
-DB_VERSION_MINOR="3"
+DB_VERSION_MINOR="1"
-DB_VERSION_PATCH="21"
+DB_VERSION_PATCH="23"
-DB_VERSION_STRING='"Berkeley DB 5.3.21: (May 11, 2012)"'
+DB_VERSION_STRING='"Berkeley DB 6.1.23: (February 17, 2015)"'
-DB_VERSION_FULL_STRING='"Berkeley DB 11g Release 2, library version 11.2.5.3.21: (May 11, 2012)"'
+DB_VERSION_FULL_STRING='"Berkeley DB 12c Release 1, library version 12.1.6.1.23: (February 17, 2015)"'
# Process all options before using them.
@@ -3298,6 +3378,18 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_debug_wop" >&5
$as_echo "$db_cv_debug_wop" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if --enable-error_history option specified" >&5
+$as_echo_n "checking if --enable-error_history option specified... " >&6; }
+# Check whether --enable-error_history was given.
+if test "${enable_error_history+set}" = set; then :
+ enableval=$enable_error_history; db_cv_error_history="$enable_error_history"
+else
+ db_cv_error_history="no"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_error_history" >&5
+$as_echo "$db_cv_error_history" >&6; }
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if --enable-diagnostic option specified" >&5
$as_echo_n "checking if --enable-diagnostic option specified... " >&6; }
# Check whether --enable-diagnostic was given.
@@ -3600,6 +3692,26 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_perfmon_statistics" >&5
$as_echo "$db_cv_perfmon_statistics" >&6; }
+# Application which use failchk can choose to inform all threads waiting on
+# mutexes to be notified as soon as possible after a crash thread is detected.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if --enable-failchk_broadcast option specified" >&5
+$as_echo_n "checking if --enable-failchk_broadcast option specified... " >&6; }
+# Check whether --enable-failchk_broadcast was given.
+if test "${enable_failchk_broadcast+set}" = set; then :
+ enableval=$enable_failchk_broadcast; db_cv_failchk_broadcast="$enable_failchk_broadcast"
+else
+ db_cv_failchk_broadcast="no"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_failchk_broadcast" >&5
+$as_echo "$db_cv_failchk_broadcast" >&6; }
+if test "$db_cv_failchk_broadcast" = "yes"; then
+ $as_echo "#define HAVE_FAILCHK_BROADCAST 1" >>confdefs.h
+
+
+ ADDITIONAL_PROGS="$ADDITIONAL_PROGS test_failchk"
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if --enable-uimutexes option specified" >&5
$as_echo_n "checking if --enable-uimutexes option specified... " >&6; }
# Check whether --enable-uimutexes was given.
@@ -3649,43 +3761,6 @@ if test "$db_cv_atomicfileread" = "yes"; then
fi
-# Cryptography support.
-# Until Berkeley DB 5.0, this was a simple yes/no decision.
-# With the addition of support for Intel Integrated Performance Primitives (ipp)
-# things are more complex. There are now three options:
-# 1) don't build cryptography (no)
-# 2) build using the built-in software implementation (yes)
-# 3) build using the Intel IPP implementation (ipp)
-# We handle this by making the primary configuration method:
-# --with-cryptography={yes|no|ipp}
-# which defaults to yes. The old enable/disable-cryptography argument is still
-# supported for backwards compatibility.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if --with-cryptography option specified" >&5
-$as_echo_n "checking if --with-cryptography option specified... " >&6; }
-# Check whether --enable-cryptography was given.
-if test "${enable_cryptography+set}" = set; then :
- enableval=$enable_cryptography;
-else
- enableval=$db_cv_build_full
-fi
-
-enable_cryptography="$enableval"
-
-# Check whether --with-cryptography was given.
-if test "${with_cryptography+set}" = set; then :
- withval=$with_cryptography;
-else
- with_cryptography=$enable_cryptography
-fi
-
-case "$with_cryptography" in
-yes|no|ipp) ;;
-*) as_fn_error $? "unknown --with-cryptography argument \'$with_cryptography\'" "$LINENO" 5 ;;
-esac
-db_cv_build_cryptography="$with_cryptography"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_build_cryptography" >&5
-$as_echo "$db_cv_build_cryptography" >&6; }
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if --with-mutex=MUTEX option specified" >&5
$as_echo_n "checking if --with-mutex=MUTEX option specified... " >&6; }
@@ -3757,7 +3832,7 @@ $as_echo "$with_uniquename" >&6; }
else
db_cv_uniquename="yes"
if test "$with_uniquename" = "yes"; then
- DB_VERSION_UNIQUE_NAME="_5003"
+ DB_VERSION_UNIQUE_NAME="_6001"
else
DB_VERSION_UNIQUE_NAME="$with_uniquename"
fi
@@ -3784,6 +3859,54 @@ if test "$db_cv_jdbc" = "yes" -a "$db_cv_sql" = "no"; then
db_cv_sql=$db_cv_jdbc
fi
+# Cryptography support.
+# Until Berkeley DB 5.0, this was a simple yes/no decision.
+# With the addition of support for Intel Integrated Performance Primitives (ipp)
+# things are more complex. There are now three options:
+# 1) don't build cryptography (no)
+# 2) build using the built-in software implementation (yes)
+# 3) build using the Intel IPP implementation (ipp)
+# We handle this by making the primary configuration method:
+# --with-cryptography={yes|no|ipp}
+# which defaults to yes, unless building the SQL library(--enable-sql).
+# The old enable/disable-cryptography argument is still
+# supported for backwards compatibility.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if --with-cryptography option specified" >&5
+$as_echo_n "checking if --with-cryptography option specified... " >&6; }
+build_cryptography="$db_cv_build_full";
+if test "$db_cv_sql" = "yes" -a "$build_cryptography" = "yes"; then
+ build_cryptography="no";
+fi
+# Check whether --enable-cryptography was given.
+if test "${enable_cryptography+set}" = set; then :
+ enableval=$enable_cryptography;
+else
+ enableval=$build_cryptography
+fi
+
+enable_cryptography="$enableval"
+
+# Check whether --with-cryptography was given.
+if test "${with_cryptography+set}" = set; then :
+ withval=$with_cryptography;
+else
+ with_cryptography=$enable_cryptography
+fi
+
+case "$with_cryptography" in
+yes|no|ipp) ;;
+*) as_fn_error $? "unknown --with-cryptography argument \'$with_cryptography\'" "$LINENO" 5 ;;
+esac
+db_cv_build_cryptography="$with_cryptography"
+if test -d "$topdir/src/crypto" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_build_cryptography" >&5
+$as_echo "$db_cv_build_cryptography" >&6; }
+else
+ db_cv_build_cryptography="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring --with-cryptography flag value. The NC package builds a Berkeley DB library that does not support encryption." >&5
+$as_echo "$as_me: WARNING: Ignoring --with-cryptography flag value. The NC package builds a Berkeley DB library that does not support encryption." >&2;}
+fi
+
# Testing requires Tcl.
if test "$db_cv_test" = "yes" -a "$db_cv_tcl" = "no"; then
as_fn_error $? "--enable-test requires --enable-tcl" "$LINENO" 5
@@ -3841,7 +3964,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CHMOD="${ac_tool_prefix}chmod"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3881,7 +4004,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CHMOD="chmod"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3935,7 +4058,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CP="${ac_tool_prefix}cp"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3975,7 +4098,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CP="cp"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4031,7 +4154,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_KILL="${ac_tool_prefix}kill"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4071,7 +4194,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_KILL="kill"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4126,7 +4249,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_LN="${ac_tool_prefix}ln"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4166,7 +4289,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_LN="ln"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4220,7 +4343,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_MKDIR="${ac_tool_prefix}mkdir"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4260,7 +4383,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_MKDIR="mkdir"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4314,7 +4437,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RM="${ac_tool_prefix}rm"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4354,7 +4477,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RM="rm"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4411,7 +4534,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_MV="${ac_tool_prefix}mv"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4451,7 +4574,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_MV="mv"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4506,7 +4629,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STAP="${ac_tool_prefix}stap"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4546,7 +4669,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STAP="stap"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4604,7 +4727,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DTRACE="${ac_tool_prefix}dtrace"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4644,7 +4767,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DTRACE="dtrace"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4699,7 +4822,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_SED="${ac_tool_prefix}sed"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4739,7 +4862,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_SED="sed"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4791,7 +4914,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_PERL="${ac_tool_prefix}perl"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4831,7 +4954,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_PERL="perl"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4891,7 +5014,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_db_cv_path_sh="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4934,7 +5057,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ac_pt_db_cv_path_sh="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5013,7 +5136,7 @@ case $as_dir/ in #((
# 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 as_fn_executable_p "$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.
@@ -5094,7 +5217,7 @@ optimize_flag="-O"
extra_cflags=""
case "$host_os" in
-aix4.3.*|aix[56]*)
+aix4.3.*|aix[5-9]*)
case "$host_os" in
aix4.3.*)
CPPFLAGS="$CPPFLAGS -D_LINUX_SOURCE_COMPAT";;
@@ -5149,7 +5272,6 @@ else
fi
CFLAGS="$CFLAGS$extra_cflags"
-CXXFLAGS=${CXXFLAGS-"$CFLAGS"}
# The default compiler is cc (NOT gcc), the default CFLAGS is as specified
# above, NOT what is set by AC_PROG_CC, as it won't set optimization flags
@@ -5178,7 +5300,7 @@ 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 as_fn_executable_p "$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
@@ -5222,7 +5344,7 @@ 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 as_fn_executable_p "$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
@@ -5666,8 +5788,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
/* 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);
@@ -5772,9 +5893,13 @@ else
hpux11*) CPPFLAGS="$CPPFLAGS -mt"
test "$host_cpu" = "ia64" &&
CFLAGS="$CFLAGS +u1";;
+ solaris*) CFLAGS="$CFLAGS "
+ CFLAGS=`echo "$CFLAGS" | sed 's/-O /-xO2 /g'`;;
esac
fi
+CXXFLAGS=${CXXFLAGS-"$CFLAGS"}
+
# Check for "const" and "inline" keywords.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
@@ -5788,11 +5913,11 @@ else
int
main ()
{
-/* FIXME: Include the comments suggested by Paul. */
+
#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
+ /* Ultrix mips cc rejects this sort of thing. */
typedef int charset[2];
- const charset cs;
+ const charset cs = { 0, 0 };
/* SunOS 4.1.1 cc rejects this. */
char const *const *pcpcc;
char **ppc;
@@ -5809,8 +5934,9 @@ main ()
++pcpcc;
ppc = (char**) pcpcc;
pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
+ { /* SCO 3.2v4 cc rejects this sort of thing. */
+ char tx;
+ char *t = &tx;
char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0;
@@ -5826,10 +5952,10 @@ main ()
iptr p = 0;
++p;
}
- { /* AIX XL C 1.02.0.0 rejects this saying
+ { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
+ struct s { int j; const int *ap[3]; } bx;
+ struct s *b = &bx; b->j = 5;
}
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
const int foo = 10;
@@ -5986,7 +6112,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CCC="${ac_tool_prefix}xlC_r"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6026,7 +6152,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CCC="xlC_r"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6080,7 +6206,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CCC="${ac_tool_prefix}aCC"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6120,7 +6246,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CCC="aCC"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6172,7 +6298,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CCC="${ac_tool_prefix}CC"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6212,7 +6338,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CCC="CC"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6264,7 +6390,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CCC="${ac_tool_prefix}cxx"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6304,7 +6430,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CCC="cxx"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6359,7 +6485,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CCC="${ac_tool_prefix}CC"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6399,7 +6525,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CCC="CC"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6464,7 +6590,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6508,7 +6634,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7035,7 +7161,7 @@ do
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
+ as_fn_executable_p "$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
@@ -7111,7 +7237,7 @@ do
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
+ as_fn_executable_p "$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
@@ -7177,7 +7303,7 @@ do
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
+ as_fn_executable_p "$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
@@ -7244,7 +7370,7 @@ do
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
+ as_fn_executable_p "$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
@@ -7500,7 +7626,7 @@ 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 as_fn_executable_p "$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
@@ -7544,7 +7670,7 @@ 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 as_fn_executable_p "$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
@@ -7963,7 +8089,7 @@ 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 as_fn_executable_p "$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
@@ -8003,7 +8129,7 @@ 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 as_fn_executable_p "$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
@@ -8309,7 +8435,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8349,7 +8475,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8452,7 +8578,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8496,7 +8622,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AR="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8621,7 +8747,7 @@ 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 as_fn_executable_p "$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
@@ -8661,7 +8787,7 @@ 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 as_fn_executable_p "$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
@@ -8720,7 +8846,7 @@ 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 as_fn_executable_p "$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
@@ -8760,7 +8886,7 @@ 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 as_fn_executable_p "$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
@@ -8864,7 +8990,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9437,7 +9563,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9477,7 +9603,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9557,7 +9683,7 @@ 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 as_fn_executable_p "$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
@@ -9597,7 +9723,7 @@ 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 as_fn_executable_p "$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
@@ -9649,7 +9775,7 @@ 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 as_fn_executable_p "$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
@@ -9689,7 +9815,7 @@ 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 as_fn_executable_p "$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
@@ -9741,7 +9867,7 @@ 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 as_fn_executable_p "$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
@@ -9781,7 +9907,7 @@ 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 as_fn_executable_p "$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
@@ -9833,7 +9959,7 @@ 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 as_fn_executable_p "$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
@@ -9873,7 +9999,7 @@ 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 as_fn_executable_p "$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
@@ -9925,7 +10051,7 @@ 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 as_fn_executable_p "$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
@@ -9965,7 +10091,7 @@ 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 as_fn_executable_p "$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
@@ -17805,7 +17931,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_JAVAC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -17848,7 +17974,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_JAVAC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -17885,7 +18011,7 @@ else
JAVA_TEST=Test.java
CLASS_TEST=Test.class
cat << \EOF > $JAVA_TEST
-/* #line 17888 "configure" */
+/* #line 18014 "configure" */
public class Test {
}
EOF
@@ -17928,7 +18054,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_JAR="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -17971,7 +18097,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_JAR="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -18019,7 +18145,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_JAVA="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -18062,7 +18188,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_JAVA="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -18106,7 +18232,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_uudecode="yes"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -18148,7 +18274,7 @@ EOF
if uudecode$EXEEXT Test.uue; then
ac_cv_prog_uudecode_base64=yes
else
- echo "configure: 18151: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
+ echo "configure: 18277: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
echo "configure: failed file was:" >&5
cat Test.uue >&5
ac_cv_prog_uudecode_base64=no
@@ -18186,7 +18312,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_JAVAC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -18229,7 +18355,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_JAVAC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -18266,7 +18392,7 @@ else
JAVA_TEST=Test.java
CLASS_TEST=Test.class
cat << \EOF > $JAVA_TEST
-/* #line 18269 "configure" */
+/* #line 18395 "configure" */
public class Test {
}
EOF
@@ -18301,7 +18427,7 @@ JAVA_TEST=Test.java
CLASS_TEST=Test.class
TEST=Test
cat << \EOF > $JAVA_TEST
-/* [#]line 18304 "configure" */
+/* [#]line 18430 "configure" */
public class Test {
public static void main (String args[]) {
System.exit (0);
@@ -18364,7 +18490,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path__ACJNI_JAVAC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -18555,7 +18681,10 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_main" >&5
$as_echo "$ac_cv_lib_dl_main" >&6; }
if test "x$ac_cv_lib_dl_main" = xyes; then :
- SQL_LIBS="$SQL_LIBS -ldl"
+
+ SQL_LIBS="$SQL_LIBS -ldl"
+ LIBSQLSO_LIBS=" -ldl"
+
fi
ac_cv_lib_dl=ac_cv_lib_dl_main
@@ -20239,6 +20368,67 @@ else
as_fn_error $? "No off_t type." "$LINENO" 5
fi
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
+$as_echo_n "checking size of off_t... " >&6; }
+if ${ac_cv_sizeof_off_t+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$db_includes
+"; then :
+
+else
+ if test "$ac_cv_type_off_t" = yes; then
+ { { $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 "cannot compute sizeof (off_t)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_off_t=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5
+$as_echo "$ac_cv_sizeof_off_t" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_OFF_T $ac_cv_sizeof_off_t
+_ACEOF
+
+
+
+# db_off_t should be set to a signed integer type that is the same
+# size as off_t
+
+ac_fn_c_check_type "$LINENO" "db_off_t" "ac_cv_type_db_off_t" "$ac_includes_default"
+if test "x$ac_cv_type_db_off_t" = xyes; then :
+
+else
+
+ case "$ac_cv_sizeof_off_t" in
+ "$ac_cv_sizeof_int")
+ db_off_t_decl="typedef int db_off_t;";;
+ "$ac_cv_sizeof_char")
+ db_off_t_decl="typedef char db_off_t;";;
+ "$ac_cv_sizeof_short")
+ db_off_t_decl="typedef short db_off_t;";;
+ "$ac_cv_sizeof_long")
+ db_off_t_decl="typedef long db_off_t;";;
+ "$ac_cv_sizeof_long_long")
+ db_off_t_decl="typedef long long db_off_t;";;
+ *)
+ if test "" != "notfatal"; then
+ as_fn_error $? "No signed $ac_cv_sizeof_off_t-byte integral type" "$LINENO" 5
+ fi;;
+ esac
+fi
+
ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$db_includes
"
@@ -20582,7 +20772,7 @@ main ()
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_condattr_setpshared(&condattr, PTHREAD_PROCESS_SHARED) ||
pthread_mutexattr_init(&mutexattr) ||
@@ -20611,12 +20801,12 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_condattr_setpshared(&condattr, PTHREAD_PROCESS_SHARED) ||
pthread_mutexattr_init(&mutexattr) ||
@@ -20651,7 +20841,7 @@ main ()
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr));
;
@@ -20671,10 +20861,10 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr) ||
pthread_cond_init(&cond, &condattr));
}
@@ -20701,7 +20891,7 @@ main ()
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ exit (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
;
@@ -20721,10 +20911,10 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ return (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
}
@@ -20756,7 +20946,7 @@ main ()
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_condattr_setpshared(&condattr, PTHREAD_PROCESS_SHARED) ||
pthread_mutexattr_init(&mutexattr) ||
@@ -20785,12 +20975,12 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_condattr_setpshared(&condattr, PTHREAD_PROCESS_SHARED) ||
pthread_mutexattr_init(&mutexattr) ||
@@ -20825,7 +21015,7 @@ main ()
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr));
;
@@ -20845,10 +21035,10 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr) ||
pthread_cond_init(&cond, &condattr));
}
@@ -20875,7 +21065,7 @@ main ()
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ exit (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
;
@@ -20895,10 +21085,10 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ return (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
}
@@ -20933,7 +21123,7 @@ main ()
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_mutexattr_init(&mutexattr) ||
pthread_cond_init(&cond, &condattr) ||
@@ -20960,12 +21150,12 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_mutexattr_init(&mutexattr) ||
pthread_cond_init(&cond, &condattr) ||
@@ -20998,7 +21188,7 @@ main ()
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr));
;
@@ -21018,10 +21208,10 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr) ||
pthread_cond_init(&cond, &condattr));
}
@@ -21048,7 +21238,7 @@ main ()
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ exit (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
;
@@ -21068,10 +21258,10 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ return (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
}
@@ -21103,7 +21293,7 @@ main ()
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_mutexattr_init(&mutexattr) ||
pthread_cond_init(&cond, &condattr) ||
@@ -21130,12 +21320,12 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_mutex_t mutex;
pthread_condattr_t condattr;
pthread_mutexattr_t mutexattr;
- exit (
+ return (
pthread_condattr_init(&condattr) ||
pthread_mutexattr_init(&mutexattr) ||
pthread_cond_init(&cond, &condattr) ||
@@ -21168,7 +21358,7 @@ main ()
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr));
;
@@ -21188,10 +21378,10 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_cond_t cond;
pthread_condattr_t condattr;
- exit(pthread_condattr_init(&condattr) ||
+ return (pthread_condattr_init(&condattr) ||
pthread_cond_init(&cond, &condattr) ||
pthread_cond_init(&cond, &condattr));
}
@@ -21218,7 +21408,7 @@ main ()
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ exit (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
;
@@ -21238,10 +21428,10 @@ else
#include <stdlib.h>
#include <pthread.h>
-main() {
+int main() {
pthread_rwlock_t rwlock;
pthread_rwlockattr_t rwlockattr;
- exit(pthread_rwlockattr_init(&rwlockattr) ||
+ return (pthread_rwlockattr_init(&rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr) ||
pthread_rwlock_init(&rwlock, &rwlockattr));
}
@@ -21370,7 +21560,7 @@ main ()
{
#if (defined(i386) || defined(__i386__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21393,7 +21583,7 @@ main ()
{
#if (defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21445,7 +21635,7 @@ main ()
#if defined(__sparc__) && defined(__GNUC__)
asm volatile ("membar #StoreStore|#StoreLoad|#LoadStore");
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21516,7 +21706,7 @@ main ()
msem_init(&x, 0);
msem_lock(&x, 0);
msem_unlock(&x, 0);
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21548,7 +21738,7 @@ main ()
msem_init(&x, 0);
msem_lock(&x, 0);
msem_unlock(&x, 0);
- exit(0);
+ return (0);
;
return 0;
@@ -21600,7 +21790,7 @@ main ()
{
#if defined(__USLC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21731,7 +21921,7 @@ main ()
{
#if defined(__alpha) && defined(__DECC)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21756,7 +21946,7 @@ main ()
{
#if defined(__alpha) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21781,7 +21971,7 @@ main ()
{
#if defined(__arm__) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21806,7 +21996,7 @@ main ()
{
#if (defined(__mips) || defined(__mips__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21831,7 +22021,7 @@ main ()
{
#if (defined(__hppa) || defined(__hppa__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21856,7 +22046,7 @@ main ()
{
#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21881,7 +22071,7 @@ main ()
{
#if (defined(mc68020) || defined(sun3)) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21906,7 +22096,7 @@ main ()
{
#if defined(__MVS__) && defined(__IBMC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21931,7 +22121,7 @@ main ()
{
#if defined(__s390__) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21956,7 +22146,7 @@ main ()
{
#if defined(__ia64) && defined(__GNUC__)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -21981,7 +22171,7 @@ main ()
{
#if defined(_UTS)
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -22464,9 +22654,9 @@ main ()
{
#if ((defined(i386) || defined(__i386__)) && defined(__GNUC__))
- exit(0);
+ return (0);
#elif ((defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__))
- exit(0);
+ return (0);
#else
FAIL TO COMPILE/LINK
#endif
@@ -23220,19 +23410,6 @@ esac
fi
-ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
-if test "x$ac_cv_func_strcasecmp" = xyes; then :
- $as_echo "#define HAVE_STRCASECMP 1" >>confdefs.h
-
-else
- case " $LIBOBJS " in
- *" strcasecmp.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS strcasecmp.$ac_objext"
- ;;
-esac
-
-fi
-
ac_fn_c_check_func "$LINENO" "strcat" "ac_cv_func_strcat"
if test "x$ac_cv_func_strcat" = xyes; then :
$as_echo "#define HAVE_STRCAT 1" >>confdefs.h
@@ -23365,6 +23542,20 @@ fi
+ac_fn_c_check_decl "$LINENO" "strcasecmp" "ac_cv_have_decl_strcasecmp" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strcasecmp" = xyes; then :
+ $as_echo "#define HAVE_STRCASECMP 1" >>confdefs.h
+
+else
+ case " $LIBOBJS " in
+ *" strcasecmp.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS strcasecmp.$ac_objext"
+ ;;
+esac
+
+fi
+
+
# Check for system functions we optionally use.
for ac_func in \
_fstati64 backtrace backtrace_symbols directio fchmod fclose\
@@ -23384,9 +23575,68 @@ fi
done
+# The random_r/initstate_r/srandom_r functions in AIX and OSF/1 (Tru64) have
+# atypical function signatures. Disable BerkeleyDB's use of those functions.
+case "$host_os" in
+aix*|osf*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: random_r is ignored on $host_os." >&5
+$as_echo "$as_me: WARNING: random_r is ignored on $host_os." >&2;};;
+*)
+ for ac_func in initstate_r random_r srandom_r
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+;;
+esac
+
+if test "$db_cv_error_history" = "yes"; then
+ # Check for pthread thread local storage support
+ for ac_func in pthread_getspecific pthread_setspecific
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ for ac_func in pthread_key_create pthread_once
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ if test "x$ac_cv_func_pthread_getspecific" = "xyes" -a \
+ "x$ac_cv_func_pthread_setspecific" = "xyes" -a \
+ "x$ac_cv_func_pthread_key_create" = "xyes" -a \
+ "x$ac_cv_func_pthread_once" = "xyes"; then
+ $as_echo "#define HAVE_ERROR_HISTORY 1" >>confdefs.h
+
+ else
+ as_fn_error $? "--enable-error_history requires pthread thread local storage" "$LINENO" 5
+ fi
+
+fi
+
-for ac_func in gettimeofday localtime time strftime
+for ac_func in gettimeofday localtime localtime_r time strftime
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -23432,6 +23682,7 @@ if test "$cross_compiling" = yes; then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <time.h>
#include <sys/time.h>
int
main ()
@@ -23455,8 +23706,9 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <time.h>
#include <sys/time.h>
-main() {
+int main() {
struct timespec t;
return (clock_gettime(CLOCK_MONOTONIC, &t) != 0);
}
@@ -23908,6 +24160,8 @@ _ACEOF
esac
rm -rf conftest*
fi
+
+
fi
@@ -24192,6 +24446,8 @@ $as_echo_n "checking for 64-bit integral type support for sequences... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+ #include <stdio.h>
+ #include <string.h>
int
main ()
{
@@ -24226,7 +24482,9 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- main() {
+ #include <stdio.h>
+ #include <string.h>
+ int main() {
$db_cv_seq_type l;
unsigned $db_cv_seq_type u;
char buf[100];
@@ -24302,8 +24560,10 @@ else
/* Not all these includes are needed, but the minimal set varies from
* system to system.
*/
+ #include <stdlib.h>
#include <stdio.h>
#include <string.h>
+ #include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -24315,18 +24575,25 @@ else
#ifndef MAP_FAILED
#define MAP_FAILED (-1)
#endif
+ /* Prevent unused variabl warnings by setting and using it. */
+ #define COMPQUIET(n, v) do { \
+ (n) = (v); \
+ (n) = (n); \
+ } while (0)
- int catch_sig(sig)
+
+ void catch_sig(sig)
int sig;
{
+ COMPQUIET(sig,0);
exit(1);
}
- main() {
+ int main() {
const char *underlying;
unsigned gapsize;
char *base;
- int count, fd, i, mode, open_flags, ret, total_size;
+ int count, fd, i, mode, open_flags, total_size;
char buf[TEST_MMAP_BUFSIZE];
gapsize = 1024;
@@ -25145,16 +25412,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... 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'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -25214,28 +25481,16 @@ else
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
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# 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'"
@@ -25256,8 +25511,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Berkeley DB $as_me 5.3.21, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+This file was extended by Berkeley DB $as_me 6.1.23, which was
+generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -25322,11 +25577,11 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Berkeley DB config.status 5.3.21
-configured by $0, generated by GNU Autoconf 2.68,
+Berkeley DB config.status 6.1.23
+configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -25416,7 +25671,7 @@ 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
+ 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'
@@ -27322,7 +27577,12 @@ esac
# !!! END COPIED from autoconf distribution
sqlite_dir=$srcdir/../lang/sql/sqlite
-(cd sql && eval "\$SHELL ../$sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline" && cat build_config.h >> config.h) || exit 1
+orig_CPPFLAGS="$CPPFLAGS"
+jdbc_variables=""
+if test "$db_cv_build_cryptography" = "yes"; then
+ CPPFLAGS="$CPPFLAGS -DSQLITE_HAS_CODEC=1"
+fi
+(cd sql && eval "\$SHELL ../$sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline " && cat build_config.h >> config.h) || exit 1
# Configure JDBC if --enable-jdbc
if test "$db_cv_jdbc" != "no"; then
@@ -27352,7 +27612,6 @@ if test "$db_cv_jdbc" != "no"; then
test "$prefix" != "" && jdbc_args="--prefix=$prefix --with-jardir=$prefix/jar"
test "$enable_shared" != "" && jdbc_args="$jdbc_args --enable-shared=$enable_shared"
test "$enable_static" != "" && jdbc_args="$jdbc_args --enable-static=$enable_static"
- test "$cross_compiling" = "yes" && jdbc_args="$jdbc_args --build=$build --host=$host "
# 1. The build directory is build_unix/jdbc, so the include paths are relative
# to that.
@@ -27363,6 +27622,7 @@ if test "$db_cv_jdbc" != "no"; then
$CFLAGS $CPPFLAGS\""
# Set LDFLAGS for JDBC driver
test "$LDFLAGS" != "" && jdbc_flags="$jdbc_flags LDFLAGS=\"$LDFLAGS\""
+ test "$db_cv_build_cryptography" = "yes" && jdbc_flags="$jdbc_flags HAVE_SQLITE3_KEY=1"
# Copy ../lang/sql/jdbc to build_unix/
test ! -d jdbc && cp -r $jdbc_dir .
@@ -27378,4 +27638,6 @@ if test "$db_cv_jdbc" != "no"; then
eval "\$SHELL ./configure --with-sqlite3=../../lang/sql/generated $jdbc_args $jdbc_flags"
fi
+CPPFLAGS="$orig_CPPFLAGS"
+
fi
diff --git a/dist/configure.ac b/dist/configure.ac
index b1e49a3f..74cb5378 100644
--- a/dist/configure.ac
+++ b/dist/configure.ac
@@ -70,6 +70,7 @@ AC_SUBST(LIBTSO_LIBS)
AC_SUBST(LIBTSO_MODSUFFIX)
AC_SUBST(LIBTSO_MODULE)
AC_SUBST(LIBXSO_LIBS)
+AC_SUBST(LIBSQLSO_LIBS)
AC_SUBST(MAKEFILE_CC)
AC_SUBST(MAKEFILE_CCLINK)
AC_SUBST(MAKEFILE_CXX)
@@ -178,7 +179,7 @@ optimize_flag="-O"
extra_cflags=""
case "$host_os" in
-aix4.3.*|aix[[56]]*)
+aix4.3.*|aix[[5-9]]*)
case "$host_os" in
aix4.3.*)
CPPFLAGS="$CPPFLAGS -D_LINUX_SOURCE_COMPAT";;
@@ -231,7 +232,6 @@ else
fi
CFLAGS="$CFLAGS$extra_cflags"
-CXXFLAGS=${CXXFLAGS-"$CFLAGS"}
# The default compiler is cc (NOT gcc), the default CFLAGS is as specified
# above, NOT what is set by AC_PROG_CC, as it won't set optimization flags
@@ -257,9 +257,13 @@ else
hpux11*) CPPFLAGS="$CPPFLAGS -mt"
test "$host_cpu" = "ia64" &&
CFLAGS="$CFLAGS +u1";;
+ solaris*) CFLAGS="$CFLAGS "
+ CFLAGS=`echo "$CFLAGS" | sed 's/-O /-xO2 /g'`;;
esac
fi
+CXXFLAGS=${CXXFLAGS-"$CFLAGS"}
+
# Check for "const" and "inline" keywords.
AC_C_CONST
AC_C_INLINE
@@ -500,7 +504,10 @@ if test "$db_cv_sql" = "yes"; then
# Link against libdl, if found. It is only needed for the load
# extension, but shouldn't hurt.
- AC_HAVE_LIBRARY(dl, SQL_LIBS="$SQL_LIBS -ldl")
+ AC_HAVE_LIBRARY(dl, [
+ SQL_LIBS="$SQL_LIBS -ldl"
+ LIBSQLSO_LIBS=" -ldl"
+ ])
# Link against libedit or readline for command-line editing.
if test x"$with_readline" != xno; then
@@ -691,9 +698,12 @@ AC_HAVE_LIBRARY(socket, TEST_LIBS="$TEST_LIBS -lsocket")
# deleted getwd().
AC_REPLACE_FUNCS(\
abort atoi atol bsearch getcwd getenv getopt isalpha isdigit isprint\
- isspace memcmp memcpy memmove printf qsort raise rand strcasecmp\
+ isspace memcmp memcpy memmove printf qsort raise rand\
strcat strchr strdup strerror strncat strncmp strrchr strsep\
strtol strtoul)
+AH_TEMPLATE(HAVE_STRCASECMP,
+ [Define to 1 if you have the strcasecmp symbol.])
+AC_CHECK_DECL(strcasecmp, [AC_DEFINE(HAVE_STRCASECMP)], [AC_LIBOBJ(strcasecmp)])
# Check for system functions we optionally use.
AC_CHECK_FUNCS(\
@@ -703,6 +713,31 @@ AC_CHECK_FUNCS(\
pthread_self pthread_yield random sched_yield select setgid setuid\
sigaction snprintf stat sysconf vsnprintf yield)
+# The random_r/initstate_r/srandom_r functions in AIX and OSF/1 (Tru64) have
+# atypical function signatures. Disable BerkeleyDB's use of those functions.
+case "$host_os" in
+aix*|osf*)
+ AC_MSG_WARN([random_r is ignored on $host_os.]);;
+*)
+ AC_CHECK_FUNCS(initstate_r random_r srandom_r);;
+esac
+
+if test "$db_cv_error_history" = "yes"; then
+ # Check for pthread thread local storage support
+ AC_CHECK_FUNCS(pthread_getspecific pthread_setspecific)
+ AC_CHECK_FUNCS(pthread_key_create pthread_once)
+ if test "x$ac_cv_func_pthread_getspecific" = "xyes" -a \
+ "x$ac_cv_func_pthread_setspecific" = "xyes" -a \
+ "x$ac_cv_func_pthread_key_create" = "xyes" -a \
+ "x$ac_cv_func_pthread_once" = "xyes"; then
+ AC_DEFINE(HAVE_ERROR_HISTORY)
+ else
+ AC_MSG_ERROR([--enable-error_history requires pthread thread local storage])
+ fi
+ AH_TEMPLATE(HAVE_ERROR_HISTORY,
+ [Define to 1 if you want a version that records extra information about errors.])
+fi
+
AC_TIMERS
# Ftruncate.
diff --git a/dist/db_provider.d b/dist/db_provider.d
index 06e966ce..1acc460c 100644
--- a/dist/db_provider.d
+++ b/dist/db_provider.d
@@ -24,7 +24,7 @@ provider bdb {
* alphabetically. For instance allocation and free events are adjacent.
* New, unrelated events are placed at the end of their event class.
*
- * Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015 Oracle and/or its affiliates. All rights reserved.
*
*/
diff --git a/dist/events.in b/dist/events.in
index 49436a72..f6e28f77 100644
--- a/dist/events.in
+++ b/dist/events.in
@@ -16,7 +16,7 @@
# alphabetically. For instance allocation and free events are adjacent.
# New, unrelated events are placed at the end of their event class.
#
-# Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015 Oracle and/or its affiliates. All rights reserved.
#
# The alloc class covers the allocation of "on disk" database pages.
diff --git a/dist/gen_msg.awk b/dist/gen_msg.awk
index 72820995..182e3e49 100644
--- a/dist/gen_msg.awk
+++ b/dist/gen_msg.awk
@@ -1,7 +1,7 @@
#
# See the file LICENSE for redistribution information.
#
-# Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 2015 Oracle and/or its affiliates. All rights reserved.
#
# $Id$
#
@@ -120,7 +120,7 @@ END {
#
function type_length(type)
{
- if (type == "DB_LSN")
+ if (type == "DB_LSN" || type == "u_int64_t")
return (8);
if (type == "DBT" || type == "u_int32_t" || type == "db_pgno_t")
return (4);
@@ -257,6 +257,17 @@ function emit_marshal()
vars[i], vars[i]) >> CFILE;
printf("\t\tbp += argp->%s.size;\n", vars[i]) >> CFILE;
printf("\t}\n") >> CFILE;
+ } else if (types[i] == "u_int64_t") {
+ if (version) {
+ printf("\tif (copy_only) {\n") >> CFILE;
+ printf(\
+ "\t\tmemcpy(bp, &argp->%s, sizeof(u_int64_t));\n", vars[i]) >> CFILE;
+ printf(\
+ "\t\tbp += sizeof(u_int64_t);\n") >> CFILE;
+ printf("\t} else\n\t") >> CFILE;
+ }
+ printf("\tDB_HTONLL_COPYOUT(env, bp, argp->%s);\n", \
+ vars[i]) >> CFILE;
} else {
printf("unknown field type: %s", types[i]);
exit(1);
@@ -413,6 +424,17 @@ function emit_unmarshal()
printf("\tif (max < needed)\n") >> CFILE;
printf("\t\tgoto too_few;\n") >> CFILE;
printf("\tbp += argp->%s.size;\n", vars[i]) >> CFILE;
+ } else if (types[i] == "u_int64_t") {
+ if (version) {
+ printf("\tif (copy_only) {\n") >> CFILE;
+ printf(\
+ "\t\tmemcpy(&argp->%s, bp, sizeof(u_int64_t));\n", vars[i]) >> CFILE;
+ printf(\
+ "\t\tbp += sizeof(u_int64_t);\n") >> CFILE;
+ printf("\t} else\n\t") >> CFILE;
+ }
+ printf("\tDB_NTOHLL_COPYIN(env, argp->%s, bp);\n", \
+ vars[i]) >> CFILE;
} else {
printf("unknown field type: %s", types[i]);
exit(1);
diff --git a/dist/gen_rec.awk b/dist/gen_rec.awk
index 129c978f..006ddf56 100644
--- a/dist/gen_rec.awk
+++ b/dist/gen_rec.awk
@@ -2,7 +2,7 @@
#
# See the file LICENSE for redistribution information.
#
-# Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 2015 Oracle and/or its affiliates. All rights reserved.
#
# $Id$
#
@@ -178,7 +178,9 @@ BEGIN {
make_name(thisfunc, thisfunc, version);
}
-/^[ ]*(DB|ARG|DBOP|DBT|DATA|HDR|LOCKS|OP|PGDBT|PGDDBT|PGLIST|POINTER|TIME)/ {
+# Some versions of awk do not understand splitting a pattern into several lines
+# with '\', so this > 80 character pattern needs to remain a single line.
+/^[ ]*(DB|ARG|DBOP|DBT|DATA|HDR|LOCKS|OP|PGDBT|PGDDBT|PGLIST|POINTER|TIME|LONGARG)/ {
vars[nvars] = $2;
types[nvars] = $3;
modes[nvars] = $1;
@@ -202,6 +204,8 @@ BEGIN {
sizes[nvars] = sprintf("sizeof(u_int32_t)");
if ($3 != "u_int32_t")
is_uint = 1;
+ } else if ($1 == "LONGARG") {
+ sizes[nvars] = sprintf("sizeof(u_int64_t)");
} else if ($1 == "POINTER")
sizes[nvars] = sprintf("sizeof(*%s)", $2);
else { # DBT, PGDBT, PGDDBT
diff --git a/dist/jdbc/jdbc.patch b/dist/jdbc/jdbc.patch
new file mode 100644
index 00000000..9519669e
--- /dev/null
+++ b/dist/jdbc/jdbc.patch
@@ -0,0 +1,36 @@
+diff -r e7e24e781211 configure
+--- a/configure Wed Jan 09 13:03:42 2013 -0800
++++ b/configure Tue Jan 22 18:41:16 2013 +0800
+@@ -11420,9 +11420,14 @@
+ return ret;
+ }
+
++static int vatest2(va_list ap) {
++ return 0;
++}
++
+ int
+ main(int argc, char **argv)
+ {
++ vatest2((va_list)argv); /* Check whether we can convert "char *" to va_list */
+ exit(vatest(NULL, vatest, 0.0, 0, NULL));
+ }
+
+diff -r e7e24e781211 configure.in
+--- a/configure.in Wed Jan 09 13:03:42 2013 -0800
++++ b/configure.in Tue Jan 22 18:41:16 2013 +0800
+@@ -436,9 +436,14 @@
+ return ret;
+ }
+
++static int vatest2(va_list ap) {
++ return 0;
++}
++
+ int
+ main(int argc, char **argv)
+ {
++ vatest2((va_list)argv); /* Check whether we can convert "char *" to va_list */
+ exit(vatest(NULL, vatest, 0.0, 0, NULL));
+ }
+ ],[USE_VFUNCS=1],[USE_VFUNCS=0],[USE_VFUNCS=0])
diff --git a/dist/jdbc/jdbc.patch2 b/dist/jdbc/jdbc.patch2
new file mode 100644
index 00000000..e330896b
--- /dev/null
+++ b/dist/jdbc/jdbc.patch2
@@ -0,0 +1,124 @@
+diff -r 4ce6bb090c10 configure
+--- a/configure Tue Feb 19 11:51:39 2013 -0500
++++ b/configure Wed Feb 20 12:03:37 2013 +0800
+@@ -10205,6 +10205,29 @@
+
+
+
++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="${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
++
+ ##########
+ # Find SQLite3 header file and library
+ #
+@@ -10327,28 +10350,6 @@
+ 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
+diff -r 4ce6bb090c10 configure.in
+--- a/configure.in Tue Feb 19 11:51:39 2013 -0500
++++ b/configure.in Wed Feb 20 12:03:37 2013 +0800
+@@ -147,6 +147,29 @@
+ AC_SUBST(HAVE_SQLITE_COMPILE)
+ AC_SUBST(HAVE_SQLITE_PROGRESS_HANDLER)
+
++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="${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
++
+ ##########
+ # Find SQLite3 header file and library
+ #
+@@ -262,28 +285,6 @@
+ *** thus should be enabled only if you know what you're doing. ***
+ *******************************************************************])
+ 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
diff --git a/dist/odbc/odbc.patch b/dist/odbc/odbc.patch
new file mode 100644
index 00000000..48cc837a
--- /dev/null
+++ b/dist/odbc/odbc.patch
@@ -0,0 +1,66 @@
+--- a/xpath.c Fri May 10 17:26:39 2013 +0800
++++ b/xpath.c Fri May 10 18:22:18 2013 +0800
+@@ -951,7 +951,7 @@
+ static void
+ xpath_vfunc_string(sqlite3_context *ctx, int argc, sqlite3_value **argv)
+ {
+- return xpath_vfunc_common(ctx, 0, argc, argv);
++ xpath_vfunc_common(ctx, 0, argc, argv);
+ }
+
+ /**
+@@ -964,7 +964,7 @@
+ static void
+ xpath_vfunc_boolean(sqlite3_context *ctx, int argc, sqlite3_value **argv)
+ {
+- return xpath_vfunc_common(ctx, 1, argc, argv);
++ xpath_vfunc_common(ctx, 1, argc, argv);
+ }
+
+ /**
+@@ -977,7 +977,7 @@
+ static void
+ xpath_vfunc_number(sqlite3_context *ctx, int argc, sqlite3_value **argv)
+ {
+- return xpath_vfunc_common(ctx, 2, argc, argv);
++ xpath_vfunc_common(ctx, 2, argc, argv);
+ }
+
+ /**
+@@ -990,7 +990,7 @@
+ static void
+ xpath_vfunc_xml(sqlite3_context *ctx, int argc, sqlite3_value **argv)
+ {
+- return xpath_vfunc_common(ctx, 3, argc, argv);
++ xpath_vfunc_common(ctx, 3, argc, argv);
+ }
+
+ /**
+--- a/zipfile.c Fri May 10 17:26:39 2013 +0800
++++ b/zipfile.c Fri May 10 18:22:18 2013 +0800
+@@ -226,7 +226,10 @@
+ goto error;
+ }
+ data = (unsigned char *) mmap(0, length, PROT_READ,
+- MAP_FILE | MAP_PRIVATE, fd, 0);
++#ifdef MAP_FILE
++ MAP_FILE |
++#endif
++ MAP_PRIVATE, fd, 0);
+ if (data == MAP_FAILED) {
+ goto error;
+ }
+@@ -1303,7 +1306,12 @@
+ #else
+ size = sizeof (mem_blk) + psize + length + 1;
+ mb = (mem_blk *) mmap(0, size, PROT_READ | PROT_WRITE,
+- MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++#if defined(MAP_ANONYMOUS)
++ MAP_ANONYMOUS |
++#elif defined(MAP_ANON)
++ MAP_ANON |
++#endif
++ MAP_PRIVATE, -1, 0);
+ if (mb == MAP_FAILED) {
+ return 0;
+ }
diff --git a/dist/odbc/sqlite3odbc.patch b/dist/odbc/sqlite3odbc.patch
new file mode 100644
index 00000000..65c223c6
--- /dev/null
+++ b/dist/odbc/sqlite3odbc.patch
@@ -0,0 +1,19 @@
+--- a/sqlite3odbc.c Sun Dec 8 15:19:27 2013
++++ b/sqlite3odbc.c Fri Mar 28 11:59:54 2014
+@@ -401,6 +401,7 @@
+ #define snprintf _snprintf
+ #define strcasecmp _stricmp
+ #define strncasecmp _strnicmp
++#define strtoll _strtoi64
+
+ static HINSTANCE NEAR hModule; /* Saved module handle for resources */
+
+@@ -13916,7 +13916,7 @@
+ dlen -= 2;
+ dp += 2;
+ dlen = dlen / 2;
+- s->bincache = bin = xmalloc(dlen);
++ s->bincache = bin = xmalloc(dlen + 1);
+ if (!bin) {
+ return nomem(s);
+ }
diff --git a/dist/pubdef.in b/dist/pubdef.in
index 266f3aec..dd65c3f6 100644
--- a/dist/pubdef.in
+++ b/dist/pubdef.in
@@ -1,4 +1,4 @@
-# $Id: pubdef.in,v 4d4a04145f28 2010/07/28 15:20:45 ben $
+# $Id$
#
# Name
# D == documentation
@@ -8,7 +8,6 @@
# C == C# constant
DB_AFTER D I J C
DB_AGGRESSIVE D I J C
-DB_ALIGN8 * I * *
DB_ALREADY_ABORTED * I * *
DB_AM_CHKSUM * I * *
DB_AM_COMPENSATE * I * *
@@ -68,6 +67,7 @@ DB_BTREEVERSION * I * *
DB_BUFFER_SMALL D I J C
DB_CDB_ALLDB D I J C
DB_CHKSUM D I J C
+DB_CHKSUM_FAIL * I * *
DB_CKP_INTERNAL * I * *
DB_CONFIG D * * *
DB_CONSUME D I J C
@@ -81,6 +81,8 @@ DB_DATABASE_LOCK * I * *
DB_DATABASE_LOCKING * I * *
DB_DBM_HSEARCH * I * *
DB_DBT_APPMALLOC D I N C
+DB_DBT_BLOB D I J C
+DB_DBT_BLOB_REC * I * *
DB_DBT_BULK D I J C
DB_DBT_DUPOK * I * *
DB_DBT_ISSET * I * *
@@ -125,11 +127,14 @@ DB_ENV_TXN_NOWAIT * I * *
DB_ENV_TXN_SNAPSHOT * I * *
DB_ENV_TXN_WRITE_NOSYNC * I * *
DB_ENV_YIELDCPU * I * *
+DB_EVENT_FAILCHK_INFO * I * *
+DB_EVENT_MUTEX_DIED_INFO * I * *
DB_EVENT_NOT_HANDLED * I * *
DB_EVENT_NO_SUCH_EVENT * I * *
DB_EVENT_PANIC D I N C
DB_EVENT_REG_ALIVE D I * *
DB_EVENT_REG_PANIC D I * *
+DB_EVENT_REP_AUTOTAKEOVER_FAILED D I N C
DB_EVENT_REP_CLIENT D I N C
DB_EVENT_REP_CONNECT_BROKEN D I N C
DB_EVENT_REP_CONNECT_ESTD D I N C
@@ -138,6 +143,7 @@ DB_EVENT_REP_DUPMASTER D I N C
DB_EVENT_REP_ELECTED D I N C
DB_EVENT_REP_ELECTION_FAILED D I N C
DB_EVENT_REP_INIT_DONE D I N C
+DB_EVENT_REP_INQUEUE_FULL D I N C
DB_EVENT_REP_JOIN_FAILURE D I N C
DB_EVENT_REP_LOCAL_SITE_REMOVED D I N C
DB_EVENT_REP_MASTER D I N C
@@ -151,8 +157,10 @@ DB_EVENT_REP_WOULD_ROLLBACK * I * *
DB_EVENT_WRITE_FAILED D I N C
DB_EXCL D I J C
DB_EXTENT * I * *
+DB_EXIT_FAILCHK * I * *
DB_FAILCHK D I * *
DB_FAILCHK_ISALIVE * I * *
+DB_FAILURE_SYMPTOM_SIZE * I * *
DB_FAST_STAT D I J C
DB_FCNTL_LOCKING * I * *
DB_FILE_ID_LEN * I * *
@@ -160,6 +168,7 @@ DB_FIRST D I J C
DB_FLUSH D I J C
DB_FORCE D I J C
DB_FORCESYNC D I J C
+DB_FORCESYNCENV D I J C
DB_FOREIGN_ABORT * I J C
DB_FOREIGN_CASCADE * I J C
DB_FOREIGN_CONFLICT * I * C
@@ -182,7 +191,7 @@ DB_HEAP D I J C
DB_HEAPMAGIC * I * *
DB_HEAPOLDVER * I * *
DB_HEAPVERSION * I * *
-DB_HEAP_FULL D I J C
+DB_HEAP_FULL D I N C
DB_HEAP_RID_SZ D I * *
DB_HOME D * * *
DB_HOTBACKUP_IN_PROGRESS D I J C
@@ -196,6 +205,7 @@ DB_INIT_MUTEX * I * *
DB_INIT_REP D I J C
DB_INIT_TXN D I J C
DB_INORDER D I J C
+DB_INTERNAL_BLOB_DB * I * *
DB_INTERNAL_PERSISTENT_DB * I * *
DB_INTERNAL_TEMPORARY_DB * I * *
DB_JOINENV * I J C
@@ -256,6 +266,7 @@ DB_LOGOLDVER * I * *
DB_LOGVERSION * I * *
DB_LOGVERSION_LATCHING D I * *
DB_LOG_AUTO_REMOVE D I J C
+DB_LOG_BLOB D I J C
DB_LOG_BUFFER_FULL D I * C
DB_LOG_CHKPNT * I * *
DB_LOG_COMMIT * I * *
@@ -265,6 +276,7 @@ DB_LOG_DSYNC D I J C
DB_LOG_IN_MEMORY D I J C
DB_LOG_LOCKED * I * *
DB_LOG_NOCOPY * I * *
+DB_LOG_NOSYNC D I J C
DB_LOG_NO_DATA * I * *
DB_LOG_NOT_DURABLE * I * *
DB_LOG_SILENT_ERR * I * *
@@ -293,6 +305,7 @@ DB_MEM_LOCKER D I J C
DB_MEM_LOGID D I J C
DB_MEM_TRANSACTION D I J C
DB_MEM_THREAD D I J C
+DB_META_CHKSUM_FAIL D I N C
DB_MPOOL_CREATE D I * *
DB_MPOOL_DIRTY D I * *
DB_MPOOL_TRY D I * *
@@ -305,23 +318,25 @@ DB_MPOOL_NOFILE D I J C
DB_MPOOL_NOLOCK * I * *
DB_MPOOL_UNLINK D I J C
DB_MULTIPLE D I J C
-DB_MULTIPLE_INIT D I * *
+DB_MULTIPLE_INIT D I N *
DB_MULTIPLE_KEY D I J C
DB_MULTIPLE_KEY_NEXT D I * *
DB_MULTIPLE_KEY_RESERVE_NEXT D I * *
DB_MULTIPLE_KEY_WRITE_NEXT D I * *
-DB_MULTIPLE_NEXT D I * *
+DB_MULTIPLE_NEXT D I N *
DB_MULTIPLE_RECNO_NEXT D I * *
DB_MULTIPLE_RECNO_RESERVE_NEXT D I * *
DB_MULTIPLE_RECNO_WRITE_INIT D I * *
DB_MULTIPLE_RECNO_WRITE_NEXT D I * *
DB_MULTIPLE_RESERVE_NEXT D I * *
DB_MULTIPLE_WRITE_INIT D I * *
-DB_MULTIPLE_WRITE_NEXT D I * *
+DB_MULTIPLE_WRITE_NEXT D I N *
DB_MULTIVERSION D I J C
DB_MUTEX_ALLOCATED * I * *
+DB_MUTEX_DESCRIBE_STRLEN * I * *
DB_MUTEX_LOCKED * I * *
DB_MUTEX_LOGICAL_LOCK * I * *
+DB_MUTEX_OWNER_DEAD * I * *
DB_MUTEX_PROCESS_ONLY D I * C
DB_MUTEX_SELF_BLOCK D I * C
DB_MUTEX_SHARED D I * *
@@ -332,6 +347,7 @@ DB_NEXT_NODUP D I J C
DB_NODUPDATA D I J C
DB_NOERROR * I * *
DB_NOFLUSH * I * *
+DB_NOINTMP * I * *
DB_NOLOCKING D I J C
DB_NOMMAP D I J C
DB_NOORDERCHK D I J C
@@ -400,10 +416,14 @@ DB_REPMGR_ACKS_ONE_PEER D I J C
DB_REPMGR_ACKS_QUORUM D I J C
DB_REPMGR_CONF_2SITE_STRICT D I J C
DB_REPMGR_CONF_ELECTIONS D I J C
+DB_REPMGR_CONF_PREFMAS_CLIENT D I J C
+DB_REPMGR_CONF_PREFMAS_MASTER D I J C
DB_REPMGR_CONNECTED D I J C
+DB_REPMGR_CONN_ERR * I * *
DB_REPMGR_DISCONNECTED D I J C
DB_REPMGR_NEED_RESPONSE D I J C
-DB_REPMGR_ISPEER D I J *
+DB_REPMGR_ISPEER D I J C
+DB_REPMGR_ISVIEW D I J C
DB_REPMGR_PEER D I J C
DB_REP_ACK_TIMEOUT D I J C
DB_REP_ANYWHERE D I J C
@@ -413,6 +433,7 @@ DB_REP_CLIENT D I J C
DB_REP_CONF_AUTOINIT D I J C
DB_REP_CONF_BULK D I J C
DB_REP_CONF_DELAYCLIENT D I J C
+DB_REP_CONF_ELECT_LOGLENGTH * I * *
DB_REP_CONF_INMEM D I J C
DB_REP_CONF_LEASE D I J C
DB_REP_CONF_NOWAIT D I J C
@@ -460,6 +481,7 @@ DB_SEQ_WRAPPED * I * *
DB_SET D I J C
DB_SET_LTE D I * *
DB_SET_LOCK_TIMEOUT D I J C
+DB_SET_MUTEX_FAILCHK_TIMEOUT D I * *
DB_SET_RANGE D I J C
DB_SET_REG_TIMEOUT D I * *
DB_SET_RECNO D I J C
@@ -469,7 +491,7 @@ DB_SET_TXN_TIMEOUT D I J C
DB_SHALLOW_DUP * I * *
DB_SNAPSHOT D I J C
DB_STAT_ALL D I * C
-DB_STAT_ALLOC * I * *
+DB_STAT_ALLOC * I * C
DB_STAT_CLEAR D I J C
DB_STAT_LOCK_CONF D I * C
DB_STAT_LOCK_LOCKERS D I * C
@@ -479,6 +501,9 @@ DB_STAT_MEMP_HASH D I * C
DB_STAT_MEMP_NOERROR * I * *
DB_STAT_SUBSYSTEM D I * C
DB_STAT_SUMMARY * I * *
+DB_STREAM_READ D I J C
+DB_STREAM_SYNC_WRITE D I J C
+DB_STREAM_WRITE D I J C
DB_ST_DUPOK * I * *
DB_ST_DUPSET * I * *
DB_ST_DUPSORT * I * *
@@ -526,6 +551,7 @@ DB_VERB_BACKUP D I J C
DB_VERB_DEADLOCK D I J C
DB_VERB_FILEOPS D I J C
DB_VERB_FILEOPS_ALL D I J C
+DB_VERB_MVCC D I * *
DB_VERB_RECOVERY D I J C
DB_VERB_REGISTER D I J C
DB_VERB_REPLICATION D I J C
@@ -558,4 +584,4 @@ DB_XA_CREATE D I * *
DB_YIELDCPU D I J C
DB2_AM_EXCL * I * *
DB2_AM_INTEXCL * I * *
-DB2_AM_NOWAIT * I * * \ No newline at end of file
+DB2_AM_NOWAIT * I * *
diff --git a/dist/s_android b/dist/s_android
index 47972df8..7de968c8 100755
--- a/dist/s_android
+++ b/dist/s_android
@@ -93,6 +93,7 @@ s/@uintmax_t_decl@//
s/@uintptr_t_decl@//
/@FILE_t_decl@/d
/@off_t_decl@/d
+s/@db_off_t_decl@/typedef int64_t db_off_t;/
/@pid_t_decl@/d
/@size_t_decl@/d
/@ssize_t_decl@/d
diff --git a/dist/s_csharp_stat b/dist/s_csharp_stat
index d7b22a6c..03452912 100755
--- a/dist/s_csharp_stat
+++ b/dist/s_csharp_stat
@@ -8,7 +8,7 @@ msgcsharp="/*-
*
* See the file LICENSE for redistribution information.
*
- * Copyright (c) 2002, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015 Oracle and/or its affiliates. All rights reserved.
*/"
f=../lang/csharp/src/Internal/StatStructs.cs
@@ -50,7 +50,8 @@ s:/\*.*\*/::
P
D
}
-}"
+}" \
+ -e "s:\;.*:\;:"
}
stat_class()
diff --git a/dist/s_docs b/dist/s_docs
index 50d391cb..c573efdd 100755
--- a/dist/s_docs
+++ b/dist/s_docs
@@ -22,7 +22,7 @@ tmp_dir=$distdir/s_docs.tmp
rm -rf $tmp_dir && mkdir $tmp_dir && mkdir $tmp_dir/logs
if [ "$docs_dir" = "" ]; then
- docs_dir=$rootdir/docs_books-5.3
+ docs_dir=$rootdir/docs_books-6.1
fi
# Verify that the docs_books repository is where we expect it.
diff --git a/dist/s_include b/dist/s_include
index 1d3c6aac..93ea3a79 100755
--- a/dist/s_include
+++ b/dist/s_include
@@ -79,7 +79,7 @@ head defonly _DB_INT_DEF_IN_ > $i_dfile
# Process the standard directories, creating per-directory prototype
# files and adding to the external prototype and #define files.
-for i in db btree clib common crypto dbreg env fileops hash heap \
+for i in db blob btree clib common crypto dbreg env fileops hash heap \
hmac lock log mp mutex os qam rep repmgr sequence tcl txn xa; do
head "_${i}_ext_h_" > $i_pfile
diff --git a/dist/s_java_stat b/dist/s_java_stat
index 434fdd52..0d59ed5f 100755
--- a/dist/s_java_stat
+++ b/dist/s_java_stat
@@ -9,7 +9,7 @@ msgjava="/*-
*
* See the file LICENSE for redistribution information.
*
- * Copyright (c) 2002, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015 Oracle and/or its affiliates. All rights reserved.
*/"
s=/tmp/__java.sed
@@ -96,6 +96,14 @@ $2 return (\1 != 0);\\
$2 }/p
d
}
+ /u_int32_t.*st_view/{
+ s/^[ ]*[^ ]*[ ]*\([^[;]*\).*/\\
+$2 private int \1;\\
+$2 public boolean get_\1() {\\
+$2 return (\1 != 0);\\
+$2 }/p
+ d
+ }
/db_size_t/{
s/^[ ]*[^ ]*[ ]*\([^;]*\).*/\\
$2 private long \1;\\
@@ -420,7 +428,8 @@ EOF
jclass compact
jclass_toString compact CompactStats
echo '}') |
- perl -w -p -e 's,public int get(FillPercent|Pages\(|Timeout|Truncate),/* package */ int get$1,g;'> $t0
+ perl -w -p -e 's,public int get(FillPercent|Pages\(|Timeout|Truncate),/* package */ int get$1,g;'> $t
+ sed '/+ compact_fillpercent$/d;/+ compact_pages$/d;/+ compact_timeout$/d;/+ compact_truncate$/d' < $t > $t0
f=../lang/java/src/com/sleepycat/db/CompactStats.java
./s_javadoc_merge $f $t0 > $t
cmp $t $f > /dev/null 2>&1 ||
@@ -433,6 +442,10 @@ stat_class lock_stat LockStats
stat_class log_stat LogStats
stat_class mpool_fstat CacheFileStats
stat_class mpool_stat CacheStats
+f=../lang/java/src/com/sleepycat/db/CacheStats.java
+perl -w -p -e 's,public int getOddfSize(Detect|Resolve),/* package */ int getOddfSize$1,g;' < $f > $t
+sed '/+ st_oddfsize_detect$/d;/+ st_oddfsize_resolve$/d' < $t > $f
+
stat_class mutex_stat MutexStats
stat_class qam_stat QueueStats " extends DatabaseStats"
stat_class rep_stat ReplicationStats "" "
@@ -444,7 +457,12 @@ import com.sleepycat.db.internal.DbConstants;
public static final int REP_NONE = 0;"
+# Build the ReplicationManagerStats and do not expose st_incoming_queue_size in the Java APIs.
stat_class repmgr_stat ReplicationManagerStats
+f=../lang/java/src/com/sleepycat/db/ReplicationManagerStats.java
+perl -w -p -e 's,public int getIncomingQueueSize,/* package */ int getIncomingQueueSize,g;' < $f > $t
+sed '/+ st_incoming_queue_size$/d' < $t > $f
+
stat_class seq_stat SequenceStats
# Build TransactionStats.java - special because of embedded Active class
diff --git a/dist/s_javadoc b/dist/s_javadoc
index 5d8b85cf..6f689470 100755
--- a/dist/s_javadoc
+++ b/dist/s_javadoc
@@ -8,13 +8,11 @@
DB_HOME=`dirname $0`/..
javadoc $JAVADOC_ARGS -protected -d $DB_HOME/docs/java \
--use -link http://download.oracle.com/javase/1.5.0/docs/api/ \
- -link http://download.oracle.com/javaee/5/api/ \
+-use -link http://download.oracle.com/javaee/7/api/ \
-sourcepath $DB_HOME/lang/java/src \
- -source 1.5 \
-stylesheetfile $DB_HOME/lang/java/doc/style.css \
-header '<b>Berkeley DB</b><br><font size="-1"> version '$DB_VERSION_MAJOR.$DB_VERSION_MINOR.$DB_VERSION_PATCH'</font>' \
- -windowtitle 'Oracle - Berkeley DB Java API' -bottom '<font size=1>Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.</font>' \
+ -windowtitle 'Oracle - Berkeley DB Java API' -bottom '<font size=1>Copyright (c) 1996, 2015 Oracle and/or its affiliates. All rights reserved.</font>' \
com.sleepycat.db \
com.sleepycat.bind com.sleepycat.bind.serial com.sleepycat.bind.tuple \
com.sleepycat.collections \
diff --git a/dist/s_message_id b/dist/s_message_id
index 4159cc60..5c1509cb 100755
--- a/dist/s_message_id
+++ b/dist/s_message_id
@@ -17,18 +17,19 @@ for i in $GREP_CMDS; do
if [ "`which $i`" = "" ]; then
continue
fi
- echo "s_message_id test" > s_message_id.tmp
- $i "s_message_id test" s_message_id.tmp -o --include=*.tmp | \
- $i -v "s_message_id.txt" > s_message_id.tmp.out 2>&1
- if [ `$i "unrecognized option" s_message_id.tmp.out | wc -l` \
- -eq 0 ] && [ `$i "invalid option" s_message_id.tmp.out | \
- wc -l` -eq 0 ] && [ `$i "can't open" s_message_id.tmp.out | \
+ echo "s_message_id test" > /tmp/s_message_id.tmp
+ $i "s_message_id test" /tmp/s_message_id.tmp -o --include=*.tmp | \
+ $i -v "s_message_id.txt" > /tmp/s_message_id.tmp.out 2>&1
+ if [ `$i "unrecognized option" /tmp/s_message_id.tmp.out | wc -l` \
+ -eq 0 ] && [ `$i "invalid option" /tmp/s_message_id.tmp.out | \
+ wc -l` -eq 0 ] && [ `$i "can't open" /tmp/s_message_id.tmp.out | \
wc -l` -eq 0 ]; then
GREP_CMD=$i
break
fi
- rm s_message_id.tmp s_message_id.tmp.out
done
+trap 'rm -f /tmp/s_message_id.tmp /tmp/s_message_id.tmp.out; exit 1' 1 2 3 13 15
+trap 'rm -f /tmp/s_message_id.tmp /tmp/s_message_id.tmp.out; exit 0' 0
if [ "$GREP_CMD" = "" ]; then
echo "UNSUPPORTED COMMAND: (g)grep -o --include"
echo "Please try other platform"
@@ -69,12 +70,13 @@ for i in $MSG_DIRS; do
if [ "$i" = "../util/" ] || [ "$i" = "../lang/dbm/" ]; then
cat_indx=10
cat_dirs="../util/ ../lang/dbm/"
- elif [ "$3" = "common" ] || [ "$3" = "crypto" ] || \
+ elif [ "$3" = "blob" ] || [ "$3" = "common" ] || \
+ [ "$3" = "crypto" ] || \
[ "$3" = "fileops" ] || [ "$3" = "hmac" ] || \
[ "$3" = "os" ] || [ "$3" = "os_qnx" ] || \
[ "$3" = "os_vxworks" ] || [ "$3" = "os_windows" ]; then
cat_indx=0
- cat_dirs=$i"common "$i"crypto "$i"fileops "
+ cat_dirs=$i"blob "$i"common "$i"crypto "$i"fileops "
cat_dirs=$cat_dirs$i"hmac "$i"os "$i"os_qnx "
cat_dirs=$cat_dirs$i"os_vxworks "$i"os_windows"
elif [ "$3" = "db" ] || [ "$3" = "dbinc" ] || \
@@ -179,9 +181,10 @@ for i in $MSG_DIRS; do
done
# Check if there is any remaining "BDB####".
-# NOTE: If "BDB####" is not .c, .h, .in files, they won't be updated with the
-# real message id.
+# NOTE: If "BDB####" is not .c, .h, .in, .awk files, they won't be updated with
+# the real message id.
if [ `$GREP_CMD "BDB####" -r $MSG_DIRS | wc -l` -gt 0 ]; then
echo "WARNING: There is remaining BDB####. Please check:"
- $GREP_CMD "BDB####" -r $MSG_DIRS
+ $GREP_CMD "BDB####" -r $MSG_DIRS -wl --include=*.c --include=*.h \
+ --include=*.in --include=*.awk
fi
diff --git a/dist/s_readme b/dist/s_readme
index 38d32998..f4b7f048 100755
--- a/dist/s_readme
+++ b/dist/s_readme
@@ -17,7 +17,11 @@ $DB_VERSION_FULL_STRING
This is Berkeley DB $DB_VERSION_FAMILY$DB_VERSION_LETTER Release $DB_VERSION_RELEASE from Oracle. To view release and
installation documentation, load the distribution file docs/index.html
-into your web browser.
+into your web browser. Technical support can be obtained by visiting
+the Berkeley DB Oracle Technical Network (OTN) forum, here:
+
+https://forums.oracle.com/forums/forum.jspa?forumID=271
+
END_OF_README
f=../README
diff --git a/dist/s_recover b/dist/s_recover
index b0ba3431..db1f83df 100755
--- a/dist/s_recover
+++ b/dist/s_recover
@@ -2,6 +2,9 @@
# $Id$
#
# Build the automatically generated logging/recovery files.
+#
+# When adding a new log record, the log record needs a unique id. Currently
+# there is a large gap of unused ids from 87-137.
header=/tmp/__db_a
loglist=/tmp/__db_b
@@ -46,7 +49,7 @@ for i in $DIR; do
-v header_file=$header \
-v print_file=$print\
-v source_file=$source \
- -v template_file=$template < $f
+ -v template_file=$template $f
f=../src/dbinc_auto/${subsystem}_auto.h
cmp $header $f > /dev/null 2>&1 ||
diff --git a/dist/s_sql_drivers b/dist/s_sql_drivers
index c3bedb1e..87e796f0 100755
--- a/dist/s_sql_drivers
+++ b/dist/s_sql_drivers
@@ -23,13 +23,35 @@ die()
}
START_DIR=`pwd`
-if [ "x$1" != "x" ]; then
- PKG_ROOT=$1
-else
- PKG_ROOT=../..
-fi
-DB_ADDONS_REPO=$PKG_ROOT/db_addons-5.3
+PKG_ROOT=../..
+BUILD_ALL=1
+CLEAN_ONLY=0
+BUILD_JDBC=0
+BUILD_ODBC=0
+BUILD_NET=0
+while [ $# -gt 0 ]
+do
+ case "$1" in
+ -clean)
+ CLEAN_ONLY=1;;
+ -jdbc)
+ BUILD_ALL=0
+ BUILD_JDBC=1;;
+ -odbc)
+ BUILD_ALL=0
+ BUILD_ODBC=1;;
+ -adodotnet)
+ BUILD_ALL=0
+ BUILD_NET=1;;
+ -addons)
+ shift
+ PKG_ROOT=$1;;
+ esac
+ shift
+done
+
+DB_ADDONS_REPO=$PKG_ROOT/db_addons-6.1
update_repo()
{
if [ ! -d $DB_ADDONS_REPO ]; then
@@ -42,21 +64,6 @@ update_repo()
die "Failed updating the db_addons repository."
fi
}
-update_repo
-
-cd $START_DIR
-ODBC_PACKAGE=`ls $DB_ADDONS_REPO/thirdparty/sql/sqliteodbc-*.tar.gz | tail -1`
-JDBC_PACKAGE=`ls $DB_ADDONS_REPO/thirdparty/sql/javasqlite-*.tar.gz | tail -1`
-ADO_PACKAGE=`ls $DB_ADDONS_REPO/thirdparty/sql/sqlite-dotnetsrc*.zip | tail -1`
-HOMEDIR=`pwd`
-
-SQL_DIR=../lang/sql/
-ODBC_DIR=$SQL_DIR/odbc
-JDBC_DIR=$SQL_DIR/jdbc
-ADO_DIR=$PKG_ROOT/adodotnet
-rm -rf "$ODBC_DIR" && mkdir -p $ODBC_DIR
-rm -rf "$JDBC_DIR" && mkdir -p $JDBC_DIR
-rm -rf "$ADO_DIR" && mkdir -p $ADO_DIR
##############################################################################
@@ -75,6 +82,16 @@ fi
dir=`basename $ODBC_PACKAGE .tar.gz`
gzip -c -d $ODBC_PACKAGE | tar xf -
mv $dir/* $ODBC_DIR || exit $?
+rm -r $dir
+
+# Apply patches
+for PATCH in 'odbc/odbc.patch' 'odbc/sqlite3odbc.patch'
+do
+ ( cd $ODBC_DIR && patch -p1 -i $START_DIR/$PATCH )
+ if [ $? -ne 0 ]; then
+ die "Can not apply patch $PATCH"
+ fi
+done
# Remove unnecessary files from packages.
@@ -115,6 +132,22 @@ fi
dir=`basename $JDBC_PACKAGE .tar.gz`
gzip -c -d $JDBC_PACKAGE | tar xf -
mv $dir/* $JDBC_DIR || exit $?
+rm -r $dir
+
+# Apply patches.
+# The change in jdbc.patch was accepted back into javasqlite-20131124,
+# so we don't need to apply this patch any more.
+#PATCH='jdbc/jdbc.patch'
+#( cd $JDBC_DIR && patch -p1 -i $START_DIR/$PATCH )
+#if [ $? -ne 0 ]; then
+# die "Can not apply patch $PATCH"
+#fi
+
+PATCH='jdbc/jdbc.patch2'
+( cd $JDBC_DIR && patch -p1 -i $START_DIR/$PATCH )
+if [ $? -ne 0 ]; then
+ die "Can not apply patch $PATCH"
+fi
#
# Remove unnecessary files from packages.
@@ -163,11 +196,16 @@ rm -f mkconst*
# Note: If you run into XQuery issue when executing the script, you may need to
# upgrade the XQilla version to at lease 2.2
##############################################################################
+set_adodotnet_dir()
+{
+ADO_DIR="dbsql-adodotnet-${DB_VERSION_MAJOR}.${DB_VERSION_MINOR}.${DB_VERSION_PATCH}"
+}
+
s_sql_adodotnet()
{
cd $START_DIR
ADO_DIR_ORIG=`basename $ADO_PACKAGE .zip`
-ADO_DIR="dbsql-adodotnet-${DB_VERSION_MAJOR}.${DB_VERSION_MINOR}.${DB_VERSION_PATCH}"
+set_adodotnet_dir
TMP_FILE='temp_file'
# Detect package
@@ -275,7 +313,6 @@ done
# Replace SQLite source code with DBSQL source code
cp -f $START_DIR/../lang/sql/generated/* SQLite.Interop/src/core/
-cp -f $START_DIR/adodotnet/testce.2008.csproj testce/
# Apply patches
PATCH='adodotnet/adodotnet.patch'
@@ -285,40 +322,31 @@ if [ $? -ne 0 ]; then
fi
#
-# Generate WinCE projects
+# Change the projects.
#
-WINDOWS_VCPROJ="SQLite.Interop/SQLite.Interop.2008.vcproj"
-WINDOWS_2010_VCPROJ="SQLite.Interop/SQLite.Interop.2010.vcxproj"
-WINCE_VCPROJ_NAME="SQLite.Interop.2008.WinCE"
-WINCE_VCPROJ="SQLite.Interop/${WINCE_VCPROJ_NAME}.vcproj"
XQ_COMMON="$START_DIR/adodotnet/adapt_common.xq.in"
-# Define WINCE_PLATFORM_NAME
-# Use the most common project name for WinCE project file.
-WINCE_PLATFORM_NAME='Pocket PC 2003 (ARMV4)'
-WINCE_PROJECT_GUID='A7895F70-6FD5-11E0-A1F0-0800200C9A66'
+# Change SQLite.Interop.CE.2005/2008.vcproj to add platforms.
XQ='gen_wince_project.xq'
XQ_IN="${XQ}.in"
XQ_IN_SRC="$START_DIR/adodotnet/${XQ_IN}"
-# Generate XQuery script
cp $XQ_COMMON $XQ_IN
cat $XQ_IN_SRC >> $XQ_IN
sed -e "s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/g" \
-e "s/@DB_VERSION_MINOR@/$DB_VERSION_MINOR/g" \
- -e "s/@PROJECT_GUID@/$WINCE_PROJECT_GUID/g" \
- -e "s/@PLATFORM_NAME@/$WINCE_PLATFORM_NAME/g" \
- -e "s/@PROJECT_FILE@/$WINCE_VCPROJ_NAME/g" \
-e "s/@BDB_PATH@/$BDB_PATH4SED/g" \
-e "s/@BDB_NAME@/$BDB_ROOT/g" \
< $XQ_IN >> $XQ
-
-cp $WINDOWS_VCPROJ $WINCE_VCPROJ
-xqilla -u -i $WINCE_VCPROJ $XQ
+# Change File list for vcproject file
+for proj in CE.2005 CE.2008
+do
+ xqilla -u -i SQLite.Interop/SQLite.Interop.$proj.vcproj $XQ
+done
rm -f $XQ
rm -f $XQ_IN
#
-# Change SQLite.Interop/SQLite.Interop.2010.vcproj for Win32/x64
+# Change SQLite.Interop.2010/2012.vcproj for Win32/x64.
#
XQ='adapt_SQLite.Interop.2010.xq'
XQ_IN="${XQ}.in"
@@ -331,18 +359,33 @@ cat $XQ_COMMON >> $XQ_IN
cat $XQ_IN_SRC >> $XQ_IN
sed -e "s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/g" \
-e "s/@DB_VERSION_MINOR@/$DB_VERSION_MINOR/g" \
- -e "s/@WINCE_PLATFORM_NAME@/$WINCE_PLATFORM_NAME/g" \
-e "s/@BDB_PATH@/$BDB_PATH4SED/g" \
-e "s/@BDB_NAME@/$BDB_ROOT/g" \
< $XQ_IN >> $XQ
# Change File list for vcproject file
-xqilla -u -i $WINDOWS_2010_VCPROJ $XQ
+for proj in 2010 Static.2010 2012 Static.2012 2013 Static.2013 CE.2012
+do
+ xqilla -u -i SQLite.Interop/SQLite.Interop.$proj.vcxproj $XQ
+done
rm -f $XQ
rm -f $XQ_IN
+# Add BDB files into SQLite.Interop.CE.2012.vcxproj using sed, since
+# xqilla can not handle that.
+sed -n -e '/File.*RelativePath/p' $BDB_ROOT/build_wince/VS8/db.vcproj | \
+ sed -e 's/File/ClCompile/g' -e 's/RelativePath/Include/g' \
+ -e "s#\\.\\.\\\\\\.\\.\\\\src#..\\\\$BDB_ROOT\\\\src#g" >ce.tmp
+sed -e '$d' SQLite.Interop/SQLite.Interop.CE.2012.vcxproj >prj.tmp
+echo '<ItemGroup>' >> prj.tmp
+cat ce.tmp >> prj.tmp
+echo '</ItemGroup>' >> prj.tmp
+echo '</Project>' >> prj.tmp
+mv prj.tmp SQLite.Interop/SQLite.Interop.CE.2012.vcxproj
+rm -f ce.tmp
+
#
-# Change SQLite.Interop/SQLite.Interop.2008.vcproj for Win32/x64
+# Change SQLite.Interop.[CE.]2005/2008.vcproj for Win32/x64/WinCE.
#
XQ='adapt_SQLite.Interop.2008.xq'
XQ_IN="${XQ}.in"
@@ -352,14 +395,15 @@ cp $XQ_COMMON $XQ_IN
cat $XQ_IN_SRC >> $XQ_IN
sed -e "s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/g" \
-e "s/@DB_VERSION_MINOR@/$DB_VERSION_MINOR/g" \
- -e "s/@WINCE_PLATFORM_NAME@/$WINCE_PLATFORM_NAME/g" \
-e "s/@BDB_PATH@/$BDB_PATH4SED/g" \
-e "s/@BDB_NAME@/$BDB_ROOT/g" \
< $XQ_IN >> $XQ
# Change File list for vcproject file
-xqilla -u -i $WINDOWS_VCPROJ $XQ
-xqilla -u -i $WINCE_VCPROJ $XQ
+for proj in 2005 2008 CE.2005 CE.2008 Static.2005 Static.2008
+do
+ xqilla -u -i SQLite.Interop/SQLite.Interop.$proj.vcproj $XQ
+done
rm -f $XQ
rm -f $XQ_IN
@@ -368,7 +412,7 @@ rm -f $XQ_IN
# 1. Change xml version to 1.0, otherwise Visual Studio can not open it
# 2. Remove unnecessary xmlns in VS2010 project file
#
-for f in $WINDOWS_VCPROJ $WINCE_VCPROJ $WINDOWS_2010_VCPROJ
+for f in `ls SQLite.Interop/*.vcproj SQLite.Interop/*.vcxproj`
do
forward="cat"
which tidy > /dev/null 2>&1
@@ -377,8 +421,9 @@ do
forward='tidy -w 1000 -xml -i -q -utf8 -n'
# Rename _ProjectFileVersion for now, othwerwise the tidy command
- # might fails
- sed -e 's/_ProjectFileVersion/tempProjectFileVersion/g' $f > $TMP_FILE
+ # might fails. The BDB requires WIN2K at least.
+ sed -e 's/_ProjectFileVersion/tempProjectFileVersion/g' \
+ -e 's/_WIN32_WINNT=0x0400/_WIN32_WINNT=0x0500/g' $f > $TMP_FILE
else
echo "Warning: can not find tidy command to format the project file"
fi
@@ -391,6 +436,29 @@ do
rm ${f}.tmp
done
+# Change the solutions containing WinCE projects so that all the supported
+# platforms can be seen and selected.
+for sln in SQLite.NET.2005.MSBuild.sln SQLite.NET.2005.sln \
+ SQLite.NET.2008.MSBuild.sln SQLite.NET.2008.sln
+do
+ for conf in Release ReleaseNativeOnly Debug DebugNativeOnly
+ do
+ for platform in "Windows Mobile 6.5.3 Professional DTK (ARMV4I)" \
+ "Windows Mobile 6 Professional SDK (ARMV4I)" \
+ "Windows Mobile 5.0 Smartphone SDK (ARMV4I)" \
+ "Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" \
+ "Smartphone 2003 (ARMV4)"
+ do
+ # Use proper indent for the added string so the
+ # solution file will have good format.
+ sed -e "/GlobalSection.*SolutionConfigurationPlatforms.*/a\\
+ $conf|$platform = $conf|$platform" $sln > $sln.tmp
+ mv $sln.tmp $sln
+ done
+ done
+ rm -f $sln.tmp
+done
+
#
# Don't build Designer and Linq by default -- users can build them
# as needed.
@@ -417,52 +485,6 @@ do
done
#
-# Generate WinCE edition for Solution files
-#
-# Skip *.MSBuild.sln and *.2010.sln since they don't include CompactFramework
-# components
-#
-for sln in SQLite.NET.2008.sln
-do
- dst=`echo $sln | sed -e 's/2008/2008.WinCE/g'`
-
- # Dos to unix
- sed 's/$\r//' $sln > ${sln}.tmp
- rm -f $TMP_FILE
-
- # Change Win32 projects to WinCE projects
- sed -e "s/|Win32/|$WINCE_PLATFORM_NAME/g" ${sln}.tmp > $TMP_FILE
- sed -e "s/SQLite.Interop.2008/SQLite.Interop.2008.WinCE/g" $TMP_FILE > ${sln}.tmp
- # Remove x64 platform -- WinCE projects doesn't require it
- sed -e "/|x64/d" ${sln}.tmp > $TMP_FILE
-
- # Remove SQLite.Designer, since it's not for Windows mobile/CE
- guid=`grep 'SQLite.Designer' $TMP_FILE | head -n 1 | awk -F '[{}]' '{print $4}'`
- if [ "$guid" != "" ]; then
- sed -e '/SQLite.Designer/,/EndProject/d' \
- -e "/$guid/d" $TMP_FILE > ${sln}.tmp
- else
- cp $TMP_FILE ${sln}.tmp
- fi
-
- # Change test.2008 to testce.2008 for WinCE testing
- testceProj="$START_DIR/adodotnet/testce.2008.csproj"
- test_GUID=`cat ${sln}.tmp | grep test\.2008 | awk -F "[{}]" '{print $4}'`
- testce_GUID=`cat $testceProj | grep ProjectGuid | awk -F "[{}]" '{print $2}'`
-
- # Change test project name and UID
- sed -e "s/test\\\/testce\\\/g" \
- -e "s/$test_GUID/$testce_GUID/g" \
- -e "s/test\.2008/testce\.2008/g" \
- ${sln}.tmp > $TMP_FILE
-
- # Change to dos format -- VisualStudio solution files must be dos format
- sed -e 's/ //g' -e 's/$/ /' $TMP_FILE > $dst
-
- rm -f ${sln}.tmp
-done
-
-#
# SQLITE_MEMDEBUG only suit (Tcl) testfixture. Disable it.
#
cd $START_DIR/$ADO_DIR
@@ -473,11 +495,6 @@ do
done
#
-# Set Working directory for debugging with IDE
-#
-cp $START_DIR/adodotnet/test.2008.csproj.user test
-
-#
# Clean Env
#
rm -f $TMP_FILE
@@ -497,10 +514,37 @@ fi
# Clean environment
rm -r $ADO_DIR
-}
+} # end ADO.NET packaging
-s_sql_odbc
-s_sql_jdbc
-s_sql_adodotnet
+###########################################################
+
+cd $START_DIR
+SQL_DIR=../lang/sql/
+HOMEDIR=`pwd`
+
+if [ "$CLEAN_ONLY" != 0 ]; then
+ set_adodotnet_dir
+ rm -rf $SQL_DIR/jdbc $SQL_DIR/odbc ../release/${ADO_DIR}.zip
+ exit 0
+fi
+
+update_repo
+
+if [ "$BUILD_ALL" != 0 -o "$BUILD_JDBC" != 0 ]; then
+ JDBC_PACKAGE=`ls $DB_ADDONS_REPO/thirdparty/sql/javasqlite-*.tar.gz | tail -1`
+ JDBC_DIR=$SQL_DIR/jdbc
+ rm -rf "$JDBC_DIR" && mkdir -p $JDBC_DIR
+ s_sql_jdbc
+fi
+if [ "$BUILD_ALL" != 0 -o "$BUILD_ODBC" != 0 ]; then
+ ODBC_PACKAGE=`ls $DB_ADDONS_REPO/thirdparty/sql/sqliteodbc-*.tar.gz | tail -1`
+ ODBC_DIR=$SQL_DIR/odbc
+ rm -rf "$ODBC_DIR" && mkdir -p $ODBC_DIR
+ s_sql_odbc
+fi
+if [ "$BUILD_ALL" != 0 -o "$BUILD_NET" != 0 ]; then
+ ADO_PACKAGE=`ls $DB_ADDONS_REPO/thirdparty/sql/sqlite-dotnetsrc*.zip | tail -1`
+ s_sql_adodotnet
+fi
diff --git a/dist/s_sql_upgrade b/dist/s_sql_upgrade
index 756abe9f..e515442c 100755
--- a/dist/s_sql_upgrade
+++ b/dist/s_sql_upgrade
@@ -19,6 +19,29 @@ copy_if_changes()
rm -f $f2
}
+# Check or recheck-and-apply each patch
+try_patches()
+{
+ doit=$1
+ for f in $sqldir/../adapter/sqlite-patches/[0-9][0-9]_*.patch ; do
+ msgs=$( patch -d $sqldir -p0 --dry-run --force < $f 2>&1 )
+ if test $? -ne 0 ; then
+ echo "Patch $f would fail:"
+ echo "$msgs" | sed -e 's/^/ /'
+ echo "Exiting."
+ exit 1
+ else
+ if test $doit = 1 ; then
+ echo "Applying patch $f"
+ patch -d $sqldir -p0 --force --quiet < $f
+ fi
+ fi
+ done
+}
+
+# echo "Testing patch files for the sqlite source tree."
+# try_patches 0
+
# Update the SQLite Makefile to refer to the replaced source files.
MAKEFILE_NAME=$sqldir/Makefile.in
for f in ../lang/sql/adapter/*.[ch]; do
@@ -27,7 +50,7 @@ for f in ../lang/sql/adapter/*.[ch]; do
copy_if_changes $MAKEFILE_NAME $MAKEFILE_NAME.tmp
done
# Update the include path so that headers in sql/adapter dir can be found.
-sed -e '/^TCC/s/-I\. -I${TOP}\/src/& -I${TOP}\/..\/adapter/' $MAKEFILE_NAME > $MAKEFILE_NAME.tmp
+sed -e '/^TCC/s/-I\. -I${TOP}\/src/& -I${TOP}\/..\/adapter -I${TOP}\/ext\/fts3/' $MAKEFILE_NAME > $MAKEFILE_NAME.tmp
copy_if_changes $MAKEFILE_NAME $MAKEFILE_NAME.tmp
# We will be building from a different directory level, update the makefile
@@ -36,15 +59,7 @@ sed -e 's/TOP = \.\.\/sqlite/TOP = \.\.\/\.\.\/sql\/sqlite/' $sqldir/Makefile.li
copy_if_changes $sqldir/Makefile.linux-gcc $sqldir/Makefile.linux-gcc.tmp
echo "Applying patch files to the sqlite source tree."
-for f in $sqldir/../adapter/sqlite-patches/[0-9][0-9]_*.patch ; do
- if (cd $sqldir && patch -p0 --dry-run --force --quiet) < $f > /dev/null; then
- echo "Applying patch $f"
- (cd $sqldir && patch -p0 --force --quiet) < $f
- else
- echo "Patch $f would fail. Exiting."
- exit 1
- fi
-done
+try_patches 1
# Remove files from the SQLite source tree that have been replaced by db.
( cd $sqldir/../adapter &&
diff --git a/dist/s_symlink b/dist/s_symlink
index eae12232..503d40bd 100755
--- a/dist/s_symlink
+++ b/dist/s_symlink
@@ -9,6 +9,7 @@ build()
(cd ../`dirname $1` && rm -f `basename $1` && ln -s $2 `basename $1`)
}
+build src/blob/tags ../../dist/tagdir/tags
build src/btree/tags ../../dist/tagdir/tags
build build_unix/tags ../dist/tagdir/tags
build src/clib/tags ../../dist/tagdir/tags
@@ -27,6 +28,7 @@ build examples/c/tags ../../dist/tagdir/tags
build examples/cxx/tags ../../dist/tagdir/tags
build src/fileops/tags ../../dist/tagdir/tags
build src/hash/tags ../../dist/tagdir/tags
+build src/heap/tags ../../dist/tagdir/tags
build src/hmac/tags ../../dist/tagdir/tags
build lang/hsearch/tags ../../dist/tagdir/tags
build lang/java/libdb_java/tags ../../../dist/tagdir/tags
diff --git a/dist/s_tags b/dist/s_tags
index 7e72be7f..a7652381 100755
--- a/dist/s_tags
+++ b/dist/s_tags
@@ -6,6 +6,7 @@
cd tagdir
files=`echo ../../src/dbinc/*.h \
../../src/dbinc/*.in \
+ ../../src/blob/*.[ch] \
../../src/btree/*.[ch] \
../../src/clib/*.[ch] \
../../src/common/*.[ch] \
@@ -19,6 +20,7 @@ files=`echo ../../src/dbinc/*.h \
../../src/env/*.[ch] \
../../src/fileops/*.[ch] \
../../src/hash/*.[ch] \
+ ../../src/heap/*.[ch] \
../../src/hmac/*.[ch] \
../../src/hsearch/*.[ch] \
../../src/lock/*.[ch] \
diff --git a/dist/s_test b/dist/s_test
index e12b34e5..193689dc 100755
--- a/dist/s_test
+++ b/dist/s_test
@@ -27,6 +27,7 @@ trap 'rm -f $t; exit 0' 0 1 2 3 13 15
echo "global dict" && \
echo "global util_path" && \
echo "" && \
+ echo "global is_aix_test" && \
echo "global is_freebsd_test" && \
echo "global is_hp_test" && \
echo "global is_linux_test" && \
@@ -63,6 +64,7 @@ cmp $t $f > /dev/null 2>&1 ||
echo "global dict" && \
echo "global util_path" && \
echo "" && \
+ echo "global is_aix_test" && \
echo "global is_freebsd_test" && \
echo "global is_hp_test" && \
echo "global is_linux_test" && \
diff --git a/dist/s_vxworks b/dist/s_vxworks
index a98cb85b..66a9adb4 100755
--- a/dist/s_vxworks
+++ b/dist/s_vxworks
@@ -23,7 +23,6 @@ n
n
i\\
\\
-/* Tornado 2 does not provide a standard C pre-processor #define. */\\
#ifndef __vxworks\\
#define __vxworks\\
#endif
@@ -45,14 +44,15 @@ s/@u_int64_decl@/typedef unsigned long long u_int64_t;/
/@u_long_decl@/d
/@u_short_decl@/d
s/@uintmax_t_decl@/typedef unsigned long uintmax_t;/
-s/@uintptr_t_decl@/typedef unsigned long uintptr_t;/
+/@uintptr_t_decl@/d
/@FILE_t_decl@/d
/@off_t_decl@/d
+s/@db_off_t_decl@/typedef int64_t db_off_t;/
/@pid_t_decl@/d
/@size_t_decl@/d
/@ssize_t_decl@/d
/@time_t_decl@/d
-s/@db_seq_decl@/typedef int db_seq_t;/
+s/@db_seq_decl@/typedef int64_t db_seq_t;/
s/@db_threadid_t_decl@/typedef uintmax_t db_threadid_t;/
s/@DB_VERSION_FAMILY@/$DB_VERSION_FAMILY/
s/@DB_VERSION_RELEASE@/$DB_VERSION_RELEASE/
@@ -368,128 +368,6 @@ util_one()
echo "<END>"
}
-# Build VxWorks Tornado 2.0 project files for the utilities.
-for i in $PROGRAM_LIST; do
- case $i in
- ex_access)
- target=dbdemo
- outdir=dbdemo
- ;;
- db_*)
- target=$i
- outdir=util
- ;;
- test_micro)
- target=$i
- outdir=test/micro
- ;;
- *)
- target=$i
- outdir=$i
- ;;
- esac
-
- (sed -e "s/__DB_APPLICATION_NAME__/$target/g" < vx_2.0/wpj.in
- util_one $i) > $t
- f=../build_vxworks/$outdir/${target}20.wpj
- cmp $t $f > /dev/null 2>&1 ||
- (echo "Building $f" && rm -f $f && cp $t $f)
-
- (sed -e "s/__DB_APPLICATION_NAME__/$target/g" < vx_2.2/wpj.in
- util_one $i) > $t
- f=../build_vxworks/$outdir/${target}22.wpj
- cmp $t $f > /dev/null 2>&1 ||
- (echo "Building $f" && rm -f $f && cp $t $f)
-done
-
-# Build the list of "normal build" files VxWorks knows about.
-sed -e '/^$/d' -e '/^[ #]/d' srcfiles.in |
- egrep -w vx |
- sed 's/[ ].*//' > $vxfilelist
-
-# Build the list of "small build" files VxWorks knows about.
-sed -e '/^$/d' -e '/^[ #]/d' srcfiles.in |
- egrep -w vxsmall |
- sed 's/[ ].*//' > $vxsmallfiles
-
-# Build VxWorks Tornado 2.0 project files for the library itself.
-for v in 0 2 ; do
- #
- # Build regular project files
- #
- (cat vx_2.${v}/BerkeleyDB.wpj
- for i in `cat $vxfilelist`; do
- o="<BEGIN> FILE_\$(PRJ_DIR)/../$i"
- echo "${o}_dependDone"
- echo "TRUE"
- echo "<END>"
- echo
- echo "${o}_dependencies"
- echo "\$(PRJ_DIR)/db_config.h \\"
- echo " \$(PRJ_DIR)/db_int.h \\"
- echo " \$(PRJ_DIR)/db.h"
- echo "<END>"
- echo
- echo "${o}_objects"
- echo "`basename $i .c`.o"
- echo "<END>"
- echo
- echo "${o}_tool"
- echo "C/C++ compiler"
- echo "<END>"
- echo
- done
- echo "<BEGIN> PROJECT_FILES"
- sed -e '$!s/$/ \\/' \
- -e 's/^/$(PRJ_DIR)\/..\//' \
- -e '1!s/^/ /' < $vxfilelist
- echo "<END>"
- echo
- echo "<BEGIN> userComments"
- echo "BerkeleyDB"
- echo "<END>") > $t
- #
- # Build small lib project files
- #
- (cat vx_2.${v}/BerkeleyDBsmall.wpj
- for i in `cat $vxsmallfiles`; do
- o="<BEGIN> FILE_\$(PRJ_DIR)/../$i"
- echo "${o}_dependDone"
- echo "TRUE"
- echo "<END>"
- echo
- echo "${o}_dependencies"
- echo "\$(PRJ_DIR)/db_config.h \\"
- echo " \$(PRJ_DIR)/db_int.h \\"
- echo " \$(PRJ_DIR)/db.h"
- echo "<END>"
- echo
- echo "${o}_objects"
- echo "`basename $i .c`.o"
- echo "<END>"
- echo
- echo "${o}_tool"
- echo "C/C++ compiler"
- echo "<END>"
- echo
- done
- echo "<BEGIN> PROJECT_FILES"
- sed -e '$!s/$/ \\/' \
- -e 's/^/$(PRJ_DIR)\/..\//' \
- -e '1!s/^/ /' < $vxsmallfiles
- echo "<END>"
- echo
- echo "<BEGIN> userComments"
- echo "BerkeleyDB"
- echo "<END>") > $u
- f=../build_vxworks/BerkeleyDB2${v}.wpj
- cmp $t $f > /dev/null 2>&1 ||
- (echo "Building $f" && rm -f $f && cp $t $f)
- f=../build_vxworks/BerkeleyDB2${v}small.wpj
- cmp $u $f > /dev/null 2>&1 ||
- (echo "Building $f" && rm -f $f && cp $u $f)
-done
-
# vx6 --
# Generate a VxWorks 6.X Makefile.
#
@@ -535,6 +413,9 @@ vx6()
# Build the list of "normal build" files VxWorks 6x knows about -- it's
# the standard Vx list plus some additions.
sed -e '/^$/d' -e '/^[ #]/d' srcfiles.in |
+ egrep -w vx |
+ sed 's/[ ].*//' > $vxfilelist
+sed -e '/^$/d' -e '/^[ #]/d' srcfiles.in |
egrep -w vx6 |
sed 's/[ ].*//' >> $vxfilelist
vx6 $vxfilelist > $t
@@ -546,7 +427,7 @@ cmp $t $f > /dev/null 2>&1 ||
# the standard vxsmall list.
sed -e '/^$/d' -e '/^[ #]/d' srcfiles.in |
egrep -w vxsmall |
- sed 's/[ ].*//' >> $vxfilelist
+ sed 's/[ ].*//' >> $vxsmallfiles
vx6 $vxsmallfiles > $t
f=../build_vxworks/Makefile.6x.small
cmp $t $f > /dev/null 2>&1 ||
diff --git a/dist/s_windows b/dist/s_windows
index 5e4d38ef..9e4c67fb 100755
--- a/dist/s_windows
+++ b/dist/s_windows
@@ -84,6 +84,7 @@ typedef u_int32_t uintptr_t;\\
typedef int64_t off_t;
d
}
+s/@db_off_t_decl@/typedef int64_t db_off_t;/
/@platform_header@/{
i\\
/*\\
@@ -269,9 +270,14 @@ f=../build_windows/dbstl_common.h
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f)
+# Copy in sqlite3.h.
+f=../build_windows/sqlite3.h
+cmp ../lang/sql/generated/sqlite3.h $f > /dev/null 2>&1 ||
+ (echo "Building $f" && rm -f $f && cp ../lang/sql/generated/sqlite3.h $f)
+
# Copy in errno.h.
f=../build_wince/errno.h
cmp errno.h $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp errno.h $f)
-
+
rm -f $s $t
diff --git a/dist/srcfiles.in b/dist/srcfiles.in
index e3465f12..4905d996 100644
--- a/dist/srcfiles.in
+++ b/dist/srcfiles.in
@@ -14,6 +14,10 @@
# Each non-blank, non-comment line is of the form
# filename module [ module ...]
+src/blob/blob_fileops.c android vx vxsmall
+src/blob/blob_page.c android vx vxsmall
+src/blob/blob_stream.c android vx vxsmall
+src/blob/blob_util.c android vx vxsmall
src/btree/bt_compact.c android vx vxsmall
src/btree/bt_compare.c android vx vxsmall
src/btree/bt_compress.c android vx vxsmall
@@ -72,7 +76,7 @@ src/clib/strcasecmp.c vx vxsmall
src/clib/strdup.c vx vxsmall
src/clib/strsep.c vx vxsmall
src/common/clock.c android vx vxsmall
-src/common/crypto_stub.c android vxsmall
+src/common/crypto_stub.c vxsmall
src/common/db_byteorder.c android vx vxsmall
src/common/db_compint.c android vx vxsmall
src/common/db_err.c android vx vxsmall
@@ -96,6 +100,7 @@ src/crypto/rijndael/rijndael-api-fst.c vx
lang/cxx/cxx_channel.cpp vx6
lang/cxx/cxx_db.cpp vx6
lang/cxx/cxx_dbc.cpp vx6
+lang/cxx/cxx_dbstream.cpp vx6
lang/cxx/cxx_dbt.cpp vx6
lang/cxx/cxx_env.cpp vx6
lang/cxx/cxx_except.cpp vx6
@@ -199,6 +204,7 @@ src/heap/heap_rec.c vx
src/heap/heap_reclaim.c vx
src/heap/heap_stat.c vx
src/heap/heap_stub.c android vxsmall
+src/heap/heap_upgrade.c vx
src/heap/heap_verify.c vx
src/hmac/hmac.c android vx vxsmall
src/hmac/sha1.c android vx vxsmall
@@ -244,7 +250,6 @@ src/mp/mp_sync.c android vx vxsmall
src/mp/mp_trickle.c android vx vxsmall
src/mutex/mut_alloc.c android vx vxsmall
src/mutex/mut_failchk.c android vx vxsmall
-src/mutex/mut_fcntl.c
src/mutex/mut_method.c android vx vxsmall
src/mutex/mut_region.c android vx vxsmall
src/mutex/mut_stat.c android vx vxsmall
@@ -271,6 +276,7 @@ src/os/os_open.c android vx vxsmall
src/os/os_path.c android vx vxsmall
src/os/os_pid.c android vx vxsmall
src/os/os_rename.c android vx vxsmall
+src/os/os_rmdir.c android vx vxsmall
src/os/os_root.c android vx vxsmall
src/os/os_rpath.c android
src/os/os_rw.c android vx vxsmall
diff --git a/dist/template/rec_dbreg b/dist/template/rec_dbreg
index f5657967..8290bb27 100644
--- a/dist/template/rec_dbreg
+++ b/dist/template/rec_dbreg
@@ -70,3 +70,68 @@ __dbreg_register_recover(env, dbtp, lsnp, op, info)
out: REC_CLOSE;
}
+/*
+ * __dbreg_register_recover --
+ * Recovery function for register.
+ *
+ * PUBLIC: int __dbreg_register_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__dbreg_register_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __dbreg_register_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__dbreg_register_print);
+ REC_INTRO(__dbreg_register_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
diff --git a/dist/template/rec_fileops b/dist/template/rec_fileops
index c2c770d8..384d333c 100644
--- a/dist/template/rec_fileops
+++ b/dist/template/rec_fileops
@@ -136,6 +136,71 @@ out: REC_CLOSE;
}
/*
+ * __fop_create_recover --
+ * Recovery function for create.
+ *
+ * PUBLIC: int __fop_create_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__fop_create_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __fop_create_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__fop_create_print);
+ REC_INTRO(__fop_create_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
+/*
* __fop_remove_recover --
* Recovery function for remove.
*
@@ -201,6 +266,136 @@ out: REC_CLOSE;
}
/*
+ * __fop_remove_recover --
+ * Recovery function for remove.
+ *
+ * PUBLIC: int __fop_remove_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__fop_remove_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __fop_remove_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__fop_remove_print);
+ REC_INTRO(__fop_remove_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
+/*
+ * __fop_write_recover --
+ * Recovery function for write.
+ *
+ * PUBLIC: int __fop_write_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__fop_write_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __fop_write_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__fop_write_print);
+ REC_INTRO(__fop_write_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
+/*
* __fop_write_recover --
* Recovery function for write.
*
@@ -331,6 +526,201 @@ out: REC_CLOSE;
}
/*
+ * __fop_write_file_recover --
+ * Recovery function for write_file.
+ *
+ * PUBLIC: int __fop_write_file_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__fop_write_file_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __fop_write_file_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__fop_write_file_print);
+ REC_INTRO(__fop_write_file_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
+/*
+ * __fop_write_file_recover --
+ * Recovery function for write_file.
+ *
+ * PUBLIC: int __fop_write_file_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__fop_write_file_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __fop_write_file_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__fop_write_file_print);
+ REC_INTRO(__fop_write_file_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
+/*
+ * __fop_rename_recover --
+ * Recovery function for rename.
+ *
+ * PUBLIC: int __fop_rename_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__fop_rename_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __fop_rename_noundo_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__fop_rename_noundo_print);
+ REC_INTRO(__fop_rename_noundo_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
+/*
* __fop_rename_recover --
* Recovery function for rename.
*
@@ -525,3 +915,68 @@ __fop_file_remove_recover(env, dbtp, lsnp, op, info)
out: REC_CLOSE;
}
+/*
+ * __fop_file_remove_recover --
+ * Recovery function for file_remove.
+ *
+ * PUBLIC: int __fop_file_remove_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__fop_file_remove_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __fop_file_remove_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__fop_file_remove_print);
+ REC_INTRO(__fop_file_remove_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
diff --git a/dist/template/rec_heap b/dist/template/rec_heap
index b6dc7a3b..75c424d2 100644
--- a/dist/template/rec_heap
+++ b/dist/template/rec_heap
@@ -71,6 +71,136 @@ out: REC_CLOSE;
}
/*
+ * __heap_addrem_recover --
+ * Recovery function for addrem.
+ *
+ * PUBLIC: int __heap_addrem_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__heap_addrem_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __heap_addrem_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__heap_addrem_print);
+ REC_INTRO(__heap_addrem_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
+/*
+ * __heap_addrem_recover --
+ * Recovery function for addrem.
+ *
+ * PUBLIC: int __heap_addrem_recover
+ * PUBLIC: __P((env *, DBT *, DB_LSN *, db_recops, void *));
+ */
+int
+__heap_addrem_recover(env, dbtp, lsnp, op, info)
+ env *env;
+ DBT *dbtp;
+ DB_LSN *lsnp;
+ db_recops op;
+ void *info;
+{
+ __heap_addrem_args *argp;
+ DB *file_dbp;
+ DBC *dbc;
+ DB_MPOOLFILE *mpf;
+ DB_THREAD_INFO *ip;
+ PAGE *pagep;
+ int cmp_n, cmp_p, modified, ret;
+
+ ip = ((DB_TXNHEAD *)info)->thread_info;
+
+ REC_PRINT(__heap_addrem_print);
+ REC_INTRO(__heap_addrem_read, ip, 0);
+
+ if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
+ if (DB_REDO(op)) {
+ if ((ret = mpf->get(mpf,
+ &argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
+ goto out;
+ } else {
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+ goto out;
+ }
+
+ modified = 0;
+ cmp_n = log_compare(lsnp, &LSN(pagep));
+
+ /*
+ * Use this when there is something like "pagelsn" in the argp
+ * structure. Sometimes, you might need to compare meta-data
+ * lsn's instead.
+ *
+ * cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
+ */
+ if (cmp_p == 0 && DB_REDO(op)) {
+ /* Need to redo update described. */
+ modified = 1;
+ } else if (cmp_n == 0 && !DB_REDO(op)) {
+ /* Need to undo update described. */
+ modified = 1;
+ }
+ if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
+ goto out;
+
+ *lsnp = argp->prev_lsn;
+ ret = 0;
+
+out: REC_CLOSE;
+}
+
+/*
* __heap_pg_alloc_recover --
* Recovery function for pg_alloc.
*
diff --git a/dist/validate/s_chk_comma.c b/dist/validate/s_chk_comma.c
index d14219f8..2a8cb43c 100644
--- a/dist/validate/s_chk_comma.c
+++ b/dist/validate/s_chk_comma.c
@@ -1,7 +1,7 @@
/*-
* See the file LICENSE for redistribution information.
*
- * Copyright (c) 2002, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015 Oracle and/or its affiliates. All rights reserved.
*/
#include <sys/types.h>
diff --git a/dist/validate/s_chk_flags.c b/dist/validate/s_chk_flags.c
index 54645e40..a2ada6c1 100644
--- a/dist/validate/s_chk_flags.c
+++ b/dist/validate/s_chk_flags.c
@@ -1,7 +1,7 @@
/*-
* See the file LICENSE for redistribution information.
*
- * Copyright (c) 2002, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015 Oracle and/or its affiliates. All rights reserved.
*/
#include <sys/types.h>
diff --git a/dist/validate/s_chk_logverify.c b/dist/validate/s_chk_logverify.c
index e1134ca5..2cb29106 100644
--- a/dist/validate/s_chk_logverify.c
+++ b/dist/validate/s_chk_logverify.c
@@ -1,7 +1,7 @@
/*-
* See the file LICENSE for redistribution information.
*
- * Copyright (c) 2009, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015 Oracle and/or its affiliates. All rights reserved.
*
* $Id$
*/
diff --git a/dist/validate/s_chk_runrecovery b/dist/validate/s_chk_runrecovery
index 384666fd..6bc9d402 100644
--- a/dist/validate/s_chk_runrecovery
+++ b/dist/validate/s_chk_runrecovery
@@ -20,10 +20,12 @@ egrep DB_RUNRECOVERY $s/*/*.c |
-e '/db_dispatch.c:.*if (ret == DB_RUNRECOVERY/d' \
-e '/db_err.c:/d' \
-e '/env_open.c:.*ret = DB_RUNRECOVERY;/d' \
+ -e '/env_open.c:.*ret == DB_RUNRECOVERY/d'\
-e '/os_errno.c:.*evalue == DB_RUNRECOVERY/d' \
-e '/mut_fcntl.c:.*return (DB_RUNRECOVERY);/d' \
-e '/mut_pthread.c:.*return (DB_RUNRECOVERY);/d' \
- -e '/mut_tas.c:.*return (DB_RUNRECOVERY);/d' \
+ -e '/mut_pthread.c:.*ret = DB_RUNRECOVERY;/d' \
+ -e '/mut_tas.c:.*DB_RUNRECOVERY)));/d' \
-e '/mut_tas.c:.*Possibly DB_RUNRECOVERY if/d' \
-e '/mut_win32.c:.*return (DB_RUNRECOVERY);/d' \
-e '/mut_win32.c:.*ret = DB_RUNRECOVERY;/d' \
diff --git a/dist/validate/s_chk_stats b/dist/validate/s_chk_stats
index d7c5c5f3..091ed20d 100644
--- a/dist/validate/s_chk_stats
+++ b/dist/validate/s_chk_stats
@@ -42,6 +42,7 @@ qs_metaflags
qs_ndata
st_hash_max_nowait
st_filefail_cleanups
+st_log_futuredup
END_OF_IGNORE
# Check to make sure the elements of a structure from db.h appear in
diff --git a/dist/validate/s_chk_vxworks b/dist/validate/s_chk_vxworks
index 091c4aa5..6b36bd7d 100644
--- a/dist/validate/s_chk_vxworks
+++ b/dist/validate/s_chk_vxworks
@@ -69,7 +69,7 @@ done
echo "int"
echo "main(int argc, char *argv[])"
echo "{"
-echo "int r;"
+echo "int r=0;"
for i in $SYMBOL_LIST; do
echo "r += ${i}_main(argc, argv);"
done
diff --git a/dist/vx_6/Makefile.1 b/dist/vx_6/Makefile.1
index 45a12088..b1042a63 100644
--- a/dist/vx_6/Makefile.1
+++ b/dist/vx_6/Makefile.1
@@ -50,7 +50,7 @@ TOOL_FAMILY = diab
TOOL = diabS
TOOL_PATH =
CC_ARCH_SPEC = -tX86LH:vxworks66
-VXVER := vxworks-6.8
+VXVER := vxworks-6.9
LIBPATH =
LIBS = -lstlstd
diff --git a/dist/vx_config.in b/dist/vx_config.in
index a278386d..36e5efdd 100644
--- a/dist/vx_config.in
+++ b/dist/vx_config.in
@@ -92,6 +92,10 @@
/* Define to 1 if building the DBM API. */
/* #undef HAVE_DBM */
+/* Define to 1 if you want a version that records extra information about
+ errors. */
+/* #undef HAVE_ERROR_HISTORY */
+
/* Define to 1 if you have the `directio' function. */
/* #undef HAVE_DIRECTIO */
@@ -111,6 +115,9 @@
/* Define to 1 if you have EXIT_SUCCESS/EXIT_FAILURE #defines. */
#define HAVE_EXIT_SUCCESS 1
+/* Define to 1 for failchk to inform all waiting threads about crashes. */
+/* #undef HAVE_FAILCHK_BROADCAST */
+
/* Define to 1 if you have the `fchmod' function. */
/* #undef HAVE_FCHMOD */
@@ -180,6 +187,9 @@
/* Define to 1 if you have the `hstrerror' function. */
/* #undef HAVE_HSTRERROR */
+/* Define to 1 if you have the `initstate_r' function. */
+/* #undef HAVE_INITSTATE_R */
+
/* Define to 1 if you have the <inttypes.h> header file. */
/* #undef HAVE_INTTYPES_H */
@@ -201,6 +211,9 @@
/* Define to 1 if you have the `localtime' function. */
#define HAVE_LOCALTIME 1
+/* Define to 1 if you have the `localtime_r' function. */
+/* #undef HAVE_LOCALTIME_R */
+
/* Define to 1 if you want to enable log checksums. */
#define HAVE_LOG_CHECKSUM 1
@@ -374,6 +387,15 @@
pthread_cond_t. */
/* #undef HAVE_PTHREAD_COND_REINIT_OKAY */
+/* Define to 1 if you have the `pthread_getspecific' function. */
+/* #undef HAVE_PTHREAD_GETSPECIFIC */
+
+/* Define to 1 if you have the `pthread_key_create' function. */
+/* #undef HAVE_PTHREAD_KEY_CREATE */
+
+/* Define to 1 if you have the `pthread_once' function. */
+/* #undef HAVE_PTHREAD_ONCE */
+
/* Define to 1 if it is OK to initialize an already initialized
pthread_rwlock_t. */
/* #undef HAVE_PTHREAD_RWLOCK_REINIT_OKAY */
@@ -381,6 +403,9 @@
/* Define to 1 if you have the `pthread_self' function. */
/* #undef HAVE_PTHREAD_SELF */
+/* Define to 1 if you have the `pthread_setspecific' function. */
+/* #undef HAVE_PTHREAD_SETSPECIFIC */
+
/* Define to 1 if you have the `pthread_yield' function. */
/* #undef HAVE_PTHREAD_YIELD */
@@ -405,6 +430,9 @@
/* Define to 1 if you have the `random' function. */
/* #undef HAVE_RANDOM */
+/* Define to 1 if you have the `random_r' function. */
+/* #undef HAVE_RANDOM_R */
+
/* Define to 1 if building replication support. */
#define HAVE_REPLICATION 1
@@ -441,6 +469,9 @@
/* Define to 1 if you have the `snprintf' function. */
/* #undef HAVE_SNPRINTF */
+/* Define to 1 if you have the `srandom_r' function. */
+/* #undef HAVE_SRANDOM_R */
+
/* Define to 1 if you have the `stat' function. */
#define HAVE_STAT 1
@@ -596,6 +627,9 @@
/* The size of a `long long', as computed by sizeof. */
/* #undef SIZEOF_LONG_LONG */
+/* The size of `off_t', as computed by sizeof. */
+/* #undef SIZEOF_OFF_T */
+
/* The size of a `short', as computed by sizeof. */
/* #undef SIZEOF_SHORT */
diff --git a/dist/vx_setup/LICENSE.TXT b/dist/vx_setup/LICENSE.TXT
index c383b81b..152a8c11 100644
--- a/dist/vx_setup/LICENSE.TXT
+++ b/dist/vx_setup/LICENSE.TXT
@@ -1,2 +1,2 @@
-Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 1996, 2015 Oracle and/or its affiliates. All rights reserved.
See the file LICENSE for redistribution information.
diff --git a/dist/win_config.in b/dist/win_config.in
index abb90223..ce0767f6 100644
--- a/dist/win_config.in
+++ b/dist/win_config.in
@@ -89,6 +89,17 @@
/* Define to 1 if building the DBM API. */
#define HAVE_DBM 1
+/* Define to 1 if you want a version that records extra information about
+ errors. */
+/* #undef HAVE_ERROR_HISTORY */
+
+/* Define to 1 if you have the `directio' function. */
+/* #undef HAVE_DIRECTIO */
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#define HAVE_DIRENT_H 1
+
/* Define to 1 if you have the `directio' function. */
/* #undef HAVE_DIRECTIO */
@@ -108,6 +119,9 @@
/* Define to 1 if you have EXIT_SUCCESS/EXIT_FAILURE #defines. */
#define HAVE_EXIT_SUCCESS 1
+/* Define to 1 for failchk to inform all waiting threads about crashes. */
+/* #undef HAVE_FAILCHK_BROADCAST */
+
/* Define to 1 if you have the `fchmod' function. */
/* #undef HAVE_FCHMOD */
@@ -185,6 +199,9 @@
/* Define to 1 if you have the `hstrerror' function. */
/* #undef HAVE_HSTRERROR */
+/* Define to 1 if you have the `initstate_r' function. */
+/* #undef HAVE_INITSTATE_R */
+
/* Define to 1 if you have the <inttypes.h> header file. */
/* #undef HAVE_INTTYPES_H */
@@ -203,6 +220,9 @@
/* Define to 1 if you have the `localtime' function. */
#define HAVE_LOCALTIME 1
+/* Define to 1 if you have the `localtime_r' function. */
+/* #undef HAVE_LOCALTIME_R */
+
/* Define to 1 to enable log checksums. */
#define HAVE_LOG_CHECKSUM 1
@@ -379,6 +399,15 @@
pthread_cond_t. */
/* #undef HAVE_PTHREAD_COND_REINIT_OKAY */
+/* Define to 1 if you have the `pthread_getspecific' function. */
+/* #undef HAVE_PTHREAD_GETSPECIFIC */
+
+/* Define to 1 if you have the `pthread_key_create' function. */
+/* #undef HAVE_PTHREAD_KEY_CREATE */
+
+/* Define to 1 if you have the `pthread_once' function. */
+/* #undef HAVE_PTHREAD_ONCE */
+
/* Define to 1 if it is OK to initialize an already initialized
pthread_rwlock_t. */
/* #undef HAVE_PTHREAD_RWLOCK_REINIT_OKAY */
@@ -386,6 +415,9 @@
/* Define to 1 if you have the `pthread_self' function. */
/* #undef HAVE_PTHREAD_SELF */
+/* Define to 1 if you have the `pthread_setspecific' function. */
+/* #undef HAVE_PTHREAD_SETSPECIFIC */
+
/* Define to 1 if you have the `pthread_yield' function. */
/* #undef HAVE_PTHREAD_YIELD */
@@ -412,6 +444,9 @@
/* Define to 1 if you have the `random' function. */
/* #undef HAVE_RANDOM */
+/* Define to 1 if you have the `random_r' function. */
+/* #undef HAVE_RANDOM_R /
+
/* Define to 1 if building replication support. */
#ifndef HAVE_SMALLBUILD
#define HAVE_REPLICATION 1
@@ -452,6 +487,9 @@
/* Define to 1 if you have the `snprintf' function. */
#define HAVE_SNPRINTF 1
+/* Define to 1 if you have the `srandom_r' function. */
+/* #undef HAVE_SRANDOM_R */
+
/* Define to 1 if you have the `stat' function. */
#define HAVE_STAT 1
@@ -615,6 +653,9 @@
/* The size of a `long long', as computed by sizeof. */
/* #undef SIZEOF_LONG_LONG */
+/* The size of `off_t', as computed by sizeof. */
+/* #undef SIZEOF_OFF_T */
+
/* The size of a `short', as computed by sizeof. */
/* #undef SIZEOF_SHORT */
diff --git a/dist/win_exports.in b/dist/win_exports.in
index 8a57ba68..a286a5a4 100644
--- a/dist/win_exports.in
+++ b/dist/win_exports.in
@@ -82,9 +82,12 @@ __os_read db db_small
__os_realloc db db_small
__os_rename db db_small
__os_strdup db db_small
+__os_support_direct_io db db_small
__os_umalloc db db_small
__os_unlink db db_small
__os_write db db_small
+__repmgr_get_incoming_queue_fullevent db db_small
+__repmgr_get_incoming_queue_redzone db db_small
__txn_id_set db db_small
# These are needed for linking tools or java.
@@ -162,17 +165,25 @@ __db_util_logset db db_small
__db_util_siginit db db_small
__db_util_sigresend db db_small
__db_verify_internal db db_small
-__dbreg_register_desc db db_small
+__dbreg_register_desc db db_small
+__dbreg_register_42_desc db db_small
__dbt_usercopy db db_small
__dbt_userfree db db_small
-__fop_create_42_desc db db_small
+__fop_create_42_desc db db_small
+__fop_create_60_desc db db_small
__fop_create_desc db db_small
-__fop_file_remove_desc db db_small
+__fop_file_remove_60_desc db db_small
+__fop_file_remove_desc db db_small
+__fop_remove_60_desc db db_small
__fop_remove_desc db db_small
-__fop_rename_42_desc db db_small
-__fop_rename_desc db db_small
-__fop_write_42_desc db db_small
-__fop_write_desc db db_small
+__fop_rename_42_desc db db_small
+__fop_rename_60_desc db db_small
+__fop_rename_desc db db_small
+__fop_write_42_desc db db_small
+__fop_write_60_desc db db_small
+__fop_write_desc db db_small
+__fop_write_file_60_desc db db_small
+__fop_write_file_desc db db_small
__ham_changeslot_desc db
__ham_chgpg_desc db
__ham_contract_desc db
@@ -192,9 +203,10 @@ __ham_release_meta db
__ham_replace_42_desc db
__ham_replace_desc db
__ham_splitdata_desc db
+__heap_addrem_60_desc db
+__heap_addrem_50_desc db
__heap_addrem_desc db
__heap_exist db db_small
-__heap_init_print db db_small
__heap_pg_alloc_desc db
__heap_trunc_meta_desc db
__heap_trunc_page_desc db
@@ -248,3 +260,4 @@ __txn_xa_regop_42_desc db db_small
# These are needed for internal test programs.
__repmgr_getaddr db
+__db_ctimespec db
diff --git a/dist/win_projects/db.projects b/dist/win_projects/db.projects
index a933539c..0773eadb 100644
--- a/dist/win_projects/db.projects
+++ b/dist/win_projects/db.projects
@@ -14,6 +14,7 @@ db_printlog
db_recover
db_replicate
db_repsite
+db_reptest
db_small
db_sql
db_sql_codegen
@@ -29,6 +30,7 @@ db_tuner
db_upgrade
db_verify
ex_access
+ex_blob
ex_btrec
ex_bulk
ex_csvcode
@@ -61,6 +63,7 @@ example_database_load
example_database_read
excxx_access
excxx_btrec
+excxx_bulk
excxx_env
excxx_example_database_load
excxx_example_database_read
diff --git a/dist/win_projects/db_wince.projects b/dist/win_projects/db_wince.projects
index 69ffc650..ccd36a8d 100644
--- a/dist/win_projects/db_wince.projects
+++ b/dist/win_projects/db_wince.projects
@@ -1,5 +1,19 @@
db_small
db
+db_archive
+db_checkpoint
+db_deadlock
+db_dump
+db_hotbackup
+db_load
+db_log_verify
+db_printlog
db_sql
+db_recover
+db_replicate
+db_stat
+db_tuner
+db_upgrade
+db_verify
wce_sql
wce_tpcb
diff --git a/dist/win_projects/genproject.template b/dist/win_projects/genproject.template
index faf8dd96..8dbfbdad 100644
--- a/dist/win_projects/genproject.template
+++ b/dist/win_projects/genproject.template
@@ -60,6 +60,12 @@ declare function local:isRelease($config) as xs:boolean
contains($config,"Release")
};
+(: whether use WinMainCRTStartup as EntryPoint :)
+declare function local:isWinMain($project) as xs:boolean
+{
+ contains($project/configuration/text(),"WinMain")
+};
+
declare function local:characterSet()
{
if ($mobile) then "1" else "2"
@@ -297,8 +303,9 @@ local:indent(6),<Tool>
{local:makeImportLibrary($project,$config)}
{local:makeModuleDefinition($project,$config)}
{attribute{"TargetMachine"}{if (contains($platform, "(ARMV4)")) then "3" else "0"}}
+ {if ($mobile) then (attribute{"SubSystem"}{"9"}) else ()}
{if ($project/type eq "app" and $mobile) then
- (attribute{"SubSystem"}{"9"},attribute{"EntryPointSymbol"}{"WinMainCRTStartup"})
+ (attribute{"EntryPointSymbol"}{if (local:isWinMain($project)) then "WinMainCRTStartup" else "mainACRTStartup"})
else ()}
</Tool>
};
diff --git a/dist/win_projects/projects.template.xml b/dist/win_projects/projects.template.xml
index b798fc65..c24083f2 100644
--- a/dist/win_projects/projects.template.xml
+++ b/dist/win_projects/projects.template.xml
@@ -143,7 +143,7 @@
</platform>
</library>
<library name="tcl">
- <libname config="Debug">tcl85g</libname>
+ <libname config="Debug">tcl85</libname>
<libname config="Release">tcl85</libname>
<platform name="Win32 x64">
<config type="Debug">
@@ -189,6 +189,10 @@
<!-- <preprocessor config="Static Debug">DIAGNOSTIC</preprocessor> -->
<files>
<file name="src/crypto/aes_method.c"/>
+ <file name="src/blob/blob_fileops.c"/>
+ <file name="src/blob/blob_page.c"/>
+ <file name="src/blob/blob_stream.c"/>
+ <file name="src/blob/blob_util.c"/>
<file name="src/btree/bt_compact.c"/>
<file name="src/btree/bt_compare.c"/>
<file name="src/btree/bt_compress.c"/>
@@ -215,6 +219,7 @@
<file name="lang/cxx/cxx_channel.cpp"/>
<file name="lang/cxx/cxx_db.cpp"/>
<file name="lang/cxx/cxx_dbc.cpp"/>
+ <file name="lang/cxx/cxx_dbstream.cpp"/>
<file name="lang/cxx/cxx_dbt.cpp"/>
<file name="lang/cxx/cxx_env.cpp"/>
<file name="lang/cxx/cxx_except.cpp"/>
@@ -309,7 +314,6 @@
<file name="src/hash/hash_verify.c"/>
<file name="src/heap/heap.c"/>
<file name="src/heap/heap_auto.c"/>
- <file name="src/heap/heap_autop.c"/>
<file name="src/heap/heap_backup.c"/>
<file name="src/heap/heap_conv.c"/>
<file name="src/heap/heap_method.c"/>
@@ -317,6 +321,7 @@
<file name="src/heap/heap_rec.c"/>
<file name="src/heap/heap_reclaim.c"/>
<file name="src/heap/heap_stat.c"/>
+ <file name="src/heap/heap_upgrade.c"/>
<file name="src/heap/heap_verify.c"/>
<file name="src/hmac/hmac.c"/>
<file name="lang/hsearch/hsearch.c"/>
@@ -389,6 +394,7 @@
<file name="src/os_windows/os_map.c"/>
<file name="src/os_windows/os_mkdir.c"/>
<file name="src/os_windows/os_open.c"/>
+ <file name="src/os_windows/os_rmdir.c"/>
<file name="src/os/os_path.c"/>
<file name="src/os/os_pid.c"/>
<file name="src/os_windows/os_rename.c"/>
@@ -475,6 +481,10 @@
<preprocessor config="all">_UNICODE;UNICODE;HAVE_SMALLBUILD</preprocessor>
<preprocessor config="dll">DB_CREATE_DLL</preprocessor>
<files>
+ <file name="src\blob\blob_fileops.c"/>
+ <file name="src\blob\blob_page.c"/>
+ <file name="src\blob\blob_stream.c"/>
+ <file name="src\blob\blob_util.c"/>
<file name="src\btree\bt_compact.c"/>
<file name="src\btree\bt_compare.c"/>
<file name="src\btree\bt_conv.c"/>
@@ -513,6 +523,7 @@
<file name="lang\cxx\cxx_channel.cpp"/>
<file name="lang\cxx\cxx_db.cpp"/>
<file name="lang\cxx\cxx_dbc.cpp"/>
+ <file name="lang\cxx\cxx_dbstream.cpp"/>
<file name="lang\cxx\cxx_dbt.cpp"/>
<file name="lang\cxx\cxx_env.cpp"/>
<file name="lang\cxx\cxx_except.cpp"/>
@@ -649,6 +660,7 @@
<file name="src\os_windows\os_map.c"/>
<file name="src\os_windows\os_mkdir.c"/>
<file name="src\os_windows\os_open.c"/>
+ <file name="src/os_windows/os_rmdir.c"/>
<file name="src\os\os_path.c"/>
<file name="src\os_windows\os_rename.c"/>
<file name="src\os_windows\os_rw.c"/>
@@ -721,7 +733,9 @@
<file name="lang\sql\sqlite\ext\fts3\fts3_icu.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_porter.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_snippet.c"/>
+ <file name="lang\sql\sqlite\ext\fts3\fts3_term.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_tokenizer1.c"/>
+ <file name="lang\sql\sqlite\ext\fts3\fts3_tokenize_vtab.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_tokenizer.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_write.c"/>
<file name="lang\sql\sqlite\src\func.c"/>
@@ -769,6 +783,7 @@
<file name="lang\sql\sqlite\src\vdbeaux.c"/>
<file name="lang\sql\sqlite\src\vdbeblob.c"/>
<file name="lang\sql\sqlite\src\vdbemem.c"/>
+ <file name="lang\sql\sqlite\src\vdbesort.c"/>
<file name="lang\sql\sqlite\src\vdbetrace.c"/>
<file name="lang\sql\sqlite\src\vtab.c"/>
<file name="lang\sql\adapter\wal.c"/>
@@ -787,11 +802,12 @@
<command config="ReleaseDebug">
mkdir "./$(OutDir)/jdbc_classes/"
echo compiling JDBC classes
-javac -g -target 1.5 -d "$(OutDir)\jdbc_classes" -classpath "$(OutDir)\jdbc_classes" ..\..\lang\sql\jdbc\SQLite\*java ..\..\lang\sql\jdbc\SQLite\JDBC2x\*java
+javac -g -d "$(OutDir)\jdbc_classes" -classpath "$(OutDir)\jdbc_classes" ..\..\lang\sql\jdbc\SQLite\*java ..\..\lang\sql\jdbc\SQLite\JDBC2x\*java
echo Building JNI header files
javah -o ..\..\lang\sql\jdbc\native\sqlite_jni.h -classpath "$(OutDir)\jdbc_classes" SQLite.Database SQLite.Vm SQLite.FunctionContext SQLite.Stmt SQLite.Blob
echo creating jar file
-jar cf "$(OutDir)\jdbc.jar" -C "$(OutDir)\jdbc_classes" .
+cd $(OutDir)
+jar cf "jdbc.jar" -C "jdbc_classes" .
echo JDBC build finished</command>
</event>
<preprocessor config="all">DB_CREATE_DLL;_UNICODE;UNICODE;HAVE_SQLITE3;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_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</preprocessor>
@@ -859,6 +875,7 @@ echo JDBC build finished</command>
<file name="lang/tcl/tcl_db.c"/>
<file name="lang/tcl/tcl_db_pkg.c"/>
<file name="lang/tcl/tcl_dbcursor.c"/>
+ <file name="lang/tcl/tcl_dbstream.c"/>
<file name="lang/tcl/tcl_env.c"/>
<file name="lang/tcl/tcl_internal.c"/>
<file name="lang/tcl/tcl_lock.c"/>
@@ -884,14 +901,15 @@ echo JDBC build finished</command>
<command config="ReleaseDebug">
echo compiling Berkeley DB Java classes
mkdir "./$(OutDir)/classes/"
-javac -g -target 1.5 -d "$(OutDir)\classes" -classpath "$(OutDir)\classes" ..\..\lang\java\src\com\sleepycat\db\*.java ..\..\lang\java\src\com\sleepycat\db\internal\*.java ..\..\lang\java\src\com\sleepycat\asm\*.java ..\..\lang\java\src\com\sleepycat\bind\*.java ..\..\lang\java\src\com\sleepycat\bind\serial\*.java ..\..\lang\java\src\com\sleepycat\bind\tuple\*.java ..\..\lang\java\src\com\sleepycat\collections\*.java ..\..\lang\java\src\com\sleepycat\compat\*.java ..\..\lang\java\src\com\sleepycat\persist\*.java ..\..\lang\java\src\com\sleepycat\persist\evolve\*.java ..\..\lang\java\src\com\sleepycat\persist\impl\*.java ..\..\lang\java\src\com\sleepycat\persist\model\*.java ..\..\lang\java\src\com\sleepycat\persist\raw\*.java ..\..\lang\java\src\com\sleepycat\util\*.java ..\..\lang\java\src\com\sleepycat\util\keyrange\*.java
+javac -g -d "$(OutDir)\classes" -classpath "$(OutDir)\classes" ..\..\lang\java\src\com\sleepycat\db\*.java ..\..\lang\java\src\com\sleepycat\db\internal\*.java ..\..\lang\java\src\com\sleepycat\asm\*.java ..\..\lang\java\src\com\sleepycat\bind\*.java ..\..\lang\java\src\com\sleepycat\bind\serial\*.java ..\..\lang\java\src\com\sleepycat\bind\tuple\*.java ..\..\lang\java\src\com\sleepycat\collections\*.java ..\..\lang\java\src\com\sleepycat\compat\*.java ..\..\lang\java\src\com\sleepycat\persist\*.java ..\..\lang\java\src\com\sleepycat\persist\evolve\*.java ..\..\lang\java\src\com\sleepycat\persist\impl\*.java ..\..\lang\java\src\com\sleepycat\persist\model\*.java ..\..\lang\java\src\com\sleepycat\persist\raw\*.java ..\..\lang\java\src\com\sleepycat\util\*.java ..\..\lang\java\src\com\sleepycat\util\keyrange\*.java
java -classpath $(OutDir)\classes com.sleepycat.persist.model.ClassEnhancer $(OutDir)\classes
echo compiling examples
mkdir "$(OutDir)\classes.ex"
-javac -g -target 1.5 -d "$(OutDir)\classes.ex" -classpath "$(OutDir)\classes;$(OutDir)\classes.ex" ..\..\examples/java\src\db\*.java ..\..\examples/java\src\db\GettingStarted\*.java ..\..\examples/java\src\db\repquote\*.java ..\..\examples/java\src\db\repquote_gsg\*.java ..\..\examples/java\src\db\txn\*.java ..\..\examples/java\src\collections\access\*.java ..\..\examples/java\src\collections\hello\*.java ..\..\examples/java\src\collections\ship\basic\*.java ..\..\examples/java\src\collections\ship\entity\*.java ..\..\examples/java\src\collections\ship\factory\*.java ..\..\examples/java\src\collections\ship\index\*.java ..\..\examples/java\src\collections\ship\marshal\*.java ..\..\examples/java\src\collections\ship\sentity\*.java ..\..\examples/java\src\collections\ship\tuple\*.java ..\..\examples/java\src\persist\*.java ..\..\examples/java\src\persist\gettingStarted\*.java ..\..\examples/java\src\persist\txn\*.java
+javac -g -d "$(OutDir)\classes.ex" -classpath "$(OutDir)\classes;$(OutDir)\classes.ex" ..\..\examples/java\src\db\*.java ..\..\examples/java\src\db\GettingStarted\*.java ..\..\examples/java\src\db\repquote\*.java ..\..\examples/java\src\db\repquote_gsg\*.java ..\..\examples/java\src\db\txn\*.java ..\..\examples/java\src\collections\access\*.java ..\..\examples/java\src\collections\hello\*.java ..\..\examples/java\src\collections\ship\basic\*.java ..\..\examples/java\src\collections\ship\entity\*.java ..\..\examples/java\src\collections\ship\factory\*.java ..\..\examples/java\src\collections\ship\index\*.java ..\..\examples/java\src\collections\ship\marshal\*.java ..\..\examples/java\src\collections\ship\sentity\*.java ..\..\examples/java\src\collections\ship\tuple\*.java ..\..\examples/java\src\persist\*.java ..\..\examples/java\src\persist\gettingStarted\*.java ..\..\examples/java\src\persist\txn\*.java
echo creating jar files
-jar cfm "$(OutDir)/db.jar" ../..\lang/java/jarManifestEntries -C "$(OutDir)\classes" .
-jar cf "$(OutDir)/dbexamples.jar" -C "$(OutDir)\classes.ex" .
+cd $(OutDir)
+jar cfm "db.jar" ../../..\lang/java/jarManifestEntries -C "classes" .
+jar cf "dbexamples.jar" -C "classes.ex" .
echo Java build finished</command>
<output>force_compilation.txt</output>
</event>
@@ -907,6 +925,7 @@ echo Java build finished</command>
<include type="ref">all</include>
<options><nowp64/></options>
<preprocessor config="all">DB_CREATE_DLL;_UNICODE;UNICODE</preprocessor>
+ <preprocessor config="Debug">CONFIG_TEST</preprocessor>
<files>
<file name="lang/csharp/libdb_csharp/db_csharp_wrap.c"/>
</files>
@@ -1031,6 +1050,7 @@ echo Java build finished</command>
<file name="src/dbreg/dbreg_autop.c"/>
<file name="src/fileops/fileops_autop.c"/>
<file name="src/hash/hash_autop.c"/>
+ <file name="src/heap/heap_autop.c"/>
<file name="src/qam/qam_autop.c"/>
<file name="src/repmgr/repmgr_autop.c"/>
<file name="src/txn/txn_autop.c"/>
@@ -1069,6 +1089,20 @@ echo Java build finished</command>
<file name="src/clib/getopt.c"/>
</files>
</project>
+ <project name="db_reptest" guid="{4786F27F-FF38-42e8-87C1-CC3B6E544C5D}">
+ <type>app</type>
+ <configuration></configuration>
+ <depends>db</depends>
+ <include type="ref">all</include>
+ <files>
+ <file name="test/repmgr/db_reptest.c"/>
+ <file name="test/repmgr/reptest_am.c"/>
+ <file name="test/repmgr/reptest_handles.c"/>
+ <file name="test/repmgr/reptest_spawn.c"/>
+ <file name="test/repmgr/reptest_util.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
<project name="db_sql_shell" guid="A5DB89F0-06E5-11DF-8A39-0800200C9A66" output="dbsql">
<type>app</type>
<configuration></configuration>
@@ -1122,9 +1156,25 @@ echo Java build finished</command>
<file name="lang\sql\sqlite\ext\fts3\fts3_icu.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_porter.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_snippet.c"/>
+ <file name="lang\sql\sqlite\ext\fts3\fts3_term.c"/>
+ <file name="lang\sql\sqlite\ext\fts3\fts3_test.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_tokenizer1.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_tokenizer.c"/>
+ <file name="lang\sql\sqlite\ext\fts3\fts3_tokenize_vtab.c"/>
<file name="lang\sql\sqlite\ext\fts3\fts3_write.c"/>
+ <file name="lang\sql\sqlite\ext\misc\amatch.c"/>
+ <file name="lang\sql\sqlite\ext\misc\closure.c"/>
+ <file name="lang\sql\sqlite\ext\misc\fuzzer.c"/>
+ <file name="lang\sql\sqlite\ext\misc\ieee754.c"/>
+ <file name="lang\sql\sqlite\ext\misc\nextchar.c"/>
+ <file name="lang\sql\sqlite\ext\misc\percentile.c"/>
+ <file name="lang\sql\sqlite\ext\misc\regexp.c"/>
+ <file name="lang\sql\sqlite\ext\misc\rot13.c"/>
+ <file name="lang\sql\sqlite\ext\misc\spellfix.c"/>
+ <file name="lang\sql\sqlite\ext\misc\totype.c"/>
+ <file name="lang\sql\sqlite\ext\misc\vfslog.c"/>
+ <file name="lang\sql\sqlite\ext\misc\vtshim.c"/>
+ <file name="lang\sql\sqlite\ext\misc\wholenumber.c"/>
<file name="lang\sql\sqlite\src\func.c"/>
<file name="lang\sql\sqlite\src\global.c"/>
<file name="lang\sql\sqlite\src\hash.c"/>
@@ -1172,6 +1222,7 @@ echo Java build finished</command>
<file name="lang\sql\sqlite\src\vdbeaux.c"/>
<file name="lang\sql\sqlite\src\vdbeblob.c"/>
<file name="lang\sql\sqlite\src\vdbemem.c"/>
+ <file name="lang\sql\sqlite\src\vdbesort.c"/>
<file name="lang\sql\sqlite\src\vdbetrace.c"/>
<file name="lang\sql\sqlite\src\vtab.c"/>
<file name="lang\sql\adapter\wal.c"/>
@@ -1195,8 +1246,8 @@ echo Java build finished</command>
<file name="lang\sql\sqlite\src\test_config.c"/>
<file name="lang\sql\sqlite\src\test_demovfs.c"/>
<file name="lang\sql\sqlite\src\test_devsym.c"/>
+ <file name="lang\sql\sqlite\src\test_fs.c"/>
<file name="lang\sql\sqlite\src\test_func.c"/>
- <file name="lang\sql\sqlite\src\test_fuzzer.c"/>
<file name="lang\sql\sqlite\src\test_hexio.c"/>
<file name="lang\sql\sqlite\src\test_intarray.c"/>
<file name="lang\sql\sqlite\src\test_journal.c"/>
@@ -1218,7 +1269,6 @@ echo Java build finished</command>
<file name="lang\sql\sqlite\src\test_thread.c"/>
<file name="lang\sql\sqlite\src\test_vfs.c"/>
<file name="lang\sql\sqlite\src\test_vfstrace.c"/>
- <file name="lang\sql\sqlite\src\test_wholenumber.c"/>
<file name="lang\sql\sqlite\src\test_wsd.c"/>
</files>
</project>
@@ -1311,6 +1361,17 @@ echo Java build finished</command>
<file name="examples/c/ex_access.c"/>
</files>
</project>
+ <project name="ex_blob" guid="0460962E-97E3-40fd-B3CD-702085F2FC98">
+ <type>app</type>
+ <configuration></configuration>
+ <depends>db</depends>
+ <references>db</references>
+ <include type="ref">all</include>
+ <files>
+ <file name="src/clib/getopt.c"/>
+ <file name="examples/c/ex_blob.c"/>
+ </files>
+ </project>
<project name="ex_btrec" guid="5DD66F4B-EB4A-4453-BC31-3FF7B2240634">
<type>app</type>
<configuration></configuration>
@@ -1413,9 +1474,10 @@ echo Java build finished</command>
<command config="ReleaseDebug">
echo compiling examples
mkdir "$(OutDir)\classes.ex"
-javac -g -target 1.5 -d "$(OutDir)\classes.ex" -classpath "$(OutDir)\classes;$(OutDir)\classes.ex" ..\..\examples/java\src\db\*.java ..\..\examples/java\src\db\GettingStarted\*.java ..\..\examples/java\src\db\repquote\*.java ..\..\examples/java\src\db\repquote_gsg\*.java ..\..\examples/java\src\db\txn\*.java ..\..\examples/java\src\collections\access\*.java ..\..\examples/java\src\collections\hello\*.java ..\..\examples/java\src\collections\ship\basic\*.java ..\..\examples/java\src\collections\ship\entity\*.java ..\..\examples/java\src\collections\ship\factory\*.java ..\..\examples/java\src\collections\ship\index\*.java ..\..\examples/java\src\collections\ship\marshal\*.java ..\..\examples/java\src\collections\ship\sentity\*.java ..\..\examples/java\src\collections\ship\tuple\*.java ..\..\examples/java\src\persist\*.java ..\..\examples/java\src\persist\gettingStarted\*.java ..\..\examples/java\src\persist\txn\*.java
+javac -g -d "$(OutDir)\classes.ex" -classpath "$(OutDir)\classes;$(OutDir)\classes.ex" ..\..\examples/java\src\db\*.java ..\..\examples/java\src\db\GettingStarted\*.java ..\..\examples/java\src\db\repquote\*.java ..\..\examples/java\src\db\repquote_gsg\*.java ..\..\examples/java\src\db\txn\*.java ..\..\examples/java\src\collections\access\*.java ..\..\examples/java\src\collections\hello\*.java ..\..\examples/java\src\collections\ship\basic\*.java ..\..\examples/java\src\collections\ship\entity\*.java ..\..\examples/java\src\collections\ship\factory\*.java ..\..\examples/java\src\collections\ship\index\*.java ..\..\examples/java\src\collections\ship\marshal\*.java ..\..\examples/java\src\collections\ship\sentity\*.java ..\..\examples/java\src\collections\ship\tuple\*.java ..\..\examples/java\src\persist\*.java ..\..\examples/java\src\persist\gettingStarted\*.java ..\..\examples/java\src\persist\txn\*.java
echo creating jar files
-jar cf "$(OutDir)/dbexamples.jar" -C "$(OutDir)\classes.ex" .
+cd $(OutDir)
+jar cf "dbexamples.jar" -C "classes.ex" .
echo Java example build finished</command>
<output>force_compilation.txt</output>
</event>
@@ -1583,6 +1645,17 @@ echo Java example build finished</command>
<file name="examples/cxx/BtRecExample.cpp"/>
</files>
</project>
+ <project name="excxx_bulk" guid="5AEBE8D9-4B6D-46AA-B810-30CD7E6BBD5F">
+ <type>app</type>
+ <configuration></configuration>
+ <depends>db</depends>
+ <references>db</references>
+ <include type="ref">all</include>
+ <files>
+ <file name="src/clib/getopt.c"/>
+ <file name="examples/cxx/BulkExample.cpp"/>
+ </files>
+ </project>
<project name="excxx_env" guid="E790C029-341D-489B-B987-D35947AD78C3">
<type>app</type>
<configuration></configuration>
@@ -1985,6 +2058,7 @@ echo Java example build finished</command>
<file name="test/c/cutest/CuTest.c"/>
<file name="test/c/cutest/CuTests.c"/>
<file name="test/c/cutest/Runner.c"/>
+ <file name="test/c/suites/TestCallbackSetterAndGetter.c"/>
<file name="test/c/suites/TestChannel.c"/>
<file name="test/c/suites/TestDbHotBackup.c"/>
<file name="test/c/suites/TestDbTuner.c"/>
@@ -1992,7 +2066,10 @@ echo Java example build finished</command>
<file name="test/c/suites/TestEnvConfig.c"/>
<file name="test/c/suites/TestEnvMethod.c"/>
<file name="test/c/suites/TestKeyExistErrorReturn.c"/>
+ <file name="test/c/suites/TestMutexAlignment.c"/>
<file name="test/c/suites/TestPartial.c"/>
+ <file name="test/c/suites/TestPartition.c"/>
+ <file name="test/c/suites/TestPreOpenSetterAndGetter.c"/>
<file name="test/c/suites/TestQueue.c"/>
</files>
</project>
diff --git a/dist/win_projects/projects_csharp.template.xml b/dist/win_projects/projects_csharp.template.xml
index c73489bc..f9c5728c 100644
--- a/dist/win_projects/projects_csharp.template.xml
+++ b/dist/win_projects/projects_csharp.template.xml
@@ -35,6 +35,8 @@
<file name="CompactData.cs" />
<file name="MultipleKeyDatabaseEntry.cs" />
<file name="DatabaseEntry.cs" />
+ <file name="DatabaseStream.cs" />
+ <file name="DatabaseStreamConfig.cs" />
<file name="DbChannel.cs" />
<file name="DbSite.cs" />
<file name="DbSiteConfig.cs" />
@@ -114,6 +116,7 @@
<file name="Internal\DB_LSN.cs" />
<file name="Internal\db_recops.cs" />
<file name="Internal\DB_SITE.cs" />
+ <file name="Internal\DB_STREAM.cs" />
<file name="Internal\DB_TXN.cs" />
<file name="Internal\DB_TXN_TOKEN.cs" />
<file name="Internal\Delegates.cs" />
diff --git a/dist/win_projects/projects_wince.template.xml b/dist/win_projects/projects_wince.template.xml
index 7a9cc337..d3f79ef9 100644
--- a/dist/win_projects/projects_wince.template.xml
+++ b/dist/win_projects/projects_wince.template.xml
@@ -63,6 +63,10 @@
<preprocessor config="Debug">DIAGNOSTIC;CONFIG_TEST</preprocessor>
<preprocessor config="Static Debug">DIAGNOSTIC;</preprocessor>
<files>
+ <file name="src\blob\blob_fileops.c"/>
+ <file name="src\blob\blob_page.c"/>
+ <file name="src\blob\blob_stream.c"/>
+ <file name="src\blob\blob_util.c"/>
<file name="src\btree\bt_compact.c"/>
<file name="src\btree\bt_compare.c"/>
<file name="src\btree\bt_conv.c"/>
@@ -204,6 +208,7 @@
<file name="src\log\log_debug.c"/>
<file name="src\log\log_get.c"/>
<file name="src\log\log_method.c"/>
+ <file name="src\log\log_print.c"/>
<file name="src\log\log_put.c"/>
<file name="src\log\log_stat.c"/>
<file name="src\log\log_verify.c"/>
@@ -242,6 +247,11 @@
<file name="src\os\os_tmpdir.c"/>
<file name="src\os\os_uid.c"/>
<file name="src\os_windows\ce_ctime.c"/>
+ <file name="src\os_windows\ce_freopen.c"/>
+ <file name="src\os_windows\ce_gmtime.c"/>
+ <file name="src\os_windows\ce_mktime.c"/>
+ <file name="src\os_windows\ce_remove.c"/>
+ <file name="src\os_windows\ce_util_sig.c"/>
<file name="src\os_windows\os_abs.c"/>
<file name="src\os_windows\os_clock.c"/>
<file name="src\os_windows\os_config.c"/>
@@ -257,6 +267,7 @@
<file name="src\os_windows\os_mkdir.c"/>
<file name="src\os_windows\os_open.c"/>
<file name="src\os_windows\os_rename.c"/>
+ <file name="src\os_windows\os_rmdir.c"/>
<file name="src\os_windows\os_rw.c"/>
<file name="src\os_windows\os_seek.c"/>
<file name="src\os_windows\os_stat.c"/>
@@ -299,6 +310,10 @@
<preprocessor config="Debug">DIAGNOSTIC</preprocessor>
<preprocessor config="Static Debug">DIAGNOSTIC</preprocessor>
<files>
+ <file name="src\blob\blob_fileops.c"/>
+ <file name="src\blob\blob_page.c"/>
+ <file name="src\blob\blob_stream.c"/>
+ <file name="src\blob\blob_util.c"/>
<file name="src\btree\bt_compact.c"/>
<file name="src\btree\bt_compare.c"/>
<file name="src\btree\bt_conv.c"/>
@@ -462,6 +477,7 @@
<file name="src\os_windows\os_mkdir.c"/>
<file name="src\os_windows\os_open.c"/>
<file name="src\os_windows\os_rename.c"/>
+ <file name="src\os_windows\os_rmdir.c"/>
<file name="src\os_windows\os_rw.c"/>
<file name="src\os_windows\os_seek.c"/>
<file name="src\os_windows\os_stat.c"/>
@@ -562,6 +578,7 @@
<file name="lang\sql\sqlite\src\vdbeaux.c"/>
<file name="lang\sql\sqlite\src\vdbeblob.c"/>
<file name="lang\sql\sqlite\src\vdbemem.c"/>
+ <file name="lang\sql\sqlite\src\vdbesort.c"/>
<file name="lang\sql\sqlite\src\vdbetrace.c"/>
<file name="lang\sql\sqlite\src\vtab.c"/>
<file name="lang\sql\adapter\wal.c"/>
@@ -569,11 +586,151 @@
<file name="lang\sql\sqlite\src\where.c"/>
</files>
</project>
+
+ <!-- Utilities -->
+ <project name="db_archive" guid="56056344-53A1-4FA6-B20B-862C0BA68953">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_archive.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_checkpoint" guid="A3BE0163-1E6C-4235-9B6B-3A36ABB5E285">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_checkpoint.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_deadlock" guid="CD0FD995-B4D1-4907-987B-99CF3304E7E0">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_deadlock.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_dump" guid="DB067D2C-7163-428B-AAF8-642316AB173B">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_dump.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_hotbackup" guid="67C0DABC-353A-491F-9A77-8E2E601ED52B">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_hotbackup.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_load" guid="7640133F-4AB8-42DA-ADB5-95F21447F7D5">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_load.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_log_verify" guid="872961A3-877A-4B53-886D-F1FB65073608">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_log_verify.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_printlog" guid="D505F51B-2B92-4850-A08F-9113D947FF4B">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_printlog.c"/>
+ <file name="src/btree/btree_autop.c"/>
+ <file name="src/db/crdel_autop.c"/>
+ <file name="src/db/db_autop.c"/>
+ <file name="src/dbreg/dbreg_autop.c"/>
+ <file name="src/fileops/fileops_autop.c"/>
+ <file name="src/hash/hash_autop.c"/>
+ <file name="src/heap/heap_autop.c"/>
+ <file name="src/qam/qam_autop.c"/>
+ <file name="src/repmgr/repmgr_autop.c"/>
+ <file name="src/txn/txn_autop.c"/>
+ <file name="src/clib/getopt.c"/>
+ <file name="src/os_windows/ce_localtime.c"/>
+ </files>
+ </project>
+ <project name="db_recover" guid="9E03FD51-E387-4EEF-9EEA-E71707A56212">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_recover.c"/>
+ <file name="src/clib/getopt.c"/>
+ <file name="src/os_windows/ce_localtime.c"/>
+ </files>
+ </project>
+ <project name="db_replicate" guid="2AA9FB16-F1B0-47A7-AE10-7830E4E317E2">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_replicate.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_stat" guid="19D3A4CB-1C12-43D4-A94B-D2B387AD43E5">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_stat.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_tuner" guid="A86208B6-BEEB-11DF-BCF9-116EDFD72085">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_tuner.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_upgrade" guid="5F4D66DB-8D75-43D4-A1BB-60A01BC6B32F">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_upgrade.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
+ <project name="db_verify" guid="12E118CA-CAAE-4F54-AE81-8D9981AA0635">
+ <type>app</type>
+ <configuration></configuration>
+ <include type="ref">all</include>
+ <files>
+ <file name="util/db_verify.c"/>
+ <file name="src/clib/getopt.c"/>
+ </files>
+ </project>
<!-- Applications -->
<project name="wce_sql" guid="75DF98AA-25DF-4183-A022-024CF918480D">
<type>app</type>
- <configuration></configuration>
+ <configuration>WinMain</configuration>
<include type="ref">all</include>
<include type="ref">sql_app</include>
<files>
@@ -591,7 +748,7 @@
<project name="wce_tpcb" guid="F2CE670A-ABAE-414A-9A17-8079AB58613F">
<type>app</type>
- <configuration></configuration>
+ <configuration>WinMain</configuration>
<include type="ref">all</include>
<files>
<file name="examples/cxx/wce_tpcb/TpcbExample.cpp"/>
diff --git a/dist/win_projects/vs2010.template b/dist/win_projects/vs2010.template
index a6165afe..d3305474 100644
--- a/dist/win_projects/vs2010.template
+++ b/dist/win_projects/vs2010.template
@@ -479,7 +479,7 @@ declare function local:generateRcFilesNoFilter($project)
for $file in $project/files//file return
if (ends-with($file/@name,".rc")) then
(local:indent(2),<ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- {local:indent(4)}<ResourceCompile Include="../{substring-after($file/@name,"/")}">
+ {local:indent(4)}<ResourceCompile Include="{local:windowsPath(concat($sourcePath,$file/@name))}">
{for $platform in local:getPlatforms($vsversion) return
for $config in local:getConfiguration($project) return(
local:indent(6), <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=={concat("'",$config,"|",$platform,"'")}">{concat(if ($config="Debug") then "_DEBUG" else "NDEBUG",";","$(NoInherit))",";%(PreprocessorDefinitions)")}</PreprocessorDefinitions>)
diff --git a/dist/wince_config.in b/dist/wince_config.in
index d20576fe..555dfa68 100644
--- a/dist/wince_config.in
+++ b/dist/wince_config.in
@@ -86,6 +86,16 @@
/* Define to 1 if building the DBM API. */
/* #undef HAVE_DBM */
+/* Define to 1 if you want a version that records extra information about
+ errors. */
+/* #undef HAVE_ERROR_HISTORY */
+
+/* Define to 1 if you have the `directio' function. */
+/* #undef HAVE_DIRECTIO */
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `directio' function. */
/* #undef HAVE_DIRECTIO */
@@ -105,6 +115,9 @@
/* Define to 1 if you have EXIT_SUCCESS/EXIT_FAILURE #defines. */
#define HAVE_EXIT_SUCCESS 1
+/* Define to 1 for failchk to inform all waiting threads about crashes. */
+/* #undef HAVE_FAILCHK_BROADCAST */
+
/* Define to 1 if you have the `fchmod' function. */
/* #undef HAVE_FCHMOD */
@@ -182,6 +195,9 @@
/* Define to 1 if you have the `hstrerror' function. */
/* #undef HAVE_HSTRERROR */
+/* Define to 1 if you have the `initstate_r' function. */
+/* #undef HAVE_INITSTATE_R */
+
/* Define to 1 if you have the <inttypes.h> header file. */
/* #undef HAVE_INTTYPES_H */
@@ -200,6 +216,9 @@
/* Define to 1 if you have the `localtime' function. */
/* #undef HAVE_LOCALTIME */
+/* Define to 1 if you have the `localtime_r' function. */
+/* #undef HAVE_LOCALTIME_R */
+
/* Define to 1 if you have the `isspace' function. */
#define HAVE_ISSPACE 1
@@ -376,6 +395,15 @@
pthread_cond_t. */
/* #undef HAVE_PTHREAD_COND_REINIT_OKAY */
+/* Define to 1 if you have the `pthread_getspecific' function. */
+/* #undef HAVE_PTHREAD_GETSPECIFIC */
+
+/* Define to 1 if you have the `pthread_key_create' function. */
+/* #undef HAVE_PTHREAD_KEY_CREATE */
+
+/* Define to 1 if you have the `pthread_once' function. */
+/* #undef HAVE_PTHREAD_ONCE */
+
/* Define to 1 if it is OK to initialize an already initialized
pthread_rwlock_t. */
/* #undef HAVE_PTHREAD_RWLOCK_REINIT_OKAY */
@@ -383,6 +411,9 @@
/* Define to 1 if you have the `pthread_self' function. */
/* #undef HAVE_PTHREAD_SELF */
+/* Define to 1 if you have the `pthread_setspecific' function. */
+/* #undef HAVE_PTHREAD_SETSPECIFIC */
+
/* Define to 1 if you have the `pthread_yield' function. */
/* #undef HAVE_PTHREAD_YIELD */
@@ -409,6 +440,9 @@
/* Define to 1 if you have the `random' function. */
/* #undef HAVE_RANDOM */
+/* Define to 1 if you have the `random_r' function. */
+/* #undef HAVE_RANDOM_R /
+
/* Define to 1 if building replication support. */
/* #undef HAVE_REPLICATION */
@@ -445,6 +479,9 @@
/* Define to 1 if you have the `snprintf' function. */
#define HAVE_SNPRINTF 1
+/* Define to 1 if you have the `srandom_r' function. */
+/* #undef HAVE_SRANDOM_R */
+
/* Define to 1 if you have the `stat' function. */
#define HAVE_STAT 1
@@ -604,6 +641,9 @@
/* The size of a `long long', as computed by sizeof. */
/* #undef SIZEOF_LONG_LONG */
+/* The size of `off_t', as computed by sizeof. */
+/* #undef SIZEOF_OFF_T */
+
/* The size of a `short', as computed by sizeof. */
/* #undef SIZEOF_SHORT */
diff --git a/dist/winmsi/build.bat b/dist/winmsi/build.bat
index 001c3afd..c6369606 100644
--- a/dist/winmsi/build.bat
+++ b/dist/winmsi/build.bat
@@ -1,14 +1,14 @@
@echo off
:: Helper script to build BDB products for binary release
:: Assumes current directory is <product>/dist
-:: Current version of Visual Studio for binaries is 2005.
+:: Current version of Visual Studio for binaries is 2008.
:: This is enforced but if testing is desired for other releases
-:: it's possible to cut/paste.
+:: it's possible to edit.
::
:: Try to find different versions of Visual Studio
-call :TryBat "%VS80COMNTOOLS%\vsvars32.bat" && goto VS80
+::call :TryBat "%VS80COMNTOOLS%\vsvars32.bat" && goto VS80
call :TryBat "%VS90COMNTOOLS%\vsvars32.bat" && goto VS90
:: no luck
@@ -30,24 +30,26 @@ echo Using Visual Studio format 8.0 (Visual Studio 2005)
goto :eof
:VS90
-@echo Windows binaries must be built using Visual Studio 2005
-@echo If you want to test VS2008, uncomment the goto line below.
-@echo Note these build lines will not work with the express editions
-@echo of VS which do not appear to include "devenv."
+@echo Note these build commands will not work with the express
+@echo editions of VS2008 which do not appear to include "devenv."
@echo Express editions can be built with lines like:
@echo "VCExpress Berkeley_DB.sln /build" or
@echo "VCSExpress BDB_dotNet.sln /build"
-goto :batnotfound
+::goto :batnotfound
@echo Using Visual Studio format 9.0 (Visual Studio 2008)
@echo "" > winbld.out
+@echo devenv /upgrade ..\build_windows\Berkeley_DB.sln
+@devenv /upgrade ..\build_windows\Berkeley_DB.sln >> winbld.out
@echo devenv /build Release ..\build_windows\Berkeley_DB.sln
@devenv /build Release ..\build_windows\Berkeley_DB.sln >> winbld.out
@echo devenv /build Release ..\build_windows\Berkeley_DB.sln /project VS8\db_java.vcproj
@devenv /build Release ..\build_windows\Berkeley_DB.sln /project VS8\db_java.vcproj
+@echo devenv /upgrade ..\build_windows\BDB_dotNet.sln
+@devenv /upgrade ..\build_windows\BDB_dotNet.sln >> winbld.out
@echo devenv /build Release ..\build_windows\BDB_dotNet.sln
@devenv /build Release ..\build_windows\BDB_dotNet.sln >> winbld.out
-@echo devenv /build Release ..\build_windows\VS8\db_sql_jdbc.vcproj
-@devenv /build Release ..\build_windows\VS8\db_sql_jdbc.vcproj >> winbld.out
+@echo devenv /build Release ..\build_windows\Berkeley_DB.sln /project VS8\db_sql_java.vcproj
+@devenv /build Release ..\build_windows\Berkeley_DB.sln /project VS8\db_sql_java.vcproj >> winbld.out
@echo devenv /build Release ..\build_windows\VS8\db_sql_odbc.vcproj
@devenv /build Release ..\build_windows\VS8\db_sql_odbc.vcproj >> winbld.out
goto :eof
diff --git a/dist/winmsi/db.wxs b/dist/winmsi/db.wxs
index a12bf3b6..a274daed 100644
--- a/dist/winmsi/db.wxs
+++ b/dist/winmsi/db.wxs
@@ -1,5 +1,5 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
- <Product Id='*' UpgradeCode='2df79540-9c19-11df-b5e4-00262db1b537'
+ <Product Id='*' UpgradeCode='89316d6e-b68c-11e3-8d9b-001d099e0a33'
Name='@PRODUCT_NAME@' Version='@PROD_WIX_VERSION@'
Manufacturer='Oracle' Language='1033'>
@@ -12,7 +12,7 @@
Compressed='yes' Platform="x86"
Languages="1033" SummaryCodepage="1252" />
<!-- The upgrade id should be the same to the UpgradeCode of the previous version you want upgrade -->
- <Upgrade Id='529068a1-2ba8-11df-8e8e-00262db1b537'>
+ <Upgrade Id='2ef4dbf0-b1a7-11e2-af6c-001e4f951af2'>
<UpgradeVersion OnlyDetect="yes"
Minimum="@PROD_WIX_VERSION@"
Property="NEWERFOUND"