;;; -*- Mode: LISP; Syntax: Common-Lisp; Package: MAKE -*- ;;; ;;; [incr tsdb()] --- Competence and Performance Profiling Environment ;;; Copyright (c) 1996 -- 2005 Stephan Oepen (oe@csli.stanford.edu) ;;; ;;; This program is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU Lesser General Public License as published by ;;; the Free Software Foundation; either version 2.1 of the License, or (at ;;; your option) any later version. ;;; ;;; This program 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 Lesser General Public ;;; License for more details. ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; file: tsdb.system ;;; module: ;;; version: 0.0 -- 22-sep-95 (experimental) ;;; written by: oe, dfki saarbruecken ;;; last update: 17-sep-01 ;;; updated by: oe, csli stanford ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; author | date | modification ;;; ------------------|-------------|------------------------------------------ ;;; | | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (in-package :make) (eval-when (:load-toplevel :execute) (pushnew :tsdb *features*) (pushnew :itsdb *features*) ;; ;; for supported platforms, assume Berkeley DB support is available ;; #+(and :linux (or :sbcl (and :allegro-version>= (version>= 7 0)))) (pushnew :bdb *features*) ;; ;; for the on-line WWW demo (LOGON tree, select platforms), use DRAKMA et al. ;; #+(and :allegro :linux :logon (version>= 8 0)) (pushnew :drakma *features*) ;; ;; the Alvey Tools package, unfortunately, comes without a unique feature to ;; identify it; invent one and hope for integration with future releases. ;; (22-nov-99 - oe) ;; (when (and (find-symbol "*GDE-VERSION-NO" :common-lisp-user) (boundp (find-symbol "*GDE-VERSION-NO" :common-lisp-user))) (pushnew :anlt *features*))) (defsystem "tsdb" :source-pathname (dir-append (get-sources-dir "tsdb") '(:relative "tsdb")) :binary-pathname (dir-append (get-binaries-dir "tsdb") '(:relative "tsdb")) :depends-on (#+(and :allegro (or :linux (and :sparc :svr4) :alpha :macosx)) "pvm" #+:logon "registry" ; only in logon source tree #+:lkb "lkb" #+:page "page") :initially-do (progn #+:drakma (require :aserve) (mapc #'(lambda (s) (unless (find-package s) (funcall (intern "QUICKLOAD" :ql) s))) '(#-:allegro :cl-fad ; Allegro provides enough of cl-fad's functionality :cl-ppcre)) (setf (symbol-value (find-symbol "*REGEX-CHAR-CODE-LIMIT*" :cl-ppcre)) (min char-code-limit (expt 2 16)))) :finally-do (let ((display (system:getenv "DISPLAY")) (building-image-p (find-symbol "*BUILDING-IMAGE-P*" :make))) (funcall (intern "INITIALIZE-TSDB" :tsdb)) ;; ;; unless we are about to create a run-time image or operate in ;; [incr tsdb()] slave mode, start podium (as long as DISPLAY is set) ;; (when (and (not (and building-image-p (boundp building-image-p) (symbol-value building-image-p))) (not (find :slave *features*)) display (not (equal display ""))) (funcall (intern "TSDB" :tsdb) :podium))) :components (#+:dfki (:module "agenda" :source-pathname "" :source-extension "" :operation-form ((:load (lambda (component force) (declare (ignore force)) (unless (probe-file (component-full-pathname component :source)) (format t "~&; missing: `~a';~%" (component-full-pathname component :source))))) (:compile (lambda (component force) (declare (ignore force)) (unless (probe-file (component-full-pathname component :source)) (format t "~&; missing: `~a';~%" (component-full-pathname component :source)))))) :components ((:file "Registration") (:file "ToDo"))) #+(or :bdb (and :allegro (or :linux :macosx))) (:module "c" :compile-form nil :load-form (dolist (lib '(#+:allegro "capi" #+:allegro "gc" #+:bdb "bdb")) (handler-case (#+:sbcl sb-alien:load-shared-object #-:sbcl load (make-pathname :name lib :type #-:macosx "so" #+:macosx "dylib" :defaults (dir-append (get-sources-dir "tsdb") (list :relative "tsdb" make::%system-binaries%)))) (error (condition) (warn "~A Is LD_LIBRARY_PATH correctly set?" condition))))) #+:drakma (:module "drakma" :source-pathname %system-binaries% :source-extension "fasl" :load-only t :components (#+(and :allegro-version= (version= 8 0)) (:file "drakma80") #+(and :allegro-version= (version= 8 1)) (:file "drakma81") #+(and :allegro-version= (version= 8 2)) (:file "drakma82"))) (:module "tsdb" :source-pathname "lisp" :binary-pathname "" :source-extension "lisp" :components ((:file "tsdb-package") #-:allegro (:file "compatibility") ; for all CL implementations apart from Allegro (:file "macros") #+:page (:file "tdl-patches") #+(and :lkb (not (or :page :annlt :sltg :xle :dummy))) (:file "lkb-interface") #+:anlt (:file "anlt-interface") #+:sltg (:file "sltg-interface") #+:xle (:file "xle-interface") #+(or :dummy (not (or :lkb :page :annlt :sltg :xle))) (:file "dummy-interface") (:file "globals") (:file "utilities") #+(and :allegro (or :linux (and :sparc :svr4) :alpha :macosx)) (:file "pvm") #+(and :allegro (or :linux (and :sparc :svr4) :alpha :macosx)) (:file "capi") (:file "tsql") (:file "tsdb") (:file "process") (:file "commands") (:file "import") #+:null (:file "server") (:file "filter") (:file "statistics") (:file "evolution") (:file "html") (:file "podium") #+:allegro (:file "allegro") #+:allegro (:file "gc") (:file "yy") (:file "fake") #+:lkb (:file "mt") #+:logon (:file "mmt") #+:logon (:file "kf") #+:page (:file "page-interface") (:file "derivations") #+:lkb (:file "tnt-interface") #+(and :lkb :clim) (:file "redwoods") #+:lkb (:file "lsp") (:file "ptb") (:file "conll") (:file "starsem") #+:lkb (:file "rasp") (:file "chasen") #+:lkb (:file "genia") #+:lkb (:file "fsc") (:file "hunter") #+:lkb (:file "pcfg") #+:null (:file "acache") #+:bdb (:file "bdb") #+:lkb (:file "features") #+:lkb (:file "learner") #+:lkb (:file "experiment") #+:null (:file "tagging") #+(and :lkb :drakma) (:file "www") #+:onet (:file "onet") #+:null (:file "tagger"))) #+:dfki (:module "podium" :source-pathname "tcl" :source-extension "tcl" :load-only t :operation-form ((:load (lambda (component force) (declare (ignore force)) (unless (probe-file (component-full-pathname component :source)) (format t "~&; missing: `~a';~%" (component-full-pathname component :source))))) (:compile (lambda (component force) (declare (ignore force)) (unless (probe-file (component-full-pathname component :source)) (format t "~&; missing: `~a';~%" (component-full-pathname component :source)))))) :components ((:file "icon" :source-extension "xbm") (:file "podium") (:file "goodies") (:file "table") (:file "showtable") (:file "nshowtable") (:file "showgraph") (:file "utilities") (:file "commands") (:file "input") (:file "yy") (:file "mt") (:file "copyleft") (:file "balloon") (:file "balloons" :source-extension ""))) #+:pcfg (:module "pcfg" :source-pathname "pcfg" :binary-pathname "pcfg" :source-extension "lisp" :components ((:file "pcfg-package") (:file "globals.lisp") (:file "symbols.lisp") (:file "grammar.lisp") (:file "serialize.lisp") (:file "approximate.lisp") (:file "bitpar.lisp") (:file "queues.lisp") (:file "parse.lisp") (:file "unpack.lisp")))))