Rework pseudo-transparency by changing the background grabbing mechanism
[adesklets.git] / configure.ac
blob7ccebb4410ea767dbeaa513fcaccb83ce5e93cbd
1 nl Initialize autoconf and automake
2 AC_INIT
3 AC_CONFIG_SRCDIR(src/main.c)
4 AC_PREREQ(2.52)
5 AM_INIT_AUTOMAKE(adesklets,0.6.2)
6 AM_MAINTAINER_MODE
8 dnl Language selection
9 AC_LANG(C)
11 dnl Locate required external software
12 AC_PROG_CPP
13 if test "x$CPP" != 'x'; then
15 AC_SUBST(CPP)
17 AC_PROG_CC
18 AM_PROG_LEX
19 if test "x$LEX" != 'xflex'; then
20 AC_MSG_WARN([
21 -----------------------------------------------------
22 `flex' was not found on your system. If you encounter
23 problems recompiling a `l' file, please try `flex' 
24 first. You can get it from any GNU archive site. 
25 You will not need `flex' as long as you do not 
26 modify `l' files.
27 ----------------------------------------------------])
29 AC_PROG_YACC
30 if test "x$YACC" != "xbison -y"; then
31 AC_MSG_WARN([
32 -----------------------------------------------------
33 Nor `byacc' or `yacc' parsers had been used
34 for developing adesklets. If you encounter problems
35 recompiling a `y' file, please try `bison' instead. 
36 You can get it from any GNU archive site. You will 
37 not need `bison' as long as you do not modify 
38 `y' files.
39 -----------------------------------------------------])
41 AC_PROG_INSTALL
43 dnl Check for python support
44 withval=
45 AC_ARG_WITH(python-support,
46 [  --without-python-support   
47                           do not install adesklets python package
48                           Do not set this option unless you have
49                           good reasons])
50 : ${withval:=yes}
51 if test x$withval = "xyes"; then
52 withval=
53 AC_ARG_WITH(python-force-detection,
54 [  --with-python-force-detection
55                           bypass all the python version check mechanism. 
56                           When using this, make sure you have a version
57                           greater or egal to python 2.3 installed 
58                           as 'python' in your path [default=no]])
59 : ${withval:=no}
60 if test x$withval = "xno"; then
61 AM_PATH_PYTHON([2.3])
62 else
63 AM_PATH_PYTHON()
65 AC_PYTHON_DEVEL
66 withval=
67 AC_ARG_WITH(python-install-submission-scripts,
68 [  --with-python-install-submission-scripts
69                           install in the path the submission-related scripts
70                           from submit/ in the $PREFIX/bin program path.
71                           Useful for desklets author [default=no]])
72 : ${withval:=no}
73 if test x$withval = "xyes"; then
74 AM_CONDITIONAL(PYTHON_INSTALL_SUBMISSION_SCRIPTS, true)
75 else
76 AM_CONDITIONAL(PYTHON_INSTALL_SUBMISSION_SCRIPTS, false)
78 AC_CHECK_FUNCS(sigprocmask,
79 [HAVE_SIGPROCMASK="#define HAVE_SIGPROCMASK 1", SIGPROC=yes],
80 [HAVE_SIGPROCMASK="#undef HAVE_SIGPROCMASK"])
81 else
82 HAVE_SIGPROCMASK="#undef HAVE_SIGPROCMASK"
84 AC_SUBST(HAVE_SIGPROCMASK)
85 AM_CONDITIONAL(PYTHON_SUPPORT, test "x$PYTHON" != "x")
86 AM_CONDITIONAL(PYTHON_INSTALL_SUBMISSION_SCRIPTS, true)
88 dnl Check for Perl support
89 withval=
90 AC_ARG_WITH(perl-support,
91 [  --without-perl-support  do not install adesklets Perl package
92                           Do not set this option unless you have
93                           good reasons])
94 : ${withval:=yes}
95 perl_ok=false
96 if test x$withval = "xyes"; then
97 AC_PATH_PROG(PERL, perl)
98 AC_PROG_PERL_VERSION(5.8.2,
99         AC_PROG_PERL_MODULES(IPC::Open3, perl_ok=true),
100         AC_MSG_WARN(['Perl >= 5.8.2 could not be found']))
102 AM_CONDITIONAL(PERL_SUPPORT,$perl_ok)
104 dnl help2man presence
105 AC_PATH_PROG(HELP2MAN, help2man)
106 AM_CONDITIONAL(HELP2MAN_SUPPORT, test "x$HELP2MAN" != "x")
108 dnl htmltidy presence
109 AC_PATH_PROG(TIDY,tidy)
111 dnl doxygen presence
112 AC_PATH_PROG(DOXYGEN,doxygen)
113 AM_CONDITIONAL(DOXYGEN_SUPPORT, test "x$DOXYGEN" != "x")
115 dnl makeinfo support:
116 dnl Also test the presence of the full documentation package
117 AM_CONDITIONAL(MAKEINFO_SUPPORT, 
118 test "x$MAKEINFO:" != "x" && test -f doc/Makefile.am)
120 dnl Try to enforce ISO C (iso9899 1999)
121 dnl This will more likely work
122 dnl only with gcc. In fact,
123 dnl expect for variadic macros, this program
124 dnl should be ansi C (ISO C90).
125 TMP_CFLAGS="$CFLAGS"
126 CFLAGS="$CFLAGS -std=c99 -pedantic -Wall"
127 AC_MSG_CHECKING([for ISO C99 warnings generation])
128 AC_TRY_COMPILE(
130 int 
131 main(void) 
133    return 0L;
135 AC_MSG_RESULT([yes]),
136 AC_MSG_RESULT([no])
137 CFLAGS="$TMP_CFLAGS"
140 dnl Define source to be BSD compliant (ISO C, POSIX, and 4.3BSD)
141 AC_DEFINE(_BSD_SOURCE,1,[Source is BSD compliant (ISO C, POSIX and 4.3BSD)])
142 if test "x`uname`" = xNetBSD; then
143 dnl NetBSD (at least version 1.6.1) is following the standard less closely than 
144 dnl the other... Hence, we declare the source specifically as _POSIX_SOURCE 
145 dnl instead of the newer _POSIX_C_SOURCE 199309
146 AC_DEFINE(_POSIX_SOURCE,1,[Source is POSIX 1 compliant (IEEE Std 1003.1)])
147 else
148 dnl For some unspecified reason, it as been reported than FreeBSD [5|6|7].x 
149 dnl doesn't like those POSIX keywords either
150 UNAME_REDUX=`uname -r -s | sed 's/\..*//' 2> /dev/null`
151 if test "$UNAME_REDUX" != 'FreeBSD 5' && \
152    test "$UNAME_REDUX" != 'FreeBSD 6' && \
153    test "$UNAME_REDUX" != 'FreeBSD 7'
154 then
155 AC_DEFINE(_POSIX_C_SOURCE,199309,[Source is POSIX 4 compliant (IEEE Std 1003.1b)])
159 dnl Check for system header files
160 AC_HEADER_STDC
161 AC_CHECK_HEADERS(stdio.h stdarg.h errno.h fcntl.h signal.h time.h math.h sys/time.h sys/types.h sys/stat.h grp.h pwd.h libgen.h dirent.h iconv.h)
163 dnl Enable debugging
164 dnl This will filter out optimisation switch (-O[s0-9]) 
165 dnl for gcc compiler
166 AC_ARG_ENABLE(
167   debug, [  --enable-debug        enable debugging symbols and supplementary 
168                           messages generation in final binary])
170 : ${enableval="no"}
171 AC_MSG_CHECKING([for debugging symbols generation])
172 if test x$enableval = "xyes"; then
173    AC_MSG_RESULT([yes])
174    AC_DEFINE(DEBUG, 1, [Debug mode is on if defined.])
175    CFLAGS="$CFLAGS -g"
176    DEBUG=yes
177 else
178    AC_MSG_RESULT([no])
179    CFLAGS=`echo "$CFLAGS" | sed 's/^-g$//; s/^-g@<:@@<:@:space:@:>@@:>@\+// ; s/@<:@@<:@:space:@:>@@:>@\+-g$//; s/@<:@@<:@:space:@:>@@:>@\+-g@<:@@<:@:space:@:>@@:>@\+/ /'`
182 dnl SIGKILL timeout setting
183 enableval=
184 AC_MSG_CHECKING([for sigkill timeout])
185 AC_ARG_ENABLE(sigkill-timeout,
186 [  --enable-sigkill-timeout=SEC
187                           timeout (in seconds) before sending `kill'
188                           signal to parent process in case of restart 
189                           if `term' has no effect [default=5]])
190 : ${enableval:=5}
191 test $enableval -gt 0 2> /dev/null || {
192 AC_MSG_RESULT([no])
193 AC_MSG_ERROR([Given sigkill timeout was not understood])
195 AC_MSG_RESULT([yes])
196 AC_DEFINE_UNQUOTED(SIGKILL_TIMEOUT,$enableval,
197 [Delay between SIGTERM ans SIGKILL to parent process in case of restart.])
199 dnl X polling frequency setting
200 enableval=
201 period=
202 AC_MSG_CHECKING([for polling frequency])
203 AC_ARG_ENABLE(x-polling-frequency,
204 [  --enable-x-polling-frequency=FREQ
205                           default frequency (in hertz) for polling the X server
206                           for events. Lower values leads to less responsive,
207                           but less CPU hungry desklets [default=50]])
208 : ${enableval:=50}
209 X_POLLING_FREQ=$enableval
210 test $enableval -gt 0 2> /dev/null || {
211 AC_MSG_RESULT([no])
212 AC_MSG_ERROR([Positive, integer value is required as x-polling-frequency])
215 AC_CHECK_PROG(EXISTS,bc,yes,no)
216 if test $enableval -ne 50; then
217 if test x$EXISTS = "xyes"; then
218    period=`echo "1000000 / $enableval" | bc`
219 else
220    AC_MSG_WARN([Could not find the `bc' calculator to perform arithmetic 
221 computation of X server polling period value. Default 50 Hz is assumed.])
224 : ${period:=20000}
225 AC_DEFINE_UNQUOTED(X_POLLING_PERIOD,$period,
226 [Default polling period (in 10e-6 seconds) of stdin between two cycles of events loop.])
227 X_POLLING_PERIOD=$period
228 AC_SUBST(X_POLLING_FREQ)
230 dnl Lock files directory setting
231 enableval=
232 AC_MSG_CHECKING([for lock files directory setting])
233 AC_ARG_ENABLE(lockfiles-dir,
234 [  --enable-lockfiles-dir=DIR
235                           directory to put lock files in [default=/tmp]])
236 : ${enableval:=/tmp}
237 test -d $enableval || {
238 AC_MSG_RESULT([no])
239 AC_MSG_ERROR([Given lock files directory does not exist on your system])
241 AC_MSG_RESULT([yes])
242 AC_DEFINE_UNQUOTED(LOCKFILES_DIR,"$enableval",
243 [Directory to put lock files in.])
244 LOCKFILES_DIR=$enableval
245 AC_SUBST(LOCKFILES_DIR)
247 dnl Control modifier on context menu
248 enableval=
249 AC_MSG_CHECKING([for control modifier on context menu])
250 AC_ARG_ENABLE(control-on-context-menu,
251 [  --enable-control-on-context-menu
252                           force CTRL to be pressed to fire context menu
253                           [default=no]])
254 : ${enableval:=no}
255 if test x$enableval != "xno" ; then
256 AC_MSG_RESULT([yes])
257 AC_DEFINE(CONTROL_ON_CONTEXT_MENU, 1,
258 [Force CTRL to be pressed to fire context menu])
259 else
260 AC_MSG_RESULT([no])
263 dnl Legacy Window Manager detection code
264 enableval=
265 AC_MSG_CHECKING([for legacy fake root window detection code])
266 AC_ARG_ENABLE(legacy-fake-root-window-detection,
267 [  --enable-legacy-fake-root-window-detection
268                           Use the old code to detect fake root windows
269                           [default=no]])
270 : ${enableval:=no}
271 if test x$enableval != "xno" ; then
272 AC_MSG_RESULT([yes])
273 AC_DEFINE(WM_DETECTION_OLD_STYLE, 1,
274 [Use former fake root window detection code])
275 else
276 AC_MSG_RESULT([no])
279 dnl Legacy pseudo transparency
280 enableval=
281 AC_MSG_CHECKING([for legacy pseudo transparency])
282 AC_ARG_ENABLE(legacy-pseudo-transparency,
283 [  --enable-legacy-pseudo-transparency
284                           Use the old code implementing pseudo-transparency
285                           grabbing [default=no]])
286 : ${enableval:=no}
287 if test x$enableval != "xno" ; then
288 AC_MSG_RESULT([yes])
289 AC_DEFINE(FAKE_TRANSPARENCY_OLD_STYLE, 1,
290 [Use former pseudo transparency code])
291 else
292 AC_MSG_RESULT([no])
295 dnl New frontend driver
296 enableval=
297 AC_MSG_CHECKING([for frontend shell driver])
298 AC_ARG_ENABLE(frontend-shell-driver,
299 [  --disable-frontend-shell-driver
300                           Do not invoke the frontend shell-based driver 
301                           for adesklets [default=no]])
302 : ${enableval:=yes}
303 if test x$enableval != "xyes" ; then
304 AM_CONDITIONAL(FRONTEND_SHELL_SUPPORT, test 1 -eq 0)
305 AC_MSG_RESULT([no])
306 else
307 AC_DEFINE(FRONTEND_SHELL_DRIVER, 1,
308 [Enable the frontend shell driver mecanism])
309 AM_CONDITIONAL(FRONTEND_SHELL_SUPPORT, test 1 -eq 1)
310 AC_MSG_RESULT([yes])
313 dnl Collect various system informations strings,
314 dnl for embedding into final executable
315 EXISTS=
316 WELCOME1="\"$PACKAGE $VERSION"
317 AC_CHECK_PROG(EXISTS,date,yes)
318 if test x$EXISTS = "xyes"; then
319    WELCOME1="$WELCOME1 ("`date | sed 's/@<:@@<:@:space:@:>@@:>@\+/ /g'`")"
320 else
321    WELCOME1="$WELCOME1 (unknown time)"
323 EXISTS=
324 AC_CHECK_PROG(EXISTS,uname,yes)
325 if test x$EXISTS = "xyes"; then
326    if uname -rs &> /dev/null; then
327       WELCOME1="$WELCOME1, on "`uname -rs`"\""
328    else
329       WELCOME1="$WELCOME1, on an unknown OS\""
330    fi
331 else
332    WELCOME1="$WELCOME1, on an unknown OS\""
334 AC_DEFINE_UNQUOTED(WELCOME_LINE_1, $WELCOME1, [Welcome message, first line.])
335 dnl Note: @<:@ and @:>@ are respective quadrigraphs for `[' and `]'
336 ${CC} --version &> /dev/null && \
337       WELCOME2="\"${CC} "`${CC} --version | sed -n '1 s/^@<:@^0-9@:>@*//p'`"\""
338 : ${WELCOME2:=\"${CC} unknown version\"}
339 AC_DEFINE_UNQUOTED(WELCOME_LINE_2, $WELCOME2, [Welcome message, second line.])
341 dnl Variables save: all changes to CFLAGS, LIBS and LDFLAGS beyond
342 dnl this point will be wiped
343 TMP_CFLAGS="$CFLAGS"
344 TMP_LIBS="$LIBS"
345 TMP_LDFLAGS="$LDFLAGS"
347 dnl Check for readline
348 AC_CHECK_LIB(ncurses, tputs, HaveLibTermcap=yes; LibTermcap=ncurses,
349    AC_CHECK_LIB(termcap, tputs, HaveLibTermcap=yes; LibTermcap=termcap,
350       AC_CHECK_LIB(curses, tputs, HaveLibTermcap=yes; LibTermcap=curses,
351                    HaveLibTermcap=no)))
352 if test $HaveLibTermcap = "yes" ; then
353    LIBS="$LIBS -l$LibTermcap"
354 else
355    AC_MSG_ERROR([Could not find terminal management library for readline
356 (either ncurses, termcap or curses).])
358 AC_CHECK_LIB(readline,readline,
359   READLINE_LIBS="-l$LibTermcap -lreadline",
360   AC_MSG_ERROR([Could not find the readline library]),
361   $LFLAGS)
362 LIBS="$TMP_LIBS"
364 dnl Check for libhistory support
365 withval=
366 AC_ARG_WITH(history,
367 [  --without-history       remove history support in interactive use
368                           of the interpreter])
369 : ${withval:=yes}
370 if test x$withval = "xyes"; then
371 AC_CHECK_LIB(history,add_history,
372         READLINE_LIBS="$READLINE_LIBS -lhistory";
373         HaveLibHistory=history,
374         AC_CHECK_LIB(readline,add_history,
375         HaveLibHistory=readline,
376         HaveLibHistory=no,
377         $READLINE_LIBS),
378         $READLINE_LIBS)
380 if test $HaveLibHistory = "no"; then
381 AC_MSG_WARN([Could not find GNU history library in the system])
382 else
383 AC_DEFINE(HAVE_READLINE_HISTORY_H,1,
384         [Define to 1 if you have the <readline/history.h> header file.])
385 AC_CHECK_LIB($HaveLibHistory,free_history_entry,
386         AC_DEFINE(HAVE_FREE_HISTORY_ENTRY,1,
387         [Define to 1 if you have the `free_history_entry' function.]),,
388         $READLINE_LIBS)
391 AC_MSG_CHECKING([for history max command lenght])
392 enableval=
393 AC_ARG_ENABLE(history-max-command-lenght,
394 [  --enable-history-max-command-lenght=LEN
395                           maximum string lenght (in characters) that a single
396                           command can have and still be kept in history 
397                           (a lenght of zero meaning no limits) [default=256]])
398 : ${enableval:=256}
400 if test $enableval -ge 0 ; then
401 AC_MSG_RESULT([yes])
402 AC_DEFINE_UNQUOTED(HISTORY_MAX_COMMAND_LENGHT,$enableval,
403 [maximum history string lenght.])
404 else
405 AC_MSG_RESULT([no])
406 AC_MSG_ERROR([history max command lenght must be positive or null])
410 AC_SUBST(READLINE_LIBS) 
412 dnl Check for 8 bit characters support forcing
413 enableval=
414 AC_ARG_ENABLE(force-extended-characters-input,
415 [  --enable-force-extended-characters-input
416                           force input and ouput of unescaped 
417                           height bits characters through GNU readline, 
418                           regardless of the inputrc settings [default=no]])
419 : ${enableval:=no}
420 if ! test x$enableval = "xno" ; then
421 AC_DEFINE(FORCE_EXTENDED_CHARACTERS_INPUT,1,
422 [force 8 bit characters support in GNU readline])
425 dnl Check for fontconfig
426 withval=
427 AC_ARG_WITH(fontconfig,
428 [  --without-fontconfig    remove fontconfig support enabling automatic 
429                           detection of all truetype fonts already available
430                           on the machine])
431 : ${withval:=yes}
432 if test x$withval = "xyes"; then
433 AC_PATH_PROG(PKG_CONFIG, pkg-config)
434 if ! test x$PKG_CONFIG = "x" ; then
435    if $PKG_CONFIG --exists fontconfig 2> /dev/null; then
436       FONTCONFIG_LIBS=`pkg-config --libs fontconfig`
437       FONTCONFIG_CFLAGS=`pkg-config --cflags fontconfig`
438    fi
440 if test x$FONTCONFIG_LIBS = "x"; then
441    FONTCONFIG_LIBS=-lfontconfig
443 LIBS="$LIBS $FONTCONFIG_LIBS"
444 CFLAGS="$CFLAGS $FONTCONFIG_CFLAGS"
445 AC_MSG_CHECKING([for fontconfig])
446 AC_TRY_LINK(
447 #include <fontconfig/fontconfig.h>
448 , FcInit(),
449 AC_MSG_RESULT([yes])
450 AC_DEFINE(HAVE_FONTCONFIG_FONTCONFIG_H,1,[Define to 1 if you have the <fontconfig/fontconfig.h> header file.])
452 AC_MSG_CHECKING([For fontconfig FcFini()])
453 AC_TRY_LINK(
454 #include <fontconfig/fontconfig.h>
455 , FcFini(),
456 AC_MSG_RESULT([yes])
457 AC_DEFINE(HAVE_FONTCONFIG_FCFINI,1,[Define to 1 if FcFini() call exists])
459 AC_MSG_RESULT([no]))
462 AC_MSG_RESULT([no])
463 FONTCONFIG_LIBS=
464 FONTCONFIG_CFLAGS=
465 AC_MSG_WARN([
466 -----------------------------------------------------
467 `fontconfig' was not found on your system. 
468 Although `adesklets' will work anyway system-wide 
469 automatic font detection will not occur: 
470 it is therefore quite possible that only the 
471 default font provided with the package will display.
472 -----------------------------------------------------]))
473 AC_SUBST(FONTCONFIG_LIBS)
474 AC_SUBST(FONTCONFIG_CFLAGS)
475 LIBS="$TMP_LIBS"
476 CFLAGS="$TMP_CFLAGS"
479 dnl Check for fork() system call
480 AC_CHECK_FUNCS(fork,,
481 AC_MSG_ERROR([Could not find the fork() system call]))
483 dnl Check for X headers and libraries
484 AC_PATH_X
486 if test x$no_x != "xyes"; then
488 if test x$x_includes != "x" ; then
489    X_CFLAGS="-I$x_includes"
490    CFLAGS="$CFLAGS $X_CFLAGS"   
493 if test x$x_libraries != "x" ; then
494    X_LIBS="-L$x_libraries"
495    LDFLAGS="$LDFLAGS $X_LIBS"
498 dnl Check for required functions in -lX11
499 AC_CHECK_LIB(X11, XOpenDisplay,
500   X_LIBS="$X_LIBS -lX11"
501   LIBS="$LIBS -lX11",
502   AC_MSG_ERROR([Could not find XOpenDisplay in -lX11.])
504 AC_DEFINE(X_DISPLAY_SUPPORT,1,[Define to 1 if the X Window System is supported, 0 otherwise.])                
505 else
506 AC_DEFINE(X_DISPLAY_SUPPORT,0,[Define to 1 if the X Window System is supported, 0 otherwise.])
507    X_CFLAGS=
508    X_LIBS=
509 AC_DEFINE(X_DISPLAY_MISSING,,[Defined if the X headers were not found])
511 AC_SUBST(X_CFLAGS)
512 AC_SUBST(X_LIBS)
514 dnl Imlib2 detection
515 withval=
516 AC_ARG_WITH(imlib2,
517         [  --with-imlib2=DIR       use imlib2 in <DIR>],
518         [CFLAGS="$CFLAGS -I$withval/include"
519         LIBS="-L$withval/lib $LIBS"])
521 AC_PATH_GENERIC_MODIFIED(imlib2, 1.1.2,,
522   AC_MSG_ERROR([Cannot find imlib2: Is imlib2-config in the path?]),
523   1.2.0,,
524   AC_MSG_WARN([
525 -----------------------------------------------------
526 $PACKAGE should work with your version of imlib2...
527 But for better results you are _warmly_ encouraged 
528 to try out version 1.2.0 or above;
529 known bugs are still lurking in dark corners 
530 with what you have installed: beware strange problems 
531 with dynamic image filters for instance!  
532 -----------------------------------------------------]))
534 LIBS="$LIBS -lImlib2"
535 dnl CFLAGS="$CFLAGS $IMLIB2_CFLAGS"
537 AC_MSG_CHECKING([for imlib2 program linking with ad-hoc flags])
538 AC_TRY_LINK(
539 #ifndef X_DISPLAY_MISSING
540         #include <X11/Xlib.h>
541         #include <X11/Xutil.h>
542         #include <X11/Xos.h>
543         #include <X11/Xatom.h>
544 #endif  
545         #include <Imlib2.h>
546 ,       Imlib_Image image;
547         image = imlib_load_image("toto.png");
548 #ifndef X_DISPLAY_MISSING
549         imlib_context_set_display(NULL);
550 #endif
552         AC_MSG_RESULT([yes])
553         IMLIB2_CFLAGS=""
554         IMLIB2_LIBS="-lImlib2",
555         AC_MSG_RESULT([no])
556         CFLAGS="$TMP_CFLAGS $IMLIB2_CFLAGS"
557         LIBS="$TMP_LIBS $IMLIB2_LIBS"
558         AC_MSG_CHECKING([for imlib2 program linking])
559         AC_TRY_LINK(
560 #ifndef X_DISPLAY_MISSING
561         #include <X11/Xlib.h>
562         #include <X11/Xutil.h>
563         #include <X11/Xos.h>
564         #include <X11/Xatom.h>
565 #endif  
566         #include <Imlib2.h>
567 ,       Imlib_Image image;
568         image = imlib_load_image("toto.png");
569 #ifndef X_DISPLAY_MISSING
570         imlib_context_set_display(NULL);
571 #endif
573         AC_MSG_RESULT([yes]),
574         AC_MSG_RESULT([no])
575         AC_MSG_ERROR([Cannot link Imlib2 program.
576 If you specified you did not want X support this can be caused
577 by your Imlib2 installment being configured so it needs it
578 or conversely. In that case reinstall Imlib2 with proper
579 --enable-x11-support parameter (as from enlightement CVS)
580 before retrying to configure this package.])))
582 AC_SUBST(IMLIB2_CFLAGS)
583 AC_SUBST(IMLIB2_LIBS)
586 dnl Test for uint typedef
587 AC_MSG_CHECKING([for uint typedef in standard library])
588 AC_TRY_COMPILE(
589 #ifdef HAVE_SYS_TYPES_H
590         #include <sys/types.h>
591 #endif
592 #ifdef HAVE_UNISTD_H
593         #include <unistd.h>
594 #endif
595 ,       uint i,
596         AC_MSG_RESULT([yes]),
597         AC_MSG_RESULT([no])
598         AC_DEFINE(UINT_NOT_DEFINED,1,
599                   [Define to 1 if compability type uint is not detected.])      
602 dnl Important variables reset
603 CFLAGS="$TMP_CFLAGS"
604 LIBS="$TMP_LIBS"
605 LDFLAGS="$TMP_LDFLAGS"
607 dnl PKGDATADIR definition
608 dnl PKGDATADIR is only well constructed in make context,
609 dnl so let's put this AFTER all tests.
610 CFLAGS="$CFLAGS"' -DPKGDATADIR=\"$(pkgdatadir)\"'
612 dnl Output files
613 AM_CONFIG_HEADER(src/config.h)
614 AC_OUTPUT(Makefile
615 src/Makefile
616 data/Makefile
617 utils/Makefile
618 doc/Makefile
619 doc/adesklets_checkin.1
620 doc/adesklets_submit.1
621 doc/htmldoc.sh
622 doc/imlib2/Makefile
623 scripting/Makefile
624 scripting/protoize.sh
625 scripting/python/Makefile
626 scripting/python/config.h
627 scripting/python/setup.py
628 scripting/perl/Makefile
629 scripting/perl/Makefile.PL
630 scripting/perl/updateproto.pl
631 utils/adesklets_frontend.sh
634 dnl Change script(s) permissions
635 chmod +x scripting/protoize.sh scripting/perl/updateproto.pl \
636       doc/htmldoc.sh utils/adesklets_frontend.sh
638 dnl Final warning, if needed
639 if test x$DEBUG = "xyes"; then
640 AC_MSG_WARN([
641 -----------------------------------------------------
642 you choosed to make a `debug' compilation: this will
643 generate a significantly bigger executable
644 that produces on stderr (by default) a lot of outputs 
645 unwanted during normal use; set up the ADESKLETS_LOG 
646 environment variable to a filename the interpreter 
647 can safely suffix with a pid related extension
648 than truncate to collect all debug outputs 
649 there instead. Be also aware that all optimisation 
650 settings (-O flags in CFLAGS) are discarded when 
651 enabling this.
652 -----------------------------------------------------])
654 if test x$no_x = "xyes"; then
655 AC_MSG_WARN([
656 -----------------------------------------------------
657 you choosed to perform an `X Window less' build - 
658 which means you will eventually end up with 
659 a strictly command line program free of all
660 dependencies on xlib. If it is not what you intended 
661 please reconfigure. For this to work you do need first
662 to configure your Imlib2 incantation for not using
663 X Window itself.
664 -----------------------------------------------------
668 if test x$PYTHON != "x" ; then
669 if test x$SIGPROC != "xyes" ; then
670 AC_MSG_WARN([
671 -----------------------------------------------------
672 your system does not seem to support reliable POSIX
673 signal calls such as `sigprocmask', `sigpending' or
674 `sigsuspend'. Although this does not affect $PACKAGE
675 directly, it seriously impedes python ability
676 to handle things well through its package. 
677 To our knowledge, no modern UNIX platforms lack 
678 those system calls...
679 -----------------------------------------------------