diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/docs/build-posix.dox')
-rw-r--r-- | src/third_party/wiredtiger/src/docs/build-posix.dox | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/docs/build-posix.dox b/src/third_party/wiredtiger/src/docs/build-posix.dox new file mode 100644 index 00000000000..f61b199bff2 --- /dev/null +++ b/src/third_party/wiredtiger/src/docs/build-posix.dox @@ -0,0 +1,215 @@ +/*! @page build-posix Building and installing WiredTiger on POSIX + +@section posix_github Building using Git and GitHub + +Skip this step if you are building from a WiredTiger release package, +and proceed with @ref posix_building. + +To build from the WiredTiger GitHub repository requires +<a href="http://git-scm.com/">git</a>, +<a href="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</a>, +<a href="http://www.gnu.org/software/autoconf/automake.html">automake</a>, +<a href="http://www.gnu.org/software/libtool/libtool.html">libtool</a> and +related tools. The standard options for those tools can be specified +when configuring and building WiredTiger. + +First, clone the repository: + +@code +git clone git://github.com/wiredtiger/wiredtiger.git +@endcode + +Second, run \c autogen.sh to create the \c configure script: + +@code +cd wiredtiger +sh autogen.sh +@endcode + +Now proceed with @ref posix_building. + +@section posix_building Building WiredTiger + +To build the WiredTiger software on a POSIX system, change directory to +the top-level directory, then configure and build the software: + +@code +cd wiredtiger +./configure && make +@endcode + +To rebuild from scratch, discard any previous configuration by cleaning +out the build area: + +@code +make distclean +@endcode + +To see additional configuration options, run: + +@code +./configure --help +@endcode + +WiredTiger uses +<a href="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</a> +<a href="http://www.gnu.org/software/autoconf/automake.html">automake</a>, +and <a href="http://www.gnu.org/software/libtool/libtool.html">libtool</a> +to create the configure script and Makefiles. The standard options for those +tools can be specified when configuring and building WiredTiger. + +@section posix_installing Installing WiredTiger + +The WiredTiger software consists of a library and a single standalone +utility. + +WiredTiger's distribution follows the GNU Coding Standards installation +guidelines, and by default WiredTiger builds and installs four versions +of the library in <code>/usr/local/lib</code>. For example: + +@code +file /usr/local/lib/libwiredtiger* +/usr/local/lib/libwiredtiger-1.0.0.so: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, not stripped +/usr/local/lib/libwiredtiger.a: current ar archive +/usr/local/lib/libwiredtiger.la: libtool library file +/usr/local/lib/libwiredtiger.so: symbolic link to `libwiredtiger-1.0.0.so' +@endcode + +WiredTiger uses +<a href="http://www.gnu.org/software/libtool/libtool.html">libtool</a> to +build the libraries. By default, both shared and static libraries are built. +To build only static libraries, configure WiredTiger using the +\c --disable-shared argument. To build only shared libraries, configure using +WiredTiger using the \c --disable-static argument. + +In addition, WiredTiger installs a standalone utility program named +<code>wt</code>. By default, this utility is installed in +<code>/usr/local/bin/wt</code>. + +To install WiredTiger: + +@code +make install +@endcode + +To uninstall WiredTiger: + +@code +make uninstall +@endcode + +To install WiredTiger's libraries or binaries into alternate locations, +use the configuration or installation options described in the +<a href="http://www.gnu.org/prep/standards/">GNU coding standards</a> +documentation. For example, to install the libraries and binaries into +a different location: + +@code +./configure --prefix=/c/wiredtiger +@endcode + +@section posix_configure Configuring WiredTiger + +The WiredTiger software supports some additional configuration options: + +@par \c --enable-attach +Configure WiredTiger to sleep and wait for a debugger to attach on failure. +<b>DO NOT</b> configure this option in production environments. + +@par \c --enable-bzip2 +Configure WiredTiger for <a href="http://www.bzip.org/">bzip2</a> +compression; see @ref compression for more information. + +@par \c --enable-diagnostic +Configure WiredTiger to perform various run-time diagnostic tests. +<b>DO NOT</b> configure this option in production environments. + +@par \c --enable-java +Build the WiredTiger Java API. + +@par \c --enable-leveldb[=basho, hyper, rocksdb] +Include a Google, Inc. compatible LevelDB API. Optionally, specify \c basho +to build a version of the LevelDB API compatible with Basho's Riak +product, specify \c hyper to build a version of the LevelDB API compatible +with the HyperDex product, and specify \c rocksdb to build a version of the +LevelDB API compatible with applications using Facebook's RocksDB +engine. See @ref leveldb for more information. + +@par \c --enable-lz4 +Configure WiredTiger for <a href="https://github.com/Cyan4973/lz4">LZ4</a> +compression; see @ref compression for more information. + +@par \c --enable-python +Build the WiredTiger <a href="http://www.python.org">Python</a> API. + +@par \c --enable-snappy +Configure WiredTiger for <a href="http://code.google.com/p/snappy/">snappy</a> +compression; see @ref compression for more information. + +@par \c --enable-verbose +Configure WiredTiger to support the \c verbose configuration string to +::wiredtiger_open. + +@par \c --enable-zlib +Configure WiredTiger for <a href="http://www.zlib.net/">zlib</a> +compression; see @ref compression for more information. + +@par <code>--with-builtins</code> +Configure WiredTiger to include support for extensions in the main library. +This avoids requiring additional libraries for supported extensions. Currently +supported options are \c lz4, \c snappy and \c zlib. + +@par <code>--with-python-prefix</code> +Configure WiredTiger to install Python libraries to a non-standard Python +install location. + +@par <code>--with-spinlock[=pthread, pthread_adaptive, gcc]</code> +Configure WiredTiger to use a specific mutex type for serialization; +options are \c pthread (the default, which configures WiredTiger to use +POSIX 1003.1c pthread mutexes), \c pthread_adaptive (which configures +WiredTiger to use POSIX 1003.1c pthread mutexes configured to be +adaptive (where that functionality is available), or \c gcc (which +configures WiredTiger to use gcc-based spinlocks). + +@section posix_compiler Changing compiler or loader options + +To change the compiler or loader behavior during the build, use the +<code>CC</code>, <code>CFLAGS</code>, <code>LDFLAGS</code>, or +<code>LIBS</code> environment variables: + +@par \c CC +The compiler. +@par \c CFLAGS +Compiler flags. +@par \c LDFLAGS +Loader flags. +@par \c LIBS +Additional libraries. + +For example, to specify a different compiler: + +@code +env CC=mygcc ./configure +@endcode + +By default, WiredTiger builds with the \c -O3 compiler optimization flag +unless the \c --enable-debug configuration option is specified, in which +case the \c -g compiler flag is used instead. For example, to specify +a different level of optimization: + +@code +env CFLAGS=-Os ./configure +@endcode + +To specify a different set of include files: + +@code +env CFLAGS=-I/usr/local/include ./configure +@endcode + +To specify an additional library: + +@code +env LIBS="-lrtf -lmin" LDFLAGS=-L/usr/local/lib ./configure +@endcode + */ |