chiark / gitweb /
Imported Debian patch 1.0.0-6
[e16] / configure.ac
1 m4_define([pkg_version],  [1.0.0])
2 dnl m4_define([pkg_revision], [901])
3 m4_define([pkg_version],  m4_ifdef([pkg_revision], [pkg_version.pkg_revision], [pkg_version]))
4 m4_define([rpm_revision], m4_ifdef([pkg_revision], [0.`date '+%y%m%d'`], [1]))
5
6 AC_INIT([e16], [pkg_version], [enlightenment-devel@lists.sourceforge.net])
7 AM_INIT_AUTOMAKE([foreign])
8
9 AC_SUBST(E_RPM_REVISION, [rpm_revision])
10
11 # reasonable guesses for where stuff is installed
12 if test "x$prefix" = "xNONE"; then
13   prefix=$ac_default_prefix
14 fi
15 if test "x$exec_prefix" = "xNONE"; then
16   exec_prefix=$prefix
17 fi
18
19 AM_MAINTAINER_MODE
20
21 AC_PROG_CC
22 AM_PROG_CC_C_O
23
24 AC_PROG_MAKE_SET
25 AC_PROG_INSTALL
26
27 PKG_PROG_PKG_CONFIG
28
29 AC_HEADER_STDC
30
31 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
32 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
33 define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
34 AC_ENABLE_SHARED
35 AC_DISABLE_STATIC
36 AC_LIBTOOL_DLOPEN
37 AC_PROG_LIBTOOL
38
39 AC_PATH_X
40 AC_PATH_XTRA
41
42 AC_CHECK_HEADERS(alloca.h locale.h stdarg.h wctype.h)
43
44 AC_TYPE_SIGNAL
45
46 AC_C_BIGENDIAN
47 AC_C_CONST
48 AC_C_INLINE
49 AC_C___ATTRIBUTE__
50 AC_CHECK_SIZEOF(int, 4)
51 AC_CHECK_SIZEOF(long, 4)
52 AC_CHECK_SIZEOF(wchar_t, 4)
53
54 AC_CHECK_FUNCS(snprintf)
55 AM_CONDITIONAL(USE_ESNPRINTF, test "x$ac_cv_func_snprintf" != "xyes")
56 AC_CHECK_FUNCS(strcasecmp strcasestr)
57 AC_CHECK_FUNCS(setenv unsetenv)
58 AC_CHECK_FUNCS(strdup strndup)
59
60 AC_CHECK_FUNCS(blumfrub)
61 AC_CHECK_FUNCS(buckets_of_erogenous_nym)
62 AC_CHECK_FUNCS(buttox)
63
64 AM_ICONV
65 AM_LANGINFO_CODESET
66
67 AM_GNU_GETTEXT([external])
68 AM_GNU_GETTEXT_VERSION([0.12.1])
69
70 AC_ARG_ENABLE(hints-gnome,
71   [  --enable-hints-gnome    compile with GNOME(<2.0) hints support @<:@default=no@:>@],,
72   enable_hints_gnome=no)
73
74 if test "x$enable_hints_gnome" = "xyes"; then
75   AC_DEFINE(ENABLE_GNOME, 1, [GNOME(<2.0) Hints])
76 fi
77 AM_CONDITIONAL(ENABLE_GNOME, test "x$enable_hints_gnome" = "xyes")
78
79 AC_ARG_ENABLE(sound,
80   [  --enable-sound          compile with sound support @<:@default=yes@:>@],,
81   enable_sound=yes)
82 if test "x$enable_sound" = "xyes"; then
83   AC_ARG_ENABLE(sound_pulse,
84     [  --enable-sound-pulse    compile with PulseAudio sound support @<:@default=no@:>@],,
85     enable_sound_pulse=no)
86   AC_ARG_ENABLE(sound_esound,
87     [  --enable-sound-esound   compile with EsounD sound support @<:@default=yes@:>@],,
88     enable_sound_esound=yes)
89 fi
90 enable_sound=no
91
92 if test "x$enable_sound_pulse" = "xyes"; then
93   PKG_CHECK_MODULES(PA, libpulse,, enable_sound_pulse=no)
94 fi
95 if test "x$enable_sound_pulse" = "xyes"; then
96   AC_DEFINE(HAVE_SOUND, 1, [Sound support])
97   AC_DEFINE(HAVE_SOUND_PA, 1, [PulseAudio sound support])
98   AC_DEFINE(USE_SOUND_LOADER_AUDIOFILE, 1, [Use audiofile sound loader])
99   PKG_CHECK_MODULES(AUDIOFILE, audiofile,,)
100   enable_sound=pulseaudio
101   enable_sound_esound=no
102   PA_LIBS="$PA_LIBS $AUDIOFILE_LIBS"
103 fi
104 AM_CONDITIONAL(USE_LIBPA, test "x$enable_sound_pulse" = "xyes")
105
106 if test "x$enable_sound_esound" = "xyes"; then
107   AM_PATH_ESD(0.2.17,,[
108     enable_sound_esound=no
109     AC_MSG_WARN([EsounD sound support was requested but not found.])
110   ])
111   AC_CHECK_HEADERS(audiofile.h,, enable_sound_esound=no)
112 fi
113 if test "x$enable_sound_esound" = "xyes"; then
114   AC_DEFINE(HAVE_SOUND, 1, [Sound support])
115   AC_DEFINE(HAVE_SOUND_ESD, 1, [EsounD sound support])
116   AC_DEFINE(USE_SOUND_LOADER_AUDIOFILE, 1, [Use audiofile sound loader])
117   enable_sound=esound
118 fi
119 AM_CONDITIONAL(USE_LIBESD, test "x$enable_sound_esound" = "xyes")
120
121 # Save CPPFLAGS/LDFLAGS and add X_... to each
122 SAVE_CPPFLAGS="$CPPFLAGS"
123 SAVE_LDFLAGS="$LDFLAGS"
124 CPPFLAGS="$X_CFLAGS $CPPFLAGS"
125 LDFLAGS="$X_LIBS $LDFLAGS"
126
127 PKG_CHECK_MODULES(IMLIB2, imlib2 >= 1.2.0, have_good_imlib2=yes)
128 AC_CHECK_LIB(Imlib2, imlib_context_set_mask_alpha_threshold,
129   AC_DEFINE(HAVE_IMLIB_CONTEXT_SET_MASK_ALPHA_THRESHOLD, 1,
130             [Imlib2 has imlib_context_set_mask_alpha_threshold]),,
131   $IMLIB2_LIBS)
132 AC_CHECK_LIB(Imlib2, imlib_context_disconnect_display,
133   AC_DEFINE(HAVE_IMLIB_CONTEXT_DISCONNECT_DISPLAY, 1,
134             [Imlib2 has imlib_context_disconnect_display]),,
135   $IMLIB2_LIBS)
136
137 AC_ARG_ENABLE(sm,
138   [  --enable-sm             compile with session management support @<:@default=yes@:>@],,
139   enable_sm=yes)
140 if test "x$enable_sm" = "xyes"; then
141   AC_CHECK_HEADERS(X11/SM/SMlib.h,, enable_sm=no)
142   AC_CHECK_LIB(SM, SmcOpenConnection, SM_LIBS="-lSM -lICE", enable_sm=no)
143   AC_SUBST(SM_LIBS)
144 fi
145 if test "x$enable_sm" = "xyes"; then
146   AC_DEFINE(USE_SM, 1, [Session management support])
147 fi
148
149 AC_ARG_ENABLE(pango,
150   [  --enable-pango          compile with pango-xft support @<:@default=no@:>@],,
151   enable_pango=no)
152 if test "x$enable_pango" = "xyes"; then
153   PKG_CHECK_MODULES(PANGO, pangoxft, AC_DEFINE(USE_PANGO, 1, [pango-xft support]), enable_pango=no)
154 fi
155 AM_CONDITIONAL(USE_LIBPANGO, test "x$enable_pango" = "xyes")
156
157 AC_ARG_ENABLE(xft,
158   [  --enable-xft            compile with Xft support @<:@default=yes@:>@],,
159   enable_xft=yes)
160 if test "x$enable_xft" = "xyes"; then
161   PKG_CHECK_MODULES(XFT, xft, AC_DEFINE(USE_XFT, 1, [Xft support]), enable_xft=no)
162 fi
163 AM_CONDITIONAL(USE_LIBXFT, test "x$enable_xft" = "xyes")
164
165 AC_ARG_ENABLE(ecore,
166   [  --enable-ecore          use ecore functions (for testing only - DO NOT USE!) @<:@default=no@:>@],,
167   enable_ecore=no)
168 if test "x$enable_ecore" = "xyes"; then
169   PKG_CHECK_MODULES(ECORE, ecore ecore-x,
170     AC_DEFINE(USE_ECORE, 1, [Use libecore])
171     AC_DEFINE(USE_ECORE_X, 1, [Use libecore_x]),
172     enable_ecore=no)
173 fi
174
175 # Is this reasonably correct?
176 AC_ARG_ENABLE(glx,
177   [  --enable-glx            compile with GLX support (experimental) @<:@default=no@:>@],,
178   enable_glx=no)
179 if test "x$enable_glx" = "xyes"; then
180   AC_CHECK_HEADERS(GL/gl.h GL/glu.h GL/glx.h, , AC_MSG_ERROR([Cannot find GLX headers]))
181   AC_CHECK_LIB(GL, glXCreateNewContext,
182     [
183       AC_DEFINE(USE_GLX, 1, [GLX support])
184       GLX_LIBS="-lGL -lGLU"
185     ],[
186       AC_MSG_ERROR([Cannot find GLX libraries])
187     ])
188   AC_CHECK_LIB(GL, glXBindTexImageEXT,
189       AC_DEFINE(HAVE_GLX_glXBindTexImageEXT, 1, [glXBindTexImageEXT is available]))
190   AC_SUBST(GLX_LIBS)
191 fi
192 AM_CONDITIONAL(ENABLE_GLX, test "x$enable_glx" = "xyes")
193
194 AC_CHECK_LIB(Xext, XShapeQueryExtension,
195   E_X_LIBS="-lXext $E_X_LIBS",
196   AC_MSG_ERROR([Shape support is required but was not found]),
197   -lX11)
198
199 AC_ARG_ENABLE(xinerama,
200   [  --enable-xinerama       compile with xinerama support @<:@default=yes@:>@],,
201   enable_xinerama=yes)
202 if test "x$enable_xinerama" = "xyes"; then
203   AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
204     AC_DEFINE(USE_XINERAMA, 1, [Xinerama support])
205     XINERAMA_LIBS="-lXinerama",
206     enable_xinerama=no
207     AC_MSG_WARN([Xinerama support was requested but not found]),
208     -lXext -lX11)
209 fi
210 AC_SUBST(XINERAMA_LIBS)
211
212 AC_ARG_ENABLE(zoom,
213   [  --enable-zoom           compile with zoom support @<:@default=yes@:>@],,
214   enable_zoom=yes)
215 if test "x$enable_zoom" = "xyes"; then
216   AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
217     AC_DEFINE(WITH_ZOOM, 1, [Zoom Support])
218     E_X_LIBS="-lXxf86vm $E_X_LIBS",
219     enable_zoom=no
220     AC_MSG_WARN([Zoom support was requested but not found]),
221     -lXext -lX11)
222 fi
223
224 AC_ARG_ENABLE(xsync,
225   [  --enable-xsync          compile with SYNC support @<:@default=yes@:>@],,
226   enable_xsync=yes)
227 if test "x$enable_xsync" = "xyes"; then
228   AC_CHECK_LIB(Xext, XSyncQueryExtension,
229     AC_DEFINE(USE_XSYNC, 1, [SYNC support]),
230     enable_xsync=no
231     AC_MSG_WARN([Sync support was requested but not found]),
232     -lX11)
233 fi
234
235 AC_ARG_ENABLE(xscrnsaver,
236   [  --enable-xscrnsaver     compile with ScreenSaver support (experimental/not useful) @<:@default=no@:>@],,
237   enable_xscrnsaver=no)
238 if test "x$enable_xscrnsaver" = "xyes"; then
239   AC_CHECK_LIB(Xss, XScreenSaverQueryExtension,
240     AC_DEFINE(USE_XSCREENSAVER, 1, [ScreenSaver support])
241     E_X_LIBS="-lXss $E_X_LIBS",
242     enable_xscrnsaver=no
243     AC_MSG_WARN([ScreenSaver support was requested but not found]),
244     -lXext -lX11)
245 fi
246
247 AC_ARG_ENABLE(xrandr,
248   [  --enable-xrandr         compile with RandR support @<:@default=yes@:>@],,
249   enable_xrandr=yes)
250 if test "x$enable_xrandr" = "xyes"; then
251   AC_CHECK_LIB(Xrandr, XRRQueryExtension,
252     AC_DEFINE(USE_XRANDR, 1, [RandR support])
253     E_X_LIBS="-lXrandr -lXrender $E_X_LIBS",
254     enable_xrandr=no
255     AC_MSG_WARN([RandR support was requested but not found]),
256     -lXrender -lXext -lX11)
257   AC_CHECK_HEADERS(X11/extensions/Xrandr.h,,,[#include <X11/Xlib.h>])
258 fi
259
260 # FIXME - Do this properly
261 AC_ARG_ENABLE(composite,
262   [  --enable-composite      compile with Composite support @<:@default=yes@:>@],,
263   enable_composite=yes)
264 if test "x$enable_composite" = "xyes"; then
265   AC_CHECK_LIB(Xcomposite, XCompositeQueryExtension,
266     AC_DEFINE(USE_COMPOSITE, 1, [Composite support])
267     E_X_LIBS="-lXcomposite -lXdamage -lXfixes -lXrender $E_X_LIBS",
268     enable_composite=no,
269     -lXext -lX11)
270   AC_CHECK_HEADERS(X11/extensions/Xcomposite.h ,, enable_composite=no, [#include <X11/Xlib.h>])
271   AC_CHECK_HEADERS(X11/extensions/Xdamage.h    ,, enable_composite=no, [#include <X11/Xlib.h>])
272   AC_CHECK_HEADERS(X11/extensions/Xfixes.h     ,, enable_composite=no, [#include <X11/Xlib.h>])
273   AC_CHECK_HEADERS(X11/extensions/Xrender.h    ,, enable_composite=no, [#include <X11/Xlib.h>])
274   if test "x$enable_composite" != "xyes"; then
275     AC_MSG_WARN([Composite support was requested but required component was not found])
276   fi
277 fi
278 AM_CONDITIONAL(ENABLE_COMPOSITE, test "x$enable_composite" = "xyes")
279
280 AC_ARG_ENABLE(dbus,
281   [  --enable-dbus           compile with D-Bus support (experimental) @<:@default=no@:>@],,
282   enable_dbus=no)
283 if test "x$enable_dbus" = "xyes"; then
284   PKG_CHECK_MODULES(DBUS, dbus-1, AC_DEFINE(USE_DBUS, 1, [dbus support]), enable_dbus=no)
285 fi
286 AM_CONDITIONAL(ENABLE_DBUS, test "x$enable_dbus" = "xyes")
287
288 AC_CHECK_LIB(Fridge,mass_quantities_of_bass_ale)
289 AC_CHECK_LIB(Fridge,mass_quantities_of_any_ale,, [
290   echo "Warning: No ales were found in your refrigerator."
291   echo "  We highly suggest that you rectify this situation immediately."
292 ])
293
294 # Restore CPPFLAGS/LDFLAGS
295 CPPFLAGS="$SAVE_CPPFLAGS"
296 LDFLAGS="$SAVE_LDFLAGS"
297
298 AC_ARG_ENABLE(roothacklib,
299   [  --enable-roothacklib    build window mode helper library @<:@default=yes@:>@],,
300   enable_roothacklib=yes)
301 if test "x$enable_roothacklib" = "xyes"; then
302   AC_CHECK_LIB(dl, dlopen, DLOPEN_LIBS=-ldl, enable_roothacklib=no)
303   AC_SUBST(DLOPEN_LIBS)
304 fi
305 if test "x$enable_roothacklib" = "xyes"; then
306   AC_DEFINE(USE_ROOTHACKLIB, 1, [Use window mode helper library])
307 fi
308 AM_CONDITIONAL(BUILD_ROOTHACKLIB, test "x$enable_roothacklib" = "xyes")
309
310 AC_ARG_ENABLE(modules,
311   [  --enable-modules        enable support for loadable modules @<:@default=no@:>@],,
312   enable_modules=no)
313 if test "x$enable_modules" = "xyes"; then
314   AC_CHECK_LIB(dl, dlopen, DLOPEN_LIBS=-ldl, enable_modules=no)
315   AC_SUBST(DLOPEN_LIBS)
316 fi
317 if test "x$enable_modules" = "xyes"; then
318   AC_DEFINE(USE_MODULES, 1, [Loadable module support])
319 fi
320 AM_CONDITIONAL(BUILD_MODULES, test "x$enable_modules" = "xyes")
321
322 dnl Set default visibility to hidden (only useful with --enable-modules)
323 AC_ARG_ENABLE(visibility-hiding,
324   [  --enable-visibility-hiding enable visibility hiding @<:@default=no@:>@],,
325   enable_visibility_hiding=no
326 )
327 if test "x$enable_visibility_hiding" = xyes ; then
328   CPPFLAGS="$CPPFLAGS -fvisibility=hidden"
329 fi
330
331 AC_ARG_ENABLE(dialogs,
332   [  --enable-dialogs        enable support for configuration dialogs @<:@default=yes@:>@],,
333   enable_dialogs=yes)
334 if test "x$enable_dialogs" = "xyes"; then
335   AC_DEFINE(ENABLE_DIALOGS, 1, [Configuration dialog support])
336 fi
337
338 AC_ARG_ENABLE(docs,
339   [  --enable-docs           install html docs @<:@default=yes@:>@],,
340   enable_docs=yes)
341 if test "x$enable_docs" = "xyes"; then
342   AC_CHECK_PROG(XMLTO, xmlto, xmlto)
343   if test "x$XMLTO" = "x"; then
344     enable_docs=no
345   fi
346 fi
347 AM_CONDITIONAL([HAVE_XMLTO], [test "x$XMLTO" != "x"])
348
349 AC_ARG_ENABLE(gcc-cpp,
350   [  --enable-gcc-cpp        compile everything as if it were C++ @<:@default=no@:>@],,
351   enable_gcc_cpp=no)
352 if test "x$enable_gcc_cpp" = "xyes"; then
353   CC="g++"
354   CPPFLAGS="$CPPFLAGS -x c++"
355   AC_C_WARNFLAGS([cpp])
356 else
357   AC_C_WARNFLAGS()
358 fi
359
360 AC_DEFINE(_GNU_SOURCE, 1, [Enable extensions])
361
362 AC_DEFINE(USE_EXT_INIT_WIN,          1, [Use external init window during restart])
363
364 AC_DEFINE(ENABLE_DESKRAY,            0, [Enable deskrays (not functional)])
365
366 AC_DEFINE(ENABLE_TRANSPARENCY,       1, [Enable pseudotransparency])
367 AC_DEFINE(ENABLE_THEME_TRANSPARENCY, 1, [Enable adjusting theme element pseudotransparency])
368
369 AC_SUBST(E_X_LIBS)
370
371 AM_CONFIG_HEADER(config.h)
372
373 AC_OUTPUT([
374 Makefile
375 src/Makefile
376 dox/Makefile
377 dox/E-docs/Makefile
378 eesh/Makefile
379 epp/Makefile
380 lib/Makefile
381 config/Makefile
382 config/pix/Makefile
383 themes/Makefile
384 fonts/Makefile
385 scripts/Makefile
386 misc/Makefile
387 docs/Makefile
388 po/Makefile.in
389 e16.spec
390 ])
391
392 if test "x$have_good_imlib2" != "xyes"; then
393   echo "***************************************************************"
394   echo "*** WARNING: imlib2 >= 1.2.0 was not detected               ***"
395   echo "*** WARNING: If you indeed do not have this, expect trouble ***"
396   echo "***************************************************************"
397 fi
398
399 echo
400 echo "------------------------------------------------------------------------"
401 echo "$PACKAGE Version $VERSION"
402 echo "------------------------------------------------------------------------"
403 echo
404 echo "Configuration summary"
405 echo
406 echo "Support for"
407 echo "  Localisation ................. $USE_NLS"
408 echo "  Sound ........................ $enable_sound"
409 echo "  Old GNOME hints .............. $enable_hints_gnome"
410 echo "  Session management ........... $enable_sm"
411 echo "  Zoom ......................... $enable_zoom"
412 echo "  Pango ........................ $enable_pango"
413 echo "  Xft .......................... $enable_xft"
414 echo "  Xinerama ..................... $enable_xinerama"
415 echo "  RandR ........................ $enable_xrandr"
416 echo "  Sync ......................... $enable_xsync"
417 echo "  Composite .................... $enable_composite"
418 echo "  Modules ...................... $enable_modules"
419 echo "  Visibility hiding ............ $enable_visibility_hiding (only useful with modules)"
420 echo "  Window mode helper library ... $enable_roothacklib"
421 echo "  Dialogs ...................... $enable_dialogs"
422 echo
423 echo "Experimental options - DO NOT USE unless you know what you are doing"
424 echo "  Compile with ecore/ecore_x ... $enable_ecore"
425 echo "  GLX .......................... $enable_glx"
426 echo "  ScreenSaver .................. $enable_xscrnsaver"
427 echo "  D-Bus ........................ $enable_dbus"
428 echo
429 echo "Installation path .............. $prefix"
430 echo "  Install HTML docs ............ $enable_docs"
431 echo
432 echo "Compilation .................... make"
433 echo "Installation ................... make install"
434 echo