Commit f7f5247e authored by rtoy's avatar rtoy
Browse files

o Fix some missing dependencies.

o Add defsystem to convert the Fortran files to Lisp, without
  compiling the Lisp files themselves.
parent 0d2d0188
......@@ -5,6 +5,8 @@
;;; is untested.
(in-package #:cl-user)
(require :f2cl)
(mk:define-language :f2cl
:compiler #'f2cl:f2cl-compile
:source-extension "f")
......@@ -13,7 +15,7 @@
(make-pathname :host (pathname-host *load-pathname*)
:directory (pathname-directory *load-pathname*)))
;; Defsystem for quadpack.
;; Defsystem for colnew.
(mk:defsystem colnew
:source-pathname *colnew-root*
:components
......@@ -24,15 +26,17 @@
:components
(
;; Linpack routines needed by colnew
(:file "dgesl")
(:file "dgefa")
(:file "dgesl"
:depends-on ("daxpy" "ddot"))
(:file "dgefa"
:depends-on ("idamax" "dscal" "daxpy"))
;; BLAS routines needed by above
(:file "daxpy")
(:file "ddot")
(:file "dscal")
(:file "idamax")
;; Simple compatibility to define DFLOAT and to define
;; all of the needed common blocks in one place.
;; Simple compatibility to define all of the needed
;; common blocks in one place.
(:file "compat"
:compiler-options (:declare-common t :common-as-array t))
;; COLNEW itself, broken down into one subroutine per
......@@ -66,7 +70,8 @@
(:file "horder")
(:file "dmzsol"
:depends-on ("factrb" "shiftb"))
(:file "fcblok")
(:file "fcblok"
:depends-on ("factrb" "shiftb"))
(:file "factrb")
(:file "shiftb")
(:file "sbblok"
......@@ -133,4 +138,78 @@
(:file "dfsub")
(:file "dgsub")
(:file "solutn")))))
\ No newline at end of file
;;; System to convert the Fortran code to Lisp
(mk:define-language :f2cl-lisp
:compiler #'f2cl:f2cl
:loader #'identity
:source-extension "f"
:binary-extension "lisp")
(mk:defsystem colnew-lisp
:source-pathname *colnew-root*
:components
((:module colnew
:source-extension "f"
:binary-pathname "colnew/lib/"
:language :f2cl-lisp
:compiler-options (:common-as-array t :package :colnew)
:compile-only t
:components
(
;; Linpack routines needed by colnew
(:file "dgesl"
:depends-on ("daxpy" "ddot"))
(:file "dgefa"
:depends-on ("idamax" "dscal" "daxpy"))
;; BLAS routines needed by above
(:file "daxpy")
(:file "ddot")
(:file "dscal")
(:file "idamax")
;; Simple compatibility to define all of the needed
;; common blocks in one place.
(:file "compat"
:compiler-options (:declare-common t :common-as-array t
:package :colnew))
;; COLNEW itself, broken down into one subroutine per
;; file.
(:file "colnew"
:depends-on ("compat" "consts" "newmsh" "contrl"))
(:file "contrl"
:depends-on ("compat" "lsyslv" "skale" "errchk" "newmsh"))
(:file "skale"
:depends-on ("compat"))
(:file "newmsh"
:depends-on ("compat" "approx" "horder"))
(:file "consts"
:depends-on ("compat" "vmonde" "rkbas"))
(:file "errchk")
(:file "lsyslv"
:depends-on ("compat" "vwblok" "gblock" "gderiv" "fcblok"
"sbblok" "dmzsol"))
(:file "gderiv")
(:file "vwblok"
:depends-on ("compat" "dgesl" "dgefa"))
(:file "gblock"
:depends-on ("compat" "dgesl"))
(:file "appsln")
(:file "approx"
:depends-on ("compat"))
(:file "rkbas"
:depends-on ("compat"))
(:file "vmonde"
:depends-on ("compat"))
(:file "horder")
(:file "dmzsol"
:depends-on ("factrb" "shiftb"))
(:file "fcblok"
:depends-on ("factrb" "shiftb"))
(:file "factrb")
(:file "shiftb")
(:file "sbblok"
:depends-on ("subfor" "subbak"))
(:file "subfor")
(:file "subbak")))))
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment