DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(guile.info.gz) Autofrisk

Info Catalog (guile.info.gz) Using Autoconf Macros (guile.info.gz) Autoconf Support (guile.info.gz) Using Autofrisk
 
 12.4 Autofrisk
 ==============
 
 The "guile-tools autofrisk" command looks for the file `modules.af' in
 the current directory and writes out `modules.af.m4' containing
 autoconf definitions for `AUTOFRISK_CHECKS' and `AUTOFRISK_SUMMARY'.
  Autoconf Background, and  Using Autoconf Macros, for
 more info.
 
    The modules.af file consists of a series of configuration forms
 (Scheme lists), which have one of the following formats:
 
        (files-glob PATTERN ...)                      ;; required
        (non-critical-external MODULE ...)            ;; optional
        (non-critical-internal MODULE ...)            ;; optional
        (programs (MODULE PROG ...) ...)              ;; optional
        (pww-varname VARNAME)                         ;; optional
 
    PATTERN is a string that may contain "*" and "?" characters to be
 expanded into filenames.  MODULE is a list of symbols naming a module,
 such as `(srfi srfi-1)'.  VARNAME is a shell-safe name to use instead of
 `probably_wont_work', the default.  This var is passed to `AC_SUBST'.
 PROG is a string that names a program, such as "gpg".
 
    Autofrisk expands the `files-glob' pattern(s) into a list of files,
 scans each file's module definition form(s), and constructs a module
 dependency graph wherein modules defined by `define-module' are
 considered "internal" and the remaining, "external".  For each external
 module that has an internal dependency, Autofrisk emits a
 `GUILE_MODULE_REQUIRED' check ( Autoconf Macros), which
 altogether form the body of `AUTOFRISK_CHECKS'.
 
    `GUILE_MODULE_REQUIRED' causes the `configure' script to exit with
 an error message if the specified module is not available; it enforces a
 strong dependency.  You can temper dependency strength by using the
 `non-critical-external' and `non-critical-internal' configuration forms
 in modules.af.  For graph edges that touch such non-critical modules,
 Autofrisk uses `GUILE_MODULE_AVAILABLE', and arranges for
 `AUTOFRISK_SUMMARY' to display a warning if they are not found.
 
    The shell code resulting from the expansion of `AUTOFRISK_CHECKS' and
 `AUTOFRISK_SUMMARY' uses the shell variable `probably_wont_work' to
 collect the names of unfound non-critical modules.  If this bothers
 you, use configuration form `(pww-name foo)' in modules.af.
 
    Although Autofrisk does not detect when a module uses a program (for
 example, in a `system' call), it can generate `AC_PATH_PROG' forms
 anyway if you use the `programs' configuration form in modules.af.
 These are collected into `AUTOCONF_CHECKS'.
 
     Using Autofrisk, for some modules.af examples.
 
Info Catalog (guile.info.gz) Using Autoconf Macros (guile.info.gz) Autoconf Support (guile.info.gz) Using Autofrisk
automatically generated byinfo2html