From: stephan Date: Tue, 4 Mar 2025 05:16:10 +0000 (+0000) Subject: Document the EXTRA_SRC makefile var and add --amalgamation-extra-src=list to the... X-Git-Tag: major-release~216 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5b27bfac448be1a6e181c1feb7be4f6957e0c148;p=thirdparty%2Fsqlite.git Document the EXTRA_SRC makefile var and add --amalgamation-extra-src=list to the canonical-build configure script as the formal way to pass that at configure-time. FossilOrigin-Name: 44de0ec29a86f91a227132f7af8898108d555463b754b299eace0ee8475bad57 --- diff --git a/Makefile.in b/Makefile.in index 7926aa84dd..f5d54fbb2a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -261,6 +261,7 @@ AS_AUTORECONFIG = @SQLITE_AUTORECONFIG@ USE_AMALGAMATION ?= @USE_AMALGAMATION@ LINK_TOOLS_DYNAMICALLY ?= @LINK_TOOLS_DYNAMICALLY@ AMALGAMATION_GEN_FLAGS ?= --linemacros=@AMALGAMATION_LINE_MACROS@ +EXTRA_SRC ?= @AMALGAMATION_EXTRA_SRC@ # # CFLAGS for sqlite3$(T.exe) diff --git a/auto.def b/auto.def index e0f8be7bde..c4fb2c5ab5 100644 --- a/auto.def +++ b/auto.def @@ -41,8 +41,12 @@ sqlite-configure canonical { proj-define-for-opt linemacros AMALGAMATION_LINE_MACROS \ "Use #line macros in the amalgamation:" + define AMALGAMATION_EXTRA_SRC \ + [join [opt-val amalgamation-extra-src ""] " "] + define LINK_TOOLS_DYNAMICALLY [proj-opt-was-provided dynlink-tools] sqlite-handle-tcl sqlite-handle-emsdk + } diff --git a/autosetup/sqlite-config.tcl b/autosetup/sqlite-config.tcl index 54daf7c8a3..2d27d3bfbb 100644 --- a/autosetup/sqlite-config.tcl +++ b/autosetup/sqlite-config.tcl @@ -89,6 +89,7 @@ proc sqlite-configure {buildMode configScript} { # boolopt => "a boolean option which defaults to disabled" # boolopt2=1 => "a boolean option which defaults to enabled" # stringopt: => "an option which takes an argument, e.g. --stringopt=value" + # stringopt:DESCR => As for stringopt: with a description for the value # stringopt2:=value => "an option where the argument is optional and defaults to 'value'" # optalias booltopt3 => "a boolean with a hidden alias. --optalias is not shown in --help" # @@ -259,6 +260,10 @@ proc sqlite-configure {buildMode configScript} { with-emsdk:=auto => {Top-most dir of the Emscripten SDK installation. Needed only by ext/wasm. Default=EMSDK env var.} + + amalgamation-extra-src:FILES + => {Space-separated list of soure files to append as-is to the resulting + sqlite3.c amalgamation file. May be provided multiple times.} } } @@ -1562,6 +1567,9 @@ proc sqlite-process-dot-in-files {} { # it be done here. sqlite-handle-common-feature-flags sqlite-finalize-feature-flags + if {"" ne [set extraSrc [get-define AMALGAMATION_EXTRA_SRC ""]]} { + msg-result "Appending source files to amalgamation: $extraSrc" + } ######################################################################## # "Re-export" the autoconf-conventional --XYZdir flags into something diff --git a/main.mk b/main.mk index 8ffbf2e5ea..536b538087 100644 --- a/main.mk +++ b/main.mk @@ -231,6 +231,13 @@ LINK_TOOLS_DYNAMICALLY ?= 0 # Optional flags for the amalgamation generator. # AMALGAMATION_GEN_FLAGS ?= --linemacros=0 +# +# EXTRA_SRC = list of C files to append as-is to the generated +# amalgamation. It should arguably be called AMALGAMATION_EXTRA_SRC +# but this older name is already in use by clients. +# +EXTRA_SRC ?= + # # $(OPT_FEATURE_FLAGS) = # diff --git a/manifest b/manifest index a5c56b8fac..a61f289091 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Internal\sconfigure\sscript\scleanups.\sResolve\san\sas-yet-hypothetical\scorner\scase\sinvolving\sthe\s--dev\sflag\smixed\swith\scustom\sCFLAGS\scontaining\sSQLITE_ENABLE...\sor\sSQLITE_OMIT...\sflags.\sFix\san\sunrelated\sAPI\sdoc\stypo\sreported\sin\s[forum:606ea661df|forum\spost\s606ea661df]. -D 2025-03-03T14:15:13.905 +C Document\sthe\sEXTRA_SRC\smakefile\svar\sand\sadd\s--amalgamation-extra-src=list\sto\sthe\scanonical-build\sconfigure\sscript\sas\sthe\sformal\sway\sto\spass\sthat\sat\sconfigure-time. +D 2025-03-04T05:16:10.795 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d -F Makefile.in 4ff9b301b59c66ef9d11c8d133cc62e09173bad4abc7d5eb801e45d5527f8fe6 +F Makefile.in 5d63e20b5f4ced0d717cfabe8610d576c8e7b6c005b3daec3baa15ab23adb435 F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0 F Makefile.msc ef04498c7e227a0f459b105bb4952f26cc985d1d6340a367e62d5a79c4689dfb F README.md a953c0cffd6e4f2501a306c00ee2b6e1e6630c25031e094629307fe99dd003d1 @@ -14,7 +14,7 @@ F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2 F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90 F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 F art/sqlite370.svg 40b7e2fe8aac3add5d56dd86ab8d427a4eca5bcb3fe4f8946cb3794e1821d531 -F auto.def f39c4f3e58c8c2853555c7ec65c20701f8a42554d23dcb175a346a4f5ee5a36d +F auto.def 0612f87776956cff7ba1585ad3ca7ab7d2e88735da0e9b4321dbacb05479cb94 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac F autoconf/Makefile.in c9a7007181df2a07d08bd63c6ba395ed38705aa218789726951aabebec32ee27 F autoconf/Makefile.msc 5bc67d3912444c40c6f96d003e5c90663e51abb83d204a520110b1b2038dcd8b @@ -50,7 +50,7 @@ F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e F autosetup/jimsh0.c a57c16e65dcffc9c76e496757cb3f7fb47e01ecbd1631a0a5e01751fc856f049 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba F autosetup/proj.tcl e69b91f814ea510057ce7663845de703c3746d71cff9a0db6b2563ee3e7fd25e -F autosetup/sqlite-config.tcl 1d0c70f372c464c9849dde898b5e778f73c72d8183c6e62634a45ee123e37f89 +F autosetup/sqlite-config.tcl 72034aa26cff9b4d57c6ad69fa1a610b60a49101716c5495cc928774616d8d20 F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9 F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3 @@ -705,7 +705,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 8a75d3cc70549d2a876eab2666eb82832335a3539822359d612b56e355fdf344 +F main.mk 39bb165545ef4b7822967ae1b33ef1bf58b874c24a2ab294b065c417e9b5086d F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421 @@ -2213,8 +2213,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 acf9babf0efc346b26c8ac02c0bd973498bf1604b47fe320de14027f9b21ed33 -R 5182bad1c42928bd1b84d01963e58063 +P 0554c00f32b7cc81d35340080df10ea6d66c9ff07fe749ea76cc523a4149b5c8 +R 8a28dd0524bf26130e9da5035c4c8c46 U stephan -Z df301f75cd724e3f3d22ab4620a14201 +Z 46a968f2becd7b29966df38ee49c8cfa # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 9042fde288..0e67ff2854 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0554c00f32b7cc81d35340080df10ea6d66c9ff07fe749ea76cc523a4149b5c8 +44de0ec29a86f91a227132f7af8898108d555463b754b299eace0ee8475bad57