Commit 6f287646 authored by Liam Healy's avatar Liam Healy

Handle cflags in the grovel file

Handle conditional cflags in the grovel file instead of modifying the
cffi-grovel::*cc-flags* variable.  Also use strings for depends-on
in asdf file.
parent 9a311b1b
;; CFFI-Grovel definitions for unix systems.
;; Liam Healy 2009-06-06 09:32:30EDT monte-carlo-structs.lisp
;; Time-stamp: <2009-06-06 09:36:24EDT monte-carlo-structs.lisp>
;; Time-stamp: <2009-08-23 10:19:40EDT monte-carlo-structs.lisp>
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_monte_plain.h")
......
;; CFFI-Grovel definitions for unix systems.
;; Liam Healy 2009-06-06 09:36:29EDT array-structs.lisp
;; Time-stamp: <2009-06-06 10:16:51EDT array-structs.lisp>
;; Time-stamp: <2009-08-23 10:15:51EDT array-structs.lisp>
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_block_double.h")
......
;; CFFI-Grovel definitions.
;; Liam Healy
;; Time-stamp: <2009-06-06 11:01:18EDT eigen-struct.lisp>
;; Time-stamp: <2009-08-23 10:18:04EDT eigen-struct.lisp>
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_eigen.h")
......
;; Definition of GSLL system
;; Liam Healy
;; Time-stamp: <2009-06-17 22:23:18EDT gsll.asd>
;; Time-stamp: <2009-08-23 10:31:19EDT gsll.asd>
(when (asdf:find-system :fsbv nil)
(pushnew :fsbv *features*))
......@@ -22,93 +22,100 @@
(cffi-grovel:grovel-file "libgsl" :pathname #+unix "libgsl-unix")
(:file "utility")
(:file "forms")
(:file "conditions" :depends-on (init libgsl))
(:file "number-conversion" :depends-on (init libgsl))
(:file "callback-compile-defs" :depends-on (init))
(:file "mobject" :depends-on (init callback-compile-defs))
(:file "callback-included" :depends-on (mobject))
(:file "conditions" :depends-on ("init" "libgsl"))
(:file "number-conversion" :depends-on ("init" "libgsl"))
(:file "callback-compile-defs" :depends-on ("init"))
(:file "mobject" :depends-on ("init" "callback-compile-defs"))
(:file "callback-included" :depends-on ("mobject"))
(:file "callback"
:depends-on (init utility forms number-conversion callback-included))
(:file "types" :depends-on (init libgsl))
(cffi-grovel:grovel-file "callback-struct" :depends-on (types libgsl))
(:file "funcallable" :depends-on (utility))
(:file "complex-types" :depends-on (types))
(:file "element-types" :depends-on (init complex-types))
:depends-on
("init" "utility" "forms" "number-conversion"
"callback-included"))
(:file "types" :depends-on ("init" "libgsl"))
(cffi-grovel:grovel-file "callback-struct"
:depends-on ("types" "libgsl"))
(:file "funcallable" :depends-on ("utility"))
(:file "complex-types" :depends-on ("types"))
(:file "element-types" :depends-on ("init" "complex-types"))
(:file "interface"
:depends-on (init conditions element-types number-conversion))
(:file "defmfun" :depends-on (init forms element-types interface))
(:file "defmfun-array" :depends-on (defmfun callback-included))
(:file "defmfun-single" :depends-on (defmfun mobject callback))
(:file "body-expand" :depends-on (defmfun mobject callback))
(:file "generate-examples" :depends-on (init))))
:depends-on ("init" "conditions" "element-types"
"number-conversion"))
(:file "defmfun"
:depends-on ("init" "forms" "element-types" "interface"))
(:file "defmfun-array"
:depends-on ("defmfun" "callback-included"))
(:file "defmfun-single"
:depends-on ("defmfun" "mobject" "callback"))
(:file "body-expand" :depends-on ("defmfun" "mobject" "callback"))
(:file "generate-examples" :depends-on ("init"))))
(:module floating-point
:depends-on (init)
:depends-on ("init")
:components
((:file "ieee-modes")
(:file "floating-point")))
(:module mathematical
:depends-on (init)
:depends-on ("init")
:components
((:file "mathematical")
#+fsbv
(:file "complex")))
(:module data
:depends-on (init)
:depends-on ("init")
:components
((:file "foreign-friendly")
(:file "foreign-array" :depends-on (foreign-friendly))
(:file "foreign-array" :depends-on ("foreign-friendly"))
(cffi-grovel:grovel-file "array-structs")
(:file "marray" :depends-on (foreign-array array-structs))
(:file "vector" :depends-on (marray array-structs))
(:file "matrix" :depends-on (marray vector array-structs))
(:file "maref" :depends-on (marray vector matrix))
(:file "both" :depends-on (marray vector matrix))
(:file "marray" :depends-on ("foreign-array" "array-structs"))
(:file "vector" :depends-on ("marray" "array-structs"))
(:file "matrix" :depends-on ("marray" "vector" "array-structs"))
(:file "maref" :depends-on ("marray" "vector" "matrix"))
(:file "both" :depends-on ("marray" "vector" "matrix"))
(:file "copy-cl")
(:file "array-tests" :depends-on (both))
(:file "permutation" :depends-on (marray array-structs))
(:file "combination" :depends-on (marray array-structs))))
(:file "polynomial" :depends-on (init data))
(:file "array-tests" :depends-on ("both"))
(:file "permutation" :depends-on ("marray" "array-structs"))
(:file "combination" :depends-on ("marray" "array-structs"))))
(:file "polynomial" :depends-on ("init" "data"))
(:module special-functions
:depends-on (init)
:depends-on ("init")
:components
((cffi-grovel:grovel-file "sf-result")
(:file "return-structures" :depends-on (sf-result))
(:file "airy" :depends-on (return-structures))
(:file "bessel" :depends-on (return-structures))
(:file "clausen" :depends-on (return-structures))
(:file "coulomb" :depends-on (return-structures))
(:file "coupling" :depends-on (return-structures))
(:file "dawson" :depends-on (return-structures))
(:file "debye" :depends-on (return-structures))
(:file "dilogarithm" :depends-on (return-structures))
(:file "elementary" :depends-on (return-structures))
(:file "elliptic-integrals" :depends-on (return-structures))
(:file "elliptic-functions" :depends-on (return-structures))
(:file "error-functions" :depends-on (return-structures))
(:file "exponential-functions" :depends-on (return-structures))
(:file "exponential-integrals" :depends-on (return-structures))
(:file "fermi-dirac" :depends-on (return-structures))
(:file "gamma" :depends-on (return-structures))
(:file "gegenbauer" :depends-on (return-structures))
(:file "hypergeometric" :depends-on (return-structures))
(:file "laguerre" :depends-on (return-structures))
(:file "lambert" :depends-on (return-structures))
(:file "legendre" :depends-on (return-structures))
(:file "logarithm" :depends-on (return-structures))
(:file "mathieu" :depends-on (return-structures))
(:file "power" :depends-on (return-structures))
(:file "psi" :depends-on (return-structures))
(:file "synchrotron" :depends-on (return-structures))
(:file "transport" :depends-on (return-structures))
(:file "trigonometry" :depends-on (return-structures))
(:file "zeta" :depends-on (return-structures))))
(:file "sorting" :depends-on (init data))
(:file "return-structures" :depends-on ("sf-result"))
(:file "airy" :depends-on ("return-structures"))
(:file "bessel" :depends-on ("return-structures"))
(:file "clausen" :depends-on ("return-structures"))
(:file "coulomb" :depends-on ("return-structures"))
(:file "coupling" :depends-on ("return-structures"))
(:file "dawson" :depends-on ("return-structures"))
(:file "debye" :depends-on ("return-structures"))
(:file "dilogarithm" :depends-on ("return-structures"))
(:file "elementary" :depends-on ("return-structures"))
(:file "elliptic-integrals" :depends-on ("return-structures"))
(:file "elliptic-functions" :depends-on ("return-structures"))
(:file "error-functions" :depends-on ("return-structures"))
(:file "exponential-functions" :depends-on ("return-structures"))
(:file "exponential-integrals" :depends-on ("return-structures"))
(:file "fermi-dirac" :depends-on ("return-structures"))
(:file "gamma" :depends-on ("return-structures"))
(:file "gegenbauer" :depends-on ("return-structures"))
(:file "hypergeometric" :depends-on ("return-structures"))
(:file "laguerre" :depends-on ("return-structures"))
(:file "lambert" :depends-on ("return-structures"))
(:file "legendre" :depends-on ("return-structures"))
(:file "logarithm" :depends-on ("return-structures"))
(:file "mathieu" :depends-on ("return-structures"))
(:file "power" :depends-on ("return-structures"))
(:file "psi" :depends-on ("return-structures"))
(:file "synchrotron" :depends-on ("return-structures"))
(:file "transport" :depends-on ("return-structures"))
(:file "trigonometry" :depends-on ("return-structures"))
(:file "zeta" :depends-on ("return-structures"))))
(:file "sorting" :depends-on ("init" "data"))
(:module linear-algebra
:depends-on (init data special-functions)
:depends-on ("init" "data" "special-functions")
:components
((:file "blas1")
(:file "blas2")
(:file "blas3" :depends-on (blas2))
(:file "blas3" :depends-on ("blas2"))
(:file "exponential")
(:file "lu")
(:file "qr")
......@@ -118,57 +125,57 @@
(:file "diagonal")
(:file "householder")))
(:module eigensystems
:depends-on (init data)
:depends-on ("init" "data")
:components
((:file "symmetric-hermitian")
(cffi-grovel:grovel-file "eigen-struct")
(:file "nonsymmetric" :depends-on (eigen-struct))
(:file "nonsymmetric" :depends-on ("eigen-struct"))
(:file "generalized")
(:file "nonsymmetric-generalized")))
;; Skip fft for now, I'm not sure how it works in C
(:module random
:depends-on (init data)
:depends-on ("init" "data")
:components
((:file "rng-types")
(:file "generators" :depends-on (rng-types))
(:file "quasi" :depends-on (rng-types generators))
(:file "gaussian" :depends-on (rng-types))
(:file "gaussian-tail" :depends-on (rng-types))
(:file "gaussian-bivariate" :depends-on (rng-types))
(:file "exponential" :depends-on (rng-types))
(:file "laplace" :depends-on (rng-types))
(:file "exponential-power" :depends-on (rng-types))
(:file "cauchy" :depends-on (rng-types))
(:file "rayleigh" :depends-on (rng-types))
(:file "rayleigh-tail" :depends-on (rng-types))
(:file "landau" :depends-on (rng-types))
(:file "levy" :depends-on (rng-types))
(:file "gamma" :depends-on (rng-types))
(:file "flat" :depends-on (rng-types))
(:file "lognormal" :depends-on (rng-types))
(:file "chi-squared" :depends-on (rng-types))
(:file "fdist" :depends-on (rng-types))
(:file "tdist" :depends-on (rng-types))
(:file "beta" :depends-on (rng-types))
(:file "logistic" :depends-on (rng-types))
(:file "pareto" :depends-on (rng-types))
(:file "spherical-vector" :depends-on (rng-types))
(:file "weibull" :depends-on (rng-types))
(:file "gumbel1" :depends-on (rng-types))
(:file "gumbel2" :depends-on (rng-types))
(:file "dirichlet" :depends-on (rng-types))
(:file "discrete" :depends-on (rng-types))
(:file "poisson" :depends-on (rng-types))
(:file "bernoulli" :depends-on (rng-types))
(:file "binomial" :depends-on (rng-types))
(:file "multinomial" :depends-on (rng-types))
(:file "negative-binomial" :depends-on (rng-types))
(:file "geometric" :depends-on (rng-types))
(:file "hypergeometric" :depends-on (rng-types))
(:file "logarithmic" :depends-on (rng-types))
(:file "shuffling-sampling" :depends-on (rng-types))))
(:file "generators" :depends-on ("rng-types"))
(:file "quasi" :depends-on ("rng-types" "generators"))
(:file "gaussian" :depends-on ("rng-types"))
(:file "gaussian-tail" :depends-on ("rng-types"))
(:file "gaussian-bivariate" :depends-on ("rng-types"))
(:file "exponential" :depends-on ("rng-types"))
(:file "laplace" :depends-on ("rng-types"))
(:file "exponential-power" :depends-on ("rng-types"))
(:file "cauchy" :depends-on ("rng-types"))
(:file "rayleigh" :depends-on ("rng-types"))
(:file "rayleigh-tail" :depends-on ("rng-types"))
(:file "landau" :depends-on ("rng-types"))
(:file "levy" :depends-on ("rng-types"))
(:file "gamma" :depends-on ("rng-types"))
(:file "flat" :depends-on ("rng-types"))
(:file "lognormal" :depends-on ("rng-types"))
(:file "chi-squared" :depends-on ("rng-types"))
(:file "fdist" :depends-on ("rng-types"))
(:file "tdist" :depends-on ("rng-types"))
(:file "beta" :depends-on ("rng-types"))
(:file "logistic" :depends-on ("rng-types"))
(:file "pareto" :depends-on ("rng-types"))
(:file "spherical-vector" :depends-on ("rng-types"))
(:file "weibull" :depends-on ("rng-types"))
(:file "gumbel1" :depends-on ("rng-types"))
(:file "gumbel2" :depends-on ("rng-types"))
(:file "dirichlet" :depends-on ("rng-types"))
(:file "discrete" :depends-on ("rng-types"))
(:file "poisson" :depends-on ("rng-types"))
(:file "bernoulli" :depends-on ("rng-types"))
(:file "binomial" :depends-on ("rng-types"))
(:file "multinomial" :depends-on ("rng-types"))
(:file "negative-binomial" :depends-on ("rng-types"))
(:file "geometric" :depends-on ("rng-types"))
(:file "hypergeometric" :depends-on ("rng-types"))
(:file "logarithmic" :depends-on ("rng-types"))
(:file "shuffling-sampling" :depends-on ("rng-types"))))
(:module statistics
:depends-on (init data)
:depends-on ("init" "data")
:components
((:file "mean-variance")
(:file "absolute-deviation")
......@@ -178,60 +185,60 @@
;; minimum and maximum values provided in vector.lisp
(:file "median-percentile")))
(:module histogram
:depends-on (init linear-algebra random)
:depends-on ("init" "linear-algebra" "random")
:components
((:file "histogram")
(:file "updating-accessing" :depends-on (histogram))
(:file "statistics" :depends-on (histogram))
(:file "operations" :depends-on (histogram))
(:file "probability-distribution" :depends-on (histogram))
(:file "updating-accessing" :depends-on ("histogram"))
(:file "statistics" :depends-on ("histogram"))
(:file "operations" :depends-on ("histogram"))
(:file "probability-distribution" :depends-on ("histogram"))
(:file "ntuple")))
(:module calculus
:depends-on (init data random)
:depends-on ("init" "data" "random")
:components
((:file "numerical-integration")
(:file "numerical-integration-with-tables"
:depends-on (numerical-integration))
:depends-on ("numerical-integration"))
(cffi-grovel:grovel-file "monte-carlo-structs")
(:file "monte-carlo")
(:file "numerical-differentiation")))
(:module ordinary-differential-equations
:depends-on (init)
:depends-on ("init")
:components
((:file "ode-system")
(cffi-grovel:grovel-file "ode-struct")
(:file "stepping" :depends-on (ode-struct))
(:file "stepping" :depends-on ("ode-struct"))
(:file "control")
(:file "evolution")
(:file "ode-example" :depends-on (ode-system stepping))))
(:file "ode-example" :depends-on ("ode-system" "stepping"))))
(:module interpolation
:depends-on (init)
:depends-on ("init")
:components
((:file "interpolation")
(:file "types" :depends-on (interpolation))
(:file "types" :depends-on ("interpolation"))
(:file "lookup")
(:file "evaluation")
(:file "spline-example" :depends-on (types))))
(:file "chebyshev" :depends-on (init))
(:file "spline-example" :depends-on ("types"))))
(:file "chebyshev" :depends-on ("init"))
(cffi-grovel:grovel-file "series-struct")
(:file "series-acceleration" :depends-on (init series-struct))
(:file "wavelet" :depends-on (init data))
(:file "hankel" :depends-on (init data))
(:file "series-acceleration" :depends-on ("init" "series-struct"))
(:file "wavelet" :depends-on ("init" "data"))
(:file "hankel" :depends-on ("init" "data"))
(:module solve-minimize-fit
:depends-on (init data random)
:depends-on ("init" "data" "random")
:components
((:file "generic")
(cffi-grovel:grovel-file "solver-struct")
(:file "roots-one" :depends-on (generic))
(:file "minimization-one" :depends-on (generic))
(:file "roots-multi" :depends-on (roots-one generic solver-struct))
(:file "minimization-multi" :depends-on (generic))
(:file "roots-one" :depends-on ("generic"))
(:file "minimization-one" :depends-on ("generic"))
(:file "roots-multi" :depends-on ("roots-one" "generic" "solver-struct"))
(:file "minimization-multi" :depends-on ("generic"))
(:file "linear-least-squares")
(:file "nonlinear-least-squares"
:depends-on (generic solver-struct))
:depends-on ("generic" "solver-struct"))
#+fsbv
(:file "simulated-annealing")))
(:file "basis-splines" :depends-on (init data random))
(:file "basis-splines" :depends-on ("init" "data" "random"))
(:module physical-constants
:components
((cffi-grovel:grovel-file "mksa")
......
;; GSL structures for holding functions
;; Liam Healy 2009-04-04 22:15:56EDT callback-struct.lisp
;; Time-stamp: <2009-06-06 10:50:41EDT callback-struct.lisp>
;; Time-stamp: <2009-08-23 10:15:52EDT callback-struct.lisp>
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_math.h")
......
;; Load GSL
;; Liam Healy Sat Mar 4 2006 - 18:53
;; Time-stamp: <2009-08-22 16:19:52EDT init.lisp>
;; Time-stamp: <2009-08-23 10:15:53EDT init.lisp>
;; $Id$
(defpackage gsll
(:nicknames :gsl)
(:use :common-lisp :cffi))
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(setf cffi-grovel::*cc-flags*
(append '("-I" "/opt/local/include/") cffi-grovel::*cc-flags*))
(cffi:define-foreign-library libgslcblas
(:darwin
(:or "/opt/local/lib/libgslcblas.dylib" "/sw/lib/libgslcblas.dylib"
......
;; CFFI-Grovel definitions for unix systems.
;; Liam Healy 2009-05-25 13:10:50EDT libgsl-unix.lisp
;; Time-stamp: <2009-05-25 16:32:12EDT libgsl-unix.lisp>
;; Time-stamp: <2009-08-23 10:07:35EDT libgsl-unix.lisp>
;; $Id: $
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_integration.h")
......
;; Define the structure for ODEs
;; Liam Healy 2009-06-06 16:42:29EDT ode-struct.lisp
;; Time-stamp: <2009-06-06 17:08:02EDT ode-struct.lisp>
;; Time-stamp: <2009-08-23 10:20:07EDT ode-struct.lisp>
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_odeiv.h")
......
;; Physical constants in the CGSM system
;; Liam Healy 2009-05-25 17:01:32EDT cgsm.lisp
;; Time-stamp: <2009-06-08 09:59:10EDT cgsm.lisp>
;; Time-stamp: <2009-08-23 10:24:52EDT cgsm.lisp>
;; $Id: $
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_const_cgsm.h")
......
;; Physical constants in the MKSA system
;; Liam Healy 2009-05-25 17:01:32EDT mksa.lisp
;; Time-stamp: <2009-06-08 09:58:54EDT mksa.lisp>
;; Time-stamp: <2009-08-23 10:24:53EDT mksa.lisp>
;; $Id: $
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_const_mksa.h")
......
;; Define the structure for series
;; Liam Healy 2009-06-06 11:08:11EDT series-struct.lisp
;; Time-stamp: <2009-06-06 16:44:41EDT series-struct.lisp>
;; Time-stamp: <2009-08-23 10:22:16EDT series-struct.lisp>
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_sum.h")
......
;; Define the structures for solvers
;; Liam Healy 2009-06-06 16:46:38EDT solver-struct.lisp
;; Time-stamp: <2009-06-06 17:09:33EDT solver-struct.lisp>
;; Time-stamp: <2009-08-23 10:22:16EDT solver-struct.lisp>
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_multifit_nlin.h")
......
;; CFFI-Grovel definitions for unix systems.
;; Liam Healy
;; Time-stamp: <2009-06-06 10:54:09EDT sf-result.lisp>
;; Time-stamp: <2009-08-23 10:17:08EDT sf-result.lisp>
(in-package :gsl)
#+linux
(define "_GNU_SOURCE")
(in-package :gsl)
;;; When installed through Mac Ports, GSL .h files will be found
;;; in /opt/local/include.
#+darwin
(cc-flags "-I/opt/local/include/")
(include "gsl/gsl_sf_result.h")
......
Markdown is supported
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