chiark / gitweb /
Improved support for multiple OS platforms
[clg] / glib / gtype.lisp
index 747f0a82acbb8f743ff431f2f1a999afbff5eb36..e24b6b8d1699a5980328aaea0abb78dcf29bd6ee 100644 (file)
@@ -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.61 2007-02-23 12:53:08 espen Exp $
+;; $Id: gtype.lisp,v 1.62 2007-06-06 10:43:54 espen Exp $
 
 (in-package "GLIB")
 
@@ -246,8 +246,9 @@   (defun %find-types-in-library (pathname prefixes ignore)
         process)))))
 
 
-(defmacro init-types-in-library (filename &key prefix ignore)
-  (let ((names (%find-types-in-library filename prefix ignore)))
+(defmacro init-types-in-library (system library &key prefix ignore)
+  (let* ((filename (asdf:component-pathname (asdf:find-component (asdf:find-system system) library)))
+        (names (%find-types-in-library filename prefix ignore)))
     `(progn
        ,@(mapcar #'(lambda (name)
                     `(progn
@@ -513,7 +514,7 @@ (defun find-type-dependencies (type &optional options)
 
 ;; The argument is a list where each elements is on the form 
 ;; (type . dependencies). This function will not handle indirect
-;; dependencies and types depending on them selve.
+;; dependencies and types depending on them selves.
 (defun sort-types-topologicaly (unsorted)
   (flet ((depend-p (type1)
            (find-if #'(lambda (type2)
@@ -627,4 +628,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." asdf:*dso-extension*))
+(init-types-in-library glib "libgobject-2.0")