;;;; -*- Hen -*- (define (dynld-name fn) (make-pathname #f fn ##sys#load-dynamic-extension)) (define version 2.2) (make ( ((dynld-name "flsim") ("flsim.scm" ) (compile -O -d2 -S -s flsim.scm -j flsim)) ((dynld-name "flsim.import") ("flsim.import.scm") (compile -O -d2 -S -s flsim.import.scm)) ) (list (dynld-name "flsim") (dynld-name "flsim.import")) ) (install-extension ; Name of your extension: 'flsim ; Files to install for your extension: `(,(dynld-name "flsim") ,(dynld-name "flsim.import") ) ; Assoc list with properties for your extension: `((version ,version) (documentation "flsim.html") )) (make ( ((dynld-name "runge-kutta") ("runge-kutta.scm" ) (compile -O2 -S -s runge-kutta.scm -j runge-kutta)) ((dynld-name "runge-kutta.import") ("runge-kutta.import.scm") (compile -O2 -S -s runge-kutta.import.scm)) ) (list (dynld-name "runge-kutta") (dynld-name "runge-kutta.import")) ) (install-extension ; Name of your extension: 'runge-kutta ; Files to install for your extension: `(,(dynld-name "runge-kutta") ,(dynld-name "runge-kutta.import") ) ; Assoc list with properties for your extension: `((version ,version) )) ;; From setup-header.scm by Kon Lovett (define (installation-chicken-home) (if (not (installation-prefix)) (chicken-home) (make-pathname `(,(installation-prefix) "share") "chicken") ) ) ;;; Constants & Procedures (define SHARED-DIR (installation-chicken-home)) (define FLSIM-DIR (make-pathname SHARED-DIR "flsim")) ;; File Copy Operations (define (copy-file-to-flsim-dir fn) (let ([fn (->string fn)]) (copy-file fn (make-pathname FLSIM-DIR fn)) ) ) (copy-file-to-flsim-dir "sml-lib/rk/rk.sml") (copy-file-to-flsim-dir "sml-lib/rk/rk.mlb") (copy-file-to-flsim-dir "octave-lib/ode15s.m")