File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sqlite3 / configure.ac
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:04:15 2012 UTC (12 years, 3 months ago) by misho
Branches: sqlite3, MAIN
CVS tags: v3_7_10, HEAD
sqlite3

    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.1.1.1 $
  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>