From 6d443b0d74a5096da679f545989b8a8d78fbd9d5 Mon Sep 17 00:00:00 2001 From: stephan Date: Tue, 5 Nov 2024 09:49:53 +0000 Subject: [PATCH] auto.def: remove an extraneous global var, some dead tcl/makefile code/comments, and some extraneous output. Rename an internal-use proc. Disable the ext/wasm cleanup in the top-level (dist)clean because the noise from gmake is irritating. FossilOrigin-Name: ee9eb8b157c93b33a8ac201c31169cdd1d2cf2f21da92f7a6a418a41e5a50b7b --- Makefile.in | 27 +++++++++------------------ auto.def | 31 ++++++++++--------------------- autosetup/proj.tcl | 2 +- manifest | 16 ++++++++-------- manifest.uuid | 2 +- 5 files changed, 29 insertions(+), 49 deletions(-) diff --git a/Makefile.in b/Makefile.in index de59f4aaa8..79154f3fed 100644 --- a/Makefile.in +++ b/Makefile.in @@ -4,9 +4,7 @@ # Makefile for SQLITE # # This makefile is intended to be configured automatically using the -# configure script. Hand editing may not work as expected because -# certain blocks are added or removed depending on configure-time -# information. +# configure script. # # The docs for many of its variables are in the primary static # makefile, main.mk (which this one includes at runtime). @@ -18,10 +16,6 @@ all: # Known TODOs/FIXMEs/TOIMPROVEs for the autosetup port, in no # particular order... # -# - libreadline detection and handling of its -I, -L, and -l flags. -# These can vary considerably across systems. e.g. some need -lncurses, -# and some don't know what an -lncurses is. -# # - TEA pieces. # # - Replace the autotools-specific distribution deliverable(s). @@ -34,13 +28,6 @@ all: # - This makefile should remain as POSIX-make-compatible as possible: # https://pubs.opengroup.org/onlinepubs/9799919799/utilities/make.html # -# - When using the X?=Y variable assignment formulation, please test -# the build with both GNU make and a POSIX make (e.g. BSD make, -# a.k.a. bmake). On at least one occassion, that formulation has led -# to inconsistent behavior between the two major make flavors when -# used with variable names which might sensibly be in the -# developer's environment (namely CC). -# # - The naming convention of some vars, using periods instead of # underscores, though unconventional, was selected for a couple of # reasons: 1) Personal taste (for which there is no accounting). 2) @@ -357,16 +344,20 @@ misspell: ./custom.rws has_tclsh84 # perform cleanup known to be relevant to (only) the autosetup-driven # build. # -clean-autosetup: - -gmake -C ext/wasm distclean 2>/dev/null || true -clean: clean-autosetup +#clean-autosetup: +# -if [ -f ext/wasm/GNUmakefile ]; then \ +# gmake --no-print-directory --ignore-errors -C ext/wasm clean; \ +# fi >/dev/null 2>&1; true +#clean: clean-autosetup distclean-autosetup: clean rm -f sqlite_cfg.h config.log config.status config.defines.* Makefile sqlite3.pc rm -f $(TOP)/tool/emcc.sh rm -f libsqlite3*$(T.dll) rm -f jimsh0* - -gmake -C ext/wasm distclean 2>/dev/null; true +# -if [ -f ext/wasm/GNUmakefile ]; then \ +# gmake --no-print-directory --ignore-errors -C ext/wasm distclean; \ +# fi >/dev/null 2>&1; true distclean: distclean-autosetup # diff --git a/auto.def b/auto.def index aa3e23e85f..5f751c77f8 100644 --- a/auto.def +++ b/auto.def @@ -219,15 +219,14 @@ proj-xfer-options-aliases { } set srcdir $::autosetup(srcdir) -set top_srcdir [get-define abs_top_srcdir] -set PACKAGE_VERSION [readfile $srcdir/VERSION] +set PACKAGE_VERSION [proj-file-content -trim $srcdir/VERSION] define PACKAGE_NAME "sqlite" define PACKAGE_URL {https://sqlite.org} define PACKAGE_VERSION $PACKAGE_VERSION define PACKAGE_STRING "[get-define PACKAGE_NAME] $PACKAGE_VERSION" define PACKAGE_BUGREPORT [get-define PACKAGE_URL]/forum -msg-result "srcdir = $srcdir" -msg-result "top_srcdir = $top_srcdir" +msg-result "Source dir = $srcdir" +msg-result "Build dir = $::autosetup(builddir)" msg-result "Configuring SQLite version $PACKAGE_VERSION" # @@ -235,7 +234,7 @@ msg-result "Configuring SQLite version $PACKAGE_VERSION" # configure script with the same arguments it was initially invoked # with. This can be used to automatically reconfigure # -define-append SQLITE_AUTORECONFIG cd '$::autosetup(builddir)' && '$top_srcdir/configure' +define-append SQLITE_AUTORECONFIG cd '$::autosetup(builddir)' && '$srcdir/configure' #{*}$::autosetup(argv) breaks with --flag='val with spaces', so... foreach arg $::autosetup(argv) { define-append SQLITE_AUTORECONFIG '$arg' @@ -243,11 +242,6 @@ foreach arg $::autosetup(argv) { # Are we cross-compiling? set isCrossCompiling [proj-is-cross-compiling] -if {![file exists sqlite3.pc.in]} { - msg-result "This appears to be an out-of-tree build." -} - -cc-check-tools ld ar define OPT_FEATURE_FLAGS {} ; # -DSQLITE_OMIT/ENABLE flags. define OPT_SHELL {} ; # CFLAGS for the sqlite3 CLI app @@ -297,6 +291,7 @@ if {".exe" eq [get-define TARGET_EXEEXT]} { ######### # Programs needed +cc-check-tools ld ar ; # must come before sqlite-check-wasi-sdk if {"" eq [proj-bin-define install]} { proj-warn "Cannot find install binary, so 'make install' will not work." } @@ -482,7 +477,7 @@ proc sqlite-check-tcl {} { return } # TODO: document the steps this is taking. - global top_srcdir + global srcdir msg-result "Checking for a suitable tcl... " proj-assert {proj-opt-truthy tcl} set use_tcl 1 @@ -509,7 +504,7 @@ proc sqlite-check-tcl {} { define TCLSH_CMD $with_tclsh #msg-result "Using tclsh: $with_tclsh" } - if {[catch {exec $with_tclsh $top_srcdir/tool/find_tclconfig.tcl} result] == 0} { + if {[catch {exec $with_tclsh $srcdir/tool/find_tclconfig.tcl} result] == 0} { set with_tcl $result } if {"" ne $with_tcl && [file isdir $with_tcl]} { @@ -575,7 +570,7 @@ proc sqlite-check-tcl {} { # Export a subset of tclConfig.sh to the current TCL-space. If the # config is not available, this emits empty-string entries for the # various options we're interested in. - eval [exec "${top_srcdir}/tool/tclConfigShToTcl.sh" "$cfg"] + eval [exec "${srcdir}/tool/tclConfigShToTcl.sh" "$cfg"] if {"" eq $with_tclsh && $cfg ne ""} { proj-assert {expr {"" ne [get-define TCL_EXEC_PREFIX]}} @@ -1202,13 +1197,13 @@ if {0 && "" ne [get-define CFLAGS_JIMSH]} { ######################################################################## # "Re-export" the autoconf-conventional --XYZdir flags into something # which is more easily overridable from a make invocation. See the docs -# for [proj-redirect-autoconf-dir-vars] for the explanation of why. +# for [proj-remap-autoconf-dir-vars] for the explanation of why. # # We do this late in the config process, immediately before we export # the Makefile and other generated files, so that configure tests # which may make use of the autotools-conventional flags # (e.g. [proj-check-rpath]) may do so before we "mangle" them here. -proj-redirect-autoconf-dir-vars +proj-remap-autoconf-dir-vars ######################################################################## # Generate the output files. @@ -1234,18 +1229,12 @@ if {0} { ######################################################################## # Some build-dev/debug-only output proj-if-opt-truthy dump-defines { - msg-result "--dump-defines is creating $::DUMP_DEFINES_TXT" make-config-header $::DUMP_DEFINES_TXT \ -bare {SQLITE_OS* SQLITE_DEBUG USE_*} \ -str {BIN_* CC LD AR LDFLAG* OPT_*} \ -auto {*} # achtung: ^^^^ whichever SQLITE_OS_foo flag which is set to 0 will # get _undefined_ here unless it's part of the -bare set. - if {0} { - foreach x [all-defines] { - puts "\t$x" - } - } if {"" ne $DUMP_DEFINES_JSON} { msg-result "--dump-defines is creating $::DUMP_DEFINES_JSON" ######################################################################## diff --git a/autosetup/proj.tcl b/autosetup/proj.tcl index 05695ca26a..5f6f083ead 100644 --- a/autosetup/proj.tcl +++ b/autosetup/proj.tcl @@ -1083,7 +1083,7 @@ proc proj-which-linenoise {dotH} { # configure-time, so would be tedious to override properly via a make # invocation. # -proc proj-redirect-autoconf-dir-vars {} { +proc proj-remap-autoconf-dir-vars {} { set prefix [get-define prefix] set exec_prefix [get-define exec_prefix $prefix] # Note that the ${...} here refers to make-side var derefs, not diff --git a/manifest b/manifest index 3c5981fff8..531fd86fad 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Enhance\sthe\srpath\sconfigure\scheck\sto\shonor\s--exec-prefix=...\sRemove\ssome\sdebugging\scode\sand\smove\sother\sdebugging\scode\saround. -D 2024-11-05T08:21:47.035 +C auto.def:\sremove\san\sextraneous\sglobal\svar,\ssome\sdead\stcl/makefile\scode/comments,\sand\ssome\sextraneous\soutput.\sRename\san\sinternal-use\sproc.\sDisable\sthe\sext/wasm\scleanup\sin\sthe\stop-level\s(dist)clean\sbecause\sthe\snoise\sfrom\sgmake\sis\sirritating. +D 2024-11-05T09:49:53.043 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md c5b4009dca54d127d2d6033c22fd9cc34f53bedb6ef12c7cbaa468381c74ab28 -F Makefile.in 66cd5f5b89e6f21f7475fd6cd34008c8cd1ec773f22c4aa7f7eafd3ca3634fe9 +F Makefile.in 3a54957d16c3f4666922f170a19b4b51dc13be039c29394dd38caa95ade5d731 F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0 F Makefile.msc a92237976eb92c5efaa0dd2524746aec12c196e12df8d4dbff9543a4648c3312 F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159 @@ -13,7 +13,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 3f6aec871699bc3e54f7dc6f4496daf4b435d4b8326bfed51ccabd12b633988c +F auto.def ac7dfc51216c6aa7d34e82d73c945cb71758a3fb79612ef2c5ed38f468d980e8 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac @@ -49,7 +49,7 @@ F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e F autosetup/default.auto 5cdf016de2140e50f1db190a02039dc42fb390af1dda4cc4853e3042a9ef0e82 F autosetup/jimsh0.c d40e381ea4526a067590e7b91bd4b2efa6d4980d286f908054c647b3df4aee14 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba -F autosetup/proj.tcl 16138ac9c8bc071613b260a18f46ada9a31ed3b496a7ae6f403fd9d49d588aea +F autosetup/proj.tcl f4762bc4826f3b378bef71236643413c501d537be7320cbc3a163752b1f90964 F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9 F autosetup/tmake.auto eaebc74ad538dfdd3c817c27eefc31930c20510c4f3a3704071f6cb0629ed71f F autosetup/tmake.tcl a275793ec1b6f8708179af0acef1f6f10d46c2920739743f7a8720c6d700c7a9 @@ -2199,8 +2199,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P af79d11e389b4772a401f6c2cbde42de95287addf7077ad4db55d39cc504f9fe -R 8f4205f94f3bfdb54022edc4daed40c7 +P a8c1a82b56412a4277a3c9bf2b256d3bd22bd8aca9096b8d08fcc0bf7d9364cb +R 486858acf83a0ad9398b7511ee6bf899 U stephan -Z 23df65f4992f1d4489c83b5031514bec +Z 17b7f42f98ea7458ea07b6ef75ca0d94 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index a0e57dacbc..2aaf46d2a2 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a8c1a82b56412a4277a3c9bf2b256d3bd22bd8aca9096b8d08fcc0bf7d9364cb +ee9eb8b157c93b33a8ac201c31169cdd1d2cf2f21da92f7a6a418a41e5a50b7b