(guile.info.gz) Using Autoconf Macros
Info Catalog
(guile.info.gz) Autoconf Macros
(guile.info.gz) Autoconf Support
(guile.info.gz) Autofrisk
12.3 Using Autoconf Macros
==========================
Using the autoconf macros is straightforward: Add the macro "calls"
(actually instantiations) to `configure.ac', run `aclocal', and finally,
run `autoconf'. If your system doesn't have guile.m4 installed, place
the desired macro definitions (`AC_DEFUN' forms) in `acinclude.m4', and
`aclocal' will do the right thing.
Some of the macros can be used inside normal shell constructs: `if
foo ; then GUILE_BAZ ; fi', but this is not guaranteed. It's probably
a good idea to instantiate macros at top-level.
We now include two examples, one simple and one complicated.
The first example is for a package that uses libguile, and thus
needs to know how to compile and link against it. So we use
`GUILE_FLAGS' to set the vars `GUILE_CFLAGS' and `GUILE_LDFLAGS', which
are automatically substituted in the Makefile.
In configure.ac:
GUILE_FLAGS
In Makefile.in:
GUILE_CFLAGS = @GUILE_CFLAGS@
GUILE_LDFLAGS = @GUILE_LDFLAGS@
myprog.o: myprog.c
$(CC) -o $ $(GUILE_CFLAGS) $<
myprog: myprog.o
$(CC) -o $ $< $(GUILE_LDFLAGS)
The second example is for a package of Guile Scheme modules that
uses an external program and other Guile Scheme modules (some might
call this a "pure scheme" package). So we use the `GUILE_SITE_DIR'
macro, a regular `AC_PATH_PROG' macro, and the `GUILE_MODULE_AVAILABLE'
macro.
In configure.ac:
GUILE_SITE_DIR
probably_wont_work=""
# pgtype pgtable
GUILE_MODULE_AVAILABLE(have_guile_pg, (database postgres))
test $have_guile_pg = no &&
probably_wont_work="(my pgtype) (my pgtable) $probably_wont_work"
# gpgutils
AC_PATH_PROG(GNUPG,gpg)
test x"$GNUPG" = x &&
probably_wont_work="(my gpgutils) $probably_wont_work"
if test ! "$probably_wont_work" = "" ; then
p=" ***"
echo
echo "$p"
echo "$p NOTE:"
echo "$p The following modules probably won't work:"
echo "$p $probably_wont_work"
echo "$p They can be installed anyway, and will work if their"
echo "$p dependencies are installed later. Please see README."
echo "$p"
echo
fi
In Makefile.in:
instdir = @GUILE_SITE@/my
install:
$(INSTALL) my/*.scm $(instdir)
Info Catalog
(guile.info.gz) Autoconf Macros
(guile.info.gz) Autoconf Support
(guile.info.gz) Autofrisk
automatically generated byinfo2html