From: stephan Date: Fri, 4 Apr 2025 03:16:47 +0000 (+0000) Subject: Make the --static-cli-shell flag available in the autoconf build mode. X-Git-Tag: major-release~132 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=16aa90bba4981bd1bb945f9e9c8b88f2be695394;p=thirdparty%2Fsqlite.git Make the --static-cli-shell flag available in the autoconf build mode. FossilOrigin-Name: b78a474ecba6cae4f0e867a515c214fbfe229808145df1870315328d4e13d462 --- diff --git a/autoconf/Makefile.in b/autoconf/Makefile.in index c4e91baa2d..923075c8ec 100644 --- a/autoconf/Makefile.in +++ b/autoconf/Makefile.in @@ -229,9 +229,22 @@ sqlite3-shell-link-flags.1 = $(TOP)/sqlite3.c $(LDFLAGS.libsqlite3) sqlite3-shell-link-flags.0 = -L. -lsqlite3 $(LDFLAGS.zlib) sqlite3-shell-deps.1 = $(TOP)/sqlite3.c sqlite3-shell-deps.0 = $(libsqlite3.DLL) +# +# STATIC_CLI_SHELL = 1 to statically link sqlite3$(T.exe), else +# 0. Requires static versions of all requisite libraries. Primarily +# intended for use with static-friendly environments like Alpine +# Linux. +# +STATIC_CLI_SHELL = @STATIC_CLI_SHELL@ +# +# sqlite3-shell-static.flags.N = N is $(STATIC_CLI_SHELL) +# +sqlite3-shell-static.flags.1 = -static +sqlite3-shell-static.flags.0 = sqlite3$(T.exe): $(TOP)/shell.c $(sqlite3-shell-deps.$(ENABLE_STATIC_SHELL)) $(CC) -o $@ \ $(TOP)/shell.c $(sqlite3-shell-link-flags.$(ENABLE_STATIC_SHELL)) \ + $(sqlite3-shell-static.flags.$(STATIC_CLI_SHELL)) \ -I. $(OPT_FEATURE_FLAGS) $(SHELL_OPT) \ $(CFLAGS) $(CFLAGS.readline) $(CFLAGS.icu) \ $(LDFLAGS) $(LDFLAGS.readline) diff --git a/autoconf/auto.def b/autoconf/auto.def index 146ca00673..c61d81e506 100644 --- a/autoconf/auto.def +++ b/autoconf/auto.def @@ -11,6 +11,10 @@ sqlite-configure autoconf { sqlite-check-common-system-deps proj-define-for-opt static-shell ENABLE_STATIC_SHELL \ "Link library statically into the CLI shell?" + proj-define-for-opt static-cli-shell STATIC_CLI_SHELL "Statically link CLI shell?" + if {![opt-bool static-shell] && [opt-bool static-cli-shell]} { + proj-fatal "--disable-static-shell and --static-cli-shell are mutualy exclusive" + } if {![opt-bool shared] && ![opt-bool static-shell]} { proj-opt-set shared 1 proj-indented-notice { diff --git a/autosetup/sqlite-config.tcl b/autosetup/sqlite-config.tcl index 7ab6d69f6d..036352a62c 100644 --- a/autosetup/sqlite-config.tcl +++ b/autosetup/sqlite-config.tcl @@ -281,19 +281,18 @@ proc sqlite-configure {buildMode configScript} { => {Top-most dir of the wasi-sdk for a WASI build} } - {canonical} { + {*} { # Note that --static-cli-shell has a completely different # meaning from --static-shell in the autoconf build! # --[disable-]static-shell is a legacy flag which we can't - # remove without breaking downstream builds. We _could_ - # recycle the name --static-shell here, as this flag is - # (currently) independent of the one in the autoconf build, - # but that would likely lead to confusion. + # remove without breaking downstream builds. static-cli-shell=0 => {Statically-link the sqlite3 CLI shell. This only works if the requisite libraries are all available in static form.} + } + {canonical} { static-shells=0 => {Shorthand for --static-cli-shell --static-tclsqlite3} diff --git a/main.mk b/main.mk index 47c61653ed..a79afe029a 100644 --- a/main.mk +++ b/main.mk @@ -2112,10 +2112,10 @@ xbin: threadtest5 # STATIC_CLI_SHELL ?= 0 # -# sqlite3shell.flags.N = N is $(STATIC_CLI_SHELL) +# sqlite3-shell-static.flags.N = N is $(STATIC_CLI_SHELL) # -sqlite3shell.flags.1 = -static -sqlite3shell.flags.0 = +sqlite3-shell-static.flags.1 = -static +sqlite3-shell-static.flags.0 = # # When building sqlite3$(T.exe) we specifically embed a copy of # sqlite3.c, and not link to libsqlite3.so or libsqlite3.a, because @@ -2128,7 +2128,7 @@ sqlite3shell.flags.0 = sqlite3$(T.exe): shell.c sqlite3.c $(T.link) -o $@ \ shell.c sqlite3.c \ - $(sqlite3shell.flags.$(STATIC_CLI_SHELL)) \ + $(sqlite3-shell-static.flags.$(STATIC_CLI_SHELL)) \ $(CFLAGS.readline) $(SHELL_OPT) $(CFLAGS.icu) \ $(LDFLAGS.libsqlite3) $(LDFLAGS.readline) # diff --git a/manifest b/manifest index 8e546995e3..f95a25cf24 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C On\sHaikuOS,\sif\s--prefix\sis\snot\sexplicitly\sprovided\sthen\sdefault\sit\sto\s/boot/home/config/non-packaged,\sbased\son\san\soff-list\sdiscussion\swith\sHaikuOS\suser\sBrickViking. -D 2025-04-04T02:40:08.657 +C Make\sthe\s--static-cli-shell\sflag\savailable\sin\sthe\sautoconf\sbuild\smode. +D 2025-04-04T03:16:47.799 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -17,11 +17,11 @@ F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 F art/sqlite370.svg 40b7e2fe8aac3add5d56dd86ab8d427a4eca5bcb3fe4f8946cb3794e1821d531 F auto.def 30d67e36e62a5db6a4faa0594d81386046a988ad2c20c76d8c9fa426b4106911 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac -F autoconf/Makefile.in 66d98d473556c4e2daf7252355f4b5db129091800027f280082804eb4c45784f +F autoconf/Makefile.in 10e274d965584af947be20213e0052112ee8dec928134d20e256f5fc4c51b758 F autoconf/Makefile.msc 5bc67d3912444c40c6f96d003e5c90663e51abb83d204a520110b1b2038dcd8b F autoconf/README.first f1d3876e9a7852c22f275a6f06814e64934cecbc0b5b9617d64849094c1fd136 F autoconf/README.txt 1a32296d8bbdd67110c79d224c92c05545a0b5bd0c272950025fe3c7c7b49580 -F autoconf/auto.def b140692fe36c1661a6fe4185fe0076e8fa27a3cdc556b92f252f9ca68ce9d855 +F autoconf/auto.def 3d994f3a9cc9b712dbce92a5708570ddcf3b988141b6eb738f2ed16127a9f0ac F autoconf/tea/Makefile.in ba0556fee8da09c066bad85a4457904e46ee2c2eabaa309c0e83a78f2f151a8e F autoconf/tea/README.txt 6c396709b45eb2b3be0ae6dc7e40a140d231962e3a2354da6c4dd48b1d9999bc F autoconf/tea/aclocal.m4 52c47aac44ce0ddb1f918b6993e8beb8eee88f43 @@ -52,7 +52,7 @@ F autosetup/find_tclconfig.tcl e64886ffe3b982d4df42cd28ed91fe0b5940c2c5785e126c1 F autosetup/jimsh0.c a57c16e65dcffc9c76e496757cb3f7fb47e01ecbd1631a0a5e01751fc856f049 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba F autosetup/proj.tcl 54edc60bf8f608b515a7109cd05c673ddc21dffc2c763b4dd871ac2072485dd2 -F autosetup/sqlite-config.tcl 8da064ba9edf03df18014e7e3242e2bbcb3db374866ad26e2acd08a4c53751bb +F autosetup/sqlite-config.tcl c197e3275b1723e7a2c1cc9c9f8aeca67b7159617924e1db78ba02901c6a69c3 F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9 F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3 @@ -709,7 +709,7 @@ F ext/wasm/tests/opfs/sahpool/sahpool-pausing.js f264925cfc82155de38cecb3d204c36 F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61 F ext/wasm/wasmfs.make 68999f5bd8c489239592d59a420f8c627c99169bbd6fa16a404751f757b9f702 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0 -F main.mk 6a5fb65a70b6de957ab21e3cbfc0c1c9483fa3360201d85eecb082345f6412eb +F main.mk 9692d882ecb43332b62295b3d0aa5ba356d4c2ad387d322b85e5bc98800e9285 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421 @@ -2216,8 +2216,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 fd2c1638ecc38617f5de0380ad23f233d1159be0712ae2ca4cae5c99e841f1b1 -R 75944a4ecd66309972a2e0bcf3170747 +P c4a558291175378f76d126b12417c6c1d8e6060c0ec1267a97d3cd11b4804439 +R 323df9d0766ff525fd5427ef9afc611e U stephan -Z 2b58a487000aab207aec456d9e913727 +Z 4eda3565de01e245dc2fae5ec79e9846 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index ff448994e4..5a118c861d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c4a558291175378f76d126b12417c6c1d8e6060c0ec1267a97d3cd11b4804439 +b78a474ecba6cae4f0e867a515c214fbfe229808145df1870315328d4e13d462