DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(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