Annotation of embedaddon/sqlite3/configure.ac, revision 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>