chiark / gitweb /
Improved support for multiple OS platforms
authorespen <espen>
Wed, 6 Jun 2007 10:43:54 +0000 (10:43 +0000)
committerespen <espen>
Wed, 6 Jun 2007 10:43:54 +0000 (10:43 +0000)
atk/atk.lisp
gdk/gdktypes.lisp
glib/gtype.lisp
gtk/gtkobject.lisp
pango/pango.lisp

index 18371082e4b94b7c3fca13752dd29cc8cd7607f8..0c78e96471a3d092412c916af7a7c1677ca85a4c 100644 (file)
 ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-;; $Id: atk.lisp,v 1.6 2006-08-30 11:08:12 espen Exp $
+;; $Id: atk.lisp,v 1.7 2007-06-06 10:43:54 espen Exp $
 
 (in-package "ATK")
 
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
-  (init-types-in-library 
-   #.(concatenate 'string (pkg-config:pkg-variable "atk" "libdir") 
-                         "/libatk-1.0." asdf:*dso-extension*) :prefix "atk_"))
+  (init-types-in-library atk "libatk-1.0" :prefix "atk_"))
 
 (define-types-by-introspection "Atk")
index 97cba9d9adfecf8e937fac47fe9ab1e460c0ba3a..2adbb93c6c4d0ea3aa79b445bbdfa3dffabe4546 100644 (file)
 ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-;; $Id: gdktypes.lisp,v 1.27 2006-09-05 13:14:10 espen Exp $
+;; $Id: gdktypes.lisp,v 1.28 2007-06-06 10:43:54 espen Exp $
 
 (in-package "GDK")
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
-  (init-types-in-library #.(concatenate 'string
-                           (pkg-config:pkg-variable "gtk+-2.0" "libdir")
-                           "/libgdk-x11-2.0." asdf:*dso-extension*) :prefix ("gdk_" "_gdk_"))
-  (init-types-in-library #.(concatenate 'string
-                           (pkg-config:pkg-variable "gtk+-2.0" "libdir")
-                           "/libgdk_pixbuf-2.0." asdf:*dso-extension*) :prefix "gdk_"))
+  (init-types-in-library gdk "libgdk-2.0" :prefix ("gdk_" "_gdk_"))
+  (init-types-in-library gdk "libgdk_pixbuf-2.0" :prefix "gdk_"))
 
 
 (defclass color (boxed)
@@ -157,6 +153,7 @@ (define-types-by-introspection "Gdk"
      :reader display-devices
      :type (copy-of (glist device)))))
 
+  ;; TODO: add unbound options
   ("GdkDrawable"
    :slots
    ((display
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")
index 2444c08fdb52211bb5172e6c1eb347b145733807..f5376351785447fd37379af2fdbd59d57b7f71fc 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: gtkobject.lisp,v 1.41 2007-05-10 20:13:42 espen Exp $
+;; $Id: gtkobject.lisp,v 1.42 2007-06-06 10:43:54 espen Exp $
 
 
 (in-package "GTK")
@@ -29,9 +29,7 @@ (in-package "GTK")
 ;;;; Superclass for the gtk class hierarchy
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
-  (init-types-in-library 
-   #.(concatenate 'string (pkg-config:pkg-variable "gtk+-2.0" "libdir") 
-                         "/libgtk-x11-2.0." asdf:*dso-extension*))
+  (init-types-in-library gtk "libgtk-2.0")
 
   (defclass %object (gobject)
     ()
index 3a0a8f92a8d4ec078a87b4f250ca15a0f305809a..56eed96750f004a086e1172e24e95d892a3ee741 100644 (file)
 ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-;; $Id: pango.lisp,v 1.13 2007-04-06 14:51:26 espen Exp $
+;; $Id: pango.lisp,v 1.14 2007-06-06 10:43:54 espen Exp $
 
 (in-package "PANGO")
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
-  (init-types-in-library #.(concatenate 'string 
-                           (pkg-variable "pango" "libdir")
-                           "/libpango-1.0." asdf:*dso-extension*) 
-                        :prefix "pango_")
-  (init-types-in-library #.(concatenate 'string 
-                           (pkg-variable "pango" "libdir")
-                           "/libpangoxft-1.0." asdf:*dso-extension*) 
-                        :prefix "pango_xft")
-  (init-types-in-library #.(concatenate 'string 
-                           (pkg-variable "pango" "libdir")
-                           "/libpangoft2-1.0." asdf:*dso-extension*) 
-                        :prefix "pango_fc")
-  (init-types-in-library #.(concatenate 'string 
-                           (pkg-variable "pango" "libdir")
-                           "/libpangocairo-1.0." asdf:*dso-extension*) 
-                        :prefix "pango_cairo"))
+  (init-types-in-library pango "libpango-1.0" :prefix "pango_")
+  (init-types-in-library pango "libpangoxft-1.0" :prefix "pango_xft")
+  (init-types-in-library pango "libpangoft2-1.0" :prefix "pango_fc")
+  (init-types-in-library pango "libpangocairo-1.0" :prefix "pango_cairo"))
 
 
 (eval-when (:compile-toplevel :load-toplevel :execute)