1 dnl Process this file with autoconf to produce a configure script.
6 dnl should be "yes" only within the released distribution
11 dnl date of the released version (please zero pad the day in the last 2 dates)
12 dnl for example: "4 February 2003", "04 Feb 2003", "2003-02-04"
13 dnl date format strings: "%e %B %Y", "%d-%b-%Y", "%Y-%m-%d"
14 RELDATELONG="20 September 2009"
15 RELDATESHORT="20-Sep-2009"
16 RELDATENUM="2009-09-20"
18 # constant variable settings
19 FVWMNAMELONG="F? Virtual Window Manager"
20 FVWMHOMEPAGE="http://fvwm.org/"
21 FVWMFTP="ftp.fvwm.org"
23 FVWMALTFTP="metalab.unc.edu"
24 FVWMALTFTPDIR="/pub/Linux/X11/window-managers/"
25 FVWMLIST="fvwm@fvwm.org"
26 FVWMWORKERSLIST="fvwm-workers@fvwm.org"
27 FVWMWORKERSLISTLONG="fvwm workers list <fvwm-workers@fvwm.org>"
28 MANPAGE_PREAMBLE='.\" WARNING: This file was automatically generated. Edit the .in file instead.'
30 if test ! x"$ISRELEASED" = xyes; then
31 VERSIONINFO=" (from cvs)"
32 RELDATELONG="(not released yet)"
33 RELDATESHORT="(not released yet)"
34 RELDATENUM="(not released yet)"
35 # # migo: unfortunately this nice idea can not work, it is not updated.
36 # # I will think more about this, maybe autoconf-2.50+ has a solution.
37 # if test -d CVS/ -a -f CVS/Entries && \
38 # date +%Y-%m-%d -d 'Wed Sep 4 12:36:50 2002' >/dev/null 2>&1
40 # # this is not the exact date, but better than the current date
41 # for file in CVS/Entries */CVS/Entries; do
42 # changelog_date="`cat $file | grep /ChangeLog/ \
44 # test ! x"$changelog_date" = x && \
45 # date +%Y-%m-%d -d "$changelog_date" >>changelog_dates
47 # changelog_date=`cat changelog_dates | sort -r -u | head -1`
48 # VERSIONINFO=" (from cvs $changelog_date)"
49 # rm -f changelog_dates
54 AH_TEMPLATE([VERSIONINFO],[Additional version information, like date])
55 AC_DEFINE_UNQUOTED(VERSIONINFO, "$VERSIONINFO")
58 AC_SUBST(RELDATESHORT)
60 AC_SUBST(FVWMNAMELONG)
61 AC_SUBST(FVWMHOMEPAGE)
65 AC_SUBST(FVWMALTFTPDIR)
67 AC_SUBST(FVWMWORKERSLIST)
68 AC_SUBST(FVWMWORKERSLISTLONG)
69 AC_SUBST(MANPAGE_PREAMBLE)
71 AM_INIT_AUTOMAKE(fvwm, ${version})
72 AM_CONFIG_HEADER(config.h)
74 # check for programs needed to build html docs
75 AC_CHECK_PROG(SED, sed, sed, "")
79 REQUIRED_PERL_VERSION=5.004
80 AC_SUBST(REQUIRED_PERL_VERSION)
81 if test x"$PERL" = x; then
82 AC_PATH_PROG(PERL, perl)
84 if test ! x"$PERL" = x; then
85 AC_MSG_CHECKING([for perl $REQUIRED_PERL_VERSION or better])
87 if ("$PERL" -e "require $REQUIRED_PERL_VERSION;") 2>/dev/null; then
91 AC_MSG_WARN([$PERL not found or too old])
95 AC_MSG_WARN([perl is not found, it is required for some scripts and modules])
96 AC_MSG_WARN([It is recommended to install perl $REQUIRED_PERL_VERSION or better later])
99 AC_MSG_RESULT([assuming $PERL as perl location])
103 FVWM_MODULESUBDIR=/${PACKAGE}/${VERSION}
104 FVWM_DATASUBDIR=/${PACKAGE}
105 FVWM_DOCSUBDIR=/doc/${PACKAGE}
107 AC_ARG_ENABLE(package-subdirs,
108 AS_HELP_STRING([--disable-package-subdirs],
109 [do not create subdirs for modules and data]),
110 [if test x"$enableval" = xno; then FVWM_MODULESUBDIR=""; FVWM_DATASUBDIR="";
114 FVWM_MODULEDIR='${libexecdir}'"$FVWM_MODULESUBDIR"
115 FVWM_DATADIR='${datadir}'"$FVWM_DATASUBDIR"
116 FVWM_DOCDIR='${datadir}'"$FVWM_DOCSUBDIR"
117 FVWM_PERLLIBDIR='${datadir}'"$FVWM_DATASUBDIR/perllib"
118 FVWM_CONFDIR='${sysconfdir}'dnl used _only_ to search for system.fvwm2rc
120 AC_SUBST(FVWM_MODULEDIR)
121 AC_SUBST(FVWM_DATADIR)
122 AC_SUBST(FVWM_PERLLIBDIR)
123 AC_SUBST(FVWM_CONFDIR)
124 AC_SUBST(FVWM_DOCDIR)
126 AH_TEMPLATE([FVWM_CONFIG],
127 [Name of config filenames in FVWM_USERDIR and FVWM_DATADIR])
128 AC_DEFINE(FVWM_CONFIG, "config")
130 AH_TEMPLATE([FVWM2RC],[Suffix for old (to be deprecated) config filenames])
131 AC_DEFINE(FVWM2RC, ".fvwm2rc")
133 # Various configure-time options
135 AC_ARG_ENABLE(dmalloc,
136 AS_HELP_STRING([--enable-dmalloc],
137 [enable support for the dmalloc debugging library]),
138 [ac_cv_dmalloc="$enableval"],
139 [ac_cv_dmalloc="no"])
141 AC_ARG_ENABLE(efence,
142 AS_HELP_STRING([--enable-efence],
143 [enable support for the efence debugging library]),
144 [ac_cv_efence="$enableval"],
147 smr_SWITCH(command-log, command logging, off, FVWM_COMMAND_LOG,, [Produces a log of all executed commands and their times on stderr.])
148 AH_VERBATIM([_FVWM_COMMAND_LOG],
149 [#ifdef FVWM_COMMAND_LOG
150 # define FVWM_DEBUG_TIME 1
153 smr_SWITCH(debug-msgs, debugging messages, off, FVWM_DEBUG_MSGS,, [if you would like to see lots of debug messages from fvwm, for debugging
154 purposes, uncomment the next line])
155 AH_VERBATIM([_FVWM_DEBUG_MSGS],
156 [#ifdef FVWM_DEBUG_MSGS
157 # define DBUG(x,y) fvwm_msg(DBG,x,y)
159 # define DBUG(x,y) /* no messages */
162 dnl dummy: smr_SWITCH(sm, dummy for test script, on, SESSION)
164 # Need to know where X is, for finding some libraries (e.g. xpm)
167 if test x"$no_x" = x"yes"; then
169 echo "X11 libraries or header files could not be found. Please make"
170 echo "sure the X11 development package is installed on your system."
171 echo "If it is definitely installed, try setting the include and library"
172 echo "paths with the --x-include and --x-libraries options of configure."
173 echo "Fvwm can not be compiled without the X11 development environment."
180 # FIXME: default value should be derived from computed path to X
181 # includes. Actually, this should probably not appear in configure
182 # at all: it is settable at runtime, and only confuses the issue to
183 # have it settable here too.
185 AC_MSG_CHECKING(imagepath)
186 val="/usr/include/X11/bitmaps:/usr/include/X11/pixmaps"
187 AC_ARG_WITH(imagepath,
188 AS_HELP_STRING([--with-imagepath=PATH],
189 [colon-delimited search path for images]),
192 AC_MSG_ERROR([Can not disable image path.])
200 AH_TEMPLATE([FVWM_IMAGEPATH],[Where to search for images.])
201 AC_DEFINE_UNQUOTED(FVWM_IMAGEPATH, "$val")
203 FVWM_IMAGEPATH="$val"
204 AC_SUBST(FVWM_IMAGEPATH)
207 # Minimal checks for programs: enough to enable checking for
208 # optional libraries.
212 # added -Wall for gcc, what about for others?
213 if test "x$GCC" = "xyes"; then
214 CFLAGS="-Wall -Wno-implicit-int $CFLAGS"
217 # Help finding POSIX functions on some systems
221 # catch -Werror and similar options when running configure
222 AC_TRY_COMPILE([#include <stdio.h>],
223 [int i; static j; int *p; char *c;
224 switch (*p = p = *c) { case 0: printf("%Q", c, p); }
226 while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
227 return;], , AC_MSG_ERROR("
228 configure is not able to compile programs with warnings. Please
229 remove all offending options like -Werror from the CFLAGS and
230 CPPFLAGS variables and run configure again."))
232 # check size of some types
233 ac_save_CFLAGS="$CFLAGS"
234 CFLAGS="$CFLAGS $X_CFLAGS"
236 AC_CHECK_SIZEOF(long)
237 AC_CHECK_SIZEOF(Window, , [#include <stdio.h>
239 AC_CHECK_SIZEOF(Pixel, , [#include <stdio.h>
240 #include <X11/Intrinsic.h>])
241 AC_CHECK_SIZEOF(void *)
242 CFLAGS="$ac_save_CFLAGS"
244 if test "$ac_cv_sizeof_void_p" -gt "$ac_cv_sizeof_long"; then
245 echo "The type void * is bigger than long."
248 if test "$ac_cv_sizeof_Window" -gt "$ac_cv_sizeof_long"; then
249 echo "The type Window is bigger than long."
252 if test "$ac_cv_sizeof_Pixel" -gt "$ac_cv_sizeof_long"; then
253 echo "The type Pixel is bigger than long."
256 if test x"$size_check_failed" = x1; then
257 echo "This is not supported by the module interface yet (make_new_vpacket)."
258 echo "Detected type sizes are: int($ac_cv_sizeof_int), long($ac_cv_sizeof_long), void*($ac_cv_sizeof_void_p), Window($ac_cv_sizeof_Window), Pixel($ac_cv_sizeof_Pixel)"
259 echo "Please report details of your system and this message to ${FVWMWORKERSLIST}."
264 # 'unset' is not portable, but setting to null is not enough to avoid using
265 # the cached value! For ancient shells "rm config.cache" is a solution.
267 if unset UNSET 2>/dev/null; then UNSET=unset; fi
270 # ********* multibyte
271 # FreeBSD has libxpg4, check this and use if found.
275 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
281 # unfortunately, we need pkg-config for the detection of certain libs:
282 # - version of fontconfig without fontconfig-config
283 # - version of fribidi without fribidi-config
287 # Building man pages & HTML documentation (from XML source).
288 # extract command names
289 if test ! x"$SED" = x; then
293 /#.*define.*CMD_ENT/bfindcmd
302 /"propertychange"/bfindcmd
303 /"readwritecolors"/bfindcmd
311 ' < fvwm/functable.c`
312 DOC_COMMANDS=`echo $DOC_COMMANDS`
314 DOC_COMMANDS_XML=`for i in $DOC_COMMANDS; do echo ${i}.xml; done`
315 DOC_COMMANDS_XML=`echo $DOC_COMMANDS_XML`
316 # with .xml suffix and path
317 DOC_COMMANDS_XML_PATH=`
318 for i in $DOC_COMMANDS; do
319 echo ../commands/${i}.xml;
322 DOC_COMMANDS_XML_PATH=`echo $DOC_COMMANDS_XML_PATH`
324 DOC_COMMANDS_HTML=`for i in $DOC_COMMANDS; do echo ${i}.html; done`
325 DOC_COMMANDS_HTML=`echo $DOC_COMMANDS_HTML`
326 # extract module names
329 for i in modules/*; do echo "$i"; done |
332 /^modules.Fvwm/bfound
343 DOC_MODULES=`echo $DOC_MODULES`
344 DOC_MODULES_HTML=`for i in $DOC_MODULES; do echo ${i}.html; done`
345 DOC_MODULES_HTML=`echo $DOC_MODULES_HTML`
346 # extract man page section names
347 DOC_SECTIONS=`cat doc/fvwm/sections`
348 DOC_SECTIONS=`echo $DOC_SECTIONS`
349 DOC_SECTIONS_XML=`for i in $DOC_SECTIONS; do echo ${i}.xml; done`
350 DOC_SECTIONS_XML=`echo $DOC_SECTIONS_XML`
351 DOC_SECTIONS_XML_PATH=`for i in $DOC_SECTIONS; do echo ${i}.xml; done`
352 DOC_SECTIONS_XML_PATH=`echo $DOC_SECTIONS_XML`
356 DOC_COMMANDS_XML_PATH=""
362 DOC_SECTIONS_XML_PATH=""
364 AC_SUBST(DOC_COMMANDS)
365 AC_SUBST(DOC_COMMANDS_XML)
366 AC_SUBST(DOC_COMMANDS_XML_PATH)
367 AC_SUBST(DOC_COMMANDS_HTML)
368 AC_SUBST(DOC_MODULES)
369 AC_SUBST(DOC_MODULES_HTML)
370 AC_SUBST(DOC_SECTIONS)
371 AC_SUBST(DOC_SECTIONS_XML)
372 AC_SUBST(DOC_SECTIONS_XML_PATH)
375 AC_CHECK_PROG(XSLTPROC, xsltproc, xsltproc, "")
377 AC_ARG_ENABLE(mandoc,
378 AS_HELP_STRING([--disable-mandoc],
379 [disable generation of man pages]),
380 [ if test x"$enableval" = xyes; then
381 with_mandoc="yes, check"
384 problem_mandoc=": Explicitly disabled"
386 [ with_mandoc="not specified, check" ]
389 if test ! x"$with_mandoc" = xno; then
390 if test x"$XSLTPROC" = x ; then
392 problem_mandoc=": No xsltproc found in PATH"
393 elif test x"$SED" = x ; then
395 problem_mandoc=": No sed found in PATH"
396 elif test x"$HAVE_PERL_FOR_DOCS" = x0 ; then
398 problem_mandoc=": No perl found in PATH"
403 AM_CONDITIONAL([FVWM_BUILD_MANDOC], [test x"$with_mandoc" = xyes])
407 AC_ARG_ENABLE(htmldoc,
408 AS_HELP_STRING([--enable-htmldoc],[enable generation of HTML documentation]),
409 [ if test x"$enableval" = xyes; then
410 with_htmldoc="yes, check"
413 problem_htmldoc=": Explicitly disabled"
415 [ with_htmldoc="no" ]
418 if test ! x"$with_htmldoc" = xno; then
419 if test x"$XSLTPROC" = x ; then
421 problem_htmldoc=": No xsltproc found in PATH"
422 elif test x"$SED" = x ; then
424 problem_htmldoc=": No sed found in PATH"
425 elif test x"$HAVE_PERL_FOR_DOCS" = x0 ; then
427 problem_htmldoc=": No perl found in PATH"
432 AM_CONDITIONAL([FVWM_BUILD_HTMLDOC], [test x"$with_htmldoc" = xyes])
435 # ********* session management
436 # Check the availability of SM; we don't have to add any extra libraries,
437 # since -lSM -lICE are in X_PRE_LIBS when they exist.
438 dnl [old check] AC_CHECK_LIB(SM, SmcOpenConnection, AC_DEFINE(SESSION), ,
439 dnl [old check] [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
444 AS_HELP_STRING([--disable-sm],[disable session management support]),
445 [ if test x"$enableval" = xyes; then
449 problem_sm=": Explicitly disabled"
451 [ with_sm="not specified, check" ]
454 if test ! x"$with_sm" = xno; then
455 dnl Uncomment the following and comment out AC_CHECK_LIB to get --with-sm-*
456 dnl $UNSET ac_cv_lib_SM_SmcOpenConnection
457 dnl $UNSET ac_cv_header_X11_SM_SMlib_h
458 dnl smr_CHECK_LIB(sm, SM, adds session management support, SmcOpenConnection,
460 dnl [$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS], $X_CFLAGS)
461 dnl test "$sm_LIBS" && AC_DEFINE(SESSION)
463 $UNSET ac_cv_lib_SM_SmcOpenConnection
464 AH_TEMPLATE([SESSION],[Enables session management functionality.])
465 AC_CHECK_LIB(SM, SmcOpenConnection, with_sm=yes; AC_DEFINE(SESSION),
466 with_sm=no; problem_sm=": Failed to detect libSM",
467 [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
469 dnl AC_SUBST(sm_LIBS)
470 dnl AC_SUBST(sm_CFLAGS)
473 # Checking for optional libraries
474 # Default is to use them if found; can be disable using --without
475 # These are put up front so that if they are requested, but
476 # configure fails to find them, we fail early.
479 # ********* shape extension
480 dnl smr_SWITCH(shape, shape extensions, on, SHAPE)
482 AS_HELP_STRING([--disable-shape],[disable shaped window support]),
483 [ if test x"$enableval" = xyes; then
484 with_shape="yes, check"
487 problem_shape=": Explicitly disabled"
489 [ with_shape="not specified, check" ]
493 [ Define if you want the Shaped window extensions.
494 Shaped window extensions seem to increase the window managers RSS
495 by about 60 Kbytes. They provide for leaving a title-bar on the window
497 If you don't use shaped window extension, you can either make your
498 shaped windows undecorated, or live with a border and backdrop around
499 all your shaped windows (oclock, xeyes)
501 If you normally use a shaped window (xeyes or oclock), you might as
502 well compile this extension in, since the memory cost is minimal in
503 this case (The shaped window shared libs will be loaded anyway). If you
504 don't normally use a shaped window, you have to decide for yourself.
506 Note: if it is compiled in, run time detection is used to make sure that
507 the currently running X server supports it.])
508 if test ! x"$with_shape" = xno; then
509 $UNSET ac_cv_lib_Xext_XShapeQueryExtension
510 AC_CHECK_LIB(Xext, XShapeQueryExtension,
511 with_shape=yes; AC_DEFINE(SHAPE),
513 problem_shape=": Failed to detect Shape extension",
514 [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
517 # ********* MIT Shared Memory Extension
519 AS_HELP_STRING([--disable-shm],[disable MIT Shared Memory Extension]),
520 [ if test x"$enableval" = xyes; then
521 with_shm="yes, check"
524 problem_shm=": Explicitly disabled"
526 [ with_shm="not specified, check" ]
529 AH_TEMPLATE([HAVE_XSHM],[Define if MIT Shared Memory extension is used.])
530 if test ! x"$with_shm" = xno; then
531 $UNSET ac_cv_lib_Xext_XShmQueryExtension
532 AC_CHECK_LIB(Xext, XShmQueryExtension,
533 with_shm=yes; AC_DEFINE(HAVE_XSHM),
535 problem_shm=": Can't detect MIT Shared Memory ext.",
536 [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
542 AC_ARG_ENABLE(xinerama,
543 AS_HELP_STRING([--disable-xinerama],[disable Xinerama multi screen support]),
544 [ if test x"$enableval" = xyes; then
545 with_xinerama="yes, check"
548 problem_xinerama=": Explicitly disabled"
550 [ with_xinerama="not specified, check" ]
553 AH_TEMPLATE([HAVE_XINERAMA],[Define if Xinerama library is used.])
554 AH_TEMPLATE([HAVE_SOLARIS_XINERAMA],
555 [Define if Solaris' Xinerama calls are being used.
556 (Solaris 7 11/99 and later)])
557 AH_TEMPLATE([HAVE_SOLARIS_XINERAMA_H],
558 [Define if Solaris' X11/extensions/xinerama.h header is provided.
559 (Solaris 9 and later)])
560 if test ! x"$with_xinerama" = xno; then
561 $UNSET ac_cv_lib_Xinerama_XineramaIsActive
562 _check_solaris_xinerama=no
563 AC_CHECK_LIB(Xinerama, XineramaIsActive,
564 with_xinerama=yes; Xinerama_LIBS=-lXinerama; AC_DEFINE(HAVE_XINERAMA),
565 _check_solaris_xinerama=yes,
566 [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
567 if test x"$_check_solaris_xinerama" = xyes; then
568 AC_CHECK_LIB(Xext, XineramaGetState,
569 [ AC_DEFINE(HAVE_XINERAMA) AC_DEFINE(HAVE_SOLARIS_XINERAMA)
570 with_xinerama=yes; Xinerama_LIBS=-lXext
571 my_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$X_CPPFLAGS $CPPFLAGS"
572 my_hdr="X11/extensions/xinerama.h"
573 AC_CHECK_HEADER($my_hdr, AC_DEFINE(HAVE_SOLARIS_XINERAMA_H)
574 problem_xinerama=" (Using Solaris Xinerama calls)",
575 problem_xinerama=" (Using Solaris 9 prototypes for missing header)")
576 CPPFLAGS="$my_CPPFLAGS"],
577 with_xinerama=no; Xinerama_LIBS=
578 problem_xinerama=": Failed to detect libXinerama",
579 [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
581 $UNSET _check_solaris_xinerama
583 AC_SUBST(Xinerama_LIBS)
584 AC_SUBST(Xinerama_CFLAGS)
586 # ********* xinerama-emulation
589 [Xinerama emulation on one screen (useful only for developers)], off,
590 USE_XINERAMA_EMULATION,,
591 [Define if Xinerama should be emulated on a single screen.])
592 if test x"$enable_xinerama_emulation" = xyes; then
593 with_xinerama_emulation=yes
595 with_xinerama_emulation=no
600 AC_ARG_ENABLE(xrender,
601 AS_HELP_STRING([--disable-xrender],[disable Xrender alpha-blend rendering]),
602 [ if test x"$enableval" = xyes; then
603 with_xrender="yes, check"
606 problem_xrender=": Explicitly disabled"
608 [ with_xrender="not specified, check" ]
611 AH_TEMPLATE([HAVE_XRENDER],[Define if Xrender library is used.])
612 if test ! x"$with_xrender" = xno; then
613 $UNSET ac_cv_lib_Xrender_XRenderComposite
614 AC_CHECK_LIB(Xrender, XRenderComposite,
615 with_xrender=yes; Xrender_LIBS=-lXrender;
616 AC_DEFINE(HAVE_XRENDER),
617 with_xrender=no; Xrender_LIBS=
618 problem_xrender=": Failed to detect libXrender",
619 [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
621 AC_SUBST(Xrender_LIBS)
622 AC_SUBST(Xrender_CFLAGS)
625 AH_TEMPLATE([HAVE_XCURSOR],[Define if Xcursor library is used.])
628 AC_ARG_ENABLE(xcursor,
629 AS_HELP_STRING([--disable-xcursor],
630 [disable Xcursor ARGB/animated cursor loading]),
631 [ if test x"$enableval" = xno; then
633 problem_xcursor=": Explicitly disabled"
636 if test ! x"$with_xcursor" = xno; then
638 if test ! x"$with_xrender" = xno; then
639 $UNSET ac_cv_lib_Xrender_XRenderCreateCursor
640 AC_CHECK_LIB(Xrender, XRenderCreateCursor, [
643 problem_xcursor=": Your libXrender version is too old"
645 [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
647 problem_xcursor=": Need Xrender support"
650 if test x"$with_xcursor" = xyes ; then
651 $UNSET ac_cv_lib_Xcursor_XcursorImageLoadCursor
652 AC_CHECK_LIB(Xcursor, XcursorImageLoadCursor, [
653 AC_DEFINE(HAVE_XCURSOR)
654 Xcursor_LIBS=-lXcursor
658 problem_xcursor=": Failed to detect libXcursor"
661 AC_SUBST(Xcursor_CFLAGS)
662 AC_SUBST(Xcursor_LIBS)
668 AS_HELP_STRING([--disable-xft],[disable Xft anti-aliased font rendering]),
669 [ if test x"$enableval" = xyes; then
670 with_xft="yes, check"
673 problem_xft=": Explicitly disabled"
676 with_xft="not specified, check"
680 AH_TEMPLATE([HAVE_XFT],[Define if Xft library is used.])
681 AH_TEMPLATE([HAVE_XFT2],[Define if Xft 2 library is used.])
682 AH_TEMPLATE([HAVE_XFT_UTF8],[Define if Xft library can handle utf8 encoding])
683 if test ! x"$with_xft" = xno; then
685 # first check for freetype2
688 if test x"$no_ft" = x; then
692 problem_xft=": Can't detect freetype2 >= 6.1.0/2.0.6"
695 # check for fontconfig for Xft 2
697 if test ! x"$have_freetype" = xno ; then
699 if test x"$no_fc" = x ; then
703 problem_xft=": Can't detect fontconfig >= 1.0.1"
707 # now check for Xft 2
709 if test ! x"$have_fontconfig" = xno ; then
712 if test x"$no_xft" = x; then
714 problem_xft=" (version 2)"
717 AC_DEFINE(HAVE_XFT_UTF8)
719 Xft_CFLAGS=$XFT_CFLAGS
721 problem_xft=": Can't detect Xft2, detected fontconfig"
725 # if Xft2 not detected check for Xft1
726 if test ! x"$have_freetype" = xno && test ! x"$with_xft" = xyes; then
728 $UNSET ac_cv_lib_XftConfigSubstitute
729 $UNSET ac_cv_lib_Xft_XftFontOpen
730 $UNSET ac_cv_lib_Xft_XftDrawStringUtf8
731 AC_CHECK_LIB(Xft, XftFontOpen,
732 with_xft=yes, with_xft=no,
733 [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $FT2_LIBS $Xrender_LIBS])
734 if test x"$with_xft" = xyes ; then
735 AC_CHECK_LIB(Xft, XftConfigSubstitute, is_xft1=yes, is_xft1=no,
736 [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $FT2_LIBS $Xrender_LIBS])
737 if test x"$is_xft1" = xyes; then
738 Xft_LIBS="-lXft $FT2_LIBS"
739 Xft_CFLAGS="$Xft_CFLAGS $FT2_CFLAGS"
740 problem_xft=" (version 1)"
744 problem_xft=": Can't detect Xft 1 or fontconfig"
747 problem_xft=": Can't detect Xft 1 or 2 and fontconfig"
749 if test x"$with_xft" = xyes; then
750 AC_CHECK_LIB(Xft, XftDrawStringUtf8,
751 AC_DEFINE(HAVE_XFT_UTF8),,
752 [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $FT2_LIBS $Xrender_LIBS])
761 problem_xpm=": Xpm library or header not found"
763 $UNSET ac_cv_header_X11_xpm_h
764 $UNSET ac_cv_lib_Xpm_XpmReadFileToXpmImage
765 smr_CHECK_LIB(xpm, Xpm, for coloured or shaped icons,
766 XpmReadFileToXpmImage, X11/xpm.h,
767 [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS], $X_CFLAGS)
769 if test ! x"$xpm_LIBS" = x; then
770 # Check for proper version of Xpm -- from XEmacs 21.x configure.in
771 AC_MSG_CHECKING([for Xpm 3.4g or better])
772 my_CPPFLAGS="$CPPFLAGS"
774 CPPFLAGS="$CPPFLAGS $xpm_CFLAGS $X_CFLAGS"
775 LIBS="$LIBS $xpm_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
776 AC_TRY_RUN([#include <X11/xpm.h>
777 int main(int c, char **v) {
779 XpmIncludeVersion != XpmLibraryVersion() ? 1 :
780 XpmIncludeVersion < 30407 ? 2 : 0 ;}],
781 [./conftest dummy_arg; xpm_status=$?;
782 if test x"$xpm_status" = x0; then
787 if test x"$xpm_status" = x1; then
788 problem_xpm=": Xpm library and header versions don't match"
789 elif test x"$xpm_status" = x2x; then
790 problem_xpm=": Xpm library version is too old"
792 problem_xpm=": Internal xpm detection logic error"
795 [with_xpm=no; problem_xpm=": Xpm test error, see config.log"],
796 [echo $ac_n "cross compiling; assumed OK... $ac_c"])
797 AC_MSG_RESULT($with_xpm)
798 CPPFLAGS="$my_CPPFLAGS"
801 AH_TEMPLATE([XPM],[Define if Xpm library is used.])
802 if test x"$with_xpm" = xyes; then
804 # FVWMBANNER=FvwmBanner AC_SUBST(FVWMBANNER)
805 # XPMROOT=xpmroot AC_SUBST(XPMROOT)
806 # FVWMSCRIPT=FvwmScript AC_SUBST(FVWMSCRIPT)
816 problem_png=": png library or header not found"
818 $UNSET ac_cv_header_png_h
819 $UNSET ac_cv_lib_png_png_read_info
820 smr_CHECK_LIB(png, png, for coloured or shaped icons,
821 png_read_info, png.h, -lz -lm,)
823 if test ! x"$png_LIBS" = x; then
824 # Check for proper version of png
825 AC_MSG_CHECKING([for libpng 1.0.4a or better])
826 my_CPPFLAGS="$CPPFLAGS"
828 CPPFLAGS="$CPPFLAGS $png_CFLAGS"
829 LIBS="$LIBS $png_LIBS -lz -lm"
830 AC_TRY_RUN([#include <png.h>
831 int main(int c, char **v) {
832 return c == 1 ? 0 : (PNG_LIBPNG_VER < 10005) ? 2 : 0 ;}],
833 [./conftest dummy_arg; png_status=$?;
834 if test x"$png_status" = x0; then
838 if test x"$png_status" = x2; then
839 problem_png=": png library version is too old"
841 problem_png=": Internal png detection logic error"
844 [with_png="no"; problem_png=": png test error, see config.log"],
845 [echo $ac_n "cross compiling; assumed OK... $ac_c"])
846 AC_MSG_RESULT($with_png)
847 CPPFLAGS="$my_CPPFLAGS"
851 AH_TEMPLATE([HAVE_PNG],[Define if ppm library is used.])
852 if test x"$with_png" = xyes; then
854 png_LIBS="$png_LIBS -lz"
862 # ** needed by the png support
866 rsvg_min_version=2.13.92
867 AH_TEMPLATE([HAVE_RSVG], [Define if librsvg library is used.])
870 AS_HELP_STRING([--disable-rsvg],
871 [disable scalable vector graphics (SVG images)]),
872 [ if test x"$enableval" = xno; then
874 problem_rsvg=": Explicitly disabled"
877 if test ! x"$with_rsvg" = xno; then
879 if test ! x"$PKG_CONFIG" = xno ; then
880 AC_MSG_CHECKING(for librsvg - version >= $rsvg_min_version)
881 if $PKG_CONFIG --exists librsvg-2.0 ; then
882 if $PKG_CONFIG --exists "librsvg-2.0 >= $rsvg_min_version" ; then
885 AC_MSG_CHECKING(for cairo svg backend)
886 if $PKG_CONFIG --exists cairo-svg ; then
887 svg_packages="librsvg-2.0 cairo-svg"
888 elif $PKG_CONFIG --exists libsvg-cairo ; then
889 svg_packages="librsvg-2.0 libsvg-cairo"
890 elif $PKG_CONFIG --exists cairo ; then
891 svg_packages="librsvg-2.0 cairo"
895 if test ! x"$svg_packages" = x ; then
897 rsvg_CFLAGS=`$PKG_CONFIG --cflags $svg_packages`
898 rsvg_LIBS=`$PKG_CONFIG --libs $svg_packages`
902 AC_MSG_WARN([*** cairo was not found in the pkg-config search])
903 AC_MSG_WARN([*** path. Add the directory containing cairo.pc])
904 AC_MSG_WARN([*** to the PKG_CONFIG_PATH environment variable.])
905 problem_rsvg=": Cannot detect cairo backend"
909 AC_MSG_WARN([*** Your librsvg version is < $rsvg_min_version])
910 problem_rsvg=": Your librsvg version is too old"
914 AC_MSG_WARN([*** librsvg-2.0 was not found in the pkg-config search])
915 AC_MSG_WARN([*** path. Either librsvg is not installed or you need])
916 AC_MSG_WARN([*** to add the directory containing librsvg-2.0.pc to])
917 AC_MSG_WARN([*** the PKG_CONFIG_PATH environment variable.])
918 problem_rsvg=": librsvg library or header not found"
921 problem_rsvg=": pkg-config not found"
924 if test x"$with_rsvg" = xyes ; then
925 AC_MSG_CHECKING(whether a librsvg program compiles and runs)
926 original_CFLAGS="$CFLAGS"
927 original_LIBS="$LIBS"
928 CFLAGS="$CFLAGS $rsvg_CFLAGS"
929 LIBS="$LIBS $rsvg_LIBS"
931 #include <librsvg/rsvg.h>
932 #include <librsvg/rsvg-cairo.h>
936 if(!(rsvg = rsvg_handle_new())) return 1;
937 g_object_unref(G_OBJECT(rsvg));
944 AC_MSG_WARN([*** The librsvg test program failed to run. If your system])
945 AC_MSG_WARN([*** has shared libraries outside the normal system library])
946 AC_MSG_WARN([*** path, you need to make sure that the LD_LIBRARY_PATH])
947 AC_MSG_WARN([*** (or the like) environment variable is correctly set.])
949 problem_rsvg=": Failed to run test program"
950 ], [echo $ac_n "cross compiling; assumed OK... $ac_c"])
951 CFLAGS="$original_CFLAGS"
952 LIBS="$original_LIBS"
954 if test x"$with_rsvg" = xyes ; then
961 AC_SUBST(rsvg_CFLAGS)
965 $UNSET ac_cv_header_rplay_h
966 $UNSET ac_cv_lib_rplay_rplay_create
967 # Add in X_EXTRA_LIBS here to get things like connect().
968 smr_CHECK_LIB(rplay, , adds audio capability, rplay_create, rplay.h,
970 AH_TEMPLATE([HAVE_RPLAY],[Define if rplay library is used.])
971 test ! x"$rplay_LIBS" = x && AC_DEFINE(HAVE_RPLAY)
973 AC_SUBST(rplay_CFLAGS)
977 $UNSET ac_cv_header_stroke_h
978 $UNSET ac_cv_lib_stroke_stroke_init
979 dnl Add in X_LIBS for MOUSE_DROPPINGS?
980 dnl As of 23/Mar/2000 the only libstroke RPM has /usr/X11R6/include/stroke.h
981 AH_TEMPLATE([HAVE_STROKE],[Define if stroke library is used.])
982 smr_CHECK_LIB(stroke, , mouse strokes recognition,
983 stroke_init, stroke.h,
984 [$X_LIBS -lX11], $X_CFLAGS -I/usr/X11R6/include)
985 test ! x"$stroke_LIBS" = x &&
986 AC_DEFINE(HAVE_STROKE)
987 AH_VERBATIM([_HAVE_STROKE],
989 # define STROKE_ARG(x) x,
990 # define STROKE_CODE(x) x
992 # define STROKE_ARG(x)
993 # define STROKE_CODE(x)
995 AC_SUBST(stroke_LIBS)
996 AC_SUBST(stroke_CFLAGS)
1001 problem_readline=": Both termcap and ncurses disabled"
1003 smr_ARG_WITHLIB(termcap, , to accomplish readline)
1004 AH_TEMPLATE([HAVE_READLINE],[Define if readline is available.])
1005 if test ! x"$with_termcap" = xno; then
1006 # Forget cached values, so user can re-run configure
1007 $UNSET ac_cv_header_readline_history_h
1008 $UNSET ac_cv_lib_readline_readline
1009 AC_MSG_CHECKING([with termcap])
1010 smr_CHECK_LIB(readline, , line editing/history, readline, readline/history.h,
1012 if test ! x"$readline_LIBS" = x; then
1014 readline_LIBS="$readline_LIBS $termcap_LIBS"
1015 AC_DEFINE(HAVE_READLINE)
1018 smr_ARG_WITHLIB(ncurses, , to accomplish readline)
1019 if test ! x"$with_ncurses" = xno && test x"$readline_LIBS" = x; then
1020 # We couldn't use readline with termcap; try with ncurses?
1021 # Doesn't this seem a hacky way to do this??
1022 # unset cached values from last check...
1023 $UNSET ac_cv_header_readline_history_h
1024 $UNSET ac_cv_lib_readline_readline
1025 AC_MSG_CHECKING([with ncurses])
1026 dnl We can not call smr_CHECK_LIB twice here without having the usage twice.
1028 dnl AC_CHECK_LIB(readline, readline, , , $ncurses_LIBS)
1030 dnl if test x"$ac_cv_lib_readline_readline" = xyes; then
1031 dnl AC_CHECK_HEADERS(readline/history.h)
1032 dnl if test x"$ac_cv_header_readline_history_h" = xyes; then
1033 dnl with_readline=yes
1034 dnl readline_LIBS="$readline_LIBS $ncurses_LIBS"
1035 dnl AC_DEFINE(HAVE_READLINE)
1038 smr_CHECK_LIB(readline, , line editing/history, readline, readline/history.h,
1040 if test ! x"$readline_LIBS" = x; then
1042 readline_LIBS="$readline_LIBS $ncurses_LIBS"
1043 AC_DEFINE(HAVE_READLINE)
1046 dnl We need to check if we have GNU readline or BSD editline
1047 AH_TEMPLATE([HAVE_GNU_READLINE],[Define if readline has full GNU interface])
1048 if test x"$with_readline" = xyes; then
1049 AC_CHECK_LIB(readline, append_history, AC_DEFINE(HAVE_GNU_READLINE), [], $readline_LIBS)
1051 AC_SUBST(readline_LIBS)
1052 AC_SUBST(readline_CFLAGS)
1055 # Check if Xsetlocale() is available or not.
1056 AH_TEMPLATE([X_LOCALE],[Enables to use setlocale() provided by X])
1057 AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE),, $X_LIBS -lX11)
1059 # Check if Xsetlocale() is available or not.
1060 AH_TEMPLATE([HAVE_XOUTPUT_METHOD],[Enable X output method])
1061 AC_CHECK_LIB(X11, XOpenOM, AC_DEFINE(HAVE_XOUTPUT_METHOD),, $X_LIBS -lX11)
1068 problem_iconv=": Explicitly disabled"
1070 AC_ARG_ENABLE(iconv,
1071 AS_HELP_STRING([--disable-iconv],
1072 [disable support for iconv character conversion]),
1073 [ac_cv_iconv="$enableval"],
1074 [ac_cv_iconv="yes"])
1076 AH_TEMPLATE([USE_LIBICONV],
1077 [define if we use libiconv (not needed in general: for example iconv is
1078 native with recent glibc)])
1079 AH_TEMPLATE([HAVE_ICONV],
1080 [Define if iconv (in the libc) or libiconv is available])
1081 if test ! x"$ac_cv_iconv" = xno; then
1082 # * first check for gnu libiconv
1083 $UNSET ac_cv_header_libiconv_h
1084 $UNSET ac_cv_lib_libiconv_libiconv_open
1086 iconv, , if not found sys iconv is used, libiconv_open, iconv.h)
1087 if test ! x"$iconv_LIBS" = x; then
1088 AC_DEFINE(USE_LIBICONV)
1091 AC_SUBST(iconv_LIBS)
1092 AC_SUBST(iconv_CFLAGS)
1094 # * check for system iconv
1096 AC_CHECK_FUNC(iconv_open, with_sys_iconv=yes)
1098 if test x"$with_lib_iconv" = xyes && test x"$with_sys_iconv" = xyes; then
1099 AC_MSG_WARN([*** Both system iconv and libiconv found: use libiconv])
1100 AC_MSG_WARN([*** Use --with-iconv-library=no to use the system iconv])
1103 # * libiconv found check for libcharset to get the good iconv charset
1104 if test x"$with_lib_iconv" = xyes; then
1108 test x"$with_lib_iconv" = xyes -o x"$with_sys_iconv" = xyes &&
1109 with_iconv=yes && problem_iconv=""
1110 test x"$with_lib_iconv" = xyes && with_iconv_type="yes (libiconv)"
1111 test x"$with_sys_iconv" = xyes && with_iconv_type="yes (from C library)"
1113 if test x"$with_iconv" = xno; then
1115 AC_MSG_WARN([*** No iconv() implementation found in C library or libiconv])
1116 AC_MSG_WARN([*** Please install libiconv ftp://ftp.gnu.org/pub/gnu/libiconv/])
1120 if test x"$with_iconv" = xyes; then
1121 AC_DEFINE(HAVE_ICONV)
1125 AH_VERBATIM([_HAVE_LIBCHARSET],
1126 [#ifdef USE_LIBICONV
1127 /* define to use locale_charset in the place of nl_langinfog if libiconv
1129 #undef HAVE_LIBCHARSET
1133 # ******** nl_langinfo and CODESET
1134 AH_TEMPLATE([HAVE_CODESET],[Have nl_langinfo (CODESET)])
1135 AC_MSG_CHECKING([for nl_langinfo (CODESET)])
1136 AC_TRY_COMPILE([#include <langinfo.h>
1137 #include <locale.h>],
1138 [char *codeset = nl_langinfo(CODESET); setlocale(LC_CTYPE, "");],
1139 AC_DEFINE(HAVE_CODESET)
1142 AC_MSG_RESULT($have_codeset)
1147 AS_HELP_STRING([--disable-bidi],[disable bi-directional text support]),
1148 [ if test x"$enableval" = xyes; then
1149 with_bidi="yes, check"
1152 problem_bidi=": Explicitly disabled"
1154 [ with_bidi="not specified, check" ]
1157 if test ! x"$with_bidi" = xno; then
1158 AC_ARG_WITH(fribidi-bindir,
1159 AS_HELP_STRING([--with-fribidi-bindir=DIR],
1160 [directory of fribidi-config if not in PATH]),
1161 FRIBIDI_BINDIR="$withval", FRIBIDI_BINDIR=".")
1162 if test ! x"$PKG_CONFIG" = xno && $PKG_CONFIG fribidi --exists; then
1163 FRIBIDI_CONFIG="$PKG_CONFIG fribidi"
1165 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config,, [$FRIBIDI_BINDIR:$PATH])
1168 if test x"$FRIBIDI_CONFIG" = x; then
1170 problem_bidi=": No fribidi-config, pkg-config fribidi"
1172 Bidi_CFLAGS=`$FRIBIDI_CONFIG --cflags`
1173 Bidi_LIBS=`$FRIBIDI_CONFIG --libs`
1174 AC_CHECK_LIB(fribidi, fribidi_log2vis,
1175 with_bidi=yes; problem_bidi=,
1176 with_bidi=no; problem_bidi=": No good libs via $FRIBIDI_CONFIG",
1177 [$Bidi_LIBS $Bidi_CFLAGS])
1181 if test ! x"$with_bidi" = xno; then
1183 ac_save_LIBS="$LIBS"
1184 LIBS="$LIBS $Bidi_LIBS"
1185 AC_TRY_RUN([#include <stdlib.h>
1186 #include <fribidi/fribidi.h>
1189 FriBidiChar *logical_unicode_str =
1190 (FriBidiChar *)malloc((4 + 1) * sizeof(FriBidiChar));
1191 fribidi_charset_to_unicode(
1192 fribidi_parse_charset("iso8859-8"), "test", 4,
1193 logical_unicode_str);
1196 ], [:], [fribidi_in_path=no])
1197 LIBS="$ac_save_LIBS"
1198 if test ! x"$fribidi_in_path" = xyes; then
1199 ac_save_CFLAGS="$CFLAGS"
1200 ac_save_LIBS="$LIBS"
1201 CFLAGS="$CFLAGS $Bidi_CFLAGS"
1202 LIBS="$LIBS $Bidi_LIBS"
1203 AC_TRY_RUN([#include <stdlib.h>
1204 #include <fribidi/fribidi.h>
1207 FriBidiChar *logical_unicode_str =
1208 (FriBidiChar *)malloc((4 + 1) * sizeof(FriBidiChar));
1209 fribidi_charset_to_unicode(
1210 fribidi_parse_charset("iso8859-8"), "test", 4,
1211 logical_unicode_str);
1214 ], [:], [with_bidi=no; problem_bidi=": Bad fribidi version, see config.log"])
1215 CFLAGS="$ac_save_CFLAGS"
1216 LIBS="$ac_save_LIBS"
1218 if test ! x"$fribidi_in_path" = xno; then
1224 AH_TEMPLATE([HAVE_BIDI],[Define if fribidi library is used.])
1225 AH_TEMPLATE([FRIBIDI_CHARSET_SPELLING],
1226 [Support fribidi-0.10.4 and older with "CHARSET" spelling.])
1227 if test x"$with_bidi" = xno; then
1231 AC_DEFINE(HAVE_BIDI)
1232 AC_TRY_RUN([#include <fribidi/fribidi.h>
1233 int main(int c, char **v) {
1234 return FRIBIDI_CHARSET_NOT_FOUND * 0;
1236 ], [AC_DEFINE(FRIBIDI_CHARSET_SPELLING)])
1238 AH_VERBATIM([_FRIBIDI_CHARSET_SPELLING],
1239 [#ifdef FRIBIDI_CHARSET_SPELLING
1240 # define FRIBIDI_CHAR_SET_NOT_FOUND FRIBIDI_CHARSET_NOT_FOUND
1244 AC_SUBST(Bidi_CFLAGS)
1250 FVWM_PERLLIB=perllib
1251 AC_ARG_ENABLE(perllib,
1252 AS_HELP_STRING([--disable-perllib],[disable installing fvwm perl library]),
1253 [ if test x"$enableval" = xno; then
1255 problem_perllib=": Explicitly disabled"
1259 AC_SUBST(FVWM_PERLLIB)
1262 ALL_LINGUAS="ar de fr sv_SE zh_CN"
1264 FVWMTASKBAR_DOMAIN="FvwmTaskBar"
1265 FVWMSCRIPT_DOMAIN="FvwmScript"
1266 ALL_DOMAINS="$FVWM_DOMAIN $FVWMTASKBAR_DOMAIN $FVWMSCRIPT_DOMAIN"
1268 AC_SUBST(ALL_LINGUAS)
1269 AC_SUBST(FVWM_DOMAIN)
1270 AC_SUBST(FVWMTASKBAR_DOMAIN)
1271 AC_SUBST(FVWMSCRIPT_DOMAIN)
1272 AC_SUBST(ALL_DOMAINS)
1274 LOCALEDIR='${datadir}'"/locale"
1279 AS_HELP_STRING([--disable-nls],[do not use Native Language Support]),
1280 [ if test x"$enableval" = xno; then
1282 problem_gettext=": Explicitly disabled"
1286 AH_TEMPLATE([HAVE_NLS],
1287 [Define to 1 if translation of program messages to the user's native
1288 language is requested.])
1289 if test ! x"$with_gettext" = xno; then
1291 if test x"$USE_NLS" = "xyes"; then
1292 AC_DEFINE(HAVE_NLS, 1)
1295 problem_gettext=": Failed to detected GNU gettext"
1303 AC_SUBST(intl_CFLAGS)
1307 AC_SUBST(MKINSTALLDIRS)
1308 # programs for devel
1315 AC_SUBST(INST_LINGUAS)
1319 AC_SUBST(UPDATEPOFILES)
1320 AC_SUBST(DUMMYPOFILES)
1323 # Check for REQUIRED headers and functions before going any
1326 # The module interface uses variadic functions for message passing.
1327 AC_CHECK_HEADERS(stdarg.h)
1328 AC_CHECK_FUNCS(vfprintf)
1329 if test x$ac_cv_header_stdarg_h = xno -o \
1330 $ac_cv_func_vfprintf = no; then
1331 AC_MSG_ERROR([stdarg.h and vfprintf required])
1334 # For reaping children, fvwm needs either waitpid() or wait3()
1335 # Some extra modules may need wait4() too
1336 AC_CHECK_FUNCS(waitpid)
1337 if test x$ac_cv_func_waitpid = xno; then
1338 AC_CHECK_FUNCS(wait3 wait4)
1339 if test x$ac_cv_func_wait3 = xno; then
1340 AC_MSG_ERROR([Either waitpid or wait3 function is required])
1344 # C89/C99 signal handling
1345 AC_CHECK_FUNCS(sigsetjmp siglongjmp)
1347 # Look harder for a C preprocessor for FvwmCpp
1348 AC_PATH_PROG(FVWM_CPP, cpp, no, $PATH:/lib:/usr/lib:/usr/ccs/lib)
1349 if test x"$FVWM_CPP" = xno; then
1351 AC_MSG_WARN([cannot locate a C preprocessor: run FvwmCpp with -cppprog])
1353 dnl FIXME: make sure the cpp we found actually works...
1355 # Finish checking for programs.
1360 dnl lex+yacc now only needed for FvwmScript developers when syntax is changed
1364 # Checks for header files.
1367 AC_CHECK_HEADERS(stdlib.h fcntl.h limits.h malloc.h string.h memory.h unistd.h)
1368 AC_CHECK_HEADERS(getopt.h sys/select.h sys/systeminfo.h sys/time.h)
1370 # Checks for typedefs, structures, and compiler characteristics.
1380 # Checks for library functions.
1384 AC_CHECK_FUNCS(gettimeofday mkfifo putenv setvbuf socket waitpid)
1385 AC_CHECK_FUNCS(strdup strstr strtol memmove memcpy strchr sysconf uname div)
1386 AC_CHECK_FUNCS(sigaction siginterrupt getpwuid)
1387 AC_CHECK_FUNCS(setpgrp setpgid)
1388 AC_CHECK_FUNCS(lstat)
1392 pds_CHECK_TYPE(sig_atomic_t, int, [#include <signal.h>], [Specify a type for sig_atomic_t if it's not available.])
1394 if test x$ac_cv_func_setvbuf = xyes; then
1395 AC_FUNC_SETVBUF_REVERSED
1399 if test ! x"$ac_cv_func_select" = xyes; then
1400 AC_MSG_ERROR([select required])
1403 # Check for standard functions that we have replacements for.
1404 AC_REPLACE_FUNCS(gethostname strcasecmp strncasecmp strdup strerror usleep atexit)
1405 dnl dv: this is harmful with autoconf 2.53 and is done automatically anyway
1406 dnl AC_SUBST(LIBOBJS)
1408 # check for mkstemp, see the discution on this subject on the fvwm workers
1409 # list (2001-02-16 and 2001-02-24)
1410 AM_SAFETY_CHECK_MKSTEMP
1412 # If we do not have atexit(), then check for on_exit()
1413 if test x$ac_cv_func_atexit = xno; then
1414 AC_CHECK_FUNCS(on_exit)
1417 # Check for unsetenv function
1418 AC_CHECK_FUNCS(unsetenv)
1421 # ********* GTK, IMLIB, GNOME
1422 # Check the availability of gtk
1426 AS_HELP_STRING([--disable-gtk],[do not build modules using gtk library]),
1427 enable_gtktest="$enableval", enable_gtktest=yes)
1428 if test x"$enable_gtktest" = xyes; then
1430 FVWMGTK="FvwmGtk$EXEEXT" AC_SUBST(FVWMGTK)
1431 MANFVWMGTK=FvwmGtk.1 AC_SUBST(MANFVWMGTK)
1433 if test x"$no_gtk" = x; then
1438 problem_gtk=": Failed to detect GTK, see config.log"
1442 problem_gtk=": Explicitly disabled"
1445 AC_SUBST(MANFVWMGTK)
1447 # Check the availability of gdk-imlib
1448 AH_TEMPLATE([GDK_IMLIB],[Define if gdk-imlib is used])
1449 AM_PATH_GDK_IMLIB(1.8.0, AC_DEFINE(GDK_IMLIB))
1450 if test x"$no_imlib" = x; then
1455 problem_gdkimlib=": Failed on gdk-imlib, see config.log"
1460 # Unfortunately we have 2 gnome supports: WM hints and gnome libs.
1461 # The $with_gnomehints below refers to the first, not GNOME_INIT_HOOK.
1462 if test ! x"$enable_gnome_hints" = xno; then
1464 problem_gnomehints=""
1467 problem_gnomehints=": Explicitly disabled"
1470 # Define some compatibility macros needed for config.h.
1471 mg_DEFINE_IF_NOT([#include <X11/keysym.h>],
1472 [defined XK_Page_Up && defined XK_Page_Down],
1473 [COMPAT_OLD_KEYSYMDEF], [$X_CFLAGS],
1474 [Old AIX systems (3.2.5) don't define some common keysyms.])
1475 AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
1476 [#ifdef COMPAT_OLD_KEYSYMDEF
1477 # define XK_Page_Up XK_Prior
1478 # define XK_Page_Down XK_Next
1481 if test x"$with_stroke" = xyes; then
1482 mg_DEFINE_IF_NOT([#include <stroke.h>],
1483 [defined STROKE_MAX_SEQUENCE],
1484 [COMPAT_OLD_LIBSTROKE], [$stroke_CFLAGS],
1485 [Old libstroke <= 0.4 does not use STROKE_ prefix for constants.])
1487 AH_VERBATIM([_COMPAT_OLD_LIBSTROKE],
1488 [#ifdef COMPAT_OLD_LIBSTROKE
1489 /* currently we only use one constant */
1490 # define STROKE_MAX_SEQUENCE MAX_SEQUENCE
1494 # Allow building with dmalloc. Do this last to avoid screwing up any
1495 # other checks above.
1496 case "$ac_cv_dmalloc" in
1497 yes) AC_CHECK_HEADERS(dmalloc.h)
1498 AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
1499 CPPFLAGS="$CPPFLAGS -DDMALLOC_FUNC_CHECK" ;;
1503 # Allow building with efence.
1504 case "$ac_cv_efence" in
1505 yes) AC_CHECK_LIB(efence, malloc) ;;
1508 # some explicit definitions for config.h file
1509 AH_VERBATIM([_ZEND_EXPLICIT_DEFINITIONS],
1512 * The next few defines are options that are only changed from their values
1513 * shown here on systems that _don't_ use the configure script.
1516 /* Enable tests for missing too many XEvents. Usually you want this. */
1517 #define WORRY_ABOUT_MISSED_XEVENTS 1
1519 /* Define if the X11 ConnectionNumber is actually a file descriptor. */
1520 #define HAVE_X11_FD 1
1522 /* Define if fork() has unix semantics. On VMS, no child process is created
1523 until after a successful exec(). */
1524 #define FORK_CREATES_CHILD 1
1526 /* Suffix for executable filenames; NULL if no extension needed. */
1527 #define EXECUTABLE_EXTENSION NULL
1529 /* Define to remove the extension from executable pathnames before calling
1531 #undef REMOVE_EXECUTABLE_EXTENSION
1533 /* Enables the "MiniIcon" Style option to specify a small pixmap which
1534 * can be used as one of the title-bar buttons, shown in window list,
1535 * utilized by modules, etc. Requires PIXMAP_BUTTONS to be defined
1537 /* #undef MINI_ICONS */
1538 /* NOTE: hard coded to 1 */
1540 #define FMiniIconsSupported 1
1542 #define FMiniIconsSupported 0
1545 /* Enables tagged general decoration styles which can be assigned to
1546 * windows using the UseDecor Style option, or dynamically updated
1547 * with ChangeDecor. To create and destroy "decor" definitions, see
1548 * the man page entries for AddToDecor and DestroyDecor. There is a
1549 * slight memory penalty for each additionally defined decor. */
1550 /* #undef USEDECOR */
1551 /* NOTE: hard coded to 1 */
1554 #if RETSIGTYPE != void
1555 #define SIGNAL_RETURN return 0
1557 #define SIGNAL_RETURN return
1560 /* Allow GCC extensions to work, if you have GCC. */
1561 #ifndef __attribute__
1562 /* This feature is available in gcc versions 2.5 and later. */
1563 # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
1564 # define __attribute__(x)
1566 /* The __-protected variants of `format' and `printf' attributes
1567 * are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
1568 # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
1569 # define __format__ format
1570 # define __printf__ printf
1575 # include <alloca.h>
1580 # ifndef alloca /* predefined by HP cc +Olibcalls */
1586 #ifdef HAVE_STRING_H
1587 # include <string.h>
1589 #ifdef HAVE_STRINGS_H
1590 # include <strings.h>
1592 #ifdef HAVE_MEMORY_H
1593 # include <memory.h>
1595 #ifdef HAVE_STDLIB_H
1596 # include <stdlib.h>
1599 #if defined (HAVE_MALLOC_H) && !defined (__FreeBSD__) && !defined (__OpenBSD__) && !defined(__NetBSD__)
1600 # include <malloc.h>
1606 # define strchr(_s,_c) index((_s),(_c))
1607 # define strrchr(_s,_c) rindex((_s),(_c))
1611 # define memcpy(_d,_s,_l) bcopy((_s),(_d),(_l))
1613 #ifndef HAVE_MEMMOVE
1614 # define memmove(_d,_s,_l) bcopy((_s),(_d),(_l))
1617 #if HAVE_SYS_TYPES_H
1618 # include <sys/types.h>
1622 # include <unistd.h>
1626 # define min(a,b) (((a)<(b)) ? (a) : (b))
1629 # define max(a,b) (((a)>(b)) ? (a) : (b))
1632 # define abs(a) (((a)>=0)?(a):-(a))
1635 #include "libs/defaults.h"
1638 #include <X11/Xlib.h>
1639 #include "libs/FEvent.h"
1643 #define O_NOFOLLOW 0
1647 #define DO_USE_LSTAT 1
1648 #define fvwm_lstat(x,y) lstat(x,y)
1650 #define DO_USE_LSTAT 0
1651 #define fvwm_lstat(x,y) -1
1656 # mainly for fvwm-config
1659 AC_SUBST(with_gdkimlib)
1660 AC_SUBST(with_gettext)
1661 AC_SUBST(with_gnomelibs)
1662 AC_SUBST(with_iconv)
1663 AC_SUBST(with_perllib)
1666 AC_SUBST(with_readline)
1667 AC_SUBST(with_rplay)
1668 AC_SUBST(with_shape)
1671 AC_SUBST(with_stroke)
1672 AC_SUBST(with_xcursor)
1674 AC_SUBST(with_xinerama)
1675 AC_SUBST(with_xrender)
1678 dnl with autoconf <2.60 this is needed
1679 AC_SUBST(datarootdir)
1682 LOCAL_BUGADDR=${FVWM_BUGADDR-${USER-${LOGNAME-`whoami`}}}
1683 AC_SUBST(LOCAL_BUGADDR)
1693 bin/fvwm-convert-2.2.1
1694 bin/fvwm-convert-2.4.1
1695 bin/fvwm-convert-2.6.1
1696 bin/fvwm-menu-desktop.1
1697 dnl bin/fvwm-menu-directory.1
1698 dnl bin/fvwm-menu-headlines.1
1699 dnl bin/fvwm-menu-xlock.1
1700 dnl bin/fvwm-perllib.1
1702 modules/FvwmAnimate/FvwmAnimate.1
1703 modules/FvwmAuto/FvwmAuto.1
1704 modules/FvwmBacker/FvwmBacker.1
1705 modules/FvwmBanner/FvwmBanner.1
1706 modules/FvwmButtons/FvwmButtons.1
1707 modules/FvwmCommand/FvwmCommand.1
1708 modules/FvwmConsole/FvwmConsole.1
1709 modules/FvwmConsole/FvwmConsoleC.pl.1
1710 modules/FvwmCpp/FvwmCpp.1
1711 dnl modules/FvwmDebug/FvwmDebug.1
1712 dnl modules/FvwmDebug/FvwmGtkDebug.1
1713 dnl modules/FvwmDebug/FvwmOldDebug.1
1714 modules/FvwmDragWell/FvwmDragWell.1
1715 modules/FvwmEvent/FvwmEvent.1
1716 modules/FvwmForm/FvwmForm.1
1717 modules/FvwmGtk/FvwmGtk.1
1718 modules/FvwmIconBox/FvwmIconBox.1
1719 modules/FvwmIconMan/FvwmIconMan.1
1720 modules/FvwmIdent/FvwmIdent.1
1721 modules/FvwmM4/FvwmM4.1
1722 modules/FvwmPager/FvwmPager.1
1723 dnl modules/FvwmPerl/FvwmPerl.1
1724 modules/FvwmProxy/FvwmProxy.1
1725 modules/FvwmRearrange/FvwmRearrange.1
1726 modules/FvwmSave/FvwmSave.1
1727 modules/FvwmSaveDesk/FvwmSaveDesk.1
1728 modules/FvwmScript/FvwmScript.1
1729 modules/FvwmScroll/FvwmScroll.1
1730 modules/FvwmTaskBar/FvwmTaskBar.1
1731 modules/FvwmTheme/FvwmTheme.1
1732 modules/FvwmWharf/FvwmWharf.1
1733 modules/FvwmWinList/FvwmWinList.1
1734 dnl modules/FvwmWindowMenu/FvwmWindowMenu.1
1741 bin/fvwm-menu-directory
1742 bin/fvwm-menu-desktop
1743 bin/fvwm-menu-headlines
1744 bin/fvwm-convert-2.4
1745 bin/fvwm-convert-2.6
1749 perllib/General/Makefile
1750 perllib/FVWM/Makefile
1751 perllib/FVWM/Module/Makefile
1752 perllib/FVWM/Tracker/Makefile
1753 perllib/FVWM/Module.pm
1762 doc/commands/Makefile
1763 doc/docbook-xml/Makefile
1764 doc/docbook-xml/ent/Makefile
1765 doc/docbook-xsl/Makefile
1766 doc/docbook-xsl/common/Makefile
1767 doc/docbook-xsl/manpages/Makefile
1768 doc/docbook-xsl/profiling/Makefile
1769 doc/docbook-xsl/highlighting/Makefile
1770 doc/docbook-xsl/lib/Makefile
1771 doc/docbook-xsl/html/Makefile
1772 doc/modules/Makefile
1773 doc/modules/images/Makefile
1774 doc/modules/images/FvwmTabs/Makefile
1776 doc/images/svg_rendering/Makefile
1779 sample.fvwmrc/Makefile
1781 tests/hints/Makefile
1784 modules/FvwmAnimate/Makefile
1785 modules/FvwmAuto/Makefile
1786 modules/FvwmBacker/Makefile
1787 modules/FvwmBanner/Makefile
1788 modules/FvwmButtons/Makefile
1789 modules/FvwmCommand/Makefile
1790 modules/FvwmCommand/scripts/Makefile
1791 modules/FvwmConsole/Makefile
1792 modules/FvwmConsole/FvwmConsoleC.pl
1793 modules/FvwmCpp/Makefile
1794 modules/FvwmDebug/Makefile
1795 modules/FvwmDebug/FvwmDebug
1796 modules/FvwmDebug/FvwmGtkDebug
1797 modules/FvwmDragWell/Makefile
1798 modules/FvwmEvent/Makefile
1799 modules/FvwmForm/Makefile
1800 modules/FvwmIconBox/Makefile
1801 modules/FvwmIconMan/Makefile
1802 modules/FvwmIdent/Makefile
1803 modules/FvwmM4/Makefile
1804 modules/FvwmPager/Makefile
1805 modules/FvwmPerl/Makefile
1806 modules/FvwmPerl/FvwmPerl
1807 modules/FvwmProxy/Makefile
1808 modules/FvwmRearrange/Makefile
1809 modules/FvwmSave/Makefile
1810 modules/FvwmSaveDesk/Makefile
1811 modules/FvwmScript/Makefile
1812 modules/FvwmScript/Scripts/Makefile
1813 modules/FvwmScript/Widgets/Makefile
1814 modules/FvwmScroll/Makefile
1815 modules/FvwmTabs/Makefile
1816 modules/FvwmTabs/FvwmTabs
1817 modules/FvwmTaskBar/Makefile
1818 modules/FvwmTheme/Makefile
1819 modules/FvwmWharf/Makefile
1820 modules/FvwmWinList/Makefile
1821 modules/FvwmWindowMenu/Makefile
1822 modules/FvwmWindowMenu/FvwmWindowMenu
1823 modules/FvwmGtk/Makefile
1826 # ---------------------------------------------------------------------------
1827 # Original config.status is patched to make generated scripts executable.
1828 sed 's/> $ac_file/> $ac_file; test x"`head -1 $ac_file | cut -c1-2`" = x"#!" \&\& chmod a+rx $ac_file/' <config.status >config.status-t && \
1829 mv config.status-t config.status
1830 chmod +x config.status
1831 # ---------------------------------------------------------------------------
1833 # ---------------------------------------------------------------------------
1834 cat >config.status-t <<EOF
1837 # Original config.status is patched to satisfy processing *.in with 'make -j'.
1838 # This bug seems to be partially fixed in autoconf-2.50 (not in all places).
1842 sed 's/conftest/conftest\${UNIQUE_POSTFIX}/g' <config.status >>config.status-t && \
1843 mv config.status-t config.status
1844 chmod +x config.status
1845 # ---------------------------------------------------------------------------
1847 eval my_bindir="`eval echo ${bindir}`"
1848 eval my_mandir="`eval echo ${mandir}`"
1849 eval my_moddir="`eval echo ${FVWM_MODULEDIR}`"; eval my_moddir="$my_moddir"
1850 eval my_datdir="`eval echo ${FVWM_DATADIR}`"
1851 eval my_docdir="`eval echo ${FVWM_DOCDIR}`"
1852 eval my_plldir="`eval echo ${FVWM_PERLLIBDIR}`"
1853 test x"$FVWM_PERLLIB" = x && my_plldir="(Not installed) $my_plldir"
1854 eval my_localedir="`eval echo ${LOCALEDIR}`"
1855 test x"$USE_NLS" = xno && my_localedir="(Not installed) $my_localdir"
1859 With GDK image support in FvwmGtk? $with_gdkimlib$problem_gdkimlib
1860 With GNOME libs support in FvwmGtk? $with_gnomelibs$problem_gnomelibs" ;;
1861 no) fvwmgtk_msg="" ;;
1867 Version: $VERSION$VERSIONINFO
1869 Executables: $my_bindir
1870 Man pages: $my_mandir
1872 Data files: $my_datdir
1873 Doc files: $my_docdir
1874 Perl lib: $my_plldir
1875 Locale msg: $my_localedir $INST_LINGUAS
1877 With Asian bi-direct. text support? $with_bidi$problem_bidi
1878 With Gettext Native Lang support? $with_gettext$problem_gettext
1879 With GTK+ required for FvwmGtk? $with_gtk$problem_gtk$fvwmgtk_msg
1880 With Iconv support? $with_iconv_type$problem_iconv
1881 With Mouse strokes (gestures)? $with_stroke$problem_stroke
1882 With PNG image support? $with_png$problem_png
1883 With ReadLine sup. in FvwmConsole? $with_readline$problem_readline
1884 With RPlay support in FvwmEvent? $with_rplay$problem_rplay
1885 With Shaped window support? $with_shape$problem_shape
1886 With Shared memory for XImage? $with_shm$problem_shm
1887 With Session Management support? $with_sm$problem_sm
1888 With SVG image support? $with_rsvg$problem_rsvg
1889 With Xcursor support? $with_xcursor$problem_xcursor
1890 With Xinerama multi-head support? $with_xinerama$problem_xinerama
1891 With Xft anti-alias font support? $with_xft$problem_xft
1892 With XPM image support? $with_xpm$problem_xpm
1893 With Xrender image support? $with_xrender$problem_xrender
1894 Build man pages? $with_mandoc$problem_mandoc
1895 Build HTML documentation? $with_htmldoc$problem_htmldoc
1897 See INSTALL.fvwm for the description of what this may mean."
1899 case "$with_xinerama_emulation" in
1900 yes) echo " Xinerama emulation enabled." ;;
1902 case "$ac_cv_dmalloc" in
1903 yes) echo " DMALLOC heap debugging library enabled." ;;
1905 case "$ac_cv_efence" in
1906 yes) echo " EFENCE debugging library enabled." ;;