diff options
Diffstat (limited to 'mkimpcat.scm')
-rw-r--r-- | mkimpcat.scm | 164 |
1 files changed, 79 insertions, 85 deletions
diff --git a/mkimpcat.scm b/mkimpcat.scm index 2f6c13a..f94f949 100644 --- a/mkimpcat.scm +++ b/mkimpcat.scm @@ -15,52 +15,57 @@ ;; the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111, USA. ;; ;; As a special exception, the Free Software Foundation gives permission -;; for additional uses of the text contained in its release of GUILE. +;; for additional uses of the text contained in its release of SCM. ;; -;; The exception is that, if you link the GUILE library with other files +;; The exception is that, if you link the SCM library with other files ;; to produce an executable, this does not by itself cause the ;; resulting executable to be covered by the GNU General Public License. ;; Your use of that executable is in no way restricted on account of -;; linking the GUILE library code into it. +;; linking the SCM library code into it. ;; ;; This exception does not however invalidate any other reasons why ;; the executable file might be covered by the GNU General Public License. ;; ;; This exception applies only to the code released by the -;; Free Software Foundation under the name GUILE. If you copy +;; Free Software Foundation under the name SCM. If you copy ;; code from other Free Software Foundation releases into a copy of -;; GUILE, as the General Public License permits, the exception does +;; SCM, as the General Public License permits, the exception does ;; not apply to the code that you add in this way. To avoid misleading ;; anyone as to the status of such modified files, you must delete ;; this exception notice from them. ;; -;; If you write modifications of your own for GUILE, it is your choice +;; If you write modifications of your own for SCM, it is your choice ;; whether to permit this exception to apply to your modifications. ;; If you do not wish that, delete this exception notice. ;;;; "mkimpcat.scm" Build SCM-specific catalog for SLIB. ;;; Author: Aubrey Jaffer. -(define (installation-vicinity) "/usr/lib/scm/") - -(let ((catname "implcat")) - (call-with-output-file (in-vicinity (implementation-vicinity) catname) +(let ((catname "implcat") + (iv (implementation-vicinity))) + (define (in-implementation-vicinity . paths) (apply in-vicinity iv paths)) + (call-with-output-file (in-implementation-vicinity catname) (lambda (op) (define (display* . args) (for-each (lambda (arg) (display arg op)) args) (newline op)) - (define wb:vicinity (string-append (installation-vicinity) "../wb/")) - (define x-scm:vicinity - (string-append (installation-vicinity) "../xscm-2.01/")) - (define (add-link feature ofile . libs) - (cond ((file-exists? ofile) - ;; remove #f from libs list - (set! libs (let rem ((l libs)) - (cond ((null? l) l) - ((car l) (cons (car l) (rem (cdr l)))) - (else (rem (cdr l)))))) + (define (in-wb-vicinity . paths) (apply in-vicinity iv "../wb/" paths)) + (define (in-xscm-vicinity . paths) (apply in-vicinity iv "../xscm-2.01/" paths)) + (define (add-link feature . libs) + (define syms '()) + ;; remove #f from libs list + (set! libs (let rem ((l libs)) + (cond ((null? l) l) + ((symbol? (car l)) + (set! syms (cons (car l) syms)) + (rem (cdr l))) + ((car l) (cons (car l) (rem (cdr l)))) + (else (rem (cdr l)))))) + (cond ((file-exists? (car libs)) (display " " op) - (write (cons feature (cons 'compiled (cons ofile libs))) op) + (write + (cons feature (cons 'compiled (append syms libs))) + op) (newline op) #t) (else #f))) @@ -74,95 +79,86 @@ (display* "(") (begin (cond ((add-link 'i/o-extensions - (in-vicinity (installation-vicinity) "ioext" - link:able-suffix) + (in-implementation-vicinity "ioext" link:able-suffix) (usr:lib "c")) (add-alias 'directory-for-each 'i/o-extensions) (add-alias 'line-i/o 'i/o-extensions) (add-alias 'pipe 'i/o-extensions))) (cond ((add-link 'rev2-procedures - (in-vicinity (installation-vicinity) "sc2" - link:able-suffix)) - (add-alias 'rev3-procedures 'rev2-procedures))) + (in-implementation-vicinity "sc2" + link:able-suffix)))) (cond ((or (add-link 'db - (in-vicinity wb:vicinity "db.so")) + (in-wb-vicinity "db.so")) (add-link 'db - (in-vicinity wb:vicinity "db" link:able-suffix) - (in-vicinity wb:vicinity "handle" link:able-suffix) - (in-vicinity wb:vicinity "blink" link:able-suffix) - (in-vicinity wb:vicinity "prev" link:able-suffix) - (in-vicinity wb:vicinity "ent" link:able-suffix) - (in-vicinity wb:vicinity "sys" link:able-suffix) - (in-vicinity wb:vicinity "del" link:able-suffix) - (in-vicinity wb:vicinity "stats" link:able-suffix) - (in-vicinity wb:vicinity "blkio" link:able-suffix) - (in-vicinity wb:vicinity "scan" link:able-suffix) + (in-wb-vicinity "db" link:able-suffix) + (in-wb-vicinity "handle" link:able-suffix) + (in-wb-vicinity "blink" link:able-suffix) + (in-wb-vicinity "prev" link:able-suffix) + (in-wb-vicinity "ent" link:able-suffix) + (in-wb-vicinity "sys" link:able-suffix) + (in-wb-vicinity "del" link:able-suffix) + (in-wb-vicinity "stats" link:able-suffix) + (in-wb-vicinity "blkio" link:able-suffix) + (in-wb-vicinity "scan" link:able-suffix) (usr:lib "c"))) (add-source 'wb-table - (in-vicinity wb:vicinity "wbtab")) + (in-wb-vicinity "wbtab")) (add-alias 'wb 'db))) + (cond ((add-link 'mysql + (in-implementation-vicinity "database" + link:able-suffix) + ;;(usr:lib "mysqlclient") ;? + ))) (cond ((add-link 'stringvector - (in-vicinity x-scm:vicinity "strvec" link:able-suffix)) - (add-source 'x11 (in-vicinity x-scm:vicinity "x11")) - (add-source 'xevent(in-vicinity x-scm:vicinity "xevent")) - (add-source 'xt (in-vicinity x-scm:vicinity "xt")) - (add-source 'xm (in-vicinity x-scm:vicinity "xm")) - (add-source 'xmsubs(in-vicinity x-scm:vicinity "xmsubs")) - (add-source 'xaw (in-vicinity x-scm:vicinity "xaw")) - (add-source 'xpm (in-vicinity x-scm:vicinity "xpm")))) + (in-xscm-vicinity "strvec" link:able-suffix)) + (add-source 'x11 (in-xscm-vicinity "x11")) + (add-source 'xevent(in-xscm-vicinity "xevent")) + (add-source 'xt (in-xscm-vicinity "xt")) + (add-source 'xm (in-xscm-vicinity "xm")) + (add-source 'xmsubs(in-xscm-vicinity "xmsubs")) + (add-source 'xaw (in-xscm-vicinity "xaw")) + (add-source 'xpm (in-xscm-vicinity "xpm")))) (add-link 'turtle-graphics - (in-vicinity (installation-vicinity) "turtlegr" - link:able-suffix) + (in-implementation-vicinity "turtlegr" link:able-suffix) (x:lib "X11") (usr:lib "m") (usr:lib "c")) (add-link 'Xlib - (in-vicinity (installation-vicinity) "x" - link:able-suffix) + (in-implementation-vicinity "x" link:able-suffix) (x:lib "X11") (usr:lib "c")) (add-link 'curses - (in-vicinity (installation-vicinity) "crs" - link:able-suffix) + (in-implementation-vicinity "crs" link:able-suffix) (usr:lib "ncurses") ;;(usr:lib "curses") ;;(usr:lib "termcap") (usr:lib "c")) (add-link 'edit-line - (in-vicinity (installation-vicinity) "edline" - link:able-suffix) + (in-implementation-vicinity "edline" link:able-suffix) (usr:lib "readline") (usr:lib "termcap") (usr:lib "c")) (add-link 'regex - (in-vicinity (installation-vicinity) "rgx" - link:able-suffix) + (in-implementation-vicinity "rgx" link:able-suffix) (usr:lib "c")) (add-link 'unix - (in-vicinity (installation-vicinity) "unix" - link:able-suffix) - (in-vicinity (installation-vicinity) "ioext" - link:able-suffix) + 'i/o-extensions + (in-implementation-vicinity "unix" link:able-suffix) (usr:lib "c")) (add-link 'posix - (in-vicinity (installation-vicinity) "posix" - link:able-suffix) + (in-implementation-vicinity "posix" link:able-suffix) (usr:lib "c")) (add-link 'socket - (in-vicinity (installation-vicinity) "socket" - link:able-suffix) + (in-implementation-vicinity "socket" link:able-suffix) (usr:lib "c")) (add-link 'record - (in-vicinity (installation-vicinity) "record" - link:able-suffix)) + (in-implementation-vicinity "record" link:able-suffix)) (add-link 'generalized-c-arguments - (in-vicinity (installation-vicinity) "gsubr" - link:able-suffix)) + (in-implementation-vicinity "gsubr" link:able-suffix)) (add-link 'array-for-each - (in-vicinity (installation-vicinity) "ramap" - link:able-suffix)) + (in-implementation-vicinity "ramap" link:able-suffix)) ) (display* ")") ) @@ -182,21 +178,19 @@ (begin ;; Simple associations -- OK for all modes of dynamic-linking (display* "(") - (add-alias 'hobbit (in-vicinity (installation-vicinity) "hobbit")) - (add-alias 'scmhob (in-vicinity (installation-vicinity) "scmhob")) - (add-alias 'regex-case - (in-vicinity (installation-vicinity) "rgxcase")) - (add-alias 'url-filename - (in-vicinity (installation-vicinity) "urlfile")) - (add-source 'disarm (in-vicinity - (installation-vicinity) + (add-alias '2rs 'r2rs) + (add-alias '3rs 'r3rs) + (add-alias '4rs 'r4rs) + (add-alias '5rs 'r5rs) + (add-alias 'hobbit (in-implementation-vicinity "hobbit")) + (add-alias 'scmhob (in-implementation-vicinity "scmhob")) + (add-alias 'regex-case (in-implementation-vicinity "rgxcase")) + (add-alias 'url-filename (in-implementation-vicinity "urlfile")) + (add-source 'disarm (in-implementation-vicinity (string-append "disarm" (scheme-file-suffix)))) - (add-source 'build (in-vicinity - (implementation-vicinity) - (string-append "build" (scheme-file-suffix)))) - - ;; (add-alias 'impl:callback '(identity)) - + (add-source 'build (in-implementation-vicinity "build")) + (add-source 'compile (in-implementation-vicinity + (string-append "compile" (scheme-file-suffix)))) (display* ")") ) @@ -205,7 +199,7 @@ (display* "#.(if (defined? renamed-identifier)") (display* " '(") (display " " op) - (add-source 'macro (in-vicinity (installation-vicinity) "Macro")) + (add-source 'macro (in-implementation-vicinity "Macro")) (display* " )") (display* " '())") ) |