diff --git a/autosetup/README.md b/autosetup/README.md index b9453574fe..502c901448 100644 --- a/autosetup/README.md +++ b/autosetup/README.md @@ -74,8 +74,8 @@ In (mostly) alphabetical order: - **`proj-indented-notice ?-error? msg`**\ Breaks its `msg` argument into lines, trims them, and emits them with consistent indentation. If the `-error` flag is used, it then - exits with non-0. This will stick out starkly from normal output - and is intended to be used only for important notices. + exits with a non-0 result code. This will stick out starkly from + normal output and is intended to be used only for important notices. - **`proj-opt-truthy flag`**\ Returns 1 if `--flag`'s value is "truthy," i.e. one of (1, on, @@ -179,16 +179,20 @@ LDFLAGS.zlib = @LDFLAGS_ZLIB@ LDFLAGS.math = @LDFLAGS_MATH@ ``` +(That first one is defined by autosetup, and thus applies "LDFLAGS" as +the suffix rather than the prefix. Which is more legible is a matter +of taste, for which there is no accounting.) + Do Not Update Global Shared State ------------------------------------------------------------------------ In both the legacy Autotools-driven build and in common Autosetup usage, feature tests performed by the configure script may amend -global flags such as `CFLAGS`, `LDFLAGS`, and `LIBS`. That's -appropriate for a makefile which builds a single deliverable, less -so for makefiles which produce multiple deliverables. Drawbacks -of that approach include: +global flags such as `CFLAGS`, `LDFLAGS`, and `LIBS`[^as-cflags]. That's +appropriate for a makefile which builds a single deliverable, but less +so for makefiles which produce multiple deliverables. Drawbacks of +that approach include: - It's unlikely that every single deliverable will require the same core set of those flags. @@ -198,11 +202,11 @@ of that approach include: maintainer. - It can force the maintainers of the configure script to place tests in a specific order so that the resulting flags get applied at - the correct time.\ + the correct time and/or in the correct order.\ (A real-life example: before the approach described below was taken to collecting build-time flags, the test for `-rpath` had to come _after_ the test for zlib because the results of the `-rpath` test - implicitly modified the `CFLAGS`, breaking the zlib feature + implicitly modified global state which broke the zlib feature test. Because the feature tests no longer (intentionally) modify global state, that is not an issue.) @@ -236,6 +240,11 @@ case there is no practical way to avoid "polluting" the builds of arbitrary makefile targets with those. _C'est la vie._ +[^as-cflags]: But see this article for a detailed discussion of how + autosetup currently deals specifically with CFLAGS: + + + Updating Autosetup ======================================================================== diff --git a/manifest b/manifest index c450b0aa8f..874d61f2ba 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C When\sconstructing\sthe\sauto-reconfigure\scommands,\sonly\squote\sargs\swhich\slook\slike\sthey\sneed\sit.\sMinor\sdoc\supdates. -D 2024-11-06T07:20:20.567 +C Minor\sdoc\stweaks. +D 2024-11-06T08:29:47.976 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md c5b4009dca54d127d2d6033c22fd9cc34f53bedb6ef12c7cbaa468381c74ab28 @@ -37,7 +37,7 @@ F autoconf/tea/win/rules.vc 94a18c3e453535459b4a643983acca52fb8756e79055bd2ad4b0 F autoconf/tea/win/targets.vc 96a25a1fa6e9e9cfb348fd3760a5395b4ce8acafc8ed10f0412937ec200d5dbd F autosetup/LICENSE 41a26aebdd2cd185d1e2b210f71b7ce234496979f6b35aef2cbf6b80cbed4ce4 F autosetup/README.autosetup a78ff8c4a3d2636a4268736672a74bf14a82f42687fcf0631a70c516075c031e -F autosetup/README.md e6a686c3959fc565f9310f10f0d038440b1715591b6a90fc594160e8c361a5b6 +F autosetup/README.md fd7d8b3cd25ddeb6f6041be14a17923a64c30c1855825224d34dc2c28fa8ee94 F autosetup/autosetup 9416ffdcdd6e2dbf7f6d1e5c890078518930f8af7722a950eacc28c7f151d2d6 x F autosetup/autosetup-config.guess dfa101c5e8220e864d5e9c72a85e87110df60260d36cb951ad0a85d6d9eaa463 x F autosetup/autosetup-config.sub a38fb074d0dece01cf919e9fb534a26011608aa8fa606490864295328526cd73 x @@ -2200,8 +2200,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 406d9122b75990722ab79fdf42d4528d670645d8f778ca0b5a2a35fa1dc106c4 -R d119d74839c372da88adc458ca3c56bf +P d4fbd34f7a4b0e6179cb06114d148fbc5d30b8dc8db0b764f4347dd50ff591ba +R 0b25478245094cdc9d825ea4c9f1d6d5 U stephan -Z 3e647edf4dd8fa5473ff129830ab4868 +Z 3fe0453285c895a787d757f74d8262d1 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 20a2e64608..f536e1b854 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d4fbd34f7a4b0e6179cb06114d148fbc5d30b8dc8db0b764f4347dd50ff591ba +2919a61bd4f8cb4f53462d4807cbc04ac5f71dd437cd693538754cf3f17d00cc