File: cmpsys.lsp

package info (click to toggle)
xlispstat 3.52.0-3
  • links: PTS
  • area: main
  • in suites: hamm, slink
  • size: 7,472 kB
  • ctags: 12,480
  • sloc: ansic: 89,534; lisp: 21,690; sh: 1,525; makefile: 520; csh: 1
file content (34 lines) | stat: -rw-r--r-- 1,339 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
;;;;
;;;; This file can be used to make .fsl files from .lsp files.
;;;;

(defpackage "XLSCMP"
  (:use "XLISP")
  (:import-from "XLISP" "*CMP-SETF*" "ADD-METHOD" "CMP-DO-DEFSTRUCT"))

(require "cmpload")

(flet ((compile-if-needed (file &optional load)
         (let ((lspfile (merge-pathnames file ".lsp"))
               (fslfile (merge-pathnames file ".fsl")))
           (unless (and (probe-file lspfile)
                        (probe-file fslfile)
                        (< (file-write-date lspfile)
                           (file-write-date fslfile)))
                   (compile-file file :load load)))))
  (let ((stdfiles '("common" "common2" "common3" "pathname" "help" "objects"
		    "conditns" "shlib" "loadfsl"))
        (otherfiles '("init" "cmpload" "linalg" "stats" "dialogs" "graphics"
		      "graph2" "graph3" "regress" "menus" "oneway" "nonlin"
                      "maximize" "bayes" "stepper" "glim" "symaclet"))
        (cmpfiles '("backquot" "cmpmacro" "convert" "cells" "simplify"
                    "lift" "gencode" "peephole" "assemble" "cmpfront")))
    (dolist (f cmpfiles)
      (let ((fn (make-pathname :name f :directory '(:relative "compiler"))))
        (compile-if-needed fn t)))
    (dolist (f stdfiles) (compile-if-needed f t))
    (dolist (f otherfiles) (compile-if-needed f))))

(exit)