mirror of
https://github.com/sqlite/sqlite.git
synced 2024-11-25 00:49:41 +01:00
Get much of the --with-tcl-related bits working.
FossilOrigin-Name: 4e4a740369d3edc58d35c660b1ea73ee381503f82a98a4b770fd07cef1704e8b
This commit is contained in:
parent
10d1b0c5db
commit
f400f41fde
23
Makefile.in
23
Makefile.in
@ -143,6 +143,14 @@ HAVE_TCL = @HAVE_TCL@
|
||||
# know the specific version we want to use
|
||||
#
|
||||
TCLSH_CMD = @TCLSH_CMD@
|
||||
TCL_CONFIG_SH = @TCL_CONFIG_SH@
|
||||
|
||||
# TCL config info from tclConfig.sh
|
||||
TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@
|
||||
TCL_LIB_SPEC = @TCL_LIB_SPEC@
|
||||
TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
|
||||
TCL_EXEC_PREFIX = @TCL_EXEC_PREFIX@
|
||||
|
||||
|
||||
# Additional options when running tests using testrunner.tcl
|
||||
# This is usually either blank, or else --status
|
||||
@ -844,13 +852,14 @@ sourcetest: srcck1$(BEXE) sqlite3.c
|
||||
src-verify: $(TOP)/tool/src-verify.c
|
||||
$(BCC) -o src-verify$(BEXE) $(TOP)/tool/src-verify.c
|
||||
|
||||
|
||||
# JimTCL is part of the autosetup suite and is suitable for certain
|
||||
# in-tree TCL jobs, but it requires that we build it with non-default
|
||||
# flags. Note that the build tree will, if no system-level tclsh is
|
||||
# found, also have a ./jimsh0. That one is a bare-bones build for the
|
||||
# configure process, whereas we need to build it with another option
|
||||
# enabled for use with the various code generators.
|
||||
#
|
||||
# JimTCL is part of the autosetup suite and is suitable for all
|
||||
# current in-tree code-generation TCL jobs, but it requires that we
|
||||
# build it with non-default flags. Note that the build tree will, if
|
||||
# no system-level tclsh is found, also have a ./jimsh0. That one is a
|
||||
# bare-bones build for the configure process, whereas we need to build
|
||||
# it with another option enabled for use with the various code
|
||||
# generators.
|
||||
#
|
||||
JIMSH = @srcdir@/jimsh
|
||||
@if CFLAGS_JIMSH
|
||||
|
384
auto.def
384
auto.def
@ -30,8 +30,8 @@ define cross_compiling ${cross_compiling}
|
||||
#
|
||||
options {
|
||||
with-debug:=1 => {Enable debug build flags}
|
||||
with-tclsh: => {Full pathname of tclsh to use}
|
||||
with-tcl: => {Directory containing tclConfig.sh}
|
||||
with-tclsh:PATH => {Full pathname of tclsh to use}
|
||||
with-tcl:DIR => {Directory containing tclConfig.sh}
|
||||
tcl=1 => {Disable building accessory programs that require TCL-dev}
|
||||
test-status => {Enable status of tests}
|
||||
threadsafe=1 => {Disable mutexing}
|
||||
@ -69,7 +69,7 @@ options {
|
||||
#
|
||||
# --releasemode: libtool-specific (which we don't have now)
|
||||
#
|
||||
########################################################################
|
||||
#
|
||||
|
||||
|
||||
set srcdir $autosetup(srcdir)
|
||||
@ -94,6 +94,7 @@ if {![file exists sqlite3.pc.in]} {
|
||||
|
||||
cc-check-tools ld ar
|
||||
|
||||
########################################################################
|
||||
# The build process allows for using a cross-compiler. But the default
|
||||
# action is to target the same platform that we are running on. The
|
||||
# configure script needs to discover the following properties of the
|
||||
@ -154,7 +155,7 @@ cc-check-tools ld ar
|
||||
# files for the readline library. If the compiler is able
|
||||
# to find <readline.h> on its own, then this can be blank.
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# OPT_FEATURE_FLAGS = -DSQLITE_OMIT/ENABLE flags.
|
||||
define OPT_FEATURE_FLAGS {}
|
||||
define OPT_SHELL {}; # CFLAGS for the sqlite3 CLI app
|
||||
@ -218,6 +219,7 @@ define BUILD_CFLAGS [get-env CFLAGS {-g}]
|
||||
#
|
||||
# It's unclear whether we can actually get away with making these
|
||||
# changes to the autosetup environment.
|
||||
#
|
||||
if {1} {
|
||||
set wasiSdkDir [opt-val with-wasi-sdk] ; # ??? [lindex [opt-val with-wasi-sdk] end]
|
||||
#puts "x wasiSdkDir=$wasiSdkDir foo=[lindex [opt-val with-wasi-sdk] end]"
|
||||
@ -256,30 +258,16 @@ if {1} {
|
||||
unset wasiSdkDir
|
||||
}; # --wasi-sdk-dir
|
||||
|
||||
########################################################################
|
||||
# Check which TCL to use as a code generator
|
||||
define CFLAGS_JIMSH {}
|
||||
puts "Looking for path-resolution function for JimTCL... "
|
||||
define BTCL "\$(JIMSH)"
|
||||
if {[cc-check-functions realpath]} {
|
||||
define-append CFLAGS_JIMSH -DHAVE_REALPATH
|
||||
} elseif {[cc-check-functions _fullpath]} {
|
||||
# _fullpath() is a Windows API
|
||||
define-append CFLAGS_JIMSH -DHAVE__FULLPATH
|
||||
} else {
|
||||
puts "Cannot find realpath() or _fullpath(). Falling back to system's TCL for code generation."
|
||||
}
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Enable large file support (if special flags are necessary)
|
||||
cc-check-lfs
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Check for needed/wanted data types
|
||||
cc-check-types int8_t int16_t int32_t int64_t intptr_t \
|
||||
uint8_t uint16_t uint32_t uint64_t uintptr_t
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Check for needed/wanted functions
|
||||
cc-check-functions gmtime_r isnan localtime_r localtime_s \
|
||||
malloc_usable_size strchrnul usleep utime pread pread64 pwrite pwrite64
|
||||
@ -288,7 +276,7 @@ hwaci-check-function-in-lib fdatasync rt
|
||||
define LDFLAGS_FDATASYNC [get-define lib_fdatasync]
|
||||
undefine lib_fdatasync
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Check for needed/wanted headers
|
||||
cc-check-includes \
|
||||
sys/types.h sys/stat.h dlfcn.h unistd.h \
|
||||
@ -296,7 +284,8 @@ cc-check-includes \
|
||||
string.h strings.h \
|
||||
stdint.h inttypes.h
|
||||
|
||||
# These are optional for JimTCL:
|
||||
# These are optional for JimTCL but necessary if we want to use it for
|
||||
# code generation:
|
||||
cc-check-includes dirent.h sys/time.h
|
||||
|
||||
if {[cc-check-includes zlib.h] && [hwaci-check-function-in-lib deflate z]} {
|
||||
@ -337,157 +326,135 @@ hwaci-if-opt-truthy with-debug {
|
||||
|
||||
########################################################################
|
||||
# TCL...
|
||||
#
|
||||
# Under construction. An attempt to port most of the
|
||||
# --with-tcl/--with-tclsh logic from configure.ac to autosetup. This
|
||||
# part would actually be easier in the shell, and some of it will
|
||||
# seemingly be impossible without shell code.
|
||||
define HAVE_TCL 0
|
||||
define TCLSH_CMD {exit 1}
|
||||
if {"" eq [get-define CFLAGS_JIMSH]} {
|
||||
# We can't use JimTCL for in-tree generation on this system, so...
|
||||
#
|
||||
# Temporary solution for finding "a" tclsh. TODO is port the
|
||||
# full-featured check which lives in the elseif part of this block.
|
||||
set tclsh [hwaci-first-bin-of tclsh8.6 tclsh tclsh9.0]
|
||||
if {"" eq $tclsh} {
|
||||
user-error "Cannot find tclsh, which is required to build certain files."
|
||||
}
|
||||
define TCLSH_CMD $tclsh
|
||||
define BTCL $tclsh
|
||||
define HAVE_TCL 0 ; # until the following elseif block is ported
|
||||
} elseif {0} {
|
||||
# Porting this section of configure.ac is going to be a bit of a slog...
|
||||
set tEnable [hwaci-opt-truthy tcl]
|
||||
set use_tcl $tEnable
|
||||
proc hwaci-check-tcl {} {
|
||||
global top_srcdir
|
||||
puts "Checking for a suitable tcl... "
|
||||
set optTcl [hwaci-opt-truthy tcl]
|
||||
set use_tcl $optTcl
|
||||
set tclsh ""
|
||||
#set original_use_tcl ${use_tcl}
|
||||
#########
|
||||
# Figure out all the name of a working tclsh and parameters needed to compile against Tcl.
|
||||
# The --with-tcl= and/or --with-tclsh= configuration arguments might be useful for this.
|
||||
#
|
||||
# XXX AC_ARG_WITH tclsh AS_HELP_STRING([--with-tclsh=PATHNAME],[full pathname of a tclsh to use])
|
||||
# XXX AC_ARG_WITH tcl AS_HELP_STRING([--with-tcl=DIR],[directory containing (tclConfig.sh)])
|
||||
set with_tclsh [opt-val with-tclsh]
|
||||
set with_tcl [opt-val with-tcl]
|
||||
|
||||
# puts "hwaci-check-tcl: use_tcl ${use_tcl}"
|
||||
# puts "hwaci-check-tcl: with_tclsh=${with_tclsh}"
|
||||
# puts "hwaci-check-tcl: with_tcl=$with_tcl"
|
||||
if {"" eq $with_tclsh && "" eq $with_tcl} {
|
||||
# XXX if test x"${with_tclsh}" == x -a x"${with_tcl}" == x; then
|
||||
# XXX AC_CHECK_PROGS TCLSH_CMD tclsh8.6 tclsh tclsh9.0 none
|
||||
#set with_tclsh ${TCLSH_CMD}
|
||||
# XXX fi
|
||||
set with_tclsh [hwaci-first-bin-of tclsh8.6 tclsh tclsh9.0]
|
||||
}
|
||||
|
||||
if {"" ne $with_tclsh } {
|
||||
# XXX if test x"${with_tclsh}" != x -a x"${with_tclsh}" != xnone; then
|
||||
# XXX TCLSH_CMD=${with_tclsh}
|
||||
set tclsh $with_tclsh
|
||||
puts "using tclsh at \"$tclsh\""
|
||||
if {$use_tcl} {
|
||||
# XXX if test x"${use_tcl}" = "xyes"; then
|
||||
#set with_tcl `${with_tclsh} <${srcdir}/tool/find_tclconfig.tcl`
|
||||
# XXX if test x"${with_tcl}" != x; then
|
||||
#msg-result "$TCLSH_CMD recommends the tclConfig.sh at ${with_tcl}"
|
||||
# XXX else
|
||||
#msg-result Warning: "$TCLSH_CMD is unable to recommend a tclConfig.sh"
|
||||
#set use_tcl no
|
||||
# XXX fi
|
||||
# XXX fi
|
||||
if {"" ne $with_tclsh} {
|
||||
if {![file isfile $with_tclsh]} {
|
||||
hwaci-error "TCL shell $with_tclsh is not a file"
|
||||
} elseif {![file executable $with_tclsh]} {
|
||||
hwaci-error "TCL shell $with_tclsh is not executable"
|
||||
} else {
|
||||
define TCLSH_CMD $with_tclsh
|
||||
puts "Using tclsh at \"$with_tclsh\""
|
||||
}
|
||||
if {$use_tcl} {
|
||||
#set with_tcl [exec $with_tclsh $top_srcdir/tool/find_tclconfig.tcl]
|
||||
if {[catch {exec $with_tclsh $top_srcdir/tool/find_tclconfig.tcl} result] == 0} {
|
||||
set with_tcl $result
|
||||
}
|
||||
if {"" ne $with_tcl && [file isdir $with_tcl]} {
|
||||
puts "$with_tclsh recommends the tclConfig.sh from $with_tcl"
|
||||
} else {
|
||||
puts "$with_tclsh is unable to recommand a tclConfig.sh"
|
||||
set use_tcl 0
|
||||
}
|
||||
}
|
||||
# XXX fi
|
||||
}
|
||||
|
||||
# XXX if test x"${use_tcl}" = "xyes"; then
|
||||
# XXX if test x"${with_tcl}" != x; then
|
||||
# XXX if test -r ${with_tcl}/tclConfig.sh; then
|
||||
# set tclconfig "${with_tcl}/tclConfig.sh"
|
||||
# XXX else
|
||||
# XXX for i in tcl8.6 tcl9.0 lib; do
|
||||
# XXX if test -r ${with_tcl}/$i/tclConfig.sh; then
|
||||
#set tclconfig ${with_tcl}/$i/tclConfig.sh
|
||||
# XXX break
|
||||
# XXX fi
|
||||
# XXX done
|
||||
# XXX fi
|
||||
# XXX if test ! -r "${tclconfig}"; then
|
||||
#user-error "no tclConfig.sh file found under ${with_tcl}"
|
||||
# XXX fi
|
||||
# XXX else
|
||||
# If we have not yet found a tclConfig.sh file, look in $libdir whic is
|
||||
# set automatically by autoconf or by the --prefix command-line option.
|
||||
# See https://sqlite.org/forum/forumpost/e04e693439a22457
|
||||
#set libdir ${prefix}/lib
|
||||
# XXX if test -r ${libdir}/tclConfig.sh; then
|
||||
#set tclconfig ${libdir}/tclConfig.sh
|
||||
# XXX else
|
||||
# XXX for i in tcl8.6 tcl9.0 lib; do
|
||||
# XXX if test -r ${libdir}/$i/tclConfig.sh; then
|
||||
#set tclconfig ${libdir}/$i/tclConfig.sh
|
||||
# XXX break
|
||||
# XXX fi
|
||||
# XXX done
|
||||
# XXX fi
|
||||
# XXX if test ! -r "${tclconfig}"; then
|
||||
#user-error "cannot find a usable tclConfig.sh file.
|
||||
# Use --with-tcl=DIR to specify a directory where tclConfig.sh can be found.
|
||||
# SQLite does not use TCL internally, but TCL is required to build SQLite
|
||||
# from canonical sources and TCL is required for testing."
|
||||
# XXX fi
|
||||
# XXX fi
|
||||
# msg-result "loading TCL configuration from ${tclconfig}"
|
||||
# XXX . ${tclconfig}
|
||||
# XXX autosetup automatically substitutes all define'd values
|
||||
# In general, simply 'define' the value rather than using a shell
|
||||
# variable and AC_SUBST.
|
||||
#
|
||||
# XXX AC_SUBST TCL_INCLUDE_SPEC
|
||||
# XXX AC_SUBST TCL_LIB_SPEC
|
||||
# XXX AC_SUBST TCL_STUB_LIB_SPEC
|
||||
# There are lots of other configuration variables that are provided by the
|
||||
# tclConfig.sh file and that could be included here. But as of right now,
|
||||
# TCL_LIB_SPEC is the only what that the Makefile uses.
|
||||
# XXX HAVE_TCL=1
|
||||
# XXX elif test x"${original_use_tcl}" = "xno"; then
|
||||
# msg-result "unable to run tests because of --disable-tcl"
|
||||
# XXX HAVE_TCL=0
|
||||
# XXX else
|
||||
# msg-result "unable to run tests because no tclConfig.sh file could be located"
|
||||
# XXX HAVE_TCL=0
|
||||
# XXX fi
|
||||
# XXX AC_SUBST HAVE_TCL
|
||||
# XXX if test x"$TCLSH_CMD" == x; then
|
||||
# XXX TCLSH_CMD=${TCL_EXEC_PREFIX}/bin/tclsh${TCL_VERSION}
|
||||
# XXX if test ! -x ${TCLSH_CMD}; then
|
||||
# set _2 ${TCL_EXEC_PREFIX}/bin/tclsh
|
||||
# XXX if test ! -x ${TCLSH_CMD_2}; then
|
||||
# msg-result Warning: "cannot find a usable tclsh at either ${TCLSH_CMD} or ${TCLSH_CMD_2}"
|
||||
# XXX TCLSH_CMD=none
|
||||
# XXX else
|
||||
# XXX TCLSH_CMD=${TCLSH_CMD_2}
|
||||
# XXX fi
|
||||
# XXX fi
|
||||
# XXX fi
|
||||
# XXX if test "$TCLSH_CMD" = "none"; then
|
||||
# If we can't find a local tclsh, then building the amalgamation will fail.
|
||||
# We act as though --disable-amalgamation has been used.
|
||||
# msg-result Warning: "Warning: can't find tclsh - defaulting to non-amalgamation build."
|
||||
# XXX USE_AMALGAMATION=0
|
||||
# XXX TCLSH_CMD="tclsh"
|
||||
# XXX fi
|
||||
# XXX AC_SUBST TCLSH_CMD
|
||||
set cfg ""
|
||||
set tclSubdirs {tcl8.6 tcl9.0 lib}
|
||||
if {$use_tcl} {
|
||||
if {"" ne $with_tcl} {
|
||||
if {[file readable "${with_tcl}/tclConfig.sh"]} {
|
||||
set cfg "${with_tcl}/tclConfig.sh"
|
||||
} else {
|
||||
foreach i $tclSubdirs {
|
||||
if {[file readable "${with_tcl}/$i/tclConfig.sh"]} {
|
||||
set cfg "${with_tcl}/$i/tclConfig.sh"
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if {"" eq $cfg} {
|
||||
hwaci-error "No tclConfig.sh found under ${with_tcl}"
|
||||
}
|
||||
} else {
|
||||
# If we have not yet found a tclConfig.sh file, look in $libdir which is
|
||||
# set automatically by autosetup or by the --prefix command-line option.
|
||||
# See https://sqlite.org/forum/forumpost/e04e693439a22457
|
||||
set libdir [get-define libdir]
|
||||
if {[file readable "${libdir}/tclConfig.sh"]} {
|
||||
set cfg "${libdir}/tclConfig.sh"
|
||||
} else {
|
||||
foreach i $tclSubdirs {
|
||||
if {[file readable "${libdir}/$i/tclConfig.sh"]} {
|
||||
set cfg "${libdir}/$i/tclConfig.sh"
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if {![file readable $cfg]} {
|
||||
hwaci-error {
|
||||
Cannot find a usable tclConfig.sh file.
|
||||
Use --with-tcl=DIR to specify a directory where tclConfig.sh can be found.
|
||||
SQLite does not use TCL internally, but TCL is required to build SQLite
|
||||
from canonical sources and TCL is required for testing.
|
||||
}
|
||||
}
|
||||
}
|
||||
} elseif {!$optTcl} {
|
||||
puts "Unable to run tests because of --disable-tcl"
|
||||
} else {
|
||||
puts "Unable to run tests because no tclConfig.sh file could be located"
|
||||
}
|
||||
|
||||
# XXX AC_ARG_VAR TCLLIBDIR Where to install tcl plugin
|
||||
# XXX if test "x${TCLLIBDIR+set}" != "xset" ; then
|
||||
# XXX for i in `echo 'puts stdout $auto_path' | ${TCLSH_CMD}` ; do
|
||||
# XXX if test -d $i ; then
|
||||
# XXX TCLLIBDIR=$i
|
||||
# XXX break
|
||||
# XXX fi
|
||||
# XXX done
|
||||
# XXX TCLLIBDIR="${TCLLIBDIR}/sqlite3"
|
||||
# XXX fi
|
||||
define HAVE_TCL $use_tcl
|
||||
define TCL_CONFIG_SH $cfg
|
||||
# puts "hwaci-check-tcl: with_tclsh=$with_tclsh"
|
||||
# puts "hwaci-check-tcl: with_tcl=$with_tcl"
|
||||
# puts "hwaci-check-tcl: cfg=$cfg"
|
||||
# puts "hwaci-check-tcl: use_tcl ${use_tcl}"
|
||||
}
|
||||
|
||||
unset tEnable with_tclsh with_tcl
|
||||
}; # end of tcl
|
||||
hwaci-check-tcl
|
||||
|
||||
# The historical configure.ac sources tclConfig.sh so that it can use
|
||||
# the several TCL_... env vars. We obviously cannot do that from TCL,
|
||||
# so we apply a level of indirection. Note that if the config is not
|
||||
# available, this generates empty-string entries for the various
|
||||
# options we're interested in.
|
||||
eval [exec "${top_srcdir}/tool/tclConfigShToTcl.sh" "[get-define TCL_CONFIG_SH]"]
|
||||
|
||||
hwaci-check-rpath
|
||||
########################################################################
|
||||
# Check which TCL to use as a code generator. Prefer jimsh simply
|
||||
# because we have it in-tree (it's part of autosetup).
|
||||
define CFLAGS_JIMSH {}
|
||||
puts "Looking for path-resolution function for JimTCL... "
|
||||
if {[cc-check-functions realpath]} {
|
||||
define-append CFLAGS_JIMSH -DHAVE_REALPATH
|
||||
define BTCL "\$(JIMSH)"
|
||||
} elseif {[cc-check-functions _fullpath]} {
|
||||
# _fullpath() is a Windows API
|
||||
define-append CFLAGS_JIMSH -DHAVE__FULLPATH
|
||||
define BTCL "\$(JIMSH)"
|
||||
} elseif {"" ne [get-define TCLSH_CMD]} {
|
||||
define BTCL "\$(TCLSH_CMD)"
|
||||
} else {
|
||||
hwaci-error "Cannot find a tclsh to use for code generation."
|
||||
}
|
||||
|
||||
# /TCL
|
||||
########################################################################
|
||||
|
||||
########################################################################
|
||||
# Thread safety?
|
||||
@ -507,34 +474,6 @@ hwaci-if-opt-truthy threadsafe {
|
||||
define LDFLAGS_PTHREAD ""
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Do we want to support release?
|
||||
#
|
||||
# Maintenance note: this might be irrelevant with an autosetup port,
|
||||
# as it appears to be related to libtool (part of the autotools).
|
||||
#
|
||||
if {0} {
|
||||
hwaci-if-opt-truthy releasemode {
|
||||
msg-result "Release-mode build."
|
||||
set enable_releasemode 1
|
||||
} {
|
||||
msg-result "Non-release-mode build."
|
||||
set enable_releasemode 0
|
||||
}
|
||||
}
|
||||
|
||||
if {0} {
|
||||
msg-checking "Checking whether to support shared library linked as release mode or not..."
|
||||
# XXX if test "$enable_releasemode" = "no"; then
|
||||
# XXX ALLOWRELEASE=""
|
||||
msg-result "no"
|
||||
# XXX else
|
||||
# XXX ALLOWRELEASE="-release `cat $srcdir/VERSION`"
|
||||
msg-result "yes"
|
||||
# XXX fi
|
||||
# XXX AC_SUBST ALLOWRELEASE
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Do we want temporary databases in memory?
|
||||
#
|
||||
@ -706,57 +645,6 @@ hwaci-if-opt-truthy math {
|
||||
msg-result "Disabling math SQL functions"
|
||||
}
|
||||
|
||||
if {0} {
|
||||
# is this still relevant?
|
||||
|
||||
#########
|
||||
# attempt to duplicate any OMITS and ENABLES into the ${OPT_FEATURE_FLAGS} parameter
|
||||
# XXX for option in $CFLAGS $CPPFLAGS
|
||||
# XXX do
|
||||
# XXX case $option in
|
||||
# XXX -DSQLITE_OMIT*) OPT_FEATURE_FLAGS="$OPT_FEATURE_FLAGS $option";;
|
||||
# XXX -DSQLITE_ENABLE*) OPT_FEATURE_FLAGS="$OPT_FEATURE_FLAGS $option";;
|
||||
# XXX esac
|
||||
# XXX done
|
||||
# XXX AC_SUBST OPT_FEATURE_FLAGS
|
||||
|
||||
# attempt to remove any OMITS and ENABLES from the $(CFLAGS) parameter
|
||||
# XXX ac_temp_CFLAGS=""
|
||||
# XXX for option in $CFLAGS
|
||||
# XXX do
|
||||
# XXX case $option in
|
||||
# XXX -DSQLITE_OMIT*) ;;
|
||||
# XXX -DSQLITE_ENABLE*) ;;
|
||||
# XXX *) ac_temp_CFLAGS="$ac_temp_CFLAGS $option";;
|
||||
# XXX esac
|
||||
# XXX done
|
||||
# XXX CFLAGS=$ac_temp_CFLAGS
|
||||
|
||||
# attempt to remove any OMITS and ENABLES from the $(CPPFLAGS) parameter
|
||||
# XXX ac_temp_CPPFLAGS=""
|
||||
# XXX for option in $CPPFLAGS
|
||||
# XXX do
|
||||
# XXX case $option in
|
||||
# XXX -DSQLITE_OMIT*) ;;
|
||||
# XXX -DSQLITE_ENABLE*) ;;
|
||||
# XXX *) ac_temp_CPPFLAGS="$ac_temp_CPPFLAGS $option";;
|
||||
# XXX esac
|
||||
# XXX done
|
||||
# XXX CPPFLAGS=$ac_temp_CPPFLAGS
|
||||
|
||||
# attempt to remove any OMITS and ENABLES from the $(BUILD_CFLAGS) parameter
|
||||
# XXX ac_temp_BUILD_CFLAGS=""
|
||||
# XXX for option in $BUILD_CFLAGS
|
||||
# XXX do
|
||||
# XXX case $option in
|
||||
# XXX -DSQLITE_OMIT*) ;;
|
||||
# XXX -DSQLITE_ENABLE*) ;;
|
||||
# XXX *) ac_temp_BUILD_CFLAGS="$ac_temp_BUILD_CFLAGS $option";;
|
||||
# XXX esac
|
||||
# XXX done
|
||||
# XXX BUILD_CFLAGS=$ac_temp_BUILD_CFLAGS
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Emscripten SDK for building the web-based wasm components.
|
||||
#
|
||||
@ -813,10 +701,10 @@ foreach {boolFlag featureFlag ifSetEvalThis} {
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Invert the above loop's logic for some explicit
|
||||
# SQLITE_OMIT_... cases. If config option $boolFlag is set,
|
||||
# [add-feature-flag $featureFlag], where $featureFlag is intended to
|
||||
# be -DSQLITE_OMIT_...
|
||||
# Invert the above loop's logic for some explicit SQLITE_OMIT_...
|
||||
# cases. If config option $boolFlag is set, [add-feature-flag
|
||||
# $featureFlag], where $featureFlag is intended to be
|
||||
# -DSQLITE_OMIT_...
|
||||
foreach {boolFlag featureFlag} {
|
||||
json -DSQLITE_OMIT_JSON
|
||||
} {
|
||||
@ -830,15 +718,16 @@ foreach {boolFlag featureFlag} {
|
||||
|
||||
########################################################################
|
||||
# Maybe extend JimTCL a bit. As of this writing (2024-09-27) it only
|
||||
# needs -DHAVE_REALPATH or -DHAVE__FULLPATH to be compatible with our
|
||||
# code generators. It can, however, be slightly extended via
|
||||
# easy-to-detect features, should we need them.
|
||||
# needs (-DHAVE_REALPATH or -DHAVE__FULLPATH) and -DHAVE_DIRENT_H to
|
||||
# be compatible with our code generators. It can, however, be slightly
|
||||
# extended via easy-to-detect features, should we need them.
|
||||
if {0 && "" ne [get-define CFLAGS_JIMSH]} {
|
||||
foreach jimFunc {opendir fsync isascii} {
|
||||
if {[cc-check-functions $jimFunc]} {
|
||||
define-append CFLAGS_JIMSH -DHAVE_[string toupper $jimFunc]
|
||||
}
|
||||
}
|
||||
#These are hard-coded into jimsh0.c, so we must not -D them:
|
||||
#foreach jimDef {HAVE_UNISTD_H HAVE_DIRENT_H} {
|
||||
# if {[is-defined $jimDef]} {
|
||||
# define-append CFLAGS_JIMSH -D$jimDef
|
||||
@ -849,6 +738,11 @@ if {0 && "" ne [get-define CFLAGS_JIMSH]} {
|
||||
|
||||
define ENABLE_SHARED $enable_shared
|
||||
|
||||
|
||||
########################################################################
|
||||
# Determine proper rpath-handling flags
|
||||
hwaci-check-rpath
|
||||
|
||||
########################################################################
|
||||
# Generate the output files.
|
||||
#
|
||||
@ -884,6 +778,8 @@ if {"" ne $oFF} {
|
||||
}
|
||||
unset oFF
|
||||
|
||||
########################################################################
|
||||
# Some build-dev/debug-only output
|
||||
hwaci-if-opt-truthy dump-defines {
|
||||
global DUMP_DEFINES_FILE
|
||||
msg-result "--dump-defines is creating file: $DUMP_DEFINES_FILE"
|
||||
|
15
manifest
15
manifest
@ -1,9 +1,9 @@
|
||||
C Fix\sbuild\sportability\sproblems\sdiscovered\son\san\sARM\sOpenBSD\ssystem.
|
||||
D 2024-10-08T16:33:42.863
|
||||
C Get\smuch\sof\sthe\s--with-tcl-related\sbits\sworking.
|
||||
D 2024-10-09T04:01:14.131
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||
F Makefile.in 4cb6e44af5d0ed2a1ad347f008c00d3ddeae8f1dd2089a1348e7c6aa6be8e63d
|
||||
F Makefile.in 3d237163c5cf5817eb63f2ce20119372e36f5cf48609dd22292160a26b599de4
|
||||
F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6
|
||||
F Makefile.msc 9c6d80d9d103fa42e931f4c464884a5e577fae8563acc7589bff4e43fbe8f864
|
||||
F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159
|
||||
@ -14,7 +14,7 @@ F art/icon-80x90.gif 65509ce3e5f86a9cd64fe7fca2d23954199f31fe44c1e09e208c80fb83d
|
||||
F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
|
||||
F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
|
||||
F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2
|
||||
F auto.def afec3012da348dd0214047f575131d0a69e1aa67588e212daf604d4393453a3b
|
||||
F auto.def 6c4f3b9d88ae343f0634a1534d3918cb3f7a215c65c85d1c3d0cce2f5dd47686
|
||||
F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
|
||||
F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347
|
||||
F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
|
||||
@ -2207,6 +2207,7 @@ F tool/stack_usage.tcl f8e71b92cdb099a147dad572375595eae55eca43
|
||||
F tool/stripccomments.c 20b8aabc4694d0d4af5566e42da1f1a03aff057689370326e9269a9ddcffdc37
|
||||
F tool/symbols-mingw.sh 4dbcea7e74768305384c9fd2ed2b41bbf9f0414d
|
||||
F tool/symbols.sh 1612bd947750e21e7b47befad5f6b3825b06cce0705441f903bf35ced65ae9b9
|
||||
F tool/tclConfigShToTcl.sh e385583402655b1626f7ff737a607687f84aa4660d2125c2bd7daeb91ba424ba x
|
||||
F tool/varint.c 5d94cb5003db9dbbcbcc5df08d66f16071aee003
|
||||
F tool/vdbe-compress.tcl 1dcb7632e57cf57105248029e6e162fddaf6c0fccb3bb9e6215603752c5a2d4a
|
||||
F tool/vdbe_profile.tcl 3ac5a4a9449f4baf77059358ea050db3e34395ccf59c5464d29b91746d5b961e
|
||||
@ -2235,8 +2236,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P e9ab211f82f789c89ab52e8d5fe7526c09943b2b8b3002fa7a16fb2b40addc8f
|
||||
R 83d7d512ee4d92805faea47e6da138cb
|
||||
P ef5348dc3f5b9fbe19753ff85e4da461ee962f0790e5f9cfda6eba522576451b
|
||||
R 53257972217ca0415948a8eb62c6c23b
|
||||
U stephan
|
||||
Z 65540e91f90dac7f75bdfc0fac8976f3
|
||||
Z f49c2f1fcffe6fc0ebe3c9d93e81fc78
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
@ -1 +1 @@
|
||||
ef5348dc3f5b9fbe19753ff85e4da461ee962f0790e5f9cfda6eba522576451b
|
||||
4e4a740369d3edc58d35c660b1ea73ee381503f82a98a4b770fd07cef1704e8b
|
||||
|
27
tool/tclConfigShToTcl.sh
Executable file
27
tool/tclConfigShToTcl.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# A level of indirection for use soley by the configure script
|
||||
# (auto.def).
|
||||
#
|
||||
# Expects to be passed a full path to a tclConfig.sh. It sources it
|
||||
# and emits TCL code which sets some vars which are exported by
|
||||
# tclConfig.sh.
|
||||
#
|
||||
# This script expects that the caller has already validated that the
|
||||
# file exists, is not a directory, and is readable.
|
||||
#
|
||||
# If passed no filename, or an empty one, then it emits config code
|
||||
# suitable for the "config not found" case.
|
||||
if test x = "x$1"; then
|
||||
TCL_INCLUDE_SPEC=
|
||||
TCL_LIB_SPEC=
|
||||
TCL_STUB_LIB_SPEC=
|
||||
TCL_EXEC_PREFIX=
|
||||
else
|
||||
. "$1"
|
||||
fi
|
||||
|
||||
echo "define TCL_INCLUDE_SPEC {$TCL_INCLUDE_SPEC} ;"
|
||||
echo "define TCL_LIB_SPEC {$TCL_LIB_SPEC} ;"
|
||||
echo "define TCL_STUB_LIB_SPEC {$TCL_STUB_LIB_SPEC} ;"
|
||||
echo "define TCL_EXEC_PREFIX {$TCL_EXEC_PREFIX} ;"
|
Loading…
Reference in New Issue
Block a user