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

Reply via email to