Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Initial work towards converting the autoconf bundle to autosetup. Currently non-functional. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | autoconf-to-autosetup |
Files: | files | file ages | folders |
SHA3-256: |
d7708372ff2fef4bfa61e56dbfbb363c |
User & Date: | stephan 2025-01-19 18:58:09.462 |
Context
2025-01-19
| ||
19:51 | Get the CLI shell building in the autoconf bundle. (check-in: 241cdbc40a user: stephan tags: autoconf-to-autosetup) | |
18:58 | Initial work towards converting the autoconf bundle to autosetup. Currently non-functional. (check-in: d7708372ff user: stephan tags: autoconf-to-autosetup) | |
18:32 | Further refactoring of auto.def to simplify creation of variant builds like the autoconf bundle. (check-in: f806c563a2 user: stephan tags: trunk) | |
Changes
Added autoconf/auto.def.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | #/do/not/tclsh # ^^^ help out editors which guess this file's content type. # # This is the main autosetup-compatible configure script for the # TEA build of the SQLite project. # # This script should be kept compatible with JimTCL, a copy of which # is included in this source tree as ./autosetup/jimsh0.c. # use sqlite-config options { # <build-modes> static=1 => {Disable build of static library (mostly)} # </build-modes> # <lib-feature> threadsafe=1 => {Disable mutexing} with-tempstore:=no => {Use an in-RAM database for temporary tables: never,no,yes,always} load-extension=1 => {Disable loading of external extensions} math=1 => {Disable math functions} json=1 => {Disable JSON functions} memsys5 => {Enable MEMSYS5} memsys3 => {Enable MEMSYS3} fts3 => {Enable the FTS3 extension} fts4 => {Enable the FTS4 extension} fts5 => {Enable the FTS5 extension} update-limit => {Enable the UPDATE/DELETE LIMIT clause} geopoly => {Enable the GEOPOLY extension} rtree => {Enable the RTREE extension} session => {Enable the SESSION extension} all => {Enable FTS4, FTS5, Geopoly, RTree, Sessions} # </lib-feature> # <line-editing> readline=1 => {Disable readline support} # --with-readline-lib is a backwards-compatible alias for # --with-readline-ldflags with-readline-lib: with-readline-ldflags:=auto => {Readline LDFLAGS, e.g. -lreadline -lncurses} # --with-readline-inc is a backwards-compatible alias for # --with-readline-cflags. with-readline-inc: with-readline-cflags:=auto => {Readline CFLAGS, e.g. -I/path/to/includes} with-readline-header:PATH => {Full path to readline.h, from which --with-readline-cflags will be derived} with-linenoise:DIR => {Source directory for linenoise.c and linenoise.h} editline=0 => {Enable BSD editline support} # </line-editing> # <icu> with-icu-ldflags:LDFLAGS => {Enable SQLITE_ENABLE_ICU and add the given linker flags for the ICU libraries} with-icu-cflags:CFLAGS => {Apply extra CFLAGS/CPPFLAGS necessary for building with ICU. e.g. -I/usr/local/include} with-icu-config:=auto => {Enable SQLITE_ENABLE_ICU. Value must be one of: auto, pkg-config, /path/to/icu-config} icu-collations=0 => {Enable SQLITE_ENABLE_ICU_COLLATIONS. Requires --with-icu-ldflags=... or --with-icu-config} # </icu> # <developer> # Note that using the --debug/--enable-debug flag here requires patching # autosetup/autosetup to rename the --debug to --autosetup-debug. with-debug=0 debug=0 => {Enable debug build flags. This option will impact performance by as much as 4x, as it includes large numbers of assert()s in performance-critical loops. Never use --debug for production builds.} # </developer> } sqlite-post-options-init sqlite-check-common-bins sqlite-check-common-system-deps proj-check-rpath sqlite-handle-debug sqlite-handle-threadsafe sqlite-handle-tempstore sqlite-handle-line-editing sqlite-handle-load-extension sqlite-handle-math sqlite-handle-icu sqlite-handle-common-feature-flags sqlite-show-feature-flags sqlite-process-dot-in-files sqlite-post-config-validation |
Changes to autosetup/sqlite-config.tcl.
︙ | ︙ | |||
236 237 238 239 240 241 242 243 244 245 246 247 248 249 | expr 0 } else { sqlite-add-feature-flag -DSQLITE_ENABLE_MEMSYS3 } } scanstatus -DSQLITE_ENABLE_STMT_SCANSTATUS {} } { proj-if-opt-truthy $boolFlag { sqlite-add-feature-flag $featureFlag if {0 != [eval $ifSetEvalThis] && "all" ne $boolFlag} { msg-result " + $boolFlag" } } { if {"all" ne $boolFlag} { | > > > > > | 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 | expr 0 } else { sqlite-add-feature-flag -DSQLITE_ENABLE_MEMSYS3 } } scanstatus -DSQLITE_ENABLE_STMT_SCANSTATUS {} } { if {$boolFlag ni $::autosetup(options)} { # Skip flags which are in the canonical build but not # the autoconf bundle. continue } proj-if-opt-truthy $boolFlag { sqlite-add-feature-flag $featureFlag if {0 != [eval $ifSetEvalThis] && "all" ne $boolFlag} { msg-result " + $boolFlag" } } { if {"all" ne $boolFlag} { |
︙ | ︙ |
Changes to tool/mkautoconfamal.sh.
︙ | ︙ | |||
9 10 11 12 13 14 15 | # of the SQLite source tree. # # 3. There is nothing of value in the ./mkpkg_tmp_dir directory. # This is important, as the script executes "rm -rf ./mkpkg_tmp_dir". # | | | | > > | < < < | < < < | > > > > > > | < | > > > | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | # of the SQLite source tree. # # 3. There is nothing of value in the ./mkpkg_tmp_dir directory. # This is important, as the script executes "rm -rf ./mkpkg_tmp_dir". # # Bail out of the script if any command returns a non-zero exit # status. Or if the script tries to use an unset variable. These # may fail for old /bin/sh interpreters. # set -e set -u TMPSPACE=./mkpkg_tmp_dir VERSION=`cat $TOP/VERSION` HASH=`sed 's/^\(..........\).*/\1/' $TOP/manifest.uuid` DATETIME=`grep '^D' $TOP/manifest | sed -e 's/[^0-9]//g' -e 's/\(............\).*/\1/'` # Verify that the version number in the TEA autoconf file is correct. # Fail with an error if not. # if grep $VERSION $TOP/autoconf/tea/configure.ac then echo "TEA version number ok" else echo "TEA version number mismatch. Should be $VERSION"; exit 1 fi # If this script is given an argument of --snapshot, then generate a # snapshot tarball named for the current checkout SHA hash, rather than # the version number. # if test "$#" -ge 1 -a x$1 != x--snapshot then # Set global variable $ARTIFACT to the "3xxyyzz" string incorporated # into artifact filenames. And $VERSION2 to the "3.x.y[.z]" form. xx=`echo $VERSION|sed 's/3\.\([0-9]*\)\..*/\1/'` yy=`echo $VERSION|sed 's/3\.[^.]*\.\([0-9]*\).*/\1/'` zz=0 set +e zz=`echo $VERSION|sed 's/3\.[^.]*\.[^.]*\.\([0-9]*\).*/\1/'|grep -v '\.'` set -e TARBALLNAME=`printf "sqlite-autoconf-3%.2d%.2d%.2d" $xx $yy $zz` else TARBALLNAME=sqlite-snapshot-$DATETIME fi rm -rf $TMPSPACE cp -R $TOP/autoconf $TMPSPACE cp -R $TOP/autosetup $TMPSPACE cp -p $TOP/configure $TMPSPACE cp sqlite3.c $TMPSPACE cp sqlite3.h $TMPSPACE cp sqlite3ext.h $TMPSPACE cp sqlite3rc.h $TMPSPACE cp $TOP/sqlite3.1 $TMPSPACE cp $TOP/sqlite3.pc.in $TMPSPACE cp shell.c $TMPSPACE cp $TOP/src/sqlite3.rc $TMPSPACE cp $TOP/tool/Replace.cs $TMPSPACE cp $TOP/VERSION $TMPSPACE cp $TOP/main.mk $TMPSPACE cd $TMPSPACE #autoreconf -i #libtoolize #aclocal #autoconf #automake --add-missing # This bit is only for use during porting of the # autoconf bundle to autosetup. if true; then find . -name '*~' -exec rm \{} \; fi mkdir -p tea/generic echo "#ifdef USE_SYSTEM_SQLITE" > tea/generic/tclsqlite3.c echo "# include <sqlite3.h>" >> tea/generic/tclsqlite3.c echo "#else" >> tea/generic/tclsqlite3.c echo "#include \"sqlite3.c\"" >> tea/generic/tclsqlite3.c echo "#endif" >> tea/generic/tclsqlite3.c cat $TOP/src/tclsqlite.c >> tea/generic/tclsqlite3.c sed "s/AC_INIT(\[sqlite\], .*)/AC_INIT([sqlite], [$VERSION])/" tea/configure.ac > tmp mv tmp tea/configure.ac cd tea autoconf rm -rf autom4te.cache echo "--------------- TODO: -----------------" cat <<EOF cd ../ ./configure && make dist tar -xzf sqlite-$VERSION.tar.gz mv sqlite-$VERSION $TARBALLNAME tar -czf $TARBALLNAME.tar.gz $TARBALLNAME mv $TARBALLNAME.tar.gz .. cd .. ls -l $TARBALLNAME.tar.gz EOF |