Add some basic letsimp tests based on bug #3950
[maxima.git] / share / colnew / colnew-lisp.system
blob83d8e122b664c09bbaf677648ff24768c15d7591
1 ;;; -*- Mode: lisp; Package: CL-USER -*-
3 ;;; Defsystem to convert the colnew Fortran code to Lisp
4 ;;;
5 ;;; Convert Fortran code to Lisp via
6 ;;;
7 ;;; (mk:oos "colnew-lisp" :compile :force t)
9 (in-package #-gcl #:cl-user #+gcl "CL-USER")
11 (require :f2cl)
14 (mk:define-language :f2cl-lisp
15     :compiler #'f2cl:f2cl
16     :loader #'identity
17     :source-extension "f"
18     :binary-extension "lisp")
20 (defparameter *colnew-root* (maxima::maxima-load-pathname-directory))
22 (mk:defsystem colnew-lisp
23   :source-pathname *colnew-root*
24   :components
25   ((:module fortran
26             :source-extension "f"
27             :binary-pathname "lisp/"
28             :language :f2cl-lisp
29             :compiler-options (:common-as-array t :package :colnew)
30             :compile-only t
31             :components
32             (
33              ;; Linpack routines needed by colnew
34              (:file "dgesl"
35                     :depends-on ("daxpy" "ddot"))
36              (:file "dgefa"
37                     :depends-on ("idamax" "dscal" "daxpy"))
38              ;; BLAS routines needed by above
39              (:file "daxpy")
40              (:file "ddot")
41              (:file "dscal")
42              (:file "idamax")
43              ;; Simple compatibility to define all of the needed
44              ;; common blocks in one place.
45              (:file "compat"
46                     :compiler-options (:declare-common t :common-as-array t
47                                                        :package :colnew))
48              ;; COLNEW itself, broken down into one subroutine per
49              ;; file.
50              (:file "colnew"
51                     :depends-on ("compat" "consts" "newmsh" "contrl"))
52              (:file "contrl"
53                     :depends-on ("compat" "lsyslv" "skale" "errchk" "newmsh"))
54              (:file "skale"
55                     :depends-on ("compat"))
56              (:file "newmsh"
57                     :depends-on ("compat" "approx" "horder"))
58              (:file "consts"
59                     :depends-on ("compat" "vmonde" "rkbas"))
60              (:file "errchk")
61              (:file "lsyslv"
62                     :depends-on ("compat" "vwblok" "gblock" "gderiv" "fcblok"
63                                           "sbblok" "dmzsol"))
64              (:file "gderiv")
65              (:file "vwblok"
66                     :depends-on ("compat" "dgesl" "dgefa"))
67              (:file "gblock"
68                     :depends-on ("compat" "dgesl"))
69              (:file "appsln")
70              (:file "approx"
71                     :depends-on ("compat"))
72              (:file "rkbas"
73                     :depends-on ("compat"))
74              (:file "vmonde"
75                     :depends-on ("compat"))
76              (:file "horder")
77              (:file "dmzsol"
78                     :depends-on ("factrb" "shiftb"))
79              (:file "fcblok"
80                     :depends-on ("factrb" "shiftb"))
81              (:file "factrb")
82              (:file "shiftb")
83              (:file "sbblok"
84                     :depends-on ("subfor" "subbak"))
85              (:file "subfor")
86              (:file "subbak")))))
88 (mk:defsystem colnew-ex-lisp
89   :source-pathname *colnew-root*
90   :language :f2cl-lisp
91   :compiler-options (:package :colnew)
92   :compile-only t
93   :components
94   ((:module ex1
95             :components
96             ((:file "prob1"
97                     :compiler-options (:common-as-array t :package :colnew)
98                     :depends-on ("fsub" "dfsub" "gsub" "dgsub" "exact"))
99              (:file "fsub")
100              (:file "gsub")
101              (:file "dfsub")
102              (:file "dgsub")
103              (:file "exact")))
104    (:module ex2
105             :components
106             ((:file "prob2"
107                     :compiler-options (:declare-common t :package :colnew)
108                     :depends-on ("fsub" "dfsub" "gsub" "dgsub" "solutn"))
109              (:file "fsub")
110              (:file "gsub")
111              (:file "dfsub")
112              (:file "dgsub")
113              (:file "solutn")))
114    (:module ex3
115             :components
116             ((:file "prob3"
117                     :compiler-options (:declare-common t :package :colnew)
118                     :depends-on ("fsub" "dfsub" "gsub" "dgsub" "solutn"))
119              (:file "fsub")
120              (:file "gsub")
121              (:file "dfsub")
122              (:file "dgsub")
123              (:file "solutn")))))