Add the .POSIX special target to the main makefiles to hint to the make impl that it should behave POSIXly-correct. Fix the default file extension for static libs in main.mk.

FossilOrigin-Name: 2c615d3a3206536f12c0723b8997bda9ab61f95a468f77697856213b46c0135e
This commit is contained in:
stephan
2024-10-31 07:20:22 +00:00
parent cf758d23cd
commit 07cdceed8e
4 changed files with 15 additions and 31 deletions
+4 -22
View File
@@ -11,10 +11,9 @@
# The docs for many of its variables are in the primary static
# makefile, main.mk (which this one includes at runtime).
#
.POSIX: #maintenance reminder: X:=Y is not POSIX-portable
all:
clean:
########################################################################
#XX# Lines starting with #XX# are TODOs for the port to autosetup.
#
# Known TODOs/FIXMEs/TOIMPROVEs for the autosetup port, in no
# particular order...
@@ -27,31 +26,14 @@ clean:
#
# - Replace the autotools-specific distribution deliverable(s).
#
# - Provide Makefile.msc, Makefile.linux-gcc, and any required similar
# makefile stubs for environments where the configure script will not
# run. The core makefile rules in main.mk "should" apply as-is for
# most platforms. We can potentially generate those makefiles, along
# with main.mk, like we do in the Fossil project.
#
# - Confirm whether cross-compilation works and patch it
# appropriately.
#
# - There are some lingering dependencies issues which cause a
# re-configure to trigger more often than it should. This is
# especially a problem in parallel builds, which may launch multiple
# re-configures in parallel. GNU Make offers ways of controlling
# that, but we're limited to POSIX Make compatibility here. The
# automatic reconfigures are not too onerous, though, because they're
# much, much faster than Autotools configure runs.
#
# - Add target(s) to dump out specific vars, e.g. SQLITE_OPT, as
# requested at https://sqlite.org/forum/forumpost/75cb3179216f8d86.
# This would also be useful for the ext/wasm build, which fishes
# SHELL_OPT out of the makefile.
#
#
# Maintenance reminders:
#
# - 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
+3 -1
View File
@@ -18,6 +18,8 @@
# invoked. This file will use defaults, very possibly invalid, for any
# which are not defined.
########################################################################
.POSIX: #maintenance reminder: X:=Y is not POSIX-portable
all:
#
# $(TOP) =
#
@@ -71,7 +73,7 @@ B.exe ?=
# The DLL resp. static library counterparts of $(B.exe).
#
B.dll ?= .so
B.lib ?= .lib
B.lib ?= .a
#
# $(T.exe) =
#
+7 -7
View File
@@ -1,9 +1,9 @@
C Add\smore\sdeps\sto\sT.tcl.env.sh\sso\sthat\sit\sgets\srebuilt\sif\sconfigure\sis\srun\swith\sa\sdifferent\s--with-tcl\svalue.\sRemove\sall\sreferences\sto\sthe\ssuperfluous\sXYZdir\smakefile\svars\sconventionally\sset\sby\sthe\sautotools\s(they're\sjust\snoise\sin\sthis\sbuild).
D 2024-10-31T07:01:31.541
C Add\sthe\s.POSIX\sspecial\starget\sto\sthe\smain\smakefiles\sto\shint\sto\sthe\smake\simpl\sthat\sit\sshould\sbehave\sPOSIXly-correct.\sFix\sthe\sdefault\sfile\sextension\sfor\sstatic\slibs\sin\smain.mk.
D 2024-10-31T07:20:22.577
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md c5b4009dca54d127d2d6033c22fd9cc34f53bedb6ef12c7cbaa468381c74ab28
F Makefile.in ec65af679ae42b4ddf521a1b0221240b4546d6c479115785001af5774dc0b709
F Makefile.in caeee287b060f652a9b69ccaad783729e2d6b28c7dfa82881837dc3fad1ed78f
F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0
F Makefile.msc a92237976eb92c5efaa0dd2524746aec12c196e12df8d4dbff9543a4648c3312
F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159
@@ -697,7 +697,7 @@ F ext/wasm/tests/opfs/concurrency/test.js d08889a5bb6e61937d0b8cbb78c9efbefbf65a
F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2
F ext/wasm/wasmfs.make bc8bb227f35d5bd3863a7bd2233437c37472a0d81585979f058f9b9b503bef35
F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
F main.mk 3877df8c031fbb957cab9a07656d49757a6f2dba58c00519fd63ba34510de541
F main.mk fea07cfa9091e5029b30980530353ba85a644acebe0ff9061c1bde7115863a8a
F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421
@@ -2198,8 +2198,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 731d333c224e70190dadd214de1970ea541a3d716d1d7ff2c0ef6c63b8be9b13
R e25e71c570d0b383f2dd1972c79d58ed
P 831665101e9c62cf49c173cb11705033eb9135a6a6965718285d81113ee5ba4c
R 4a69f33cb347363bc3407201453ac489
U stephan
Z a1888b91dcad0995a429adcb5d8c79e4
Z 4eb25a548225e7e13c3bd2c622a6f4b0
# Remove this line to create a well-formed Fossil manifest.
+1 -1
View File
@@ -1 +1 @@
831665101e9c62cf49c173cb11705033eb9135a6a6965718285d81113ee5ba4c
2c615d3a3206536f12c0723b8997bda9ab61f95a468f77697856213b46c0135e