From: drh Date: Thu, 25 Nov 2004 13:50:01 +0000 (+0000) Subject: The configure script now automatically detects tclConfig.sh and builds the X-Git-Tag: version-3.6.10~4000 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7b5717e1a16806c594ee1f02e64b97ea149ca1b0;p=thirdparty%2Fsqlite.git The configure script now automatically detects tclConfig.sh and builds the Tcl extension only if tclConfig.sh is present. The Tcl extension can be disabled using --disable-tcl. (CVS 2152) FossilOrigin-Name: 12424bef7770f3d256d386251477a1da78be2bde --- diff --git a/Makefile.in b/Makefile.in index 09c533f4df..82462bea3a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -44,11 +44,11 @@ LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL) # Compiler options needed for programs that use the TCL library. # -TCL_FLAGS = @TARGET_TCL_INC@ +TCC += @TCL_INCLUDE_SPEC@ # The library that programs using TCL must link against. # -LIBTCL = @TARGET_TCL_LIBS@ +LIBTCL = @TCL_LIB_SPEC@ @TCL_LIBS@ # Compiler options needed for programs that use the readline() library. # @@ -74,19 +74,27 @@ LIBPTHREAD=@TARGET_THREAD_LIB@ # TEMP_STORE = -DTEMP_STORE=@TEMP_STORE@ +# Filename extensions +# +BEXE = @BUILD_EXEEXT@ +TEXE = @TARGET_EXEEXT@ + +# The following variable is "1" to cause the TCL extension library to +# be build from the "all" target. +# +HAVE_TCL = @HAVE_TCL@ + # You should not have to change anything below this line ############################################################################### -BEXE = @BUILD_EXEEXT@ - # Object files for the SQLite library. # -LIBOBJ = attach.lo auth.lo btree.lo build.lo date.lo delete.lo \ - expr.lo func.lo hash.lo insert.lo \ +LIBOBJ = attach.lo auth.lo btree.lo build.lo cursor.lo date.lo \ + delete.lo expr.lo func.lo hash.lo insert.lo \ main.lo opcodes.lo os_mac.lo os_unix.lo os_win.lo \ pager.lo parse.lo pragma.lo printf.lo random.lo \ - select.lo table.lo tokenize.lo trigger.lo update.lo util.lo vacuum.lo \ - vdbe.lo vdbeapi.lo vdbeaux.lo vdbemem.lo \ + select.lo table.lo tokenize.lo trigger.lo update.lo \ + util.lo vacuum.lo vdbe.lo vdbeapi.lo vdbeaux.lo vdbemem.lo \ where.lo utf.lo legacy.lo # All of the source code files. @@ -97,6 +105,7 @@ SRC = \ $(TOP)/src/btree.c \ $(TOP)/src/btree.h \ $(TOP)/src/build.c \ + $(TOP)/src/cursor.c \ $(TOP)/src/date.c \ $(TOP)/src/delete.c \ $(TOP)/src/expr.c \ @@ -183,7 +192,7 @@ VDBEHDR = \ # This is the default Makefile target. The objects listed here # are what get build when you type just "make" with no arguments. # -all: sqlite3.h libsqlite3.la sqlite3@TARGET_EXEEXT@ +all: sqlite3.h libsqlite3.la sqlite3$(TEXE) $(HAVE_TCL:1=libtclsqlite3.la) Makefile: $(TOP)/Makefile.in ./config.status @@ -201,10 +210,11 @@ libsqlite3.la: $(LIBOBJ) libtclsqlite3.la: tclsqlite.lo libsqlite3.la $(LTLINK) -o libtclsqlite3.la tclsqlite.lo \ - libsqlite3.la $(LIBTCL) $(LIBPTHREAD) -rpath $(libdir)/sqlite \ + $(LIBOJB) @TCL_STUB_LIB_SPEC@ $(LIBPTHREAD) \ + -rpath $(libdir)/sqlite \ -version-info "8:6:8" -sqlite3@TARGET_EXEEXT@: $(TOP)/src/shell.c libsqlite3.la sqlite3.h +sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la sqlite3.h $(LTLINK) $(READLINE_FLAGS) $(LIBPTHREAD) \ -o sqlite3 $(TOP)/src/shell.c libsqlite3.la $(LIBREADLINE) @@ -259,6 +269,9 @@ config.h: echo >>config.h rm -f temp.c temp +cursor.lo: $(TOP)/src/cursor.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/cursor.c + date.lo: $(TOP)/src/date.c $(HDR) $(LTCOMPILE) -c $(TOP)/src/date.c @@ -314,10 +327,10 @@ parse.c: $(TOP)/src/parse.y lemon$(BEXE) ./lemon $(OPTS) parse.y pragma.lo: $(TOP)/src/pragma.c $(HDR) - $(LTCOMPILE) $(TCL_FLAGS) -c $(TOP)/src/pragma.c + $(LTCOMPILE) -c $(TOP)/src/pragma.c printf.lo: $(TOP)/src/printf.c $(HDR) - $(LTCOMPILE) $(TCL_FLAGS) -c $(TOP)/src/printf.c + $(LTCOMPILE) -c $(TOP)/src/printf.c random.lo: $(TOP)/src/random.c $(HDR) $(LTCOMPILE) -c $(TOP)/src/random.c @@ -333,7 +346,7 @@ table.lo: $(TOP)/src/table.c $(HDR) $(LTCOMPILE) -c $(TOP)/src/table.c tclsqlite.lo: $(TOP)/src/tclsqlite.c $(HDR) - $(LTCOMPILE) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c + $(LTCOMPILE) -c $(TOP)/src/tclsqlite.c tokenize.lo: $(TOP)/src/tokenize.c keywordhash.c $(HDR) $(LTCOMPILE) -c $(TOP)/src/tokenize.c @@ -372,31 +385,34 @@ vdbemem.lo: $(TOP)/src/vdbemem.c $(VDBEHDR) where.lo: $(TOP)/src/where.c $(HDR) $(LTCOMPILE) -c $(TOP)/src/where.c -tclsqlite-sh.lo: $(TOP)/src/tclsqlite.c $(HDR) - $(LTCOMPILE) $(TCL_FLAGS) -DTCLSH=1 -o $@ -c $(TOP)/src/tclsqlite.c +tclsqlite-shell.lo: $(TOP)/src/tclsqlite.c $(HDR) + $(LTCOMPILE) -DTCLSH=1 -o $@ -c $(TOP)/src/tclsqlite.c + +tclsqlite-stubs.lo: $(TOP)/src/tclsqlite.c $(HDR) + $(LTCOMPILE) -DTCL_USE_STUBS=1 -o $@ -c $(TOP)/src/tclsqlite.c -tclsqlite3: tclsqlite-sh.lo libsqlite3.la - $(LTLINK) $(TCL_FLAGS) -o tclsqlite3 tclsqlite-sh.lo \ +tclsqlite3: tclsqlite-shell.lo libsqlite3.la + $(LTLINK) -o tclsqlite3 tclsqlite-shell.lo \ libsqlite3.la $(LIBTCL) -testfixture@TARGET_EXEEXT@: $(TOP)/src/tclsqlite.c libtclsqlite3.la libsqlite3.la $(TESTSRC) - $(LTLINK) $(TCL_FLAGS) -DTCLSH=1 -DSQLITE_TEST=1\ +testfixture$(TEXE): $(TOP)/src/tclsqlite.c libtclsqlite3.la libsqlite3.la $(TESTSRC) + $(LTLINK) -DTCLSH=1 -DSQLITE_TEST=1\ $(THREADSAFE) $(TEMP_STORE)\ -o testfixture $(TESTSRC) $(TOP)/src/tclsqlite.c \ libtclsqlite3.la libsqlite3.la $(LIBTCL) -crashtest@TARGET_EXEEXT@: $(TOP)/src/tclsqlite.c libsqlite3.la $(TESTSRC) $(TOP)/src/os_test.c - $(LTLINK) $(TCL_FLAGS) -DOS_TEST=1 -DTCLSH=1 -DSQLITE_TEST=1 \ +crashtest$(TEXE): $(TOP)/src/tclsqlite.c libsqlite3.la $(TESTSRC) $(TOP)/src/os_test.c + $(LTLINK) -DOS_TEST=1 -DTCLSH=1 -DSQLITE_TEST=1 \ -o crashtest \ $(TESTSRC) $(TOP)/src/os_test.c $(TOP)/src/tclsqlite.c \ libsqlite3.la $(LIBTCL) $(THREADLIB) -fulltest: testfixture@TARGET_EXEEXT@ sqlite3@TARGET_EXEEXT@ crashtest@TARGET_EXEEXT@ +fulltest: testfixture$(TEXE) sqlite3$(TEXE) crashtest$(TEXE) ./testfixture $(TOP)/test/all.test -test: testfixture@TARGET_EXEEXT@ sqlite3@TARGET_EXEEXT@ +test: testfixture$(TEXE) sqlite3$(TEXE) ./testfixture $(TOP)/test/quick.test @@ -567,14 +583,14 @@ install: sqlite3 libsqlite3.la sqlite3.h $(INSTALL) -m 0644 sqlite3.pc $(DESTDIR)$(libdir)/pkgconfig; clean: - rm -f *.lo *.la *.o sqlite3@TARGET_EXEEXT@ libsqlite3.la + rm -f *.lo *.la *.o sqlite3$(TEXE) libsqlite3.la rm -f sqlite3.h opcodes.* rm -rf .libs .deps rm -f lemon$(BEXE) lempar.c parse.* sqlite*.tar.gz rm -f mkkeywordhash$(BEXE) keywordhash.c rm -f $(PUBLISH) rm -f *.da *.bb *.bbg gmon.out - rm -f testfixture@TARGET_EXEEXT@ test.db + rm -f testfixture$(TEXE) test.db rm -rf doc rm -f common.tcl rm -f sqlite3.dll sqlite3.lib diff --git a/configure b/configure index b72c41bbb7..a60bc8f467 100755 --- a/configure +++ b/configure @@ -463,7 +463,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP CPP CXX CXXFLAGS ac_ct_CXX CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA program_prefix VERSION BUILD_CC BUILD_CFLAGS BUILD_LIBS TARGET_CC TARGET_CFLAGS TARGET_LINK TARGET_LFLAGS TARGET_RANLIB TARGET_AR THREADSAFE TARGET_THREAD_LIB ALLOWRELEASE TEMP_STORE BUILD_EXEEXT OS_UNIX OS_WIN TARGET_EXEEXT TARGET_LIBS TARGET_TCL_LIBS TARGET_TCL_INC TARGET_READLINE_LIBS TARGET_READLINE_INC TARGET_HAVE_READLINE LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP CPP CXX CXXFLAGS ac_ct_CXX CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA program_prefix VERSION BUILD_CC BUILD_CFLAGS BUILD_LIBS TARGET_CC TARGET_CFLAGS TARGET_LINK TARGET_LFLAGS TARGET_RANLIB TARGET_AR THREADSAFE TARGET_THREAD_LIB ALLOWRELEASE TEMP_STORE BUILD_EXEEXT OS_UNIX OS_WIN TARGET_EXEEXT TARGET_LIBS TCL_VERSION TCL_BIN_DIR TCL_SRC_DIR TCL_LIBS TCL_INCLUDE_SPEC TCL_LIB_FILE TCL_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC HAVE_TCL TARGET_READLINE_LIBS TARGET_READLINE_INC TARGET_HAVE_READLINE LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1028,6 +1028,7 @@ Optional Features: --enable-threadsafe Support threadsafe operation --enable-releasemode Support libtool link to release mode --enable-tempstore Use an in-ram database for temporary tables (never,no,yes,always) + --disable-tcl do not build TCL extension Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1038,6 +1039,7 @@ Optional Packages: --with-tags[=TAGS] include additional configurations [automatic] --with-hints=FILE Read configuration options from FILE + --with-tcl directory containing tcl configuration (tclConfig.sh) Some influential environment variables: CC C compiler command @@ -1493,7 +1495,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # The following RCS revision string applies to configure.in -# $Revision: 1.25 $ +# $Revision: 1.26 $ ######### # Programs needed @@ -3052,7 +3054,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 3055 "configure"' > conftest.$ac_ext + echo '#line 3057 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -4515,7 +4517,7 @@ fi # Provide some information about the compiler. -echo "$as_me:4518:" \ +echo "$as_me:4520:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 @@ -5549,11 +5551,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:5552: $lt_compile\"" >&5) + (eval echo "\"\$as_me:5554: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:5556: \$? = $ac_status" >&5 + echo "$as_me:5558: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -5782,11 +5784,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:5785: $lt_compile\"" >&5) + (eval echo "\"\$as_me:5787: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:5789: \$? = $ac_status" >&5 + echo "$as_me:5791: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -5842,11 +5844,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:5845: $lt_compile\"" >&5) + (eval echo "\"\$as_me:5847: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:5849: \$? = $ac_status" >&5 + echo "$as_me:5851: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8026,7 +8028,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:10308: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:10310: \$? = $ac_status" >&5 + echo "$as_me:10312: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -10363,11 +10365,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:10366: $lt_compile\"" >&5) + (eval echo "\"\$as_me:10368: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:10370: \$? = $ac_status" >&5 + echo "$as_me:10372: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11724,7 +11726,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:12654: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12656: \$? = $ac_status" >&5 + echo "$as_me:12658: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -12709,11 +12711,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12712: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12714: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12716: \$? = $ac_status" >&5 + echo "$as_me:12718: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14743,11 +14745,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14746: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14748: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14750: \$? = $ac_status" >&5 + echo "$as_me:14752: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -14976,11 +14978,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14979: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14981: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14983: \$? = $ac_status" >&5 + echo "$as_me:14985: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -15036,11 +15038,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15039: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15041: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15043: \$? = $ac_status" >&5 + echo "$as_me:15045: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17220,7 +17222,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5 -echo $ECHO_N "checking for sin... $ECHO_C" >&6 -if test "${ac_cv_func_sin+set}" = set; then + use_tcl=yes +fi; +if test "${use_tcl}" = "yes" ; then + +# Check whether --with-tcl or --without-tcl was given. +if test "${with_tcl+set}" = set; then + withval="$with_tcl" + with_tclconfig=${withval} +fi; + echo "$as_me:$LINENO: checking for Tcl configuration" >&5 +echo $ECHO_N "checking for Tcl configuration... $ECHO_C" >&6 + if test "${ac_cv_c_tclconfig+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define sin to an innocuous variant, in case declares sin. - For example, HP-UX 11i declares gettimeofday. */ -#define sin innocuous_sin -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char sin (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef sin + # First check to see if --with-tcl was specified. + if test x"${with_tclconfig}" != x ; then + if test -f "${with_tclconfig}/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` + else + { { echo "$as_me:$LINENO: error: ${with_tclconfig} directory doesn't contain tclConfig.sh" >&5 +echo "$as_me: error: ${with_tclconfig} directory doesn't contain tclConfig.sh" >&2;} + { (exit 1); exit 1; }; } + fi + fi + # then check for a private Tcl installation + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + ../tcl \ + `ls -dr ../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ../tcl[8-9].[0-9] 2>/dev/null` \ + `ls -dr ../tcl[8-9].[0-9]* 2>/dev/null` \ + ../../tcl \ + `ls -dr ../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ../../tcl[8-9].[0-9] 2>/dev/null` \ + `ls -dr ../../tcl[8-9].[0-9]* 2>/dev/null` \ + ../../../tcl \ + `ls -dr ../../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ../../../tcl[8-9].[0-9] 2>/dev/null` \ + `ls -dr ../../../tcl[8-9].[0-9]* 2>/dev/null` + do + if test -f "$i/unix/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i/unix; pwd)` + break + fi + done + fi -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char sin (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_sin) || defined (__stub___sin) -choke me -#else -char (*f) () = sin; -#endif -#ifdef __cplusplus -} -#endif + # check in a few common install locations + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + `ls -d ${libdir} 2>/dev/null` \ + `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ + `ls -d /usr/lib 2>/dev/null` + do + if test -f "$i/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i; pwd)` + break + fi + done + fi -int -main () -{ -return f != sin; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_sin=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + # check in a few other private locations + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + ${srcdir}/../tcl \ + `ls -dr ${srcdir}/../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ${srcdir}/../tcl[8-9].[0-9] 2>/dev/null` \ + `ls -dr ${srcdir}/../tcl[8-9].[0-9]* 2>/dev/null` + do + if test -f "$i/unix/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i/unix; pwd)` + break + fi + done + fi -ac_cv_func_sin=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_sin" >&5 -echo "${ECHO_T}$ac_cv_func_sin" >&6 -if test $ac_cv_func_sin = yes; then - LIBS="" -else - LIBS="-lm" fi -echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + if test x"${ac_cv_c_tclconfig}" = x ; then + use_tcl=no + { echo "$as_me:$LINENO: WARNING: Can't find Tcl configuration definitions" >&5 +echo "$as_me: WARNING: Can't find Tcl configuration definitions" >&2;} + { echo "$as_me:$LINENO: WARNING: *** Without Tcl the regression tests cannot be executed ***" >&5 +echo "$as_me: WARNING: *** Without Tcl the regression tests cannot be executed ***" >&2;} + { echo "$as_me:$LINENO: WARNING: *** Consider using --with-tcl=... to define location of Tcl ***" >&5 +echo "$as_me: WARNING: *** Consider using --with-tcl=... to define location of Tcl ***" >&2;} + else + TCL_BIN_DIR=${ac_cv_c_tclconfig} + echo "$as_me:$LINENO: result: found $TCL_BIN_DIR/tclConfig.sh" >&5 +echo "${ECHO_T}found $TCL_BIN_DIR/tclConfig.sh" >&6 + + echo "$as_me:$LINENO: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5 +echo $ECHO_N "checking for existence of $TCL_BIN_DIR/tclConfig.sh... $ECHO_C" >&6 + if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then + echo "$as_me:$LINENO: result: loading" >&5 +echo "${ECHO_T}loading" >&6 + . $TCL_BIN_DIR/tclConfig.sh + else + echo "$as_me:$LINENO: result: file not found" >&5 +echo "${ECHO_T}file not found" >&6 + fi -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + # + # If the TCL_BIN_DIR is the build directory (not the install directory), + # then set the common variable name to the value of the build variables. + # For example, the variable TCL_LIB_SPEC will be set to the value + # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC + # instead of TCL_BUILD_LIB_SPEC since it will work with both an + # installed and uninstalled version of Tcl. + # + + if test -f $TCL_BIN_DIR/Makefile ; then + TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC} + TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC} + TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH} + fi -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBDL 1 -_ACEOF + # + # eval is required to do the TCL_DBGX substitution + # - LIBS="-ldl $LIBS" + eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\"" + eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\"" + eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\"" -fi + eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\"" + eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\"" + eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\"" - otherlibs=$LIBS - if test "$extra" != ""; then - LIBS=$extra - else - LIBS="" - echo "$as_me:$LINENO: checking for library containing Tcl_Init" >&5 -echo $ECHO_N "checking for library containing Tcl_Init... $ECHO_C" >&6 -if test "${ac_cv_search_Tcl_Init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_Tcl_Init=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char Tcl_Init (); -int -main () -{ -Tcl_Init (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_Tcl_Init="none required" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_Tcl_Init" = no; then - for ac_lib in tcl8.4 tcl8.3 tcl84 tcl83 tcl; do - LIBS="-l$ac_lib $otherlibs $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char Tcl_Init (); -int -main () -{ -Tcl_Init (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_Tcl_Init="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_Tcl_Init" >&5 -echo "${ECHO_T}$ac_cv_search_Tcl_Init" >&6 -if test "$ac_cv_search_Tcl_Init" != no; then - test "$ac_cv_search_Tcl_Init" = "none required" || LIBS="$ac_cv_search_Tcl_Init $LIBS" -fi - fi - TARGET_TCL_LIBS="$LIBS $otherlibs" -fi -########## -# Figure out where to get the TCL header files. -# -echo "$as_me:$LINENO: checking TCL header files" >&5 -echo $ECHO_N "checking TCL header files... $ECHO_C" >&6 -found=no -if test "$config_TARGET_TCL_INC" != ""; then - TARGET_TCL_INC=$config_TARGET_TCL_INC - found=yes -else - if test "$with_tcl" != ""; then - TARGET_TCL_INC="-I$with_tcl/generic -I$with_tcl/$tclsubdir" - found=yes - else - TARGET_TCL_INC="" - found=no - fi -fi -if test "$found" = "yes"; then - echo "$as_me:$LINENO: result: $TARGET_TCL_INC" >&5 -echo "${ECHO_T}$TARGET_TCL_INC" >&6 -else - echo "$as_me:$LINENO: result: not specified: still searching..." >&5 -echo "${ECHO_T}not specified: still searching..." >&6 - if test "${ac_cv_header_tcl_h+set}" = set; then - echo "$as_me:$LINENO: checking for tcl.h" >&5 -echo $ECHO_N "checking for tcl.h... $ECHO_C" >&6 -if test "${ac_cv_header_tcl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_tcl_h" >&5 -echo "${ECHO_T}$ac_cv_header_tcl_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking tcl.h usability" >&5 -echo $ECHO_N "checking tcl.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -# Is the header present? -echo "$as_me:$LINENO: checking tcl.h presence" >&5 -echo $ECHO_N "checking tcl.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: tcl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: tcl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: tcl.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: tcl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: tcl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: tcl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: tcl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: tcl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: tcl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: tcl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: tcl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: tcl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: tcl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: tcl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: tcl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: tcl.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for tcl.h" >&5 -echo $ECHO_N "checking for tcl.h... $ECHO_C" >&6 -if test "${ac_cv_header_tcl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_tcl_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_tcl_h" >&5 -echo "${ECHO_T}$ac_cv_header_tcl_h" >&6 - -fi -if test $ac_cv_header_tcl_h = yes; then - found=yes -fi + fi fi -if test "$found" = "no"; then - for dir in /usr/local /usr/X11 /usr/X11R6 /usr/pkg /usr/contrib /usr; do - as_ac_File=`echo "ac_cv_file_$dir/include/tcl.h" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $dir/include/tcl.h" >&5 -echo $ECHO_N "checking for $dir/include/tcl.h... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test "${use_tcl}" = "no" ; then + HAVE_TCL="" else - test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } -if test -r "$dir/include/tcl.h"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - found=yes -fi - - if test "$found" = "yes"; then - TARGET_TCL_INC="-I$dir/include" - break - fi - done -fi -if test "$found" = "no"; then - TARGET_TCL_INC="-DNO_TCL=1" + HAVE_TCL=1 fi @@ -21362,8 +21013,18 @@ s,@OS_UNIX@,$OS_UNIX,;t t s,@OS_WIN@,$OS_WIN,;t t s,@TARGET_EXEEXT@,$TARGET_EXEEXT,;t t s,@TARGET_LIBS@,$TARGET_LIBS,;t t -s,@TARGET_TCL_LIBS@,$TARGET_TCL_LIBS,;t t -s,@TARGET_TCL_INC@,$TARGET_TCL_INC,;t t +s,@TCL_VERSION@,$TCL_VERSION,;t t +s,@TCL_BIN_DIR@,$TCL_BIN_DIR,;t t +s,@TCL_SRC_DIR@,$TCL_SRC_DIR,;t t +s,@TCL_LIBS@,$TCL_LIBS,;t t +s,@TCL_INCLUDE_SPEC@,$TCL_INCLUDE_SPEC,;t t +s,@TCL_LIB_FILE@,$TCL_LIB_FILE,;t t +s,@TCL_LIB_FLAG@,$TCL_LIB_FLAG,;t t +s,@TCL_LIB_SPEC@,$TCL_LIB_SPEC,;t t +s,@TCL_STUB_LIB_FILE@,$TCL_STUB_LIB_FILE,;t t +s,@TCL_STUB_LIB_FLAG@,$TCL_STUB_LIB_FLAG,;t t +s,@TCL_STUB_LIB_SPEC@,$TCL_STUB_LIB_SPEC,;t t +s,@HAVE_TCL@,$HAVE_TCL,;t t s,@TARGET_READLINE_LIBS@,$TARGET_READLINE_LIBS,;t t s,@TARGET_READLINE_INC@,$TARGET_READLINE_INC,;t t s,@TARGET_HAVE_READLINE@,$TARGET_HAVE_READLINE,;t t diff --git a/configure.ac b/configure.ac index 0d9c2d40e8..d95fa36b13 100644 --- a/configure.ac +++ b/configure.ac @@ -62,18 +62,10 @@ # into *.o files. Do not include TARGET_TCL_INC in this list. # Makefiles might add additional switches such as "-I.". # -# TARGET_TCL_LIBS +# TCL_* # -# This is the library directives passed to the target linker -# that cause the executable to link against Tcl. This might -# be a switch like "-ltcl8.0" or pathnames of library file -# like "../../src/libtcl8.0.a". -# -# TARGET_TCL_INC -# -# This variables define the directory that contain header -# files for Tcl. If the compiler is able to find -# on its own, then this can be blank. +# Lots of values are read in from the tclConfig.sh script, +# if that script is available. # # TARGET_READLINE_LIBS # @@ -118,16 +110,6 @@ # where FILE is the name of the file that sets the environment # variables. FILE should be an absolute pathname. # -# If you have a Tcl/Tk/BLT source distribution available, then the -# files in that distribution will be used instead of any other -# Tcl/Tk/BLT files the script might discover if you tell the configure -# script about the source tree. Use commandline options: -# -# --with-tcl=PATH --with-tk=PATH --with-blt=PATH -# -# Or set environment variables config_WITH_TCL, config_WITH_TK, or -# config_WITH_BLT. -# # This configure.in file is easy to reuse on other projects. Just # change the argument to AC_INIT(). And disable any features that # you don't need (for example BLT) by erasing or commenting out @@ -138,7 +120,7 @@ AC_INIT(src/sqlite.h.in) dnl Put the RCS revision string after AC_INIT so that it will also dnl show in in configure. # The following RCS revision string applies to configure.in -# $Revision: 1.11 $ +# $Revision: 1.12 $ ######### # Programs needed @@ -410,65 +392,146 @@ fi AC_SUBST(TARGET_LIBS) ########## -# Figure out what C libraries are required to compile Tcl programs. -# -if test "$config_TARGET_TCL_LIBS" != ""; then - TARGET_TCL_LIBS="$config_TARGET_TCL_LIBS" -else - if test "$with_tcl" != ""; then - extra=`echo $with_tcl/$tclsubdir/libtcl8*.a` - fi - CC=$TARGET_CC - AC_CHECK_FUNC(sin, LIBS="", LIBS="-lm") - AC_CHECK_LIB(dl, dlopen) - otherlibs=$LIBS - if test "$extra" != ""; then - LIBS=$extra - else - LIBS="" - AC_SEARCH_LIBS(Tcl_Init, dnl - tcl8.4 tcl8.3 tcl84 tcl83 tcl,,,$otherlibs) - fi - TARGET_TCL_LIBS="$LIBS $otherlibs" -fi -AC_SUBST(TARGET_TCL_LIBS) +# Figure out all the parameters needed to compile against Tcl. +# +# This code is derived from the SC_PATH_TCLCONFIG and SC_LOAD_TCLCONFIG +# macros in the in the tcl.m4 file of the standard TCL distribution. +# Those macros could not be used directly since we have to make some +# minor changes to accomodate systems that do not have TCL installed. +# +AC_ARG_ENABLE(tcl, [ --disable-tcl do not build TCL extension], + [use_tcl=$enableval],[use_tcl=yes]) +if test "${use_tcl}" = "yes" ; then + AC_ARG_WITH(tcl, [ --with-tcl directory containing tcl configuration (tclConfig.sh)], with_tclconfig=${withval}) + AC_MSG_CHECKING([for Tcl configuration]) + AC_CACHE_VAL(ac_cv_c_tclconfig,[ + # First check to see if --with-tcl was specified. + if test x"${with_tclconfig}" != x ; then + if test -f "${with_tclconfig}/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` + else + AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh]) + fi + fi + # then check for a private Tcl installation + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + ../tcl \ + `ls -dr ../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ + `ls -dr ../tcl[[8-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ../tcl[[8-9]].[[0-9]]* 2>/dev/null` \ + ../../tcl \ + `ls -dr ../../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ + `ls -dr ../../tcl[[8-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ../../tcl[[8-9]].[[0-9]]* 2>/dev/null` \ + ../../../tcl \ + `ls -dr ../../../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ + `ls -dr ../../../tcl[[8-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ../../../tcl[[8-9]].[[0-9]]* 2>/dev/null` + do + if test -f "$i/unix/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i/unix; pwd)` + break + fi + done + fi -########## -# Figure out where to get the TCL header files. -# -AC_MSG_CHECKING([TCL header files]) -found=no -if test "$config_TARGET_TCL_INC" != ""; then - TARGET_TCL_INC=$config_TARGET_TCL_INC - found=yes -else - if test "$with_tcl" != ""; then - TARGET_TCL_INC="-I$with_tcl/generic -I$with_tcl/$tclsubdir" - found=yes + # check in a few common install locations + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + `ls -d ${libdir} 2>/dev/null` \ + `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ + `ls -d /usr/lib 2>/dev/null` + do + if test -f "$i/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i; pwd)` + break + fi + done + fi + + # check in a few other private locations + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + ${srcdir}/../tcl \ + `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ + `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]]* 2>/dev/null` + do + if test -f "$i/unix/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + ]) + + if test x"${ac_cv_c_tclconfig}" = x ; then + use_tcl=no + AC_MSG_WARN(Can't find Tcl configuration definitions) + AC_MSG_WARN(*** Without Tcl the regression tests cannot be executed ***) + AC_MSG_WARN(*** Consider using --with-tcl=... to define location of Tcl ***) else - TARGET_TCL_INC="" - found=no + TCL_BIN_DIR=${ac_cv_c_tclconfig} + AC_MSG_RESULT(found $TCL_BIN_DIR/tclConfig.sh) + + AC_MSG_CHECKING([for existence of $TCL_BIN_DIR/tclConfig.sh]) + if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then + AC_MSG_RESULT([loading]) + . $TCL_BIN_DIR/tclConfig.sh + else + AC_MSG_RESULT([file not found]) + fi + + # + # If the TCL_BIN_DIR is the build directory (not the install directory), + # then set the common variable name to the value of the build variables. + # For example, the variable TCL_LIB_SPEC will be set to the value + # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC + # instead of TCL_BUILD_LIB_SPEC since it will work with both an + # installed and uninstalled version of Tcl. + # + + if test -f $TCL_BIN_DIR/Makefile ; then + TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC} + TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC} + TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH} + fi + + # + # eval is required to do the TCL_DBGX substitution + # + + eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\"" + eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\"" + eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\"" + + eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\"" + eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\"" + eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\"" + + AC_SUBST(TCL_VERSION) + AC_SUBST(TCL_BIN_DIR) + AC_SUBST(TCL_SRC_DIR) + AC_SUBST(TCL_LIBS) + AC_SUBST(TCL_INCLUDE_SPEC) + + AC_SUBST(TCL_LIB_FILE) + AC_SUBST(TCL_LIB_FLAG) + AC_SUBST(TCL_LIB_SPEC) + + AC_SUBST(TCL_STUB_LIB_FILE) + AC_SUBST(TCL_STUB_LIB_FLAG) + AC_SUBST(TCL_STUB_LIB_SPEC) fi fi -if test "$found" = "yes"; then - AC_MSG_RESULT($TARGET_TCL_INC) +if test "${use_tcl}" = "no" ; then + HAVE_TCL="" else - AC_MSG_RESULT(not specified: still searching...) - AC_CHECK_HEADER(tcl.h, [found=yes]) -fi -if test "$found" = "no"; then - for dir in /usr/local /usr/X11 /usr/X11R6 /usr/pkg /usr/contrib /usr; do - AC_CHECK_FILE($dir/include/tcl.h, found=yes) - if test "$found" = "yes"; then - TARGET_TCL_INC="-I$dir/include" - break - fi - done -fi -if test "$found" = "no"; then - TARGET_TCL_INC="-DNO_TCL=1" + HAVE_TCL=1 fi -AC_SUBST(TARGET_TCL_INC) +AC_SUBST(HAVE_TCL) ########## # Figure out what C libraries are required to compile programs diff --git a/main.mk b/main.mk index a15f5e800e..c1963c0c72 100644 --- a/main.mk +++ b/main.mk @@ -183,7 +183,7 @@ objects: $(LIBOBJ_ORIG) # files are automatically generated. This target takes care of # all that automatic generation. # -target_source: $(SRC) $(VDBEHDR) opcodes.c keyworkhash.c +target_source: $(SRC) $(VDBEHDR) opcodes.c keywordhash.c rm -rf tsrc mkdir tsrc cp $(SRC) $(VDBEHDR) tsrc diff --git a/manifest b/manifest index 506120e1f0..67fc82ea56 100644 --- a/manifest +++ b/manifest @@ -1,6 +1,6 @@ -C Fix\sa\smemory\sleak\sin\spager.c.\s(CVS\s2151) -D 2004-11-24T01:16:43 -F Makefile.in 8291610f5839939a5fbff4dbbf85adb0fe1ac37f +C The\sconfigure\sscript\snow\sautomatically\sdetects\stclConfig.sh\sand\sbuilds\sthe\nTcl\sextension\sonly\sif\stclConfig.sh\sis\spresent.\s\sThe\sTcl\sextension\scan\sbe\ndisabled\susing\s--disable-tcl.\s(CVS\s2152) +D 2004-11-25T13:50:01 +F Makefile.in 323399124557d568541dc377780679b19df80f40 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1 F VERSION 342b6d5fde93b6d45023e2fee0163dda6464b9d6 @@ -10,13 +10,13 @@ F art/SQLite.gif 1bbb94484963f1382e27e1c5e86dd0c1061eba2b F art/SQLiteLogo3.tiff b9e6bf022ae939bc986cddb8ab99583ca1b02cb3 F config.guess 2103e94b15dc57112d7b9ee152c6fac5288895b4 F config.sub 9bf686ec001ae7bc53f5b3563c90c62d4c6d48be -F configure 8f1b0d5cad4dadcc1677c737e35646abf6332794 x -F configure.ac 5903493fe34908d768d4abaa3c0c9397e32e2bb5 +F configure 4b52c5747661a4864365ab4cd6ca6e2f6ef9c86a x +F configure.ac acefb1bd62d62959f6288353c2d7b3d65785fc4b F doc/lemon.html f0f682f50210928c07e562621c3b7e8ab912a538 F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 F ltmain.sh f6b283068efa69f06eb8aa1fe4bddfdbdeb35826 -F main.mk cdbb576b8a789e8d0428d39c07600097628198a0 +F main.mk 41626e77ccf8ece8a3afa98e41c2fe584160e7a1 F mkdll.sh 468d4f41d3ea98221371df4825cfbffbaac4d7e4 F mkopcodec.awk 14a794f7b206976afc416b30fe8e0fc97f3434e9 F mkopcodeh.awk 4090944e4de0a2ccb99aa0083290f73bce4db406 @@ -261,7 +261,7 @@ F www/tclsqlite.tcl 560ecd6a916b320e59f2917317398f3d59b7cc25 F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0 F www/whentouse.tcl fdacb0ba2d39831e8a6240d05a490026ad4c4e4c -P 5944d51e6c164270301b57e4351add4cb6137be6 -R 2bae729981167d404fdf1f99ff102b64 +P 0ad4ed87ce1112663ca94805dea167372485396a +R 8eb4a1911a6d9341ac20110203ec6e63 U drh -Z dee73820d0fb35a1429c8ffae402ed94 +Z 0cc9ef7bf73b18d792c309c66172b724 diff --git a/manifest.uuid b/manifest.uuid index e387d2f845..7a039ca7b2 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0ad4ed87ce1112663ca94805dea167372485396a \ No newline at end of file +12424bef7770f3d256d386251477a1da78be2bde \ No newline at end of file