History of Makefile.in of 37b69e7d0cdc8fe4
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of file Makefile.in at check-in 37b69e7d0cdc8fe4

2026-04-20
09:00
Build tweaks based on [forum:ab38ad08882f123e|forum post ab38ad088] to enable downstream packagers to strip out most of ./autosetup/ and use a system-installed copy. Also ensure that the emcc-related checks are only applied for in-tree builds and that they are cleaned up properly. No code changes. file: [3b63b4b9c2] check-in: [f99e07d194] user: stephan branch: trunk, size: 5674
2025-12-07
05:36
Small Makefile.in comment tidyups. file: [4c7578bdf3] check-in: [86787eadb7] user: brickviking branch: trunk, size: 5650
2025-01-27
12:40
Work around an apparent bug in the @AUTODEP@ feature of autosetup. [forum:/forumpost/c4e28a9995|Forum thread c4e28a9995]. file: [3e3ac38258] check-in: [da7092cc93] user: drh branch: trunk, size: 6142
2024-10-21
08:20
Makefile.in change. file: [6b80e22f5e] check-in: [601d09c1e9] user: brickviking branch: bv-corrections01, size: 5652
2024-09-26
17:47
At configure-time, disable SQLITE_HAVE_ZLIB if zlib does not contain compressBound(). This resolves a build failure on Martin G.'s QNX system. file: [cd2437facc] check-in: [ac3e326adf] user: stephan branch: trunk, size: 5652
2023-07-08
18:08
Replace --no-compile-commands configure flag with --compile-commands. i.e. make the feature explicitly opt-in, as the automatic guess is breaking builds on some platforms. (Edit: rolling back - contains inadvertent test edits.) file: [e049fcc99e] check-in: [fb116a206e] user: stephan branch: mistake, size: 5535
2023-06-18
13:58
More work on compile_commands.json support. This does not work because the approach of extending CFLAGS with the -MJ flag is incompatible with the build process's use of different compilers for the in-tree tools vs the files compiled as part of the fossil binary. On systems with both gcc and clang, the former group may get built with cc (==gcc) yet inherit -MJ via CFLAGS, breaking the build. This approach appears to be a dead end, but checking it in for later analysis. file: [8fd78b56e7] check-in: [0e6ad145d4] user: stephan branch: compile_commands.json, size: 5533
11:16
Initial *incomplete* attempt at integrating compile_commands.json support, for code editors which support it. This is a copy/paste port from the libfossil tree, but lacks one final piece which is difficult to emulate in POSIX make (as opposed to GNU make). Build file changes only, no code changes. file: [422c9fc256] check-in: [492787465d] user: stephan branch: compile_commands.json, size: 5515
2023-04-01
16:49
Added the CENGINE abstraction between `docker` and `podman` in the Makefile's container convenience targets. file: [3b76f70b4e] check-in: [72d8240457] user: wyoung branch: trunk, size: 5361
2023-03-27
04:59
The container now uses BusyBox only in the build and setup stages, leaving just the static Fossil binary in the final stage, plus absolute necessities like a /tmp directory.

This removes the justification for the custom BusyBox configuration, which then means we can use Alpine's busybox-static package in the second stage, saving a bunch of network I/O and build time.

That in turn means we no longer have any justification for jailing the Fossil binary, since there's nothing extra left inside the container for it to play with. Doing this required bumping the Dockerfile syntax back up from 1.0 to 1.3 to get the "COPY --chmod" feature; tested it in Podman, which has had it for two years now.

Doing all of this simplifies the Dockerfile and its documentation considerably. As a bonus, it builds quicker, and it's nearly a meg lighter in compressed image form. Especially for the case of using the container as a static "fossil" binary builder, this is nothing but win. file: [091aae1f92] check-in: [79ac06a540] user: wyoung branch: trunk, size: 5303

2022-12-03
11:37
Added a few more "container-*" targets to the main makefile to simplify the examples in the containers doc and make the resulting images and containers easier to manage. file: [863eb2682b] check-in: [b7edb5f1c5] user: wyoung branch: trunk, size: 5294
2022-11-30
15:23
Container build changes to allow systemd-nspawn to recognize it as an "OS tree:"
  • Added a dummied-up /etc/os-release file
  • Moved several programs from /bin to /usr/bin, since existence of /usr is how it decides if the rootfs you point it at contains an OS image. Bogus, but that's how it is.

Had to switch to buildx to make this work, so I could use heredocs in the first step. file: [a429d5c37e] check-in: [f74ddbce71] user: wyoung branch: trunk, size: 5106

14:29
Added "container-clean" target to cleanup after the other container-* targets. file: [bd33504224] check-in: [e119d59836] user: wyoung branch: trunk, size: 5099
12:23
Put a "sleep 1" into "make container-run" before the step that shows the container logs to ensure we show everything it says on startup. Added this on seeing just the first line of output due to a race condition, so I missed the generated admin password. file: [7b22e21a48] check-in: [4429e10f6d] user: wyoung branch: trunk, size: 4940
12:19
The "container-run" target now runs "container-image" conditionally, building it only if it wasn't created in a prior step. This allows custom image builds followed by a one-command way of running that built image. Without this, the custom image gets stomped on. file: [3af911282e] check-in: [a9e862b887] user: wyoung branch: trunk, size: 4880
2022-10-26
10:59
Remove the -D_HAVE_SQLITE_CONFIG_H option from the build of SQLite. We haven't had the config.h file for SQLite, so this should be a harmless change. file: [5258ec075d] check-in: [2522366fc7] user: drh branch: busted-build, size: 4803
2022-09-05
08:15
Broke the Dockerfile up into more layers to allow better local caching at build time. Further optimized build time by producing the Fossil source tarball from the local repo instead of hitting the home site if you use the container-image target, since we can be reasonably certain you're working from a repo checkout and thus have all the info available here locally already. file: [a1a3422bd9] check-in: [1da464eeb9] user: wyoung branch: trunk, size: 4827
2022-09-04
23:46
Renamed Dockerfile.in back to Dockerfile so it can be used as-is on non-autosetup systems. Realized that we can pass the Fossil checkin hash prefix in as a build arg instead of regenerating the file on disk from auto.def. If you use the Dockerfile as-shipped, you get a "trunk" build, which risks a stale cache — it thinks it already has a tarball by that name and helpfully refuses to pull it again — but at least Windows users get *something* without hand-hacking the file. file: [a3ea95e71c] check-in: [b0c9c26a9c] user: wyoung branch: trunk, size: 4726
2022-08-30
01:49
Embroidered the "make container-run" target to make it more convenient. file: [db54f02179] check-in: [bc09e28a26] user: wyoung branch: trunk, size: 4779
2022-08-29
17:54
Researched, tested, and documented the set of "docker create --cap-drop" options we can add to strip away unnecessary root privileges inside the container without harming normal operation. Belt-and-suspenders: if any bad actor ever got into the container with root privileges, this would help prevent them from affecting anything outside the container. Added that set to the "make container-run" target so they get applied by default in the easy case. file: [5949bb4cf1] check-in: [f715add938] user: wyoung branch: trunk, size: 4700
2022-08-16
09:39
Minor fixes to the Docker container build process file: [195cda4e7f] check-in: [454397b0cd] user: wyoung branch: trunk, size: 4480
2022-08-15
23:21
Added the container-image and container-run top-level build targets to manage dependencies better and to auto-version the build products. file: [69eb42582b] check-in: [67386c75f5] user: wyoung branch: trunk, size: 4474
22:02
Changed several of the Docker environment variables to build arguments so the user an override them at build time rather than container creation time, and documented them in build.wiki. Using this new mechanism to pull the Fossil source tarball in such a way that we can use the Docker artifact cache without getting stale builds. You can now pass one of the new build args to force the old behavior if you want it. This required generating Dockerfile from Dockerfile.in at configure time, to inject the current Fossil checkin ID. (This busts the Docker cache when the source tree changes.) file: [45f47ce65e] check-in: [f938438380] user: wyoung branch: trunk, size: 4196
2022-06-07
18:05
Added optional build infrastructure for using emcc so that we have a reproducible pikchr.wasm instead of an opaque 3rd-party blob. This adds the --with-emsdk configure flag. file: [b2a3250217] check-in: [8f6886c905] user: stephan branch: pikchrshow-wasm, size: 4173
2022-04-21
13:36
Revert Makefile.in to normal builds (leave a few comments about fuzzing). file: [df6471923d] check-in: [940779668f] user: george branch: markdown-footnotes, size: 3706
13:16
Fix a use-after-free bug in handling of nested inline footnotes. The bug was discovered by fuzzing with '-fsanitize=fuzzer,undefined,address -DFOSSIL_FUZZ' appended to TCCFLAGS in Makefile.in. It's noteworthy that the ',undefined,address' part was essential to find the bug (otherwise just 'double-free' was reported). Many thanks to Stephan for documenting the fuzzing procedures and support. file: [843934bd7d] check-in: [31e5df5fa2] user: george branch: markdown-footnotes, size: 3460
2021-12-26
13:05
Removed miniz.c, per /chat discussion. It is incompatible with both OpenSLL and the SQL shell's sqlar support. file: [736e36ffd4] check-in: [f9c2d23f29] user: stephan branch: trunk, size: 3422
2021-12-25
19:10
Makefile vars which leak into Makefile.msv renamed to replace '.' characters, as nmake does not like those. file: [2817bc84b6] check-in: [6454f7bcd1] user: stephan branch: code-movement, size: 3466
13:43
Part two of code-relocation effort: moved sqlite3.c/h to extsrc/, per /chat discussion. Moving remaining 3rd-party sources will be far more invasive in makemake.tcl, so will be a separate step. file: [0a2e805823] check-in: [e3e204dce1] user: stephan branch: code-movement, size: 3466
12:06
Part one of src/ file relocations discussed in /chat. This step moves the various code generators and translators from src/ to tools/. Edit: moving to branch for further changes, as this broke diff -tk. file: [cf5a03d94e] check-in: [a13ab011f4] user: stephan branch: code-movement, size: 3305
2021-12-23
23:35
Extended configure --with-sqlite=PATH to support pointing to a directory which contains sqlite3.c and sqlite3.h. It's not yet tested with out-of-tree SEE distributions (TODO). file: [cd428225cd] check-in: [31d431e358] user: stephan branch: trunk, size: 3275
2020-05-27
22:41
The "tags" Makefile target added in [ebb67be4] relied on GNU make conditionals, which causes BSD make to choke. Reworked the feature to do the conditional work entirely on the Autosetup side instead. file: [45eba548fe] check-in: [42111658ca] user: wyoung branch: trunk, size: 2909
17:56
Added a top-level "tags" Makefile target for updating a Vim tags file using Exuberant Ctags (requires -R feature). It also updates a cscope file if we find cscope at configuration time. One so interested could add etags support to this as well. file: [4175f9923d] check-in: [ebb67be487] user: wyoung branch: trunk, size: 2948
2019-09-23
19:07
Add support for testing with libFuzzer. file: [2f34d0fa84] check-in: [8a6e8e2703] user: drh branch: libFuzzer, size: 2814
2018-09-19
19:55
Ignore errors in the clean target commands. file: [c0c9088da6] check-in: [27c7a49191] user: ashepilko branch: trunk, size: 2797
2018-09-02
20:33
After autosetup checks for the existence of tclsh in the PATH, it now checks whether it's at least version 8.6, because macOS is still shipping 8.5, despite it being nearly 6 years old. If we find an old tclsh, try to find the Homebrew tcl-tk package, and use that version instead. This is not a macOS or Homebrew specific change in principle: we can extend this logic for other systems to find their best Tcl/Tk version, as needed.

On systems where autosetup is used, this only affects "make test". There are other uses of tclsh in this tree which may also benefit from our PATH discoveries, but this checkin doesn't update those.

This checkin also doesn't try to address similar problems on other platforms, such as the "TCLSH = tclsh" line in Makefile.mingw. file: [29d05ac027] check-in: [e449cb09c1] user: wyoung branch: tclsh-macos, size: 2796

2018-07-22
18:25
Remove duplicate FOSSIL_ENABLE_LEGACY_MV_RM define file: [553ba13c76] check-in: [2230c8116c] user: ashepilko branch: trunk, size: 2794
16:22
Allow CFLAGS override without duplicating compile options by default file: [345223e4b7] check-in: [09f41885d6] user: ashepilko branch: trunk, size: 2825
2018-06-26
16:57
An alternative to removing FOSSIL_ENABLE_LEGACY_MV_RM that just makes it the default. file: [43e4fdfa12] check-in: [efb0f88063] user: mistachkin branch: altLegacyMvRm, size: 2823
2018-03-17
20:31
Experimental support for using 'mman.h' when compiling for POSIX. file: [ac1ac1b462] check-in: [37b69e7d0c] user: mistachkin branch: withMman, size: 2792
2018-01-17
19:04
Automatically detect the presence of the pledge() system interface and use it if it is available. file: [54b9af364d] check-in: [64def88f8b] user: drh branch: trunk, size: 2766
2017-10-12
13:37
Rewrote the autoreconfigure explanation comment. It was confusing and contained errors. file: [949db16af0] check-in: [50844e5c6b] user: wyoung branch: trunk, size: 2748
2017-10-11
19:56
Removed the GNU make conditional around the new autoreconfigure dependency rule in the top-level Makefile.in. Apparently we have users using some other make, perhaps BSD make. Since the conditional only prevents autoreconfigure in the "make clean" case, where it is a minor annoyance, it's not important to work out how to retain this in a non-GNU make world. file: [407bd66f02] check-in: [454e119398] user: wyoung branch: trunk, size: 2598
01:30
Merged in an upstream improvement from Autosetup addressing GH issue in a different output file. That in turn requires an adjustment to our new autoreconfigure feature to avoid a make(1) loop. file: [1a48808b19] check-in: [1d549aa879] user: wyoung branch: wy-autoreconfig, size: 2648
01:23
Small path fix to the new autoreconfigure Makefile rule. file: [074d971647] check-in: [b923d8006e] user: wyoung branch: wy-autoreconfig, size: 2093
01:16
Automatically re-configuring (same as "make reconfig") when Makefile.in, src/main.mk, or one of the autosetup files changes. This should avoid the need to recommend to people "re-run configure" whenever they call "fossil update" on this tree. file: [a43200d7d0] check-in: [c649ba2770] user: wyoung branch: wy-autoreconfig, size: 2091
01:13
Added "reconfig" target to the top-level Makefile, which uses an autosetup feature to re-run configure with the same options you gave manually. file: [a4a9e0690d] check-in: [fd33b6a4aa] user: wyoung branch: wy-autoreconfig, size: 1851
2016-11-05
15:23
Add BCCFLAGS and XBCC to build system so that programs which run on the build platform (e.g. translate) can have the benefit of CFLAGS, e.g. -ggdb3 for easier debugging in gdb or -std=c89 to flush out C99. Do not update win/* because I don't have the ability to test those changes. file: [ca04b4081a] check-in: [ad11034603] user: andygoth branch: trunk, size: 1826
2016-04-22
15:39
Add the option to build against sqlite3-see.c (not in the source tree) rather than the built-in sqlite3.c. file: [e68d67b014] check-in: [1ec6712e8a] user: drh branch: see, size: 1795
2016-03-12
22:02
Remove support for miniz because the upstream project appears to be unmaintained. UPDATE: The miniz project is still being maintained and this branch is a dead-end. file: [60e09ecb80] check-in: [b9f31fe1e7] user: mistachkin branch: removeMiniz, size: 1731
2016-01-16
22:25
Fix use of linenoise. Fine-tune check for in-tree OpenSSL. file: [ea7f637f75] check-in: [54307c4d7d] user: mistachkin branch: mingwConfigure, size: 1775
2014-11-27
17:37
applied patch from Steve Bennett for ticket [1d6a4c423bc8b116464]. file: [4c745f08a8] check-in: [40f1b288cf] user: stephan branch: trunk, size: 1743
2014-08-23
06:08
Add miniz as a compile-time feature, leaving zlib as the default compression library. All makefiles should build. The DMC and PellesCGMake makefiles are not yet supported with miniz. Also, when using miniz, OpenSSL support for zlib is disabled in the MinGW makefile. file: [d1d8241e79] check-in: [c693a3365c] user: mistachkin branch: optionalMiniz, size: 1739
2014-07-09
08:56
If the system knows about utime() and/or usleep(), allow the built-in SQLite to use those functions. e.g. for executing delays which are not a multiple of 1 second. file: [50b09b7b11] check-in: [45feda65e9] user: jan.nijtmans branch: utime_usleep, size: 1695
2013-09-16
06:17
Further cleanup and naming consistency. file: [04d4b4d0b0] check-in: [48f501ec21] user: mistachkin branch: tcl-stubs, size: 1831
05:54
Enhance the private (i.e. fake) Tcl stubs mechanism support and make it optional at compile-time. file: [479ffec5e9] check-in: [a76a134bfd] user: mistachkin branch: tcl-stubs, size: 1825
2013-01-30
10:03
Make sure that "fossil_strcmp" is used everywhere in stead of "strcmp": The "strcmp" function from the C library is not usable in all situations, e.g. with --static on Linux file: [45248106bd] check-in: [7ac0fd9d11] user: jan.nijtmans branch: use-fossil_strcmp-everywhere, size: 1786
2012-10-07
14:22
Experimental proof-of-concept for the 'tcl-rdonly' setting and related functionality. file: [5c30ed5d1f] check-in: [851e0755e5] user: mistachkin branch: tclRdOnly, size: 1817
2012-09-29
06:56
Build system changes to support the Tcl stubs mechanism. file: [ed20ed61a1] check-in: [9d0a4a89d7] user: mistachkin branch: tclStubsV2, size: 1763
2012-01-22
06:52
Make sure that autosetup ends up defining FOSSIL_ENABLE_TCL in the Makefile when necessary. file: [c663b65477] check-in: [21555be397] user: mistachkin branch: trunk, size: 1711
2011-10-27
15:00
Prevent shell argument manipulation performed automatically by the MinGW shell from interfering with the makeheaders tool used by the Makefile. file: [ebe28abdc2] check-in: [827a54fe6c] user: mistachkin branch: tcl-integration, size: 1671
2011-09-02
09:34
Added: Bring Makefile.in back. file: [7e465c9786] check-in: [6729562675] user: dmitry branch: symlinks, size: 1507
2011-08-22
18:25
Deleted: Merge the --showfiles enhancement from the venks-emacs branch into trunk. check-in: [2b8cbf3c41] user: drh branch: trunk, size: 0
2011-07-22
01:43
Renamed and modified GNUmakefile.in → Makefile.in. Switch to using configure (autosetup) by default. The original Makefile is now available as Makefile.classic file: [9a27317644] check-in: [eff52c1ccb] user: steveb branch: autosetup, size: 1424
2011-07-20
09:09
Only allow the default Makefile to build fossil on platforms where it's known to work. Update the build documentation to tell the user to use the GNUmakefile explicitly, to avoid accidently building using the default makefile on non-GNU platforms. file: [52cc2d0c6b] check-in: [14d1e44957] user: ben branch: ben-safe-make, size: 1487
2011-07-14
10:24
Small changes to autosetup build system so that the --disable-internal-sqlite switch works and is compatible with BSD make. file: [02b025d9f3] check-in: [734af429e3] user: dan branch: trunk, size: 1427
2011-07-09
20:19
Added: Initial check-in of Steve Bennett's autosetup configurator. file: [c53cbdff21] check-in: [ded86a4e53] user: drh branch: autosetup, size: 1429
2011-06-19
16:48
Fix syntax in Makefile.in so it works with Solaris make. file: [865b34bb1e] check-in: [4787336f2f] user: ben branch: autoconf, size: 1301
2011-06-14
17:21
Added: Add Makefile.in forgotten in [8559c781c2]. file: [59e1e9382e] check-in: [dcda2dbcb0] user: joerg branch: autoconf, size: 1299