File: cmpsys.lsp

package info (click to toggle)
xlispstat 3.52.14-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 7,560 kB
  • ctags: 12,676
  • sloc: ansic: 91,357; lisp: 21,759; sh: 1,525; makefile: 521; csh: 1
file content (33 lines) | stat: -rw-r--r-- 1,342 bytes parent folder | download | duplicates (3)
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
;;;;
;;;; 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"
		      #+msdos "dde"))
        (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)