chiark / gitweb /
Shared object files given unique names
[clg] / glib / glib.asd
1 ;;; -*- Mode: lisp -*-
2
3 (asdf:oos 'asdf:load-op :clg-tools)
4 (asdf:oos 'asdf:load-op :gffi)
5
6 (defpackage "GLIB-SYSTEM"
7   (:use "COMMON-LISP" "ASDF" "PKG-CONFIG"))
8
9 ;;; Better put this in ~/.cmucl-init.lisp or some other file read at startup
10 ;; (setf
11 ;;  (logical-pathname-translations "clg")
12 ;;  '(("**;*.*.*" "/home/espen/src/clg/**/")))
13
14 (in-package "GLIB-SYSTEM")
15
16 (pkg-exists-p "glib-2.0" :atleast-version "2.4.0" :error t)
17
18 (defsystem glib
19     :depends-on (clg-tools gffi)
20     :components ((:file "defpackage")
21                  ;; For preloading to work in glib 2.6, the library needs to 
22                  ;; be configured and build with '--disable-visibility'
23                  (:shared-object "glib-preload" :pathname "preload/"
24                   :components ((:c-source-file "logging"
25                                 :cflags #.(pkg-cflags "glib-2.0"))))
26                  (:library "libglib-2.0"
27                   :libdir #.(pkg-libdir "glib-2.0")
28                   :libname #-win32 "libglib-2.0"
29                            #+win32 "libglib-2.0-0"
30                   :depends-on ("glib-preload"))
31                  (:library "libgobject-2.0"
32                   :libdir #.(pkg-libdir "glib-2.0")
33                   :libname #-win32 "libgobject-2.0"
34                            #+win32 "libgobject-2.0-0"
35                   :depends-on ("libglib-2.0"))
36                  (:shared-object "glib-alien" :pathname "alien/"
37                   :components ((:c-source-file "gobject" 
38                                 :cflags #.(pkg-cflags "glib-2.0")))
39                   :depends-on ("libgobject-2.0"))
40                  (:file "glib" :depends-on ("libglib-2.0" "defpackage"))
41                  (:file "gtype" :depends-on ("glib-alien" "libgobject-2.0" "glib"))
42                  (:file "gboxed" :depends-on ("gtype"))
43                  (:file "genums" :depends-on ("gtype"))
44                  (:file "gparam" :depends-on ("genums"))
45                  (:file "gobject" :depends-on ("gparam"))
46                  (:file "ginterface" :depends-on ("gobject"))
47                  (:file "gcallback" :depends-on ("gtype" "gparam" "gobject"))
48                  (:file "gerror" :depends-on ("gcallback"))))