#!/bin/sh #| Lisp will skip the next 3 lines on reading rm -f kira.fcgi exec /home/mobright/gcl/bin/gcl -f "$0" $ |# (setf compiler:*compile-verbose* nil compiler:*compile-print* nil compiler:*suppress-compiler-notes* t compiler:*suppress-compiler-warnings* t *load-verbose* nil *load-print* nil) (defun flatten-pathnames (pathnames collector base) (dolist (pathname pathnames) (if (consp pathname) (flatten-pathnames (rest pathname) collector (merge-pathnames (first pathname) base)) (funcall collector (make-pathname :type "lisp" :defaults (merge-pathnames pathname base)))))) (defvar *sources* (let ((sources '())) (flet ((collect (pathname) (push pathname sources))) (flatten-pathnames '("packages" "site" ("util/" "util" "compare" "date-time" "type" "lock" "db") ("markup/" "xml" "html" "tml" "grok-xml") ("http/" "mime" "low-level" "uri" "http" "request") ("odb/" "odb" "btree" "list" "map" "cursor" "btree-cursor" "sequence-cursor" "collection-wrapper") ("kira/" "kira" "dispatch" "style" "paginate" "rss" "form" "index" "file" "node" "geo" "post" "blog" "person" "login" "quote" "event" "ical" "local" "book" "forum" "video" "ui-date-time" "contact" "image" "message" "page" "aggregator" "top-level") ("civilbrights/" "theme")) #'collect #p"./")) (nreverse sources))) (compiler::link (loop for pathname in *sources* for object = (make-pathname :type "o" :defaults pathname) do (load pathname) do (compile-file pathname :system-p t) collect object) "kira.cgi" "" "-ldb -lexpat" t)