# works on the build host's platform.
INSTALL.strip.1 = $(INSTALL)
INSTALL.strip.0 = $(INSTALL) -s
-INSTALL.strip. = $(INSTALL.strip.0)
INSTALL.strip = $(INSTALL.strip.@IS_CROSS_COMPILING@)
+INSTALL.noexec = $(INSTALL) -m 0644
install-dir.bin = $(DESTDIR)$(bindir)
install-dir.lib = $(DESTDIR)$(libdir)
$(LDFLAGS.math) $(LDFLAGS.dlopen) \
$(LDFLAGS.zlib) $(LDFLAGS.icu) \
$(LDFLAGS.configure)
+LDFLAGS.libsqlite3.soname = @LDFLAGS_LIBSQLITE3_SONAME@
+CFLAGS.libsqlite3 = -I. $(CFLAGS.core) $(CFLAGS.icu) $(OPT_FEATURE_FLAGS)
+
+sqlite3.o: sqlite3.h sqlite3.c
+ $(CC) -c sqlite3.c -o $@ $(CFLAGS) $(CFLAGS.libsqlite3)
+
+libsqlite3.LIB = libsqlite3$(T.lib)
+libsqlite3.SO = libsqlite3$(T.dll)
+
+$(libsqlite3.SO): sqlite3.o
+ $(CC) -o $@ sqlite3.o $(LDFLAGS.shlib) \
+ $(LDFLAGS) $(LDFLAGS.libsqlite3) $(LDFLAGS.libsqlite3.soname)
+all: $(libsqlite3.SO)
+
+$(libsqlite3.LIB): sqlite3.o
+ $(AR) $(AR.flags) $@ sqlite3.o
+all: $(libsqlite3.LIB)
sqlite3$(T.exe): shell.c sqlite3.c
$(CC) -o $@ \
shell.c sqlite3.c \
- $(OPT_FEATURE_FLAGS) $(SHELL_OPT) \
- $(CFLAGS.readline) $(CFLAGS.icu) \
- $(LDFLAGS.libsqlite3) $(LDFLAGS.readline)
+ -I. $(OPT_FEATURE_FLAGS) $(SHELL_OPT) \
+ $(CFLAGS) $(CFLAGS.readline) $(CFLAGS.icu) \
+ $(LDFLAGS) $(LDFLAGS.libsqlite3) $(LDFLAGS.readline)
all: sqlite3$(T.exe)
install-shell: sqlite3$(T.exe) $(install-dir.bin)
$(INSTALL.strip) sqlite3$(T.exe) "$(install-dir.bin)"
install: install-shell
+install-headers: sqlite3.h $(install-dir.include)
+ $(INSTALL.noexec) sqlite3.h sqlite3ext.h "$(install-dir.include)"
+install: install-headers
+
+install-pc: sqlite3.pc $(install-dir.pkgconfig)
+ $(INSTALL.noexec) sqlite3.pc "$(install-dir.pkgconfig)"
+install: install-pc
+
clean:
rm -f *.o sqlite3$(T.exe)
+ rm -f $(libsqlite3.LIB) $(libsqlite3.SO)
distclean: clean
rm -f sqlite3.pc
README.txt Makefile.fallback
dist:
- @echo "Not Yet Implemented: $@"
+ @echo "Not Yet Implemented: $@"; exit 1
install:
- @echo "Not Yet Implemented: $@"
+ @echo "Not Yet Implemented: $@"; exit 1
performance-critical loops. Never use --debug for production
builds.}
# </developer>
+ soname:=legacy =>
+ # --soname has a long story behind it: https://sqlite.org/src/forumpost/5a3b44f510df8ded
+ {SONAME for libsqlite3.so. "none", or not using this flag, sets no
+ soname. "legacy" sets it to its historical value of
+ libsqlite3.so.0. A value matching the glob "libsqlite3.*" sets
+ 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".
+ }
}
sqlite-post-options-init
sqlite-check-common-bins
sqlite-check-common-system-deps
proj-check-rpath
+sqlite-handle-soname
+sqlite-setup-default-cflags
sqlite-handle-debug
sqlite-handle-threadsafe
sqlite-handle-tempstore
-C Get\sthe\sCLI\sshell\sbuilding\sin\sthe\sautoconf\sbundle.
-D 2025-01-19T19:51:47.397
+C Get\slibsqlite3.so\sand\s.a\sbuilding\sin\sthe\sautoconf\sbundle.
+D 2025-01-19T21:47:06.974
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
F auto.def 7833c0a8630dd3a3410dcc6c8b4d1b63f25d03d6497267624b8a37aba119cb3e
F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
-F autoconf/Makefile.in 8ffa4fa39ae65758e72502b86286ea1472befec9eab7999cadb89d8e101d55c7 w autoconf/Makefile.am
+F autoconf/Makefile.in 3fa678c42221c95ac4fc13d60b145840b9b93e7885c7d040669f3e481b5a8e93
F autoconf/Makefile.msc ffff61fe851443015ddb6600ab69a9df503cfec25459b336be7ba8c9a9e473f8
F autoconf/README.first 6c4f34fe115ff55d4e8dbfa3cecf04a0188292f7
F autoconf/README.txt 5e946ffb6fbdbb114c81e1bdc862df27fce8beab557d7b0421820b0fe8fc048f
-F autoconf/auto.def 28003a20207d21aecb879a74778ca5d6b5c15e84efffbc8f90c3791b8d1d2248
+F autoconf/auto.def a2c428a91f5e3fa699e733fc3c1621ad145f3ac9f785e6518ecfe73a874f0e03
F autoconf/configure.ac ec7fa914c5e74ff212fe879f9bb6918e1234497e05facfb641f30c4d5893b277
F autoconf/tea/Makefile.in ba0556fee8da09c066bad85a4457904e46ee2c2eabaa309c0e83a78f2f151a8e
F autoconf/tea/README.txt 61e62e519579e4a112791354d6d440f8b51ea6db3b0bab58d59f29df42d2dfe3
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P d7708372ff2fef4bfa61e56dbfbb363cac7685587a61a151497991d9a08bb07f
-R c183fd6972c40e51c2b2f070c9205cc8
+P 241cdbc40a2f82df53c149849a103a335b0643a65e229a1e80ab90a0e457bb6b
+R b35046aa7e07fc080621217913b53d03
U stephan
-Z d3c8e68d7f70bcdf216494cac16a3dcf
+Z f3e60d1f16fabf25d54188672248bb86
# Remove this line to create a well-formed Fossil manifest.
-241cdbc40a2f82df53c149849a103a335b0643a65e229a1e80ab90a0e457bb6b
+88cee3fc7c8bfd9b6955fb6b2fd6b25660563e4d043ffa5ea18d8abe91afdb7f