Berkeley DB Reference Guide: Building Berkeley DB for UNIX systems
Description: Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++

### Berkeley DB Reference Guide: Building Berkeley DB for UNIX systems |

# Changing compile or load options

You can specify compiler and/or compile and load time flags by using environment variables during Berkeley DB configuration. For example, if you want to use a specific compiler, specify the CC environment variable before running configure:

>     env CC=gcc ../dist/configure

Using anything other than the native compiler will almost certainly mean that you'll want to check the compile and load line flags, too.

To specify debugging and optimization options for the C compiler, use the CFLAGS environment variable:

>     env CFLAGS=-O2 ../dist/configure

To specify header file search directories and other miscellaneous options for the C preprocessor and compiler, use the CPPFLAGS environment variable:

>     env CPPFLAGS=-I/usr/contrib/include ../dist/configure

To specify debugging and optimization options for the C++ compiler, use the CXXFLAGS environment variable:

>     env CXXFLAGS=-Woverloaded-virtual ../dist/configure

To specify miscellaneous options or additional library directories for the linker, use the LDFLAGS environment variable:

>     env LDFLAGS="-N32 -L/usr/local/lib" ../dist/configure

If you want to specify additional libraries, set the LIBS environment variable before running configure. For example:

>     env LIBS="-lposix -lsocket" ../dist/configure

would specify two additional libraries to load, "posix" and "socket".

Make sure that you prepend -L to any library directory names and that you prepend -I to any include file directory names! Also, if the arguments you specify contain blank or tab characters, be sure to quote them as shown above, i.e. with single or double quotes around the values you're specifying for LIBS.

The env command is available on most systems, and simply sets one or more environment variables before running a command. If the env command is not available to you, you can set the environment variables in your shell before running configure. For example, in sh or ksh, you could do:

>     prompt: LIBS="-lposix -lsocket" ../dist/configure

and in csh or tcsh, you could do:

>     prompt: setenv LIBS "-lposix -lsocket"
>     prompt: ../dist/configure

See your command shell's manual page for further information.

Copyright Sleepycat Software