<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Changing compile or load options</title> <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> <link rel="start" href="index.html" title="Berkeley DB Installation and Build Guide" /> <link rel="up" href="build_unix.html" title="Chapter 6. Building Berkeley DB for UNIX/POSIX" /> <link rel="prev" href="build_unix_small.html" title="Building a small memory footprint library" /> <link rel="next" href="build_unix_install.html" title="Installing Berkeley DB" /> </head> <body> <div class="navheader"> <table width="100%" summary="Navigation header"> <tr> <th colspan="3" align="center">Changing compile or load options</th> </tr> <tr> <td width="20%" align="left"><a accesskey="p" href="build_unix_small.html">Prev</a> </td> <th width="60%" align="center">Chapter 6. Building Berkeley DB for UNIX/POSIX </th> <td width="20%" align="right"> <a accesskey="n" href="build_unix_install.html">Next</a></td> </tr> </table> <hr /> </div> <div class="sect1" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"><a id="build_unix_flags"></a>Changing compile or load options</h2> </div> </div> </div> <p>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:</p> <pre class="programlisting">prompt: env CC=gcc ../dist/configure</pre> <p>Using anything other than the native compiler will almost certainly mean that you'll want to check the flags specified to the compiler and loader, too.</p> <p>To specify debugging and optimization options for the C compiler, use the CFLAGS environment variable:</p> <pre class="programlisting">prompt: env CFLAGS=-O2 ../dist/configure</pre> <p>To specify header file search directories and other miscellaneous options for the C preprocessor and compiler, use the CPPFLAGS environment variable:</p> <pre class="programlisting">prompt: env CPPFLAGS=-I/usr/contrib/include ../dist/configure</pre> <p>To specify debugging and optimization options for the C++ compiler, use the CXXFLAGS environment variable:</p> <pre class="programlisting">prompt: env CXXFLAGS=-Woverloaded-virtual ../dist/configure</pre> <p>To specify miscellaneous options or additional library directories for the linker, use the LDFLAGS environment variable:</p> <pre class="programlisting">prompt: env LDFLAGS="-N32 -L/usr/local/lib" ../dist/configure</pre> <p>If you want to specify additional libraries, set the LIBS environment variable before running configure. For example, the following would specify two additional libraries to load, "posix" and "socket":</p> <pre class="programlisting">prompt: env LIBS="-lposix -lsocket" ../dist/configure</pre> <p>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 previously; that is with single or double quotes around the values you are specifying for LIBS.</p> <p>The env command, which is available on most systems, 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 the following:</p> <pre class="programlisting">prompt: LIBS="-lposix -lsocket" ../dist/configure</pre> <p>In csh or tcsh, you could do the following:</p> <pre class="programlisting">prompt: setenv LIBS "-lposix -lsocket" prompt: ../dist/configure</pre> <p>See your command shell's manual page for further information.</p> </div> <div class="navfooter"> <hr /> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"><a accesskey="p" href="build_unix_small.html">Prev</a> </td> <td width="20%" align="center"> <a accesskey="u" href="build_unix.html">Up</a> </td> <td width="40%" align="right"> <a accesskey="n" href="build_unix_install.html">Next</a></td> </tr> <tr> <td width="40%" align="left" valign="top">Building a small memory footprint library </td> <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> <td width="40%" align="right" valign="top"> Installing Berkeley DB</td> </tr> </table> </div> </body> </html>