centralize glib loading as used by racket/draw and Gtk racket/gui

original commit: 5aff70029abb6bd804c156b412f1a2ab70ebfa23
This commit is contained in:
Matthew Flatt 2010-11-26 11:20:15 -07:00
parent f56c9fbe30
commit 86e4eed112

View File

@ -2,16 +2,17 @@
(require ffi/unsafe (require ffi/unsafe
ffi/unsafe/define ffi/unsafe/define
ffi/unsafe/alloc ffi/unsafe/alloc
racket/draw/unsafe/glib
(only-in '#%foreign ctype-c->scheme) (only-in '#%foreign ctype-c->scheme)
"../common/utils.rkt" "../common/utils.rkt"
"types.rkt") "types.rkt")
(provide (provide
define-mz define-mz
(protect-out define-gtk
define-gdk
define-gobj define-gobj
define-glib define-glib
(protect-out define-gtk
define-gdk
define-gdk_pixbuf define-gdk_pixbuf
g_object_ref g_object_ref
@ -56,27 +57,6 @@
(ffi-lib "libgdk_pixbuf-2.0-0") (ffi-lib "libgdk_pixbuf-2.0-0")
(ffi-lib "libgdk-win32-2.0-0")] (ffi-lib "libgdk-win32-2.0-0")]
[else (ffi-lib "libgdk-x11-2.0" '("0"))])) [else (ffi-lib "libgdk-x11-2.0" '("0"))]))
(define gobj-lib
(case (system-type)
[(windows)
(ffi-lib "libgobject-2.0-0")]
[(unix)
(ffi-lib "libgobject-2.0" '("0"))]
[else gdk-lib]))
(define glib-lib
(case (system-type)
[(windows)
(ffi-lib "libglib-2.0-0")]
[(unix)
(ffi-lib "libglib-2.0" '("0"))]
[else gdk-lib]))
(define gmodule-lib
(case (system-type)
[(windows)
(ffi-lib "libgmodule-2.0-0")]
[(unix)
(ffi-lib "libgmodule-2.0" '("0"))]
[else gdk-lib]))
(define gdk_pixbuf-lib (define gdk_pixbuf-lib
(case (system-type) (case (system-type)
[(windows) [(windows)
@ -91,9 +71,6 @@
[else (ffi-lib "libgtk-x11-2.0" '("0"))])) [else (ffi-lib "libgtk-x11-2.0" '("0"))]))
(define-ffi-definer define-gtk gtk-lib) (define-ffi-definer define-gtk gtk-lib)
(define-ffi-definer define-gobj gobj-lib)
(define-ffi-definer define-glib glib-lib)
(define-ffi-definer define-gmodule gmodule-lib)
(define-ffi-definer define-gdk gdk-lib) (define-ffi-definer define-gdk gdk-lib)
(define-ffi-definer define-gdk_pixbuf gdk_pixbuf-lib) (define-ffi-definer define-gdk_pixbuf gdk_pixbuf-lib)