]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Initial work towards converting the autoconf bundle to autosetup. Currently non-funct...
authorstephan <stephan@noemail.net>
Sun, 19 Jan 2025 18:58:09 +0000 (18:58 +0000)
committerstephan <stephan@noemail.net>
Sun, 19 Jan 2025 18:58:09 +0000 (18:58 +0000)
FossilOrigin-Name: d7708372ff2fef4bfa61e56dbfbb363cac7685587a61a151497991d9a08bb07f

autoconf/auto.def [new file with mode: 0644]
autosetup/sqlite-config.tcl
manifest
manifest.uuid
tool/mkautoconfamal.sh

diff --git a/autoconf/auto.def b/autoconf/auto.def
new file mode 100644 (file)
index 0000000..6aba421
--- /dev/null
@@ -0,0 +1,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
index 08bd0467e598f57fc317356ceba165fefd12d537..c1fc7b00b0a8b061782287f8a4fdd331525ce586 100644 (file)
@@ -240,6 +240,11 @@ proc sqlite-handle-common-feature-flags {} {
     }
     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} {
index 2bd5902120738cfb418a53aca6d80970e732e65c..0cd90b08c52081391b23f288af1aa6fe9bdf5cdd 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Further\srefactoring\sof\sauto.def\sto\ssimplify\screation\sof\svariant\sbuilds\slike\sthe\sautoconf\sbundle.
-D 2025-01-19T18:32:45.973
+C Initial\swork\stowards\sconverting\sthe\sautoconf\sbundle\sto\sautosetup.\sCurrently\snon-functional.
+D 2025-01-19T18:58:09.462
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -21,6 +21,7 @@ F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a
 F autoconf/Makefile.msc ffff61fe851443015ddb6600ab69a9df503cfec25459b336be7ba8c9a9e473f8
 F autoconf/README.first 6c4f34fe115ff55d4e8dbfa3cecf04a0188292f7
 F autoconf/README.txt 5e946ffb6fbdbb114c81e1bdc862df27fce8beab557d7b0421820b0fe8fc048f
+F autoconf/auto.def 28003a20207d21aecb879a74778ca5d6b5c15e84efffbc8f90c3791b8d1d2248
 F autoconf/configure.ac ec7fa914c5e74ff212fe879f9bb6918e1234497e05facfb641f30c4d5893b277
 F autoconf/tea/Makefile.in ba0556fee8da09c066bad85a4457904e46ee2c2eabaa309c0e83a78f2f151a8e
 F autoconf/tea/README.txt 61e62e519579e4a112791354d6d440f8b51ea6db3b0bab58d59f29df42d2dfe3
@@ -51,7 +52,7 @@ F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e
 F autosetup/jimsh0.c d40e381ea4526a067590e7b91bd4b2efa6d4980d286f908054c647b3df4aee14
 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba
 F autosetup/proj.tcl 50b060ea6760b02ef5cb16650fbe9c1840e16351a0be0ccfc3727c565f74a257
-F autosetup/sqlite-config.tcl 4b1b8288415e26743a66a73a154303f67b8a1ae1aed478868843945cd5a58a29
+F autosetup/sqlite-config.tcl 10cab051ed3de04d5c842703d27881a7cdb6772448339e3d3689140026d1c442
 F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9
 F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x
 F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
@@ -2143,7 +2144,7 @@ F tool/logest.c c34e5944318415de513d29a6098df247a9618c96d83c38d4abd88641fe46e669
 F tool/max-limits.c cbb635fbb37ae4d05f240bfb5b5270bb63c54439
 F tool/merge-test.tcl de76b62f2de2a92d4c1ca4f976bce0aea6899e0229e250479b229b2a1914b176
 F tool/mkamalzip.tcl 8aa5ebe7973c8b8774062d34e15fea9815c4cc2ceea3a9b184695f005910876a
-F tool/mkautoconfamal.sh 4fbfd523330c8cf12ead8f0e0acdb3c5c9c08a1bcb293119267aeaa3e0bbe3e1
+F tool/mkautoconfamal.sh 7a9b54df5f3fbcbef9ff7f4d7bffb1b074425db23f999e1b27bd0b544fe7f2ff
 F tool/mkccode.tcl 210159febe0ef0ecbc53c79833500663ceaba0115b2b374405818dc835b5f84b x
 F tool/mkctimec.tcl ef6a67ec82e5b6fc19152a4c79f237227b18bf67ff16d155bac7adb94355d9cf x
 F tool/mkkeywordhash.c 6b0be901c47f9ad42215fc995eb2f4384ac49213b1fba395102ec3e999acf559
@@ -2208,8 +2209,11 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 01ff37584708f3f79c62c1b5ed8cceab721cf8348a69a65f0559b1ef8845e85b
-R 8c31a36a753a4b17d602415d7f01de06
+P f806c563a29240c709508316846fbe0cb3ed61b68a6c1d9544eb699e30141d8d
+R 37212f5b411c8b75c25b4343cda71606
+T *branch * autoconf-to-autosetup
+T *sym-autoconf-to-autosetup *
+T -sym-trunk * Cancelled\sby\sbranch.
 U stephan
-Z 2c8a02028d4af4395c0183d2b9aa5b8f
+Z f100e7f94531c215a65ef7fb114eddd4
 # Remove this line to create a well-formed Fossil manifest.
index 8ccb68a4f67451367f211581dd0d0390eb3f8b79..82455566196c342f3933a3a75d983a14500973df 100644 (file)
@@ -1 +1 @@
-f806c563a29240c709508316846fbe0cb3ed61b68a6c1d9544eb699e30141d8d
+d7708372ff2fef4bfa61e56dbfbb363cac7685587a61a151497991d9a08bb07f
index f3ce9dd5bac9a13ed50c1e54622d554a8d4c3e12..3b46fc4de849a72bc8499112f513921bb4b33feb 100644 (file)
@@ -13,7 +13,7 @@
 #
 
 
-# Bail out of the script if any command returns a non-zero exit 
+# 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.
 #
@@ -34,12 +34,12 @@ 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 SHA1 hash, rather than
+# 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 
+  # 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/'`
@@ -54,6 +54,8 @@ 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
@@ -63,38 +65,39 @@ cp $TOP/sqlite3.pc.in     $TMPSPACE
 cp shell.c                $TMPSPACE
 cp $TOP/src/sqlite3.rc    $TMPSPACE
 cp $TOP/tool/Replace.cs   $TMPSPACE
-
-cat $TMPSPACE/configure.ac |
-sed "s/--SQLITE-VERSION--/$VERSION/" > $TMPSPACE/tmp
-mv $TMPSPACE/tmp $TMPSPACE/configure.ac
-
-cat $TMPSPACE/sqlite3.pc.in |
-sed "s/^Libs.private:.*/Libs.private: @LIBS@/" > $TMPSPACE/tmp
-mv $TMPSPACE/tmp $TMPSPACE/sqlite3.pc.in
+cp $TOP/VERSION           $TMPSPACE
+cp $TOP/main.mk           $TMPSPACE
 
 cd $TMPSPACE
-autoreconf -i
+#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 "#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
 
-cat tea/configure.ac | 
-  sed "s/AC_INIT(\[sqlite\], .*)/AC_INIT([sqlite], [$VERSION])/" > tmp
+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
@@ -103,3 +106,4 @@ tar -czf $TARBALLNAME.tar.gz $TARBALLNAME
 mv $TARBALLNAME.tar.gz ..
 cd ..
 ls -l $TARBALLNAME.tar.gz
+EOF