Node:Using Autofrisk, Previous:Autofrisk, Up:Autoconf Support



12.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)