On Mon, Jun 13, 2011 at 10:03:03AM -0400, Richard Hipp wrote: > 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.
Basic support can be found on the autoconf branch. Two comments for interested parties: (1) You have run autoconf yourself for now, the generated script will be checked in once everything has been stabilized somewhat. (2) This is still the minimal version of support, e.g. the Makefile still requires "include" support and doesn't follow many conventions for variable names etc. I wanted to keep it non-intrusive for the first change set. > Objectives (not an any particular order): > > (1) "./configure; make install" should work on all unix systems The one candidate here that may or may not make problems is finding zlib. At the moment it expects it in the compiler search path or adding the normal LDFLAGS/CFLAGS/CPPFLAGS passing to configure. If someone has a more exotic version that would really benefit from a --with-zlib option to specify the path in a simpler way, I'm all ears. OpenSSL detection uses the macro from the autoconf library, which tries pkg-config first and falls back to more arcane guessing otherwise. > (2) There should be a default Makefile that does not require "configure" > that will work on most common systems simply by running "make". make -f Makefile.classic does this. > > (3) The result should fix tickets > http://www.fossil-scm.org/fossil/info/084eedc010 and > http://www.fossil-scm.org/fossil/info/5ad1d9a23c I think the second is gone away. The former likes needs similar handling to -lnsl and -lsocket on Solaris. Someone from Haiku-land to comment on that? > (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 Strictly speaking, part of the build falls into the last point of "Building from source" :) I'll do another round to add support for HOST_CC / HOST_CFLAGS later, this is a semi-standard way to do 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. Will do. Are there versions requirement to validate here? > (6) There should be a configure option to enable static linking, in order to > simplify the generation of binaries for use inside chroot jails. You can pass LDFLAGS=-static for this purpose, not sure if a separate option for this really helps. > (7) There should be a configure option to enable and disable SSL support. Default checks the presence of OpenSSL and enables HTTPS support based on that. If --enable-openssl is present, missing OpenSSL is fatal; if --disable-openssl is present, the check will be skipped. > (8) There should be a configure option to enable and disable command-line > editing support for the "fossil sql" command. TBD > (9) There should be a configure option to enable FOSSIL_DEBUG. TBD > (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. I plan to change it to directly create the Makefile.in. The cygwin cross-compiling should work with configure. If you want to keep the separate Makefile, that doesn't complicate the logic much either, since the difference between Makefile.in and Cygwin's Makefile is just a different header. TBD Joerg _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users