diff --git a/init/init.lisp b/init/init.lisp index dd807f6c744e46541b2a0849b6172a130c2754cc..8b087cde6856a2f646425e2f6c76d94c6d5b8ccf 100644 --- a/init/init.lisp +++ b/init/init.lisp @@ -1,8 +1,8 @@ ;; Load GSL ;; Liam Healy Sat Mar 4 2006 - 18:53 -;; Time-stamp: <2013-11-24 19:08:18EST init.lisp> +;; Time-stamp: <2015-08-02 14:35:57EDT init.lisp> ;; -;; Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013 Liam M. Healy +;; Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2015 Liam M. Healy ;; Distributed under the terms of the GNU General Public License ;; ;; This program is free software: you can redistribute it and/or modify @@ -55,6 +55,7 @@ (in-package :gsl) +;;#+darwin (eval-when (:compile-toplevel :load-toplevel :execute) (defun gsl-config (arg) "A wrapper for tool `gsl-config'." @@ -63,9 +64,19 @@ (asdf:run-shell-command "gsl-config ~s" arg))) (read-line s) (read-line s))) - #+unix + (defparameter *gsl-libpath* + (let ((gsl-config-libs (gsl-config "--libs"))) + (when (eql 2 (mismatch gsl-config-libs "-L" :test #'string=)) + (uiop:ensure-directory-pathname + (uiop:ensure-absolute-pathname + (pathname + (subseq gsl-config-libs 2 (position #\space gsl-config-libs))))))) + "The path to the GSL libraries; gsl-config must return -L result first.") (defun gsl-config-pathname (pn) - (merge-pathnames pn (pathname (format nil "~a/" (gsl-config "--prefix")))))) + (namestring (uiop:merge-pathnames* pn *gsl-libpath*)))) + +#-darwin ; unneeded other than macosx +(defun gsl-config-pathname (pn) pn) (cffi:define-foreign-library libgslcblas (:darwin #+ccl #.(ccl:native-translated-namestring