Previous: Autofrisk, Up: Autoconf Support


7.5 Using Autofrisk

Using Autofrisk (see Autofrisk) involves writing modules.af and adding two macro calls to configure.in. Here is an example of the latter:

     AUTOFRISK_CHECKS
     AUTOFRISK_SUMMARY

Here is an adaptation of the second "GUILE_*" example (see Using Autoconf Macros) that does basically the same thing.

     (files-glob "my/*.scm")
     (non-critical-external (database postgres))
     (programs ((my gpgutils) "gpg"))        ;; (my gpgutils) uses "gpg"

If the SRFI modules (see SRFI Support) were a separate package, we could use guile-tools frisk to find out its dependencies:

     $ guile-tools frisk srfi/*.scm
     13 files, 18 modules (13 internal, 5 external), 9 edges
     
     x (ice-9 and-let-star)
     			 regular	(srfi srfi-2)
     x (ice-9 syncase)
     			 regular	(srfi srfi-11)
     x (ice-9 rdelim)
     			 regular	(srfi srfi-10)
     x (ice-9 receive)
     			 regular	(srfi srfi-8)
     			 regular	(srfi srfi-1)
     x (ice-9 session)
     			 regular	(srfi srfi-1)

Then, we could use the following modules.af to help configure it:

     (files-glob "srfi/*.scm")
     (non-critical-external          ;; relatively recent
       (ice-9 rdelim)
       (ice-9 receive)
       (ice-9 and-let-star))
     (pww-varname not_fully_supported)