]> icculus.org git repositories - dana/openbox.git/blob - configure.ac
wip: loading theme stuff
[dana/openbox.git] / configure.ac
1 AC_PREREQ([2.54])
2 AC_INIT([openbox], [3.5.0], [http://bugzilla.icculus.org])
3 AM_INIT_AUTOMAKE
4 AC_CONFIG_SRCDIR([openbox/openbox.c])
5
6 OB_VERSION=$PACKAGE_VERSION
7 AC_SUBST(OB_VERSION)
8
9 dnl Making releases:
10 dnl   RR_MICRO_VERSION += 1;
11 dnl   RR_INTERFACE_AGE += 1;
12 dnl   R_BINARY_AGE += 1;
13 dnl if any functions have been added, set RR_INTERFACE_AGE to 0.
14 dnl if backwards compatibility has been broken,
15 dnl set RR_BINARY_AGE and RR_INTERFACE_AGE to 0.
16 dnl
17 dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match
18 dnl
19 RR_MAJOR_VERSION=3
20 RR_MINOR_VERSION=5
21 RR_MICRO_VERSION=28
22 RR_INTERFACE_AGE=1
23 RR_BINARY_AGE=1
24 RR_VERSION=$RR_MAJOR_VERSION.$RR_MINOR_VERSION
25
26 OBT_MAJOR_VERSION=3
27 OBT_MINOR_VERSION=5
28 OBT_MICRO_VERSION=1
29 OBT_INTERFACE_AGE=1
30 OBT_BINARY_AGE=1
31 OBT_VERSION=$OBT_MAJOR_VERSION.$OBT_MINOR_VERSION
32
33 AC_SUBST(RR_MAJOR_VERSION)
34 AC_SUBST(RR_MINOR_VERSION)
35 AC_SUBST(RR_MICRO_VERSION)
36 AC_SUBST(RR_INTERFACE_AGE)
37 AC_SUBST(RR_BINARY_AGE)
38 AC_SUBST(RR_VERSION)
39 AC_SUBST(OBT_MAJOR_VERSION)
40 AC_SUBST(OBT_MINOR_VERSION)
41 AC_SUBST(OBT_MICRO_VERSION)
42 AC_SUBST(OBT_INTERFACE_AGE)
43 AC_SUBST(OBT_BINARY_AGE)
44 AC_SUBST(OBT_VERSION)
45
46 dnl Libtool versioning
47 RR_RELEASE=$RR_MAJOR_VERSION.$RR_MINOR_VERSION
48 RR_CURRENT=`expr $RR_MICRO_VERSION - $RR_INTERFACE_AGE`
49 RR_REVISION=$RR_INTERFACE_AGE
50 RR_AGE=`expr $RR_BINARY_AGE - $RR_INTERFACE_AGE`
51 RR_CURRENT_MINUS_AGE=`expr $RR_CURRENT - $RR_AGE`
52
53 OBT_RELEASE=$OBT_MAJOR_VERSION.$OBT_MINOR_VERSION
54 OBT_CURRENT=`expr $OBT_MICRO_VERSION - $OBT_INTERFACE_AGE`
55 OBT_REVISION=$OBT_INTERFACE_AGE
56 OBT_AGE=`expr $OBT_BINARY_AGE - $OBT_INTERFACE_AGE`
57 OBT_CURRENT_MINUS_AGE=`expr $OBT_CURRENT - $OBT_AGE`
58
59 AC_SUBST(RR_RELEASE)
60 AC_SUBST(RR_CURRENT)
61 AC_SUBST(RR_REVISION)
62 AC_SUBST(RR_AGE)
63 AC_SUBST(RR_CURRENT_MINUS_AGE)
64 AC_SUBST(OBT_RELEASE)
65 AC_SUBST(OBT_CURRENT)
66 AC_SUBST(OBT_REVISION)
67 AC_SUBST(OBT_AGE)
68 AC_SUBST(OBT_CURRENT_MINUS_AGE)
69
70 AC_PREFIX_DEFAULT([/usr/local])
71 test "$prefix" = "NONE" && prefix=$ac_default_prefix
72
73 dnl Determine build target
74 OB_DEBUG
75 dnl Pick compiler specific/build target flags, and set $CVS
76 AM_PROG_CC_C_O
77 OB_COMPILER_FLAGS
78 AC_C_CONST
79 AC_C_INLINE
80
81 AC_PROG_LIBTOOL
82 AC_SUBST(LIBTOOL_DEPS)
83 LIBTOOL="$LIBTOOL --silent"
84
85 AC_PROG_INSTALL
86
87 AM_GNU_GETTEXT_VERSION(0.15)
88 AM_GNU_GETTEXT([external])
89
90 AC_CHECK_HEADERS(ctype.h dirent.h errno.h fcntl.h grp.h locale.h pwd.h)
91 AC_CHECK_HEADERS(signal.h string.h stdio.h stdlib.h unistd.h sys/stat.h)
92 AC_CHECK_HEADERS(sys/select.h sys/socket.h sys/time.h sys/types.h sys/wait.h)
93
94 AC_ARG_ENABLE(inotify,
95   AC_HELP_STRING(
96     [--disable-inotify],
97     [disable inotify support [default=enabled]]
98   ),
99   [enable_inotify=$enableval],
100   [enable_inotify=yes]
101 )
102 if test "$enable_inotify" = yes; then
103   AC_CHECK_HEADERS(sys/inotify.h)
104 fi
105
106 AC_PATH_PROG([SED], [sed], [no])
107 if test "$SED" = "no"; then
108   AC_MSG_ERROR([The program "sed" is not available. This program is required to build Openbox.])
109 fi
110
111 AC_PATH_PROG([DIRNAME], [dirname], [no])
112 if test "$DIRNAME" = "no"; then
113   AC_MSG_ERROR([The program "dirname" is not available. This program is required to build Openbox.])
114 fi
115
116 PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.14.0])
117 AC_SUBST(GLIB_CFLAGS)
118 AC_SUBST(GLIB_LIBS)
119
120 PKG_CHECK_MODULES(PANGO, [pango >= 1.8.0 pangoxft >= 1.8.0])
121 AC_SUBST(PANGO_CFLAGS)
122 AC_SUBST(PANGO_LIBS)
123
124 PKG_CHECK_MODULES(XML, [libxml-2.0 >= 2.6.0])
125 AC_SUBST(XML_CFLAGS)
126 AC_SUBST(XML_LIBS)
127
128 AC_ARG_ENABLE(startup-notification,
129   AC_HELP_STRING(
130     [--disable-startup-notification],
131     [disable the startup notification library. [default=enabled]]
132   ),
133   [enable_sn=$enableval],
134   [enable_sn=yes]
135 )
136
137 if test "$enable_sn" = yes; then
138 PKG_CHECK_MODULES(LIBSN, [libstartup-notification-1.0 >= 0.8],
139   [
140     AC_DEFINE(USE_LIBSN, [1], [Use startup-notification])
141     AC_SUBST(LIBSN_CFLAGS)
142     AC_SUBST(LIBSN_LIBS)
143     sn_found=yes
144   ],
145   [
146     sn_found=no
147   ]
148 )
149 else
150   sn_found=no
151 fi
152
153 AC_ARG_ENABLE(xcursor,
154   AC_HELP_STRING(
155     [--disable-xcursor],
156     [disable use of the X Cursor library. [default=enabled]]
157   ),
158   [enable_xcursor=$enableval],
159   [enable_xcursor=yes]
160 )
161
162 if test "$enable_xcursor" = yes; then
163 PKG_CHECK_MODULES(XCURSOR, [xcursor],
164   [
165     AC_DEFINE(USE_XCURSOR, [1], [Use X Cursor library])
166     AC_SUBST(XCURSOR_CFLAGS)
167     AC_SUBST(XCURSOR_LIBS)
168     xcursor_found=yes
169   ],
170   [
171     xcursor_found=no
172   ]
173 )
174 else
175   xcursor_found=no
176 fi
177
178 AC_ARG_ENABLE(imlib2,
179   AC_HELP_STRING(
180     [--disable-imlib2],
181     [disable use of Imlib2 image library for loading icons. [default=enabled]]
182   ),
183   [enable_imlib2=$enableeval],
184   [enable_imlib2=yes]
185 )
186
187 if test "$enable_imlib2" = yes; then
188 PKG_CHECK_MODULES(IMLIB2, [imlib2],
189   [
190     AC_DEFINE(USE_IMLIB2, [1], [Use Imlib2 image library])
191     AC_SUBST(IMLIB2_CFLAGS)
192     AC_SUBST(IMLIB2_LIBS)
193     # export it for the pkg-config file
194     PKG_CONFIG_IMLIB=imlib2
195     AC_SUBST(PKG_CONFIG_IMLIB)
196     imlib2_found=yes
197   ],
198   [
199     imlib2_found=no
200   ]
201 )
202 else
203   imlib2_found=no
204 fi
205
206 AM_CONDITIONAL(USE_IMLIB2, [test $imlib2_found = yes])
207
208 dnl Check for session management
209 X11_SM
210
211 #EFENCE_LIBS=-lefence
212 EFENCE_LIBS=""
213 AC_SUBST(EFENCE_LIBS)
214
215 dnl Check for X11 extensions
216 X11_EXT_XKB
217 X11_EXT_XRANDR
218 X11_EXT_SHAPE
219 X11_EXT_XINERAMA
220 X11_EXT_SYNC
221 X11_EXT_AUTH
222
223 AC_CONFIG_FILES([
224   Makefile
225   m4/Makefile
226   po/Makefile.in
227   obrender/obrender-3.5.pc
228   obt/obt-3.5.pc
229   obrender/version.h
230   obt/version.h
231   version.h
232 ])
233 AC_CONFIG_COMMANDS([doc],
234                    [test -d doc || mkdir doc])
235 AC_CONFIG_COMMANDS([data],
236                    [test -d data || mkdir data])
237 AC_CONFIG_COMMANDS([data/xsession],
238                    [test -d data/xsession || mkdir data/xsession])
239 AC_OUTPUT
240
241 AC_MSG_RESULT
242 AC_MSG_RESULT([Compiling with these options:
243                Startup Notification... $sn_found
244                X Cursor Library... $xcursor_found
245                Session Management... $SM
246                Imlib2 library... $imlib2_found
247                ])
248 AC_MSG_RESULT([configure complete, now type "make"])