From 59ded3ff1460a8e0c56185d8bf86bd7d0a9fc5ce Mon Sep 17 00:00:00 2001 From: stephan Date: Tue, 8 Oct 2024 16:06:11 +0000 Subject: [PATCH] Get some basic install rules working. FossilOrigin-Name: e9ab211f82f789c89ab52e8d5fe7526c09943b2b8b3002fa7a16fb2b40addc8f --- Makefile.in | 51 +++++++++++++++++++++++++++++++++++--- auto.def | 9 ++++++- autosetup/hwaci-common.tcl | 7 +++--- manifest | 16 ++++++------ manifest.uuid | 2 +- 5 files changed, 68 insertions(+), 17 deletions(-) diff --git a/Makefile.in b/Makefile.in index e64f651b12..3d9c06a2c4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -181,6 +181,7 @@ pkgconfigdir = $(libdir)/pkgconfig bindir = @bindir@ includedir = @includedir@ INSTALL = @BIN_INSTALL@ +INSTALL_noexec = $(INSTALL) --mode=0644 #XX#LIBTOOL = ./libtool #XX#ALLOWRELEASE = @ALLOWRELEASE@ #XX# @@ -190,7 +191,6 @@ INSTALL = @BIN_INSTALL@ #XX#LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL) TCOMPILE = $(TCC) $(TCOMPILE_EXTRAS) TLINK = $(TCC) $(TLINK_EXTRAS) -TINSTALL = $(INSTALL) # # You should not have to change anything below this line @@ -748,6 +748,36 @@ $(libsqlite3.LIB): $(LIBOBJ) lib: $(libsqlite3.LIB) all: lib +install.bindir = $(DESTDIR)$(bindir) +install.libdir = $(DESTDIR)$(libdir) +install.includedir = $(DESTDIR)$(prefix)/include +$(install.bindir) $(install.libdir) $(install.includedir): + $(INSTALL) -d "$@" + +# Install the $(libsqlite3.DLL) as $(libsqlite3.DLL).@RELEASE@ and +# create symlinks which point to it. Do we really need all of this +# hoop-jumping? Can we not simply install the .so as-is? +# +# The historical SQLite build always used a version number of 0.8.6 +# for reasons lost to history. +install-dll: $(install.libdir) $(libsqlite3.DLL) + $(INSTALL) $(libsqlite3.DLL) "$(install.libdir)" + cd "$(install.libdir)"; \ + rm -f $(libsqlite3.DLL).3 $(libsqlite3.DLL).@RELEASE@; \ + mv $(libsqlite3.DLL) $(libsqlite3.DLL).@RELEASE@; \ + ln -s $(libsqlite3.DLL).@RELEASE@ $(libsqlite3.DLL).3; \ + ln -s $(libsqlite3.DLL).3 $(libsqlite3.DLL) + +# Install $(libsqlite3.LIB) +install-lib: $(install.libdir) $(libsqlite3.LIB) + $(INSTALL_noexec) $(libsqlite3.LIB) "$(install.libdir)" + +install-includes: sqlite3.h $(install.includedir) + $(INSTALL_noexec) sqlite3.h "$(install.includedir)" + +install-libs: install-lib install-dll +install: install-libs install-includes + #XX#libtclsqlite3.la: tclsqlite.lo libsqlite3.la #XX# $(TLINK) -no-undefined -o $@ tclsqlite.lo \ #XX# libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \ @@ -762,9 +792,19 @@ sqlite3$(TEXE): shell.c sqlite3.c cli: sqlite3$(TEXE) all: cli +install-cli: sqlite3$(TEXT) $(install.bindir) + $(INSTALL) -s sqlite3$(TEXT) "$(install.bindir)" + +install: install-cli + sqldiff$(TEXE): $(TOP)/tool/sqldiff.c $(TOP)/ext/misc/sqlite3_stdio.h sqlite3.o sqlite3.h $(TLINK) $(CFLAGS_stdio3) -o $@ $(TOP)/tool/sqldiff.c sqlite3.o $(LDFLAGS_libsqlite) +install-diff: sqldiff$(TEXE) $(install.bindir) + $(INSTALL) -s sqldiff$(TEXT) "$(install.bindir)" + +#install: install-diff + dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.o sqlite3.h $(TLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.o $(LDFLAGS_libsqlite) @@ -782,6 +822,11 @@ RSYNC_OPT = \ sqlite3-rsync$(TEXE): $(RSYNC_SRC) $(TCC) -o $@ $(RSYNC_OPT) $(RSYNC_SRC) $(LDFLAGS_libsqlite) +install-rsync: sqlite3-rsync$(TEXE) $(install.bindir) + $(INSTALL) sqlite3-rsync$(TEXT) "$(install.bindir)" + +#install: install-rsync + scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLINK) -o $@ -I. -DSCRUB_STANDALONE \ $(TOP)/ext/misc/scrub.c sqlite3.lo $(LDFLAGS_libsqlite) @@ -1755,12 +1800,12 @@ tidy: # clean: tidy rm -rf omittest* testrunner* testdir* - -gmake -C ext/wasm distclean + -gmake -C ext/wasm distclean 2>/dev/null; true # Clean up everything. No exceptions. distclean: clean rm -f sqlite_cfg.h config.log config.status $(JIMSH) Makefile - -gmake -C ext/wasm distclean + -gmake -C ext/wasm distclean 2>/dev/null; true #XX## #XX## Windows section diff --git a/auto.def b/auto.def index 1406dfc736..36ff88a1e9 100644 --- a/auto.def +++ b/auto.def @@ -35,7 +35,6 @@ options { tcl=1 => {Disable building accessory programs that require TCL-dev} test-status => {Enable status of tests} threadsafe=1 => {Disable mutexing} - releasemode => {libtool link to release mode} with-tempstore:=no => {Use an in-ram database for temporary tables: never,no,yes,always.} editline=0 => {BSD editline support} readline=1 => {Disable readline support} @@ -65,6 +64,14 @@ options { dump-defines=1 => {Disable dump of autosetup defines to $DUMP_DEFINES_FILE} } +######################################################################## +# Notes about certain historical flags: +# +# --releasemode: libtool-specific (which we don't have now) +# +######################################################################## + + set srcdir $autosetup(srcdir) set top_srcdir [get-define abs_top_srcdir] puts "srcdir = $srcdir" diff --git a/autosetup/hwaci-common.tcl b/autosetup/hwaci-common.tcl index 439c4d2de6..b0d6fec99c 100644 --- a/autosetup/hwaci-common.tcl +++ b/autosetup/hwaci-common.tcl @@ -106,7 +106,7 @@ proc hwaci-bin-define {binName {defName {}}} { msg-checking "Looking for $binName ... " if {"" ne $check} { set lbl $check - if {" _ 0 _ " eq $check} { + if {"" eq $check} { set lbl "not found" set check "" } @@ -116,7 +116,7 @@ proc hwaci-bin-define {binName {defName {}}} { set check [find-executable-path $binName] if {"" eq $check} { msg-result "not found" - set hwaci-cache-($cacheName) " _ 0 _ " + set hwaci-cache-($cacheName) "" } else { msg-result $check set hwaci-cache-($cacheName) $check @@ -143,8 +143,7 @@ proc hwaci-first-bin-of {args} { ######################################################################## # Looks for `bash` binary and dies if not found. On success, defines -# BIN_BASH to the full path to bash and returns that value. We -# _require_ bash because it's the SHELL value used in our makefiles. +# BIN_BASH to the full path to bash and returns that value. proc hwaci-require-bash {} { set bash [hwaci-bin-define bash] if {"" eq $bash} { diff --git a/manifest b/manifest index ab28b01f14..3d1501b7d4 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Make\stool/emcc.sh.in\sBourne-friendly. -D 2024-10-08T16:05:54.098 +C Get\ssome\sbasic\sinstall\srules\sworking. +D 2024-10-08T16:06:11.707 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 -F Makefile.in fc3b3656ee35ba81f492a5db71f3eef8f3fd789f04416cfa1fd51533933c5d9a +F Makefile.in fc2ef4e2955bf2f773ccefdadb5d8c27b66f04556178f3112d56f0a95c92255b F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6 F Makefile.msc 9c6d80d9d103fa42e931f4c464884a5e577fae8563acc7589bff4e43fbe8f864 F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159 @@ -14,7 +14,7 @@ F art/icon-80x90.gif 65509ce3e5f86a9cd64fe7fca2d23954199f31fe44c1e09e208c80fb83d F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2 F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90 F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 -F auto.def c5e1387cebdfc91f861d3810b90ecc4609dc7c7b6d716219c9abd2f692fda40a +F auto.def afec3012da348dd0214047f575131d0a69e1aa67588e212daf604d4393453a3b F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac @@ -46,7 +46,7 @@ F autosetup/cc-lib.tcl 493c5935b5dd3bf9bd4eca89b07c8b1b1a9356d61783035144e21795f F autosetup/cc-shared.tcl 4f024e94a47f427ba61de1739f6381ef0080210f9fae89112d5c1de1e5460d78 F autosetup/cc.tcl 7e2fe943ae9d45cf39e9f5b05b6230df8e719415edea5af06c30eb68680bde14 F autosetup/default.auto 5cdf016de2140e50f1db190a02039dc42fb390af1dda4cc4853e3042a9ef0e82 -F autosetup/hwaci-common.tcl 4961de5c660cfe3f4616d119c5aef0af9dccf8a54b7a7f98064024735cb2e26d +F autosetup/hwaci-common.tcl fcb479deea42c54d5486d20b811a00b3880f8dc597afac41145463cc5d58cdae F autosetup/jimsh0.c 1b5fe91fffcddbc29f2b16acb80f1650632ea2edbe8336b8155ef7b4c66f6d8d F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba F autosetup/system.tcl 3a39d6e0b3bfba526fd39afe07c1d0d325e5a31925013a1ba7c671e1128e31bb @@ -2235,8 +2235,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 6cbb05fde1b74ced6d56d6ec7f815c989697381531175daccebc4311bfef61d9 -R 2c8a1ade7d9f0039a6c4438b17ebd26a +P a69ab88474a7b917679633e366364b05a99c348dabc37f1bbc5010f7005d5500 +R ba28a71964131b9ba3350911d33dc11d U stephan -Z 1d93be3fe611f8efdba1c2ce6cdf2d85 +Z 03e49a16b7d4bc0546430cb7f164dfa8 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index e1bdceaadb..5c11fae8e0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a69ab88474a7b917679633e366364b05a99c348dabc37f1bbc5010f7005d5500 +e9ab211f82f789c89ab52e8d5fe7526c09943b2b8b3002fa7a16fb2b40addc8f