diff --git a/Makefile.am b/Makefile.am index d4916fb..b31d934 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,11 @@ bin_SCRIPTS = bin/cuirass bin/evaluate noinst_SCRIPTS = pre-inst-env -pkgmoduledir=$(datarootdir)/guile/site/2.0/$(PACKAGE) +guilesitedir=$(datarootdir)/guile/site/2.0 +dist_guilesite_DATA = src/cuirass.scm +nodist_guilesite_DATA = $(dist_guilesite_DATA:%.scm=%.go) + +pkgmoduledir=$(guilesitedir)/$(PACKAGE) dist_pkgmodule_DATA = \ src/cuirass/base.scm \ src/cuirass/database.scm \ @@ -89,6 +93,7 @@ EXTRA_DIST = \ DISTCLEANFILES = src/cuirass/config.scm CLEANFILES = \ + $(nodist_guilesite_DATA) \ $(dist_pkgmodule_DATA:%.scm=%.go) \ src/cuirass/config.go diff --git a/bin/cuirass.in b/bin/cuirass.in index ff2cc90..0d34636 100644 --- a/bin/cuirass.in +++ b/bin/cuirass.in @@ -20,8 +20,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@" ;;; You should have received a copy of the GNU General Public License ;;; along with Cuirass. If not, see . -(use-modules (cuirass base) - (cuirass database) +(use-modules (cuirass) (cuirass ui) (cuirass utils) (ice-9 getopt-long)) diff --git a/bin/evaluate.in b/bin/evaluate.in index 239bdcc..f0542ce 100644 --- a/bin/evaluate.in +++ b/bin/evaluate.in @@ -23,8 +23,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@" ;;; You should have received a copy of the GNU General Public License ;;; along with Cuirass. If not, see . -(use-modules (cuirass base) - (cuirass database) +(use-modules (cuirass) (cuirass utils) (ice-9 match) (ice-9 pretty-print) diff --git a/src/cuirass.scm b/src/cuirass.scm new file mode 100644 index 0000000..35bea44 --- /dev/null +++ b/src/cuirass.scm @@ -0,0 +1,33 @@ +;;;; cuirass.scm -- Cuirass public interface. +;;; Copyright © 2016 Mathieu Lirzin +;;; +;;; This file is part of Cuirass. +;;; +;;; Cuirass is free software: you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation, either version 3 of the License, or +;;; (at your option) any later version. +;;; +;;; Cuirass is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with Cuirass. If not, see . + +;;;; Commentary: +;;; +;;; This composite module re-exports everything from the public submodules. +;;; +;;;; Code: + +(define-module (cuirass)) + +;;; Module usages and exports need to be done at expansion time. +(eval-when (eval load expand) + (let ((i (module-public-interface (current-module)))) + (for-each (λ (m) (module-use! i (resolve-interface m))) + ;; Public modules. + '((cuirass base) + (cuirass database)))))