Initial commit, 3-52-19 alpha
[cls.git] / src / lsp / cmpsys.lsp
blobc5042138354a5c5118b198b6c25139c4743ebe5f
1 ;;;;
2 ;;;; This file can be used to make .fsl files from .lsp files.
3 ;;;;
5 (defpackage "XLSCMP"
6 (:use "XLISP")
7 (:import-from "XLISP" "*CMP-SETF*" "ADD-METHOD" "CMP-DO-DEFSTRUCT"))
9 (require "cmpload")
11 (flet ((compile-if-needed (file &optional load)
12 (let ((lspfile (merge-pathnames file ".lsp"))
13 (fslfile (merge-pathnames file ".fsl")))
14 (unless (and (probe-file lspfile)
15 (probe-file fslfile)
16 (< (file-write-date lspfile)
17 (file-write-date fslfile)))
18 (compile-file file :load load)))))
19 (let ((stdfiles '("common" "common2" "common3" "pathname" "help" "objects"
20 "conditns" "shlib" "loadfsl"))
21 (otherfiles '("init" "cmpload" "linalg" "stats" "dialogs" "graphics"
22 "graph2" "graph3" "regress" "menus" "oneway" "nonlin"
23 "maximize" "bayes" "stepper" "glim"
24 #+msdos "dde"))
25 (cmpfiles '("backquot" "cmpmacro" "convert" "cells" "simplify"
26 "lift" "gencode" "peephole" "assemble" "cmpfront")))
27 (dolist (f cmpfiles)
28 (let ((fn (make-pathname :name f :directory '(:relative "compiler"))))
29 (compile-if-needed fn t)))
30 (dolist (f stdfiles) (compile-if-needed f t))
31 (dolist (f otherfiles) (compile-if-needed f))))
33 (exit)