From 4d58d3938a46d9f1239873157b2e343ef09025a3 Mon Sep 17 00:00:00 2001 From: stephan Date: Fri, 21 Feb 2025 21:58:32 +0000 Subject: [PATCH] Add --dll-basename flag to give clients control over the DLL's base name. Split the DLL installation makefile rules into digestible, platform-specific chunks. On Windows-side Unix-like environments, install the DLL into the bin dir. Requires testing and feedback from those platforms' package maintainers to confirm it follows the expectated conventions. FossilOrigin-Name: 8d5fed807b7151dcb79b97cfc2da0e8ac3586a0bf8b4c28967ad4cffafa53c08 --- Makefile.in | 4 +- autoconf/Makefile.in | 89 ++++++++++++++++++------------- autosetup/proj.tcl | 9 ++++ autosetup/sqlite-config.tcl | 98 +++++++++++++++++++++++----------- main.mk | 101 ++++++++++++++++++++++-------------- manifest | 23 ++++---- manifest.uuid | 2 +- 7 files changed, 206 insertions(+), 120 deletions(-) diff --git a/Makefile.in b/Makefile.in index 99b3a8c8d1..3178028d81 100644 --- a/Makefile.in +++ b/Makefile.in @@ -126,11 +126,13 @@ LDFLAGS.libsqlite3.os-specific = @LDFLAGS_MAC_CVERSION@ @LDFLAGS_OUT_IMPLIB@ # os-specific: see # - https://sqlite.org/forum/forumpost/9dfd5b8fd525a5d7 # - https://sqlite.org/forum/forumpost/0c7fc097b2 +libsqlite3.DLL.basename = @SQLITE_DLL_BASENAME@ +libsqlite3.out.implib = @SQLITE_OUT_IMPLIB@ # dll.basename: see https://sqlite.org/forum/forumpost/828fdfe904 -#libsqlite3.DLL.basename = @ SQLITE_DLL_BASENAME @ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ HAVE_WASI_SDK = @HAVE_WASI_SDK@ +libsqlite3.DLL.install-rules = @SQLITE_DLL_INSTALL_RULES@ T.cc.sqlite = $(T.cc) @TARGET_DEBUG@ diff --git a/autoconf/Makefile.in b/autoconf/Makefile.in index 5a357dc9e7..d520779915 100644 --- a/autoconf/Makefile.in +++ b/autoconf/Makefile.in @@ -143,7 +143,10 @@ sqlite3.o: $(TOP)/sqlite3.h $(TOP)/sqlite3.c $(CC) -c $(TOP)/sqlite3.c -o $@ $(CFLAGS) $(CFLAGS.libsqlite3) libsqlite3.LIB = libsqlite3$(T.lib) -libsqlite3.DLL = libsqlite3$(T.dll) +libsqlite3.DLL.basename = @SQLITE_DLL_BASENAME@ +libsqlite3.out.implib = @SQLITE_OUT_IMPLIB@ +libsqlite3.DLL = $(libsqlite3.DLL.basename)$(T.dll) +libsqlite3.DLL.install-rules = @SQLITE_DLL_INSTALL_RULES@ $(libsqlite3.DLL): sqlite3.o $(CC) -o $@ sqlite3.o $(LDFLAGS.shlib) \ @@ -159,45 +162,59 @@ $(libsqlite3.LIB)-1: $(libsqlite3.LIB) $(libsqlite3.LIB)-0: all: $(libsqlite3.LIB)-$(ENABLE_LIB_STATIC) -install-so-1: $(install-dir.lib) $(libsqlite3.DLL) - $(INSTALL) $(libsqlite3.DLL) "$(install-dir.lib)" - @if [ -f $(libsqlite3.DLL).a ]; then \ - $(INSTALL) $(libsqlite3.DLL).a "$(install-dir.lib)"; \ +# +# Maintenance reminder: the install-dll-... rules must be kept in sync +# with the main copies rom /main.mk. +# +install-dll-out-implib: $(install-dir.lib) $(libsqlite3.DLL) + @if [ x != "x$(libsqlite3.out.implib)"; then \ + if [ -f "$(libsqlite3.out.implib)" ]; then \ + $(INSTALL) $(libsqlite3.out.implib) "$(install-dir.lib)"; \ + fi; \ fi + +install-dll-unix-generic: install-dll-out-implib + $(INSTALL) $(libsqlite3.DLL) "$(install-dir.lib)" @echo "Setting up $(libsqlite3.DLL) version symlinks..."; \ - if [ x.dll = x$(T.dll) ]; then \ - echo "No library symlinks needed on this platform"; \ - elif [ x.dylib = x$(T.dll) ]; then \ - cd "$(install-dir.lib)" || exit $$?; \ - rm -f libsqlite3.0$(T.dll) libsqlite3.$(PACKAGE_VERSION)$(T.dll) || exit $$?; \ - dllname=libsqlite3.$(PACKAGE_VERSION)$(T.dll); \ - mv $(libsqlite3.DLL) $$dllname || exit $$?; \ - ln -s $$dllname $(libsqlite3.DLL) || exit $$?; \ - ln -s $$dllname libsqlite3.0$(T.dll) || exit $$?; \ - ls -la $$dllname $(libsqlite3.DLL) libsqlite3.0$(T.dll); \ - else \ - cd "$(install-dir.lib)" || exit $$?; \ - rm -f $(libsqlite3.DLL).0 $(libsqlite3.DLL).$(PACKAGE_VERSION) || exit $$?; \ - mv $(libsqlite3.DLL) $(libsqlite3.DLL).$(PACKAGE_VERSION) || exit $$?; \ - ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL) || exit $$?; \ - ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0 || exit $$?; \ - ls -la $(libsqlite3.DLL) $(libsqlite3.DLL).[a03]*; \ - if [ -e $(libsqlite3.DLL).0.8.6 ]; then \ - echo "ACHTUNG: legacy libtool-compatible install found. Re-linking it..."; \ - rm -f libsqlite3.la $(libsqlite3.DLL).0.8.6 || exit $$?; \ - ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0.8.6 || exit $$?; \ - ls -la $(libsqlite3.DLL).0.8.6; \ - elif [ x1 = "x$(INSTALL_SO_086_LINK)" ]; then \ - echo "ACHTUNG: installing legacy libtool-style links because INSTALL_SO_086_LINK=1"; \ - rm -f libsqlite3.la $(libsqlite3.DLL).0.8.6 || exit $$?; \ - ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0.8.6 || exit $$?; \ - ls -la $(libsqlite3.DLL).0.8.6; \ - fi; \ + cd "$(install-dir.lib)" || exit $$?; \ + rm -f $(libsqlite3.DLL).0 $(libsqlite3.DLL).$(PACKAGE_VERSION) || exit $$?; \ + mv $(libsqlite3.DLL) $(libsqlite3.DLL).$(PACKAGE_VERSION) || exit $$?; \ + ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL) || exit $$?; \ + ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0 || exit $$?; \ + ls -la $(libsqlite3.DLL) $(libsqlite3.DLL).[a03]*; \ + if [ -e $(libsqlite3.DLL).0.8.6 ]; then \ + echo "ACHTUNG: legacy libtool-compatible install found. Re-linking it..."; \ + rm -f libsqlite3.la $(libsqlite3.DLL).0.8.6 || exit $$?; \ + ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0.8.6 || exit $$?; \ + ls -la $(libsqlite3.DLL).0.8.6; \ + elif [ x1 = "x$(INSTALL_SO_086_LINK)" ]; then \ + echo "ACHTUNG: installing legacy libtool-style links because INSTALL_SO_086_LINK=1"; \ + rm -f libsqlite3.la $(libsqlite3.DLL).0.8.6 || exit $$?; \ + ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0.8.6 || exit $$?; \ + ls -la $(libsqlite3.DLL).0.8.6; \ fi -install-so-0 install-so-: -install-so: install-so-$(ENABLE_LIB_SHARED) -install: install-so +install-dll-msys: install-dll-out-implib + $(INSTALL) $(libsqlite3.DLL) "$(install-dir.bin)" +# ----------------------------------------------^^^ yes, bin +install-dll-mingw: install-dll-msys +install-dll-cygwin: install-dll-msys + +install-dll-darwin: $(install-dir.lib) $(libsqlite3.DLL) + $(INSTALL) $(libsqlite3.DLL) "$(install-dir.lib)" + @echo "Setting up $(libsqlite3.DLL) version symlinks..."; \ + cd "$(install-dir.lib)" || exit $$?; \ + rm -f libsqlite3.0$(T.dll) libsqlite3.$(PACKAGE_VERSION)$(T.dll) || exit $$?; \ + dllname=libsqlite3.$(PACKAGE_VERSION)$(T.dll); \ + mv $(libsqlite3.DLL) $$dllname || exit $$?; \ + ln -s $$dllname $(libsqlite3.DLL) || exit $$?; \ + ln -s $$dllname libsqlite3.0$(T.dll) || exit $$?; \ + ls -la $$dllname $(libsqlite3.DLL) libsqlite3.0$(T.dll) + +install-dll-1: install-dll-$(libsqlite3.DLL.install-rules) +install-dll-0 install-dll-: +install-dll: install-dll-$(ENABLE_LIB_SHARED) +install: install-dll install-lib-1: $(install-dir.lib) $(libsqlite3.LIB) $(INSTALL.noexec) $(libsqlite3.LIB) "$(install-dir.lib)" diff --git a/autosetup/proj.tcl b/autosetup/proj.tcl index c11b05d5f7..f228dce217 100644 --- a/autosetup/proj.tcl +++ b/autosetup/proj.tcl @@ -389,6 +389,15 @@ proc proj-opt-set {flag {val 1}} { return $val } +######################################################################## +# @proj-opt-exists flag +# +# Returns 1 if the given flag has been defined as a legal configure +# option, else returns 0. +proc proj-opt-exists {flag} { + expr {$flag in $::autosetup(options)}; +} + ######################################################################## # @proj-val-truthy val # diff --git a/autosetup/sqlite-config.tcl b/autosetup/sqlite-config.tcl index 6dc1534314..d37148819c 100644 --- a/autosetup/sqlite-config.tcl +++ b/autosetup/sqlite-config.tcl @@ -231,6 +231,8 @@ proc sqlite-config-bootstrap {buildMode} { # Options for exotic/alternative build modes alternative-builds { {canonical} { + # Potential TODO: add --with-wasi-sdk support to the autoconf + # build with-wasi-sdk:=/opt/wasi-sdk => {Top-most dir of the wasi-sdk for a WASI build} with-emsdk:=auto @@ -247,12 +249,6 @@ proc sqlite-config-bootstrap {buildMode} { => {Link the sqlite3 shell app against the DLL instead of embedding sqlite3.c} } {*} { - # dll-basename: https://sqlite.org/forum/forumpost/828fdfe904 -# dll-basename:=auto -# => {Secifies the base name of the resulting DLL file, defaulting to a -# platform-depending name (libsqlite3 on my Unix-style platforms). -# e.g. --dll-basename=msys-sqlite3-0 -# } # soname: https://sqlite.org/src/forumpost/5a3b44f510df8ded soname:=legacy => {SONAME for libsqlite3.so. "none", or not using this flag, sets no @@ -261,6 +257,13 @@ proc sqlite-config-bootstrap {buildMode} { it to that literal value. Any other value is assumed to be a suffix which gets applied to "libsqlite3.so.", e.g. --soname=9.10 equates to "libsqlite3.so.9.10".} + # dll-basename: https://sqlite.org/forum/forumpost/828fdfe904 + dll-basename:=auto + => {Specifies the base name of the resulting DLL file, defaulting to a + platform-depending name (libsqlite3 on most Unix-style platforms). + If not provided, libsqlite3 is assumed, but if provided without a + value then a platform-dependent default is used. + e.g. --dll-basename=msys-sqlite3-0} # out-implib: https://sqlite.org/forum/forumpost/0c7fc097b2 out-implib:=auto => {Enable use of --out-implib linker flag to generate an @@ -1261,10 +1264,33 @@ proc sqlite-handle-mac-cversion {} { } ######################################################################## -# Define LDFLAGS_OUT_IMPLIB to either an empty string or to a +# Handles the --dll-basename configure flag. [define]'s +# SQLITE_DLL_BASENAME to the build's preferred base name (minus +# extension). +proc sqlite-handle-dll-basename {} { + if {[proj-opt-exists dll-basename]} { + set dn [join [opt-val dll-basename] ""] + } else { + set dn auto + } + if {$dn in {auto ""}} { + switch -glob -- [get-define host] { + *-*-cygwin* { set dn cygsqlite3-0 } + *-*-ming* { set dn libsqlite3-0 } + *-*-msys* { set dn msys-sqlite3-0 } + default { set dn libsqlite3 } + } + } + define SQLITE_DLL_BASENAME $dn +} + +######################################################################## +# [define]s LDFLAGS_OUT_IMPLIB to either an empty string or to a # -Wl,... flag for the platform-specific --out-implib flag, which is # used for building an "import library .dll.a" file on some platforms -# (e.g. mingw). Returns 1 if supported, else 0. The actual +# (e.g. msys2, mingw). Returns 1 if supported, else 0. +# +# The name of the import library is [define]d in SQLITE_OUT_IMPLIB. # # If the configure flag --out-implib is not used then this is a no-op. # If that flag is used but the capability is not available, a fatal @@ -1283,18 +1309,21 @@ proc sqlite-handle-mac-cversion {} { # - msys2 packages historically install /usr/lib/libsqlite3.dll.a # despite the DLL being in /usr/bin/msys-sqlite3-0.dll. proc sqlite-handle-out-implib {} { + sqlite-handle-dll-basename define LDFLAGS_OUT_IMPLIB "" + define SQLITE_OUT_IMPLIB "" set rc 0 if {[proj-opt-was-provided out-implib]} { - set dn [join [opt-val out-implib] ""] - if {$dn in {auto ""}} { - set dn "libsqlite3" ;# [get-define SQLITE_DLL_BASENAME] + set olBaseName [join [opt-val out-implib] ""] + if {$olBaseName in {auto ""}} { + set olBaseName "libsqlite3" ;# [get-define SQLITE_DLL_BASENAME] } cc-with {-link 1} { - set dll "${dn}[get-define TARGET_DLLEXT]" + set dll "${olBaseName}[get-define TARGET_DLLEXT]" set flags "-Wl,--out-implib,${dll}.a" if {[cc-check-flags $flags]} { define LDFLAGS_OUT_IMPLIB $flags + define SQLITE_OUT_IMPLIB ${dll}.a set rc 1 } } @@ -1305,11 +1334,37 @@ proc sqlite-handle-out-implib {} { return $rc } +######################################################################## +# [define] SQLITE_DLL_INSTALL_RULES to a symbolic name of a set of +# "make install" rules to use. The makefile is tasked with with +# providing rules named install-dll-NAME which runs the installation +# for that set, as well as providing a rule named install-dll which +# resolves to install-dll-NAME (perhaps indirectly, depending on +# whether the DLL is (de)activated). +proc sqlite-determine-dll-install-rules {} { + set n unix-generic + switch -glob -- [get-define host] { + *-*-cygwin* { set n cygwin } + *-*-ming* { set n mingw } + *-*-msys* { set n msys } + *apple* - + *darwin* { set n darwin } + } + define SQLITE_DLL_INSTALL_RULES $n +} + ######################################################################## # Performs late-stage config steps common to both the canonical and # autoconf bundle builds. proc sqlite-config-finalize {} { - #sqlite-handle-dll-basename +# Pending: move some of the auto.def code into this switch +# switch -exact -- $::sqliteConfig(build-mode) { +# canonical { +# } +# autoconf { +# } +# } + sqlite-determine-dll-install-rules sqlite-handle-out-implib sqlite-handle-mac-cversion sqlite-process-dot-in-files @@ -1767,23 +1822,6 @@ proc sqlite-handle-tcl {} { msg-result "TCL for code generation: [sqlite-determine-codegen-tcl]" } -######################################################################## -# Handles the --dll-basename configure flag. [define]'s -# SQLITE_DLL_BASENAME to the build's perferred base name (minus -# extension). -proc sqlite-handle-dll-basename {} { - set dn [opt-val dll-basename] - if {$rn in {auto ""}} { - switch -glob -- [get-define host] { - *-*-cygwin* { set dn cygsqlite3-0 } - *-*-ming* { set dn libsqlite3-0 } - *-*-msys* { set dn msys-sqlite3-0 } - default { set dn libsqlite3 } - } - } - define SQLITE_DLL_BASENAME $dn -} - # TODO? Figure out whether the DLL needs to go under /lib or /bin # (msys, cygwin, etc). # proc sqlite-handle-dll-install-dir {} {} diff --git a/main.mk b/main.mk index 9cc31a8fa8..fd81dd84f4 100644 --- a/main.mk +++ b/main.mk @@ -1055,17 +1055,31 @@ T.link.tcl = $(T.tcl.env.source); $(T.link) # # libsqlite3.DLL.basename = the base name of the resulting DLL. This # is typically libsqlite3 but varies wildly on Unix-like Windows -# environments (msys, cygwin, and friends). +# environments (msys, cygwin, and friends). Conversely, the base name +# of the static library ($(libsqlite3.LIB)) is constant on all tested +# platforms. # libsqlite3.DLL.basename ?= libsqlite3 # +# libsqlite3.DLL => the DLL library +# +libsqlite3.DLL = $(libsqlite3.DLL.basename)$(T.dll) +# +# libsqlite3.out.implib => "import library" file generated by the +# --out-implib linker flag. Not commonly used on Unix systems but is +# on the Windows-side Unix-esque environments and typically as a value +# of "libsqlite3.dll.a". +# +libsqlite3.out.implib ?= +# # libsqlite3.LIB => the static library # libsqlite3.LIB = libsqlite3$(T.lib) + # -# libsqlite3.LIB => the DLL library -# -libsqlite3.DLL = $(libsqlite3.DLL.basename)$(T.dll) +# libsqlite3.DLL.install-rules => the suffix of the symoblic name of +# the makefile rules for installing the DLL. +libsqlite3.DLL.install-rules ?= unix-generic # Rules to build the LEMON compiler generator # @@ -1485,45 +1499,54 @@ all: so # In either case, libsqlite3.la, if found, is deleted because it would # contain stale state, refering to non-libtool-generated libraries. # -install-so-1: $(install-dir.lib) $(libsqlite3.DLL) - $(INSTALL) $(libsqlite3.DLL) "$(install-dir.lib)" - @if [ -f $(libsqlite3.DLL).a ]; then \ - $(INSTALL) $(libsqlite3.DLL).a "$(install-dir.lib)"; \ + +install-dll-out-implib: $(install-dir.lib) $(libsqlite3.DLL) + if [ x != "x$(libsqlite3.out.implib)" ] && [ -f "$(libsqlite3.out.implib)" ]; then \ + $(INSTALL) $(libsqlite3.out.implib) "$(install-dir.lib)"; \ fi + +install-dll-unix-generic: install-dll-out-implib + $(INSTALL) $(libsqlite3.DLL) "$(install-dir.lib)" @echo "Setting up $(libsqlite3.DLL) version symlinks..."; \ - if [ x.dll = x$(T.dll) ]; then \ - echo "No library symlinks needed on this platform"; \ - elif [ x.dylib = x$(T.dll) ]; then \ - cd "$(install-dir.lib)" || exit $$?; \ - rm -f libsqlite3.0$(T.dll) libsqlite3.$(PACKAGE_VERSION)$(T.dll) || exit $$?; \ - dllname=libsqlite3.$(PACKAGE_VERSION)$(T.dll); \ - mv $(libsqlite3.DLL) $$dllname || exit $$?; \ - ln -s $$dllname $(libsqlite3.DLL) || exit $$?; \ - ln -s $$dllname libsqlite3.0$(T.dll) || exit $$?; \ - ls -la $$dllname $(libsqlite3.DLL) libsqlite3.0$(T.dll); \ - else \ - cd "$(install-dir.lib)" || exit $$?; \ - rm -f $(libsqlite3.DLL).0 $(libsqlite3.DLL).$(PACKAGE_VERSION) || exit $$?; \ - mv $(libsqlite3.DLL) $(libsqlite3.DLL).$(PACKAGE_VERSION) || exit $$?; \ - ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL) || exit $$?; \ - ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0 || exit $$?; \ - ls -la $(libsqlite3.DLL) $(libsqlite3.DLL).[a03]*; \ - if [ -e $(libsqlite3.DLL).0.8.6 ]; then \ - echo "ACHTUNG: legacy libtool-compatible install found. Re-linking it..."; \ - rm -f libsqlite3.la $(libsqlite3.DLL).0.8.6 || exit $$?; \ - ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0.8.6 || exit $$?; \ - ls -la $(libsqlite3.DLL).0.8.6; \ - elif [ x1 = "x$(INSTALL_SO_086_LINK)" ]; then \ - echo "ACHTUNG: installing legacy libtool-style links because INSTALL_SO_086_LINK=1"; \ - rm -f libsqlite3.la $(libsqlite3.DLL).0.8.6 || exit $$?; \ - ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0.8.6 || exit $$?; \ - ls -la $(libsqlite3.DLL).0.8.6; \ - fi; \ + cd "$(install-dir.lib)" || exit $$?; \ + rm -f $(libsqlite3.DLL).0 $(libsqlite3.DLL).$(PACKAGE_VERSION) || exit $$?; \ + mv $(libsqlite3.DLL) $(libsqlite3.DLL).$(PACKAGE_VERSION) || exit $$?; \ + ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL) || exit $$?; \ + ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0 || exit $$?; \ + ls -la $(libsqlite3.DLL) $(libsqlite3.DLL).[a03]*; \ + if [ -e $(libsqlite3.DLL).0.8.6 ]; then \ + echo "ACHTUNG: legacy libtool-compatible install found. Re-linking it..."; \ + rm -f libsqlite3.la $(libsqlite3.DLL).0.8.6 || exit $$?; \ + ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0.8.6 || exit $$?; \ + ls -la $(libsqlite3.DLL).0.8.6; \ + elif [ x1 = "x$(INSTALL_SO_086_LINK)" ]; then \ + echo "ACHTUNG: installing legacy libtool-style links because INSTALL_SO_086_LINK=1"; \ + rm -f libsqlite3.la $(libsqlite3.DLL).0.8.6 || exit $$?; \ + ln -s $(libsqlite3.DLL).$(PACKAGE_VERSION) $(libsqlite3.DLL).0.8.6 || exit $$?; \ + ls -la $(libsqlite3.DLL).0.8.6; \ fi -install-so-0 install-so-: -install-so: install-so-$(ENABLE_SHARED) -install: install-so +install-dll-msys: install-dll-out-implib + $(INSTALL) $(libsqlite3.DLL) "$(install-dir.bin)" +# ----------------------------------------------^^^ yes, bin +install-dll-mingw: install-dll-msys +install-dll-cygwin: install-dll-msys + +install-dll-darwin: $(install-dir.lib) $(libsqlite3.DLL) + $(INSTALL) $(libsqlite3.DLL) "$(install-dir.lib)" + @echo "Setting up $(libsqlite3.DLL) version symlinks..."; \ + cd "$(install-dir.lib)" || exit $$?; \ + rm -f libsqlite3.0$(T.dll) libsqlite3.$(PACKAGE_VERSION)$(T.dll) || exit $$?; \ + dllname=libsqlite3.$(PACKAGE_VERSION)$(T.dll); \ + mv $(libsqlite3.DLL) $$dllname || exit $$?; \ + ln -s $$dllname $(libsqlite3.DLL) || exit $$?; \ + ln -s $$dllname libsqlite3.0$(T.dll) || exit $$?; \ + ls -la $$dllname $(libsqlite3.DLL) libsqlite3.0$(T.dll) + +install-dll-1: install-dll-$(libsqlite3.DLL.install-rules) +install-dll-0 install-dll-: +install-dll: install-dll-$(ENABLE_SHARED) +install: install-dll # # Install $(libsqlite3.LIB) diff --git a/manifest b/manifest index b3770f3396..f87e25144e 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Extend\s--out-implib\sto\soptionally\sspecify\sthe\simport\slib's\sname.\sAdd\sas-yet-unused\sinternals\sfor\sspecifying\sthe\sDLL's\sbase\sname\s(which\sdiffers\sacross\sthe\sWindows-side\sUnix-esque\senvironments). -D 2025-02-21T20:28:44.646 +C Add\s--dll-basename\sflag\sto\sgive\sclients\scontrol\sover\sthe\sDLL's\sbase\sname.\sSplit\sthe\sDLL\sinstallation\smakefile\srules\sinto\sdigestible,\splatform-specific\schunks.\sOn\sWindows-side\sUnix-like\senvironments,\sinstall\sthe\sDLL\sinto\sthe\sbin\sdir.\sRequires\stesting\sand\sfeedback\sfrom\sthose\splatforms'\spackage\smaintainers\sto\sconfirm\sit\sfollows\sthe\sexpectated\sconventions. +D 2025-02-21T21:58:32.801 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d -F Makefile.in 2d87dc1a64add400f047d0357f8f30e73b890aa5076b7f8f7d02cd1f3557beb1 +F Makefile.in 367abe20304ed8b467477be68ab9110daeef8d63186789706e66d4b7c73bc561 F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0 F Makefile.msc 50c656e096ae49ccf9e5e88b4995f0a155f231ebae5b6d185cc64ce99d728a83 F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159 @@ -16,7 +16,7 @@ F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 F art/sqlite370.svg 40b7e2fe8aac3add5d56dd86ab8d427a4eca5bcb3fe4f8946cb3794e1821d531 F auto.def eddf6aef976e2c1a56c0accc3244945e0b22ec6799074c40be160e5a9a5662b0 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac -F autoconf/Makefile.in d376f623fa747798e40f7fcb23f9392e4f87610daa8425673ab83a8f33578b65 +F autoconf/Makefile.in 950a7afa36f4b91caf468ab55981f67d6ff9fea014156474af6bf9b9f4218926 F autoconf/Makefile.msc 1249e425a24859c7b3f17575275247df9eec3bddc0d1d7e73941f1abdbb95a92 F autoconf/README.first f1d3876e9a7852c22f275a6f06814e64934cecbc0b5b9617d64849094c1fd136 F autoconf/README.txt 7f01dc3915e2d68f329011073662369e62a0938a2c69398807823c57591cb288 @@ -49,8 +49,8 @@ F autosetup/cc-shared.tcl 4f024e94a47f427ba61de1739f6381ef0080210f9fae89112d5c1d F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e45f F autosetup/jimsh0.c 6573f6bc6ff204de0139692648d7037ca0b6c067bac83a7b4e087f20a86866a4 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba -F autosetup/proj.tcl cd6134e98d06ab4ae3be746d185dcdbf5180bfa049fe46a6726e703f56ea2f9c -F autosetup/sqlite-config.tcl c6c9ad74147e5f0ae39f0e5e207c4a8140066982c7eb21c68dd4b6483f85968e +F autosetup/proj.tcl 3124addb1a46c7d9c8c38a3016cd23797185c3fd977570728397aaa9eadd0039 +F autosetup/sqlite-config.tcl 4e546e42a7fb279b41edd3399bd61e3d40586b2c4802cbe43891c780298dda5b F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9 F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad @@ -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 53df76bae4f2538a086fa39b6eb9a4238b9551895b2bde3b14187fa246ca0336 +F main.mk 9c4b47a2dd1f75c71570b17758e0dc07ecf1a00011c62650a9fa102776619738 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421 @@ -2210,11 +2210,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 ebf41fc90aa9fb1bb96239145c0cdd06eced391499975c71734610996d088641 -R b539368d0fe58a110d27ce4df6690ee7 -T *branch * configure-dll-support -T *sym-configure-dll-support * -T -sym-trunk * Cancelled\sby\sbranch. +P 12a55d343f9663acb68cd0f75fbb6c9ab67f4f88ad296e3e266f12d91522dd19 +R 04a1ae38e3a281f33d8df2618ff417dc U stephan -Z d83368e818c74940a16d5a2f7cf79842 +Z 14104c089c02833f5f00be9f4a410169 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 7217eed5fe..baeb4ebc4c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -12a55d343f9663acb68cd0f75fbb6c9ab67f4f88ad296e3e266f12d91522dd19 +8d5fed807b7151dcb79b97cfc2da0e8ac3586a0bf8b4c28967ad4cffafa53c08 -- 2.47.2