Annotation of embedaddon/sqlite3/configure.ac, revision 1.1.1.1

1.1       misho       1: #
                      2: # The build process allows for using a cross-compiler.  But the default
                      3: # action is to target the same platform that we are running on.  The
                      4: # configure script needs to discover the following properties of the 
                      5: # build and target systems:
                      6: #
                      7: #    srcdir
                      8: #
                      9: #        The is the name of the directory that contains the
                     10: #        "configure" shell script.  All source files are
                     11: #        located relative to this directory.
                     12: #
                     13: #    bindir
                     14: #
                     15: #        The name of the directory where executables should be
                     16: #        written by the "install" target of the makefile.
                     17: #
                     18: #    program_prefix
                     19: #
                     20: #        Add this prefix to the names of all executables that run
                     21: #        on the target machine.  Default: ""
                     22: #
                     23: #    ENABLE_SHARED
                     24: #
                     25: #        True if shared libraries should be generated.
                     26: #
                     27: #    BUILD_CC
                     28: #
                     29: #        The name of a command that is used to convert C
                     30: #        source files into executables that run on the build
                     31: #        platform.
                     32: #
                     33: #    BUILD_CFLAGS
                     34: #
                     35: #        Switches that the build compiler needs in order to construct
                     36: #        command-line programs.
                     37: #
                     38: #    BUILD_LIBS
                     39: #
                     40: #        Libraries that the build compiler needs in order to construct
                     41: #        command-line programs.
                     42: #
                     43: #    BUILD_EXEEXT
                     44: #
                     45: #        The filename extension for executables on the build
                     46: #        platform.  "" for Unix and ".exe" for Windows.
                     47: #
                     48: #    TCL_*
                     49: #
                     50: #        Lots of values are read in from the tclConfig.sh script,
                     51: #        if that script is available.  This values are used for
                     52: #        constructing and installing the TCL extension.
                     53: #
                     54: #    TARGET_READLINE_LIBS
                     55: #
                     56: #        This is the library directives passed to the target linker
                     57: #        that cause the executable to link against the readline library.
                     58: #        This might be a switch like "-lreadline" or pathnames of library
                     59: #        file like "../../src/libreadline.a".
                     60: #
                     61: #    TARGET_READLINE_INC
                     62: #
                     63: #        This variables define the directory that contain header
                     64: #        files for the readline library.  If the compiler is able 
                     65: #        to find <readline.h> on its own, then this can be blank.
                     66: #
                     67: #    TARGET_EXEEXT
                     68: #
                     69: #        The filename extension for executables on the
                     70: #        target platform.  "" for Unix and ".exe" for windows.
                     71: #
                     72: # The generated configure script will make an attempt to guess
                     73: # at all of the above parameters.  You can override any of
                     74: # the guesses by setting the environment variable named
                     75: # "config_AAAA" where "AAAA" is the name of the parameter
                     76: # described above.  (Exception: srcdir cannot be set this way.)
                     77: # If you have a file that sets one or more of these environment
                     78: # variables, you can invoke configure as follows:
                     79: #
                     80: #           configure --with-hints=FILE
                     81: #
                     82: # where FILE is the name of the file that sets the environment
                     83: # variables.  FILE should be an absolute pathname.
                     84: #
                     85: # This configure.in file is easy to reuse on other projects.  Just
                     86: # change the argument to AC_INIT().  And disable any features that
                     87: # you don't need (for example BLT) by erasing or commenting out
                     88: # the corresponding code.
                     89: #
                     90: AC_INIT(sqlite, m4_esyscmd([cat VERSION | tr -d '\n']))
                     91: 
                     92: dnl Make sure the local VERSION file matches this configure script
                     93: sqlite_version_sanity_check=`cat $srcdir/VERSION | tr -d '\n'`
                     94: if test "$PACKAGE_VERSION" != "$sqlite_version_sanity_check" ; then
                     95: AC_MSG_ERROR([configure script is out of date:
                     96:  configure \$PACKAGE_VERSION = $PACKAGE_VERSION
                     97:  top level VERSION file     = $sqlite_version_sanity_check
                     98: please regen with autoconf])
                     99: fi
                    100: 
                    101: dnl Put the RCS revision string after AC_INIT so that it will also
                    102: dnl show in in configure.
                    103: # The following RCS revision string applies to configure.in
                    104: # $Revision: 1.56 $
                    105: 
                    106: #########
                    107: # Programs needed
                    108: #
                    109: AC_PROG_LIBTOOL
                    110: AC_PROG_INSTALL
                    111: AC_PROG_AWK
                    112: 
                    113: #########
                    114: # Enable large file support (if special flags are necessary)
                    115: #
                    116: AC_SYS_LARGEFILE
                    117: 
                    118: #########
                    119: # Check for needed/wanted data types
                    120: AC_CHECK_TYPES([int8_t, int16_t, int32_t, int64_t, intptr_t, uint8_t,
                    121:                 uint16_t, uint32_t, uint64_t, uintptr_t])
                    122: 
                    123: #########
                    124: # Check for needed/wanted headers
                    125: AC_CHECK_HEADERS([sys/types.h stdlib.h stdint.h inttypes.h])
                    126: 
                    127: #########
                    128: # Figure out whether or not we have these functions
                    129: #
                    130: AC_CHECK_FUNCS([usleep fdatasync localtime_r gmtime_r localtime_s utime malloc_usable_size])
                    131: 
                    132: #########
                    133: # By default, we use the amalgamation (this may be changed below...)
                    134: #
                    135: USE_AMALGAMATION=1
                    136: 
                    137: #########
                    138: # See whether we can run specific tclsh versions known to work well;
                    139: # if not, then we fall back to plain tclsh.
                    140: # TODO: try other versions before falling back?
                    141: # 
                    142: AC_CHECK_PROGS(TCLSH_CMD, [tclsh8.5 tclsh], none)
                    143: if test "$TCLSH_CMD" = "none"; then
                    144:   # If we can't find a local tclsh, then building the amalgamation will fail.
                    145:   # We act as though --disable-amalgamation has been used.
                    146:   echo "Warning: can't find tclsh - defaulting to non-amalgamation build."
                    147:   USE_AMALGAMATION=0
                    148:   TCLSH_CMD="tclsh"
                    149: fi
                    150: AC_SUBST(TCLSH_CMD)
                    151: 
                    152: AC_ARG_VAR([TCLLIBDIR], [Where to install tcl plugin])
                    153: if test "x${TCLLIBDIR+set}" != "xset" ; then
                    154:   TCLLIBDIR='$(libdir)'
                    155:   for i in `echo 'puts stdout $auto_path' | ${TCLSH_CMD}` ; do
                    156:     TCLLIBDIR=$i
                    157:     break
                    158:   done
                    159:   TCLLIBDIR="${TCLLIBDIR}/sqlite3"
                    160: fi
                    161: 
                    162: 
                    163: #########
                    164: # Set up an appropriate program prefix
                    165: #
                    166: if test "$program_prefix" = "NONE"; then
                    167:   program_prefix=""
                    168: fi
                    169: AC_SUBST(program_prefix)
                    170: 
                    171: VERSION=[`cat $srcdir/VERSION | sed 's/^\([0-9]*\.*[0-9]*\).*/\1/'`]
                    172: AC_MSG_NOTICE(Version set to $VERSION)
                    173: AC_SUBST(VERSION)
                    174: RELEASE=`cat $srcdir/VERSION`
                    175: AC_MSG_NOTICE(Release set to $RELEASE)
                    176: AC_SUBST(RELEASE)
                    177: VERSION_NUMBER=[`cat $srcdir/VERSION \
                    178:                            | sed 's/[^0-9]/ /g' \
                    179:                 | awk '{printf "%d%03d%03d",$1,$2,$3}'`]
                    180: AC_MSG_NOTICE(Version number set to $VERSION_NUMBER)
                    181: AC_SUBST(VERSION_NUMBER)
                    182: 
                    183: #########
                    184: # Check to see if the --with-hints=FILE option is used.  If there is none,
                    185: # then check for a files named "$host.hints" and ../$hosts.hints where
                    186: # $host is the hostname of the build system.  If still no hints are
                    187: # found, try looking in $system.hints and ../$system.hints where
                    188: # $system is the result of uname -s.
                    189: #
                    190: AC_ARG_WITH(hints,
                    191:   AC_HELP_STRING([--with-hints=FILE],[Read configuration options from FILE]),
                    192:   hints=$withval)
                    193: if test "$hints" = ""; then
                    194:   host=`hostname | sed 's/\..*//'`
                    195:   if test -r $host.hints; then
                    196:     hints=$host.hints
                    197:   else
                    198:      if test -r ../$host.hints; then
                    199:        hints=../$host.hints
                    200:      fi
                    201:   fi
                    202: fi
                    203: if test "$hints" = ""; then
                    204:   sys=`uname -s`
                    205:   if test -r $sys.hints; then
                    206:     hints=$sys.hints
                    207:   else
                    208:      if test -r ../$sys.hints; then
                    209:        hints=../$sys.hints
                    210:      fi
                    211:   fi
                    212: fi
                    213: if test "$hints" != ""; then
                    214:   AC_MSG_RESULT(reading hints from $hints)
                    215:   . $hints
                    216: fi
                    217: 
                    218: #########
                    219: # Locate a compiler for the build machine.  This compiler should
                    220: # generate command-line programs that run on the build machine.
                    221: #
                    222: if test x"$cross_compiling" = xno; then
                    223:        BUILD_CC=$CC
                    224:        BUILD_CFLAGS=$CFLAGS
                    225: else
                    226:        if test "${BUILD_CC+set}" != set; then
                    227:                AC_CHECK_PROGS(BUILD_CC, gcc cc cl)
                    228:        fi
                    229:        if test "${BUILD_CFLAGS+set}" != set; then
                    230:                BUILD_CFLAGS="-g"
                    231:        fi
                    232: fi
                    233: AC_SUBST(BUILD_CC)
                    234: 
                    235: ##########
                    236: # Do we want to support multithreaded use of sqlite
                    237: #
                    238: AC_ARG_ENABLE(threadsafe, 
                    239: AC_HELP_STRING([--enable-threadsafe],[Support threadsafe operation]),,enable_threadsafe=yes)
                    240: AC_MSG_CHECKING([whether to support threadsafe operation])
                    241: if test "$enable_threadsafe" = "no"; then
                    242:   SQLITE_THREADSAFE=0
                    243:   AC_MSG_RESULT([no])
                    244: else
                    245:   SQLITE_THREADSAFE=1
                    246:   AC_MSG_RESULT([yes])
                    247: fi
                    248: AC_SUBST(SQLITE_THREADSAFE)
                    249: 
                    250: if test "$SQLITE_THREADSAFE" = "1"; then
                    251:   AC_SEARCH_LIBS(pthread_create, pthread)
                    252: fi
                    253: 
                    254: ##########
                    255: # Do we want to allow a connection created in one thread to be used
                    256: # in another thread.  This does not work on many Linux systems (ex: RedHat 9)
                    257: # due to bugs in the threading implementations.  This is thus off by default.
                    258: #
                    259: AC_ARG_ENABLE(cross-thread-connections, 
                    260: AC_HELP_STRING([--enable-cross-thread-connections],[Allow connection sharing across threads]),,enable_xthreadconnect=no)
                    261: AC_MSG_CHECKING([whether to allow connections to be shared across threads])
                    262: if test "$enable_xthreadconnect" = "no"; then
                    263:   XTHREADCONNECT=''
                    264:   AC_MSG_RESULT([no])
                    265: else
                    266:   XTHREADCONNECT='-DSQLITE_ALLOW_XTHREAD_CONNECT=1'
                    267:   AC_MSG_RESULT([yes])
                    268: fi
                    269: AC_SUBST(XTHREADCONNECT)
                    270: 
                    271: ##########
                    272: # Do we want to support release
                    273: #
                    274: AC_ARG_ENABLE(releasemode, 
                    275: AC_HELP_STRING([--enable-releasemode],[Support libtool link to release mode]),,enable_releasemode=no)
                    276: AC_MSG_CHECKING([whether to support shared library linked as release mode or not])
                    277: if test "$enable_releasemode" = "no"; then
                    278:   ALLOWRELEASE=""
                    279:   AC_MSG_RESULT([no])
                    280: else
                    281:   ALLOWRELEASE="-release `cat $srcdir/VERSION`"
                    282:   AC_MSG_RESULT([yes])
                    283: fi
                    284: AC_SUBST(ALLOWRELEASE)
                    285: 
                    286: ##########
                    287: # Do we want temporary databases in memory
                    288: #
                    289: AC_ARG_ENABLE(tempstore, 
                    290: AC_HELP_STRING([--enable-tempstore],[Use an in-ram database for temporary tables (never,no,yes,always)]),,enable_tempstore=no)
                    291: AC_MSG_CHECKING([whether to use an in-ram database for temporary tables])
                    292: case "$enable_tempstore" in
                    293:   never ) 
                    294:     TEMP_STORE=0
                    295:     AC_MSG_RESULT([never])
                    296:   ;;
                    297:   no ) 
                    298:     TEMP_STORE=1
                    299:     AC_MSG_RESULT([no])
                    300:   ;;
                    301:   yes ) 
                    302:      TEMP_STORE=2
                    303:     AC_MSG_RESULT([yes])
                    304:   ;;
                    305:   always ) 
                    306:      TEMP_STORE=3
                    307:     AC_MSG_RESULT([always])
                    308:   ;;
                    309:   * ) 
                    310:     TEMP_STORE=1
                    311:     AC_MSG_RESULT([no])
                    312:   ;;
                    313: esac
                    314: 
                    315: AC_SUBST(TEMP_STORE)
                    316: 
                    317: ###########
                    318: # Lots of things are different if we are compiling for Windows using
                    319: # the CYGWIN environment.  So check for that special case and handle
                    320: # things accordingly.
                    321: #
                    322: AC_MSG_CHECKING([if executables have the .exe suffix])
                    323: if test "$config_BUILD_EXEEXT" = ".exe"; then
                    324:   CYGWIN=yes
                    325:   AC_MSG_RESULT(yes)
                    326: else
                    327:   AC_MSG_RESULT(unknown)
                    328: fi
                    329: if test "$CYGWIN" != "yes"; then
                    330:   AC_CYGWIN
                    331: fi
                    332: if test "$CYGWIN" = "yes"; then
                    333:   BUILD_EXEEXT=.exe
                    334: else
                    335:   BUILD_EXEEXT=$EXEEXT
                    336: fi
                    337: if test x"$cross_compiling" = xno; then
                    338:   TARGET_EXEEXT=$BUILD_EXEEXT
                    339: else
                    340:   TARGET_EXEEXT=$config_TARGET_EXEEXT
                    341: fi
                    342: if test "$TARGET_EXEEXT" = ".exe"; then
                    343:   if test $OS2_SHELL ; then
                    344:     SQLITE_OS_UNIX=0
                    345:     SQLITE_OS_WIN=0
                    346:     SQLITE_OS_OS2=1
                    347:     CFLAGS="$CFLAGS -DSQLITE_OS_OS2=1"
                    348:   else
                    349:     SQLITE_OS_UNIX=0
                    350:     SQLITE_OS_WIN=1
                    351:     SQLITE_OS_OS2=0
                    352:     CFLAGS="$CFLAGS -DSQLITE_OS_WIN=1"
                    353:   fi
                    354: else
                    355:   SQLITE_OS_UNIX=1
                    356:   SQLITE_OS_WIN=0
                    357:   SQLITE_OS_OS2=0
                    358:   CFLAGS="$CFLAGS -DSQLITE_OS_UNIX=1"
                    359: fi
                    360: 
                    361: AC_SUBST(BUILD_EXEEXT)
                    362: AC_SUBST(SQLITE_OS_UNIX)
                    363: AC_SUBST(SQLITE_OS_WIN)
                    364: AC_SUBST(SQLITE_OS_OS2)
                    365: AC_SUBST(TARGET_EXEEXT)
                    366: 
                    367: ##########
                    368: # Figure out all the parameters needed to compile against Tcl.
                    369: #
                    370: # This code is derived from the SC_PATH_TCLCONFIG and SC_LOAD_TCLCONFIG
                    371: # macros in the in the tcl.m4 file of the standard TCL distribution.
                    372: # Those macros could not be used directly since we have to make some
                    373: # minor changes to accomodate systems that do not have TCL installed.
                    374: #
                    375: AC_ARG_ENABLE(tcl, AC_HELP_STRING([--disable-tcl],[do not build TCL extension]),
                    376:       [use_tcl=$enableval],[use_tcl=yes])
                    377: if test "${use_tcl}" = "yes" ; then
                    378:   AC_ARG_WITH(tcl, AC_HELP_STRING([--with-tcl=DIR],[directory containing tcl configuration (tclConfig.sh)]), with_tclconfig=${withval})
                    379:   AC_MSG_CHECKING([for Tcl configuration])
                    380:   AC_CACHE_VAL(ac_cv_c_tclconfig,[
                    381:     # First check to see if --with-tcl was specified.
                    382:     if test x"${with_tclconfig}" != x ; then
                    383:       if test -f "${with_tclconfig}/tclConfig.sh" ; then
                    384:         ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)`
                    385:       else
                    386:         AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh])
                    387:       fi
                    388:     fi
                    389: 
                    390:     # Start autosearch by asking tclsh
                    391:     if test x"$cross_compiling" = xno; then
                    392:       for i in `echo 'puts stdout $auto_path' | ${TCLSH_CMD}`
                    393:       do
                    394:         if test -f "$i/tclConfig.sh" ; then
                    395:           ac_cv_c_tclconfig="$i"
                    396:           break
                    397:         fi
                    398:       done
                    399:     fi
                    400: 
                    401:     # then check for a private Tcl installation
                    402:     if test x"${ac_cv_c_tclconfig}" = x ; then
                    403:       for i in \
                    404:             ../tcl \
                    405:             `ls -dr ../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \
                    406:             `ls -dr ../tcl[[8-9]].[[0-9]] 2>/dev/null` \
                    407:             `ls -dr ../tcl[[8-9]].[[0-9]]* 2>/dev/null` \
                    408:             ../../tcl \
                    409:             `ls -dr ../../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \
                    410:             `ls -dr ../../tcl[[8-9]].[[0-9]] 2>/dev/null` \
                    411:             `ls -dr ../../tcl[[8-9]].[[0-9]]* 2>/dev/null` \
                    412:             ../../../tcl \
                    413:             `ls -dr ../../../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \
                    414:             `ls -dr ../../../tcl[[8-9]].[[0-9]] 2>/dev/null` \
                    415:             `ls -dr ../../../tcl[[8-9]].[[0-9]]* 2>/dev/null`
                    416:       do
                    417:         if test -f "$i/unix/tclConfig.sh" ; then
                    418:           ac_cv_c_tclconfig=`(cd $i/unix; pwd)`
                    419:           break
                    420:         fi
                    421:       done
                    422:     fi
                    423: 
                    424:     # check in a few common install locations
                    425:     if test x"${ac_cv_c_tclconfig}" = x ; then
                    426:       for i in \
                    427:             `ls -d ${libdir} 2>/dev/null` \
                    428:             `ls -d /usr/local/lib 2>/dev/null` \
                    429:             `ls -d /usr/contrib/lib 2>/dev/null` \
                    430:             `ls -d /usr/lib 2>/dev/null`
                    431:       do
                    432:         if test -f "$i/tclConfig.sh" ; then
                    433:            ac_cv_c_tclconfig=`(cd $i; pwd)`
                    434:            break
                    435:         fi
                    436:       done
                    437:     fi
                    438: 
                    439:     # check in a few other private locations
                    440:     if test x"${ac_cv_c_tclconfig}" = x ; then
                    441:       for i in \
                    442:          ${srcdir}/../tcl \
                    443:          `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \
                    444:          `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]] 2>/dev/null` \
                    445:          `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]]* 2>/dev/null`
                    446:       do
                    447:         if test -f "$i/unix/tclConfig.sh" ; then
                    448:           ac_cv_c_tclconfig=`(cd $i/unix; pwd)`
                    449:           break
                    450:         fi
                    451:       done
                    452:     fi
                    453:   ])
                    454: 
                    455:   if test x"${ac_cv_c_tclconfig}" = x ; then
                    456:     use_tcl=no
                    457:     AC_MSG_WARN(Can't find Tcl configuration definitions)
                    458:     AC_MSG_WARN(*** Without Tcl the regression tests cannot be executed ***)
                    459:     AC_MSG_WARN(*** Consider using --with-tcl=... to define location of Tcl ***)
                    460:   else
                    461:     TCL_BIN_DIR=${ac_cv_c_tclconfig}
                    462:     AC_MSG_RESULT(found $TCL_BIN_DIR/tclConfig.sh)
                    463: 
                    464:     AC_MSG_CHECKING([for existence of $TCL_BIN_DIR/tclConfig.sh])
                    465:     if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then
                    466:       AC_MSG_RESULT([loading])
                    467:       . $TCL_BIN_DIR/tclConfig.sh
                    468:     else
                    469:       AC_MSG_RESULT([file not found])
                    470:     fi
                    471:     
                    472:     #
                    473:     # If the TCL_BIN_DIR is the build directory (not the install directory),
                    474:     # then set the common variable name to the value of the build variables.
                    475:     # For example, the variable TCL_LIB_SPEC will be set to the value
                    476:     # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC
                    477:     # instead of TCL_BUILD_LIB_SPEC since it will work with both an
                    478:     # installed and uninstalled version of Tcl.
                    479:     #
                    480:     
                    481:     if test -f $TCL_BIN_DIR/Makefile ; then
                    482:       TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC}
                    483:       TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC}
                    484:       TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH}
                    485:     fi
                    486:     
                    487:     #
                    488:     # eval is required to do the TCL_DBGX substitution
                    489:     #
                    490:     
                    491:     eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\""
                    492:     eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\""
                    493:     eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\""
                    494:     
                    495:     eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\""
                    496:     eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\""
                    497:     eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\""
                    498:     
                    499:     AC_SUBST(TCL_VERSION)
                    500:     AC_SUBST(TCL_BIN_DIR)
                    501:     AC_SUBST(TCL_SRC_DIR)
                    502:     AC_SUBST(TCL_LIBS)
                    503:     AC_SUBST(TCL_INCLUDE_SPEC)
                    504:     
                    505:     AC_SUBST(TCL_LIB_FILE)
                    506:     AC_SUBST(TCL_LIB_FLAG)
                    507:     AC_SUBST(TCL_LIB_SPEC)
                    508:     
                    509:     AC_SUBST(TCL_STUB_LIB_FILE)
                    510:     AC_SUBST(TCL_STUB_LIB_FLAG)
                    511:     AC_SUBST(TCL_STUB_LIB_SPEC)
                    512:   fi
                    513: fi
                    514: if test "${use_tcl}" = "no" ; then
                    515:   HAVE_TCL=""
                    516: else
                    517:   HAVE_TCL=1
                    518: fi
                    519: AC_SUBST(HAVE_TCL)
                    520: 
                    521: ##########
                    522: # Figure out what C libraries are required to compile programs
                    523: # that use "readline()" library.
                    524: #
                    525: TARGET_READLINE_LIBS=""
                    526: TARGET_READLINE_INC=""
                    527: TARGET_HAVE_READLINE=0
                    528: AC_ARG_ENABLE([readline],
                    529:        [AC_HELP_STRING([--disable-readline],[disable readline support [default=detect]])],
                    530:        [with_readline=$enableval],
                    531:        [with_readline=auto])
                    532: 
                    533: if test x"$with_readline" != xno; then
                    534:        found="yes"
                    535: 
                    536:        AC_ARG_WITH([readline-lib],
                    537:                [AC_HELP_STRING([--with-readline-lib],[specify readline library])],
                    538:                [with_readline_lib=$withval],
                    539:                [with_readline_lib="auto"])
                    540:        if test "x$with_readline_lib" = xauto; then
                    541:                save_LIBS="$LIBS"
                    542:                LIBS=""
                    543:                AC_SEARCH_LIBS(tgetent, [readline ncurses curses termcap], [term_LIBS="$LIBS"], [term_LIBS=""])
                    544:                AC_CHECK_LIB([readline], [readline], [TARGET_READLINE_LIBS="-lreadline"], [found="no"])
                    545:                TARGET_READLINE_LIBS="$TARGET_READLINE_LIBS $term_LIBS"
                    546:                LIBS="$save_LIBS"
                    547:        else
                    548:                TARGET_READLINE_LIBS="$with_readline_lib"
                    549:        fi
                    550: 
                    551:        AC_ARG_WITH([readline-inc],
                    552:                [AC_HELP_STRING([--with-readline-inc],[specify readline include paths])],
                    553:                [with_readline_inc=$withval],
                    554:                [with_readline_inc="auto"])
                    555:        if test "x$with_readline_inc" = xauto; then
                    556:                AC_CHECK_HEADER(readline.h, [found="yes"], [
                    557:                        found="no"
                    558:                        if test "$cross_compiling" != yes; then
                    559:                                for dir in /usr /usr/local /usr/local/readline /usr/contrib /mingw; do
                    560:                                        for subdir in include include/readline; do
                    561:                                                AC_CHECK_FILE($dir/$subdir/readline.h, found=yes)
                    562:                                                if test "$found" = "yes"; then
                    563:                                                        TARGET_READLINE_INC="-I$dir/$subdir"
                    564:                                                        break
                    565:                                                fi
                    566:                                        done
                    567:                                        test "$found" = "yes" && break
                    568:                                done
                    569:                        fi
                    570:                ])
                    571:        else
                    572:                TARGET_READLINE_INC="$with_readline_inc"
                    573:        fi
                    574: 
                    575:        if test x"$found" = xno; then
                    576:                TARGET_READLINE_LIBS=""
                    577:                TARGET_READLINE_INC=""
                    578:                TARGET_HAVE_READLINE=0
                    579:        else
                    580:                TARGET_HAVE_READLINE=1
                    581:        fi
                    582: fi
                    583: 
                    584: AC_SUBST(TARGET_READLINE_LIBS)
                    585: AC_SUBST(TARGET_READLINE_INC)
                    586: AC_SUBST(TARGET_HAVE_READLINE)
                    587: 
                    588: ##########
                    589: # Figure out what C libraries are required to compile programs
                    590: # that use "fdatasync()" function.
                    591: #
                    592: AC_SEARCH_LIBS(fdatasync, [rt])
                    593: 
                    594: #########
                    595: # check for debug enabled
                    596: AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug],[enable debugging & verbose explain]),
                    597:       [use_debug=$enableval],[use_debug=no])
                    598: if test "${use_debug}" = "yes" ; then
                    599:   TARGET_DEBUG="-DSQLITE_DEBUG=1"
                    600: else
                    601:   TARGET_DEBUG="-DNDEBUG"
                    602: fi
                    603: AC_SUBST(TARGET_DEBUG)
                    604: 
                    605: #########
                    606: # See whether we should use the amalgamation to build
                    607: AC_ARG_ENABLE(amalgamation, AC_HELP_STRING([--disable-amalgamation],
                    608:       [Disable the amalgamation and instead build all files separately]),
                    609:       [use_amalgamation=$enableval],[use_amalgamation=yes])
                    610: if test "${use_amalgamation}" != "yes" ; then
                    611:   USE_AMALGAMATION=0
                    612: fi
                    613: AC_SUBST(USE_AMALGAMATION)
                    614: 
                    615: #########
                    616: # See whether we should allow loadable extensions
                    617: AC_ARG_ENABLE(load-extension, AC_HELP_STRING([--enable-load-extension],
                    618:       [Enable loading of external extensions]),
                    619:       [use_loadextension=$enableval],[use_loadextension=no])
                    620: if test "${use_loadextension}" = "yes" ; then
                    621:   OPT_FEATURE_FLAGS=""
                    622:   AC_SEARCH_LIBS(dlopen, dl)
                    623: else
                    624:   OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
                    625: fi
                    626: 
                    627: #########
                    628: # attempt to duplicate any OMITS and ENABLES into the $(OPT_FEATURE_FLAGS) parameter
                    629: for option in $CFLAGS $CPPFLAGS
                    630: do
                    631:   case $option in
                    632:     -DSQLITE_OMIT*) OPT_FEATURE_FLAGS="$OPT_FEATURE_FLAGS $option";;
                    633:     -DSQLITE_ENABLE*) OPT_FEATURE_FLAGS="$OPT_FEATURE_FLAGS $option";;
                    634:   esac
                    635: done
                    636: AC_SUBST(OPT_FEATURE_FLAGS)
                    637: 
                    638: 
                    639: # attempt to remove any OMITS and ENABLES from the $(CFLAGS) parameter
                    640: ac_temp_CFLAGS=""
                    641: for option in $CFLAGS
                    642: do
                    643:   case $option in
                    644:     -DSQLITE_OMIT*) ;;
                    645:     -DSQLITE_ENABLE*) ;;
                    646:     *) ac_temp_CFLAGS="$ac_temp_CFLAGS $option";;
                    647:   esac
                    648: done
                    649: CFLAGS=$ac_temp_CFLAGS
                    650: 
                    651: 
                    652: # attempt to remove any OMITS and ENABLES from the $(CPPFLAGS) parameter
                    653: ac_temp_CPPFLAGS=""
                    654: for option in $CPPFLAGS
                    655: do
                    656:   case $option in
                    657:     -DSQLITE_OMIT*) ;;
                    658:     -DSQLITE_ENABLE*) ;;
                    659:     *) ac_temp_CPPFLAGS="$ac_temp_CPPFLAGS $option";;
                    660:   esac
                    661: done
                    662: CPPFLAGS=$ac_temp_CPPFLAGS
                    663: 
                    664: 
                    665: # attempt to remove any OMITS and ENABLES from the $(BUILD_CFLAGS) parameter
                    666: ac_temp_BUILD_CFLAGS=""
                    667: for option in $BUILD_CFLAGS
                    668: do
                    669:   case $option in
                    670:     -DSQLITE_OMIT*) ;;
                    671:     -DSQLITE_ENABLE*) ;;
                    672:     *) ac_temp_BUILD_CFLAGS="$ac_temp_BUILD_CFLAGS $option";;
                    673:   esac
                    674: done
                    675: BUILD_CFLAGS=$ac_temp_BUILD_CFLAGS
                    676: 
                    677: 
                    678: #########
                    679: # See whether we should use GCOV
                    680: AC_ARG_ENABLE(gcov, AC_HELP_STRING([--enable-gcov],
                    681:       [Enable coverage testing using gcov]),
                    682:       [use_gcov=$enableval],[use_gcov=no])
                    683: if test "${use_gcov}" = "yes" ; then
                    684:   USE_GCOV=1
                    685: else
                    686:   USE_GCOV=0
                    687: fi
                    688: AC_SUBST(USE_GCOV)
                    689: 
                    690: 
                    691: #########
                    692: # Output the config header
                    693: AC_CONFIG_HEADERS(config.h)
                    694: 
                    695: #########
                    696: # Generate the output files.
                    697: #
                    698: AC_SUBST(BUILD_CFLAGS)
                    699: AC_OUTPUT([
                    700: Makefile
                    701: sqlite3.pc
                    702: ])

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>