-(use-foreign-library gdk)
-(use-foreign-library gdk-pixbuf)
\ No newline at end of file
+ (define-foreign-library gtk
+ ((:and :unix (:not :darwin)) (:or "libgtk-x11-2.0.so.0" "libgtk-x11-2.0.so"))
+ (:darwin (:or "libgtk-x11-2.0.0.dylib" "libgtk-x11-2.0.dylib"))
+ (:windows (:or "libgtk-2.0-0.dll" "libgtk-win32-2.0-0.dll"))
+ (t "libgtk-2.0")))
+
+ (use-foreign-library gdk)
+ (use-foreign-library gdk-pixbuf)
+ (use-foreign-library gtk))
+
+(defcvar (*gtk-major-version* "gtk_major_version" :read-only t :library gtk) :uint)
+(defcvar (*gtk-minor-version* "gtk_minor_version" :read-only t :library gtk) :uint)
+(defcvar (*gtk-micro-version* "gtk_micro_version" :read-only t :library gtk) :uint)
+(defcvar (*gtk-binary-age* "gtk_binary_age" :read-only t :library gtk) :uint)
+(defcvar (*gtk-interface-age* "gtk_interface_age" :read-only t :library gtk) :uint)
+
+(glib:push-library-version-features gtk *gtk-major-version* *gtk-minor-version*
+ 2 2
+ 2 4
+ 2 6
+ 2 8
+ 2 10
+ 2 12
+ 2 14
+ 2 16
+ 2 18)
+
+(glib:require-library-version "Gtk+" 2 16 *gtk-major-version* *gtk-minor-version*)