From: espen Date: Wed, 30 Aug 2006 11:11:03 +0000 (+0000) Subject: Fixes for Mac OS X X-Git-Tag: clg-0-93~270 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/commitdiff_plain/4b6349021e75a76b83d15dc62a54906be063f996?ds=sidebyside Fixes for Mac OS X --- diff --git a/glib/gtype.lisp b/glib/gtype.lisp index d5a4e74..ee80f97 100644 --- a/glib/gtype.lisp +++ b/glib/gtype.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: gtype.lisp,v 1.55 2006/08/25 10:37:33 espen Exp $ +;; $Id: gtype.lisp,v 1.56 2006/08/30 11:11:03 espen Exp $ (in-package "GLIB") @@ -208,17 +208,18 @@ (defun %find-types-in-library (pathname prefixes ignore) (run-program "/usr/bin/nm" #+clisp :arguments - (list "--defined-only" "-D" (namestring (truename pathname))) + (list #-darwin"--defined-only" #-darwin"-D" "-g" #+darwin"-f" (namestring (truename pathname))) :output :stream :wait nil))) (unwind-protect (loop - as symbol = (let ((line (read-line - #+(or cmu sbcl) - (process-output process) - #+clisp process - nil))) - (when line - (subseq line (1+ (position #\Space line :from-end t))))) + as symbol = (let* ((line (read-line + #+(or cmu sbcl) + (process-output process) + #+clisp process + nil)) + (pos (position #\Space line :from-end t))) + (when (and line #+darwin(char= (char line (1- pos)) #\T)) + (subseq line (1+ pos)))) while symbol when (and (> (length symbol) 9) @@ -624,4 +625,4 @@ (defexport define-types-by-introspection (prefix &rest args) ;;;; Initialize all non static types in GObject -(init-types-in-library #.(concatenate 'string (pkg-config:pkg-variable "glib-2.0" "libdir") "/libgobject-2.0.so")) +(init-types-in-library #.(concatenate 'string (pkg-config:pkg-variable "glib-2.0" "libdir") "/libgobject-2.0." asdf:*dso-extension*))