# Jade autoconf support

#### Cees de Groot (cg@sgmltools.org)

With `./configure`, you'll have an alternate method to prepare the source distribution for building. This support is experimental, and I'd like to receive feedback and patches for your operating system. If a build with autoconf doesn't work, you can always revert to the original Makefile which is saved by configure to `Makefile.dist`. `make mrproper` will undo everything that has been modified by `./configure`.

Please note that the autoconf support is not James', but my responsibility: bother me with flames and patches, and I'll try tomake sure that the next release gets fixed where necessary. James cannot do more than forward everything to me, so please save his precious time.

Check http://www.sgmltools.org/jade.html for updates to the Jade autoconf support.

## Usage

    % ./configure; make; make install

## configure options

`--help`
  Print a full list of options. This document only deals with the non-standard options.
`--enable-http`
  This enables the built-in HTTP client so that you can use HTTP as a method for getting to system identifiers.
`--enable-default-catalog=pathlist`
  Provide the built-in definition for `SGML_CATALOG_FILES`.

## Local defines

If you have some extra additions to Jade, you can set CFLAGS/CXXFLAGS and/or LDFLAGS/LIBS at configure time:

    CXXFLAGS=-Dmyhacks LDFLAGS=-L/opt/myhacks LIBS=-lmyhacks ./configure

Check the invocation of ld in Makefile.comm for the exact semantics of LDFLAGS and LIBS.

## Tested platforms

- SuSE Linux 5.3 (gcc 2.7.2.1, libc 5.5.46)
- Solaris 2.6 (gcc 2.8.1)

## Shared library support

By default, `./configure` attempts to build shared libraries and link against them. This is done via the `libtool` utility, a utility that knows how to build shared libraries on a number of platforms.

By default, only shared libraries are built. If you have difficulties building shared libraries, or you want to build static versions, you can use the `--{enable,disable}{shared,static}` options to configure libtool to your likings.

According to the libtool 1.2 docs, shared libraries work on:

- AIX 3.x (*-*-aix3*)
- AIX 4.x (*-*-aix4*)
- AmigaOS (*-*-amigaos*)
- Digital/UNIX 3.x, 4.x, a.k.a. OSF/1 (*-*-osf3*, *-*-osf4*)
- FreeBSD 2.x, 3.x (*-*-freebsd2*, *-*-freebsd3*)
- GNU/Linux ELF (*-*-linux-gnu*, except aout, coff, and oldld)
- HP-UX 9.x, 10.x (*-*-hpux9*, *-*-hpux10*) [see note]
- IRIX 5.x, 6.x (*-*-irix5*, *-*-irix6*)
- NetBSD 1.x (*-*-netbsd*)
- OpenBSD 2.x (*-*-openbsd*)
- OS/2 using EMX (*-*-os2*)
- SCO OpenServer 5.x (*-*-sco3.2v5*)
- Solaris 2.x (*-*-solaris2*)
- SunOS 4.x, a.k.a. Solaris 1.x (*-*-sunos4*)
- UnixWare 2.x (*-*-sysv4.2uw2*)
- UTS 4.x (*-*-uts4*)
- All ELF targets that use both the GNU C compiler (gcc) and GNU ld

One more note from the libtool documentation: the HP/UX sed seems to be badly broken, install GNU sed before attempting to build - libtool depends on a working sed.