Removed obsoleted code to work around a bug in gdk, at least version
[clg] / clg.system
1 ;;; -*- Mode: lisp -*-
2
3 (defpackage "CLG-SYSTEM"
4 (:use "COMMON-LISP" "EXTENSIONS" "ALIEN")
5 (:export "*GTK-LIBRARY-PATH*"))
6
7 (in-package "CLG-SYSTEM")
8
9 ;; We used to do this, but I think it's better if everybody puts such
10 ;; definitions in his/her own Lisp startup files so that clg.system
11 ;; can be used without local modifications.
12 ;(setf
13 ; (logical-pathname-translations "clg")
14 ; '(("**;*.*.*" "/home/espen/src/clg/**/*.*.*")))
15
16 ;; Uncomment and edit the next line if pkg-config needs to search for
17 ;; .pc files in directories other than the default (/usr/lib/pkgconfig)
18 ;(push '(:PKG_CONFIG_PATH . "/opt/gnome/lib/pkgconfig") ext:*environment-list*)
19
20 (load "clg:tools;config")
21 (load "clg:tools;sharedlib")
22
23 (defvar *gtk-library-path* (pkg-variable "gtk+-2.0" "libdir"))
24 (defvar *cmucl-include-path* (ext:unix-namestring "target:lisp"))
25
26 ;; Without this, MAKE uses "CLG:glib;.err" as a namestring, which fails.
27 ;; TODO: Find and fix the bug, then remove this.
28 (setq mk::*cmu-errors-to-file* nil)
29
30 (eval
31 `(mk:defsystem clg
32 :initially-do
33 (progn
34 (pkg-exists-p "glib-2.0" :atleast-version "1.3.12")
35 (pkg-exists-p "pango" :atleast-version "0.23")
36 (pkg-exists-p "gtk+-2.0" :atleast-version "1.3.12"))
37 :source-pathname "clg:"
38 :binary-pathname "clg:"
39 :components
40 ((:module tools
41 :components ("autoexport"))
42 (:file "pcl" :source-pathname "glib;" :binary-pathname "glib;")
43 (:module glib
44 :initially-do
45 (progn
46 (load-shared-library "libglib-1.3.so")
47 (load-shared-library "libgobject-1.3.so" :init "g_type_init"))
48 :components
49 ((:file "callback"
50 :language :c
51 :source-extension "c"
52 :binary-extension "o"
53 :compiler-options
54 (:cflags ,(pkg-cflags "glib-2.0")
55 :optimize 2
56 :definitions (#+cmu CMUCL)
57 :include-paths (,*cmucl-include-path*)))
58 (:file "glib-package")
59 (:file "gutils" :depends-on ("glib-package"))
60 (:file "gforeign" :depends-on ("gutils"))
61 (:file "glib" :depends-on ("gforeign"))
62 (:file "proxy" :depends-on ("glib"))
63 (:file "gtype" :depends-on ("proxy"))
64 (:file "gboxed" :depends-on ("gtype"))
65 (:file "genums" :depends-on ("gtype"))
66 (:file "gparam" :depends-on ("genums"))
67 (:file "gobject" :depends-on ("gparam"))
68 (:file "gcallback" :depends-on ("gtype" "gparam" "gobject" "callback"))
69 (:file "glib-export"
70 :depends-on
71 ("gutils" "glib" "proxy" "gboxed" "gtype" "gparam" "gcallback"
72 "genums" "gobject")))
73 :depends-on (tools "pcl"))
74 (:file "gdkglue"
75 :source-pathname "gdk;"
76 :binary-pathname "gdk;"
77 :initially-do
78 (progn
79 (load-shared-library "libgdk_pixbuf-1.3.so")
80 (load-shared-library "libgdk-x11-1.3.so"
81 :init "gdk_init"
82 :prototype '(function
83 c-call:void
84 system-area-pointer
85 system-area-pointer)
86 :initargs (list (system:int-sap 0) (system:int-sap 0))))
87 :language :c
88 :source-extension "c"
89 :binary-extension "o"
90 :compiler-options (:cflags ,(pkg-cflags "gtk+-2.0")
91 :optimize 2))
92 (:module gdk
93 :components
94 ((:file "gdk-package")
95 (:file "gdk-export" :depends-on ("gdkevents" "gdktypes" "gdk"))
96 (:file "gdktypes" :depends-on ("gdk-package"))
97 (:file "gdkevents" :depends-on ("gdktypes"))
98 (:file "gdk" :depends-on ("gdkevents")))
99 :depends-on (glib "gdkglue"))
100 (:module pango
101 :initially-do (load-shared-library "libpango.so")
102 :components
103 ((:file "pango-package")
104 (:file "pango" :depends-on ("pango-package"))
105 (:file "pango-export" :depends-on ("pango")))
106 :depends-on (glib))
107 (:file "gtkglue"
108 :source-pathname "gtk;"
109 :binary-pathname "gtk;"
110 :initially-do
111 (progn
112 (load-shared-library
113 "libgtk-x11-1.3.so"
114 :init "gtk_init"
115 :prototype '(function
116 c-call:void
117 system-area-pointer
118 system-area-pointer)
119 :initargs (list (system:int-sap 0) (system:int-sap 0))))
120 :language :c
121 :source-extension "c"
122 :binary-extension "o"
123 :compiler-options (:cflags ,(pkg-cflags "gtk+-2.0")
124 :optimize 2
125 :definitions (#+cmu CMUCL)
126 :include-paths (,*cmucl-include-path*)))
127 (:module gtk
128 :components
129 ((:file "gtk-package")
130 (:file "gtk-export" :depends-on ("gtktypes" "gtk"))
131 (:file "gtkobject" :depends-on ("gtk-package"))
132 (:file "gtktypes" :depends-on ("gtkobject"))
133 (:file "gtkwidget" :depends-on ("gtktypes"))
134 (:file "gtkcontainer" :depends-on ("gtktypes"))
135 (:file "gtk" :depends-on ("gtktypes"))
136 (:file "gtkutils" :depends-on ("gtk")))
137 :depends-on (glib gdk pango "gtkglue")))))
138
139
140