Hi Richard, > I really dislike autoconf - a feeling cultivated through years of experience > trying to use it. And I think I'm probably not alone in that feeling.
You are very much not alone. See http://msteveb.github.com/autosetup/why/ > I've > tried to avoid having to use autoconf in Fossil and have been reasonably > successful at that for the first 5 years. But I think we may be nearing the > point where going to autoconf is inevitable. (sigh...) Certainly something is needed. > > So, I'm asking for volunteers for people with better autoconf-foo than me, > to put together an autoconf/automake setup for Fossil. If you are good with > autoconf/automake, please consider contributing your expertise to the > project. autosetup is designed to be transparently compatible with autoconf for end users. It is written in Tcl, but does not require Tcl to be installed since it will (automatically) build a bootstrap version of the Jim Tcl interpreter if another Tcl interpreter is not found. Only a C compiler is required. Attached is a patch against the latest fossil trunk which adds autosetup support. > > Objectives (not an any particular order): > > (1) "./configure; make install" should work on all unix systems Done. > > (2) There should be a default Makefile that does not require "configure" > that will work on most common systems simply by running "make". Yes. Makefile is left in place. configure creates GNUmakefile which takes precedence. > > (3) The result should fix tickets > > http://www.fossil-scm.org/fossil/info/084eedc010 > and > > http://www.fossil-scm.org/fossil/info/5ad1d9a23c Both of those should be addressed, but we need a Haiku tester. > > > (4) The result should have a 0 Fail-Score according to > > https://www.theopensourceway.org/wiki/How_to_tell_if_a_FLOSS_project_is_doomed_to_FAIL I will leave others to judge this. > > > (5) Further to (4) above, there needs to be a configuration option that > causes the result to link against a system SQLite library rather than using > the built-in SQLite library. --disable-internal-sqlite Don't use the internal sqlite, use the system one > > (6) There should be a configure option to enable static linking, in order to > simplify the generation of binaries for use inside chroot jails. --static Link a static executable But probably won't work on any platform except Linux, and even there glibc doesn't not like to be statically linked :-( > > (7) There should be a configure option to enable and disable SSL support. --with-openssl=path|auto|none Look for openssl in the given path, or auto or none > > (8) There should be a configure option to enable and disable command-line > editing support for the "fossil sql" command. --disable-lineedit Disable line editing Actually, previously line editing was always disabled. > > (9) There should be a configure option to enable FOSSIL_DEBUG. --fossil-debug Build with fossil debugging enabled > > (10) The src/makemake.tcl script should continue to work - it should still > build out the various windows makefiles and the unix "main.mk" file. In > other words, autoconf should make use of main.mk. Yes. Only minor modifications required. > > (11) Bonus points if you can get a configure script that can be used to > cross-compile Fossil from one unix platform to another, and double bonus > points if you can get a configure script that will cross-compile Fossil on > Linux targeting windows! Yes. With --host I have cross compiled Mac OS X -> arm-linux, x86-linux -> qnx-mips, x86-linux -> mingw32 as well as native builds on Mac OS X, cygwin and x86-linux. > > If you are willing to help with this, your contribution will be greatly > appreciated. Tnx. In addition to the attached patch, autosetup needs to be installed in the project. (It is bundled with the project in order to avoid any dependencies) The easiest way is to fetch it via git or a tar/zip download at: https://github.com/msteveb/autosetup And then from the fossil source directory, run: <autosetup-location>/autosetup --install Alternatively I can provide a patch which does this. Feedback is welcome. There are a number of improvements which could be made (.e.g. for installation) which would require more changes to the current makemake.tcl Cheers, Steve -- µWeb: Embedded Web Framework - http://uweb.workware.net.au/ WorkWare Systems Pty Ltd W: www.workware.net.au P: +61 434 921 300 E: ste...@workware.net.au F: +61 7 3391 6002
0002-Add-autosetup-support-to-configure-the-build.patch
Description: Binary data
_______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users