summary refs log tree commit diff
path: root/legacy/bigloo/configure.bgl
diff options
context:
space:
mode:
authorLudovic Court`es2005-11-02 10:08:38 +0000
committerLudovic Court`es2005-11-02 10:08:38 +0000
commitb76d5e1b252967521f210eac10ddbf089dde8c6a (patch)
tree00fc81c51256991c04799d79a749bbdd5b9fad30 /legacy/bigloo/configure.bgl
parentba63b8d4780428d9f63f6ace7f49361b77401112 (diff)
parentf553cb65b157b6df9563cefa593902d59301461b (diff)
downloadskribilo-b76d5e1b252967521f210eac10ddbf089dde8c6a.tar.gz
skribilo-b76d5e1b252967521f210eac10ddbf089dde8c6a.tar.lz
skribilo-b76d5e1b252967521f210eac10ddbf089dde8c6a.zip
Cleaned up the source tree and the installation process.
Patches applied:

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-6
   Cosmetic changes.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-7
   Removed useless files, integrated packages.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-8
   Removed useless files, integrated packages.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-9
   Moved the STkLos and Bigloo code to `legacy'.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-10
   Installed Autoconf/Automake machinery.  Fixed a few things.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-11
   Changes related to source-highlighting and to the manual.


git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-10
Diffstat (limited to 'legacy/bigloo/configure.bgl')
-rw-r--r--legacy/bigloo/configure.bgl90
1 files changed, 90 insertions, 0 deletions
diff --git a/legacy/bigloo/configure.bgl b/legacy/bigloo/configure.bgl
new file mode 100644
index 0000000..e100d8d
--- /dev/null
+++ b/legacy/bigloo/configure.bgl
@@ -0,0 +1,90 @@
+;*=====================================================================*/
+;*    serrano/prgm/project/skribe/src/bigloo/configure.bgl             */
+;*    -------------------------------------------------------------    */
+;*    Author      :  Manuel Serrano                                    */
+;*    Creation    :  Wed Jul 23 18:42:21 2003                          */
+;*    Last change :  Mon Feb  9 06:51:11 2004 (serrano)                */
+;*    Copyright   :  2003-04 Manuel Serrano                            */
+;*    -------------------------------------------------------------    */
+;*    The general configuration options.                               */
+;*=====================================================================*/
+
+;*---------------------------------------------------------------------*/
+;*    The module                                                       */
+;*---------------------------------------------------------------------*/
+(module skribe_configure
+   (export (skribe-release)
+	   (skribe-url)
+	   (skribe-doc-dir)
+	   (skribe-ext-dir)
+	   (skribe-default-path)
+	   (skribe-scheme)
+	   
+	   (skribe-configure . opt)
+	   (skribe-enforce-configure . opt)))
+
+;*---------------------------------------------------------------------*/
+;*    skribe-configuration ...                                         */
+;*---------------------------------------------------------------------*/
+(define (skribe-configuration)
+   `((:release ,(skribe-release))
+     (:scheme ,(skribe-scheme))
+     (:url ,(skribe-url))
+     (:doc-dir ,(skribe-doc-dir))
+     (:ext-dir ,(skribe-ext-dir))
+     (:default-path ,(skribe-default-path))))
+
+;*---------------------------------------------------------------------*/
+;*    skribe-configure ...                                             */
+;*---------------------------------------------------------------------*/
+(define (skribe-configure . opt)
+   (let ((conf (skribe-configuration)))
+      (cond
+	 ((null? opt)
+	  conf)
+	 ((null? (cdr opt))
+	  (let ((cell (assq (car opt) conf)))
+	     (if (pair? cell)
+		 (cadr cell)
+		 'void)))
+	 (else
+	  (let loop ((opt opt))
+	     (cond
+		((null? opt)
+		 #t)
+		((not (keyword? (car opt)))
+		 #f)
+		((or (null? (cdr opt)) (keyword? (cadr opt)))
+		 #f)
+		(else
+		 (let ((cell (assq (car opt) conf)))
+		    (if (and (pair? cell)
+			     (if (procedure? (cadr opt))
+				 ((cadr opt) (cadr cell))
+				 (equal? (cadr opt) (cadr cell))))
+			(loop (cddr opt))
+			#f)))))))))
+
+;*---------------------------------------------------------------------*/
+;*    skribe-enforce-configure ...                                     */
+;*---------------------------------------------------------------------*/
+(define (skribe-enforce-configure . opt)
+   (let loop ((o opt))
+      (when (pair? o)
+	 (cond
+	    ((or (not (keyword? (car o)))
+		 (null? (cdr o)))
+	     (error 'skribe-enforce-configure
+		    "Illegal enforcement"
+		    opt))
+	    ((skribe-configure (car o) (cadr o))
+	     (loop (cddr o)))
+	    (else
+	     (error 'skribe-enforce-configure
+		    (format "Configuration mismatch: ~a" (car o))
+		    (if (procedure? (cadr o))
+			(format "provided `~a'"
+				(skribe-configure (car o)))
+			(format "provided `~a', required `~a'"
+				(skribe-configure (car o))
+				(cadr o)))))))))