* Updates for oncoming release 2.5.24.
[fvwm.git] / configure.ac
blobc37d5d8f26f8587456c902029f5780c9e65bd006
1 dnl Process this file with autoconf to produce a configure script.
2 dnl
3 AC_PREREQ(2.53)
4 AC_INIT(fvwm/fvwm.c)
6 dnl should be "yes" only within the released distribution
7 ISRELEASED=yes
8 version=2.5.24
9 VERSIONINFO=""
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="24 November 2007"
15 RELDATESHORT="24-Nov-2007"
16 RELDATENUM="2007-11-24"
18 # constant variable settings
19 FVWMNAMELONG="F? Virtual Window Manager"
20 FVWMHOMEPAGE="http://fvwm.org/"
21 FVWMFTP="ftp.fvwm.org"
22 FVWMFTPDIR="/pub/ftp"
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
39 #       then
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/ \
43 #                               | cut -d/ -f4`"
44 #                       test ! x"$changelog_date" = x && \
45 #                       date +%Y-%m-%d -d "$changelog_date" >>changelog_dates
46 #               done
47 #               changelog_date=`cat changelog_dates | sort -r -u | head -1`
48 #               VERSIONINFO=" (from cvs $changelog_date)"
49 #               rm -f changelog_dates
50 #       fi
53 AC_SUBST(ISRELEASED)
54 AH_TEMPLATE([VERSIONINFO],[Additional version information, like date])
55 AC_DEFINE_UNQUOTED(VERSIONINFO, "$VERSIONINFO")
56 AC_SUBST(VERSIONINFO)
57 AC_SUBST(RELDATELONG)
58 AC_SUBST(RELDATESHORT)
59 AC_SUBST(RELDATENUM)
60 AC_SUBST(FVWMNAMELONG)
61 AC_SUBST(FVWMHOMEPAGE)
62 AC_SUBST(FVWMFTP)
63 AC_SUBST(FVWMFTPDIR)
64 AC_SUBST(FVWMALTFTP)
65 AC_SUBST(FVWMALTFTPDIR)
66 AC_SUBST(FVWMLIST)
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, "")
77 #!!!
78 PERL=""
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])
86         HAVE_PERL_FOR_DOCS=1
87         if ("$PERL" -e "require $REQUIRED_PERL_VERSION;") 2>/dev/null; then
88                 AC_MSG_RESULT(yes)
89         else
90                 AC_MSG_RESULT(no)
91                 AC_MSG_WARN([$PERL not found or too old])
92         fi
93 else
94         HAVE_PERL_FOR_DOCS=0
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])
97         PERL=/usr/bin/perl
99 AC_MSG_RESULT([assuming $PERL as perl location])
100 AC_SUBST(PERL)
102 # installation paths
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="";
111   fi], [])
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"],
145   [ac_cv_efence="no"])
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
151 #endif])
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)
158 #else
159 #   define DBUG(x,y) /* no messages */
160 #endif])
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)
165 no_x=""
166 AC_PATH_XTRA
167 if test x"$no_x" = x"yes"; then
168   echo
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."
174   echo
175   echo "Aborting."
176   echo
177   exit 1
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]),
190 [ case "$withval" in
191   no)
192     AC_MSG_ERROR([Can not disable image path.])
193     ;;
194   yes)
195     ;;
196   *)
197     val="$withval"
198     ;;
199   esac ])
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)
205 AC_MSG_RESULT($val)
207 # Minimal checks for programs: enough to enable checking for
208 # optional libraries.
209 AC_PROG_CC
210 AC_PROG_CPP
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
218 AC_ISC_POSIX
219 AC_MINIX
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); }
225   *c = &i; 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"
235 AC_CHECK_SIZEOF(int)
236 AC_CHECK_SIZEOF(long)
237 AC_CHECK_SIZEOF(Window, , [#include <stdio.h>
238 #include <X11/X.h>])
239 AC_CHECK_SIZEOF(Pixel, , [#include <stdio.h>
240 #include <X11/Intrinsic.h>])
241 AC_CHECK_SIZEOF(void *)
242 CFLAGS="$ac_save_CFLAGS"
243 size_check_failed=""
244 if test "$ac_cv_sizeof_void_p" -gt "$ac_cv_sizeof_long"; then
245   echo "The type void * is bigger than long."
246   size_check_failed=1
248 if test "$ac_cv_sizeof_Window" -gt "$ac_cv_sizeof_long"; then
249   echo "The type Window is bigger than long."
250   size_check_failed=1
252 if test "$ac_cv_sizeof_Pixel" -gt "$ac_cv_sizeof_long"; then
253   echo "The type Pixel is bigger than long."
254   size_check_failed=1
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}."
260   echo
261   exit 1
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.
266 UNSET=true
267 if unset UNSET 2>/dev/null; then UNSET=unset; fi
270 # ********* multibyte
271 # FreeBSD has libxpg4, check this and use if found.
272 AC_CANONICAL_HOST
273 case $host_os in
274 freebsd*)
275         AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
277         ;;
278 esac
280 # *** pkg-config
281 # unfortunately, we need pkg-config for the detection of certain libs:
282 # - certain version of fontconfig (without fontconfig-config
283 AM_CHECK_PKG_CONFIG
286 # Building man pages & HTML documentation (from XML source).
287 # extract command names
288 if test ! x"$SED" = x; then
289         DOC_COMMANDS=`
290                 sed -n '
291                 :findhead
292                         /#.*define.*CMD_ENT/bfindcmd
293                         n
294                         bfindhead
295                 :findcmd
296                         n
297                         /CMD_ENT/bfound
298                         bfindcmd
299                 :found
300                         /"#"/bfindcmd
301                         /"propertychange"/bfindcmd
302                         /"readwritecolors"/bfindcmd
303                         /"send_.*"/bfindcmd
304                         /"set_.*"/bfindcmd
305                         s/.*CMD_ENT.*CMD_//
306                         s/,.*//
307                         p
308                         n
309                         bfindcmd
310         ' < fvwm/functable.c`
311         DOC_COMMANDS=`echo $DOC_COMMANDS`
312         # with .xml suffix
313         DOC_COMMANDS_XML=`for i in $DOC_COMMANDS; do echo ${i}.xml; done`
314         DOC_COMMANDS_XML=`echo $DOC_COMMANDS_XML`
315         # with .xml suffix and path
316         DOC_COMMANDS_XML_PATH=`
317                 for i in $DOC_COMMANDS; do
318                         echo ../commands/${i}.xml;
319                 done
320         `
321         DOC_COMMANDS_XML_PATH=`echo $DOC_COMMANDS_XML_PATH`
322         # with .html suffix
323         DOC_COMMANDS_HTML=`for i in $DOC_COMMANDS; do echo ${i}.html; done`
324         DOC_COMMANDS_HTML=`echo $DOC_COMMANDS_HTML`
325         # extract module names
326         DOC_MODULES=""
327         DOC_MODULES=`
328                 for i in modules/*; do echo "$i"; done |
329                 sed -n '
330                         :search
331                         /^modules.Fvwm/bfound
332                         bnext
333                 :found
334                         s/modules.//
335                         /FvwmTabs/bnext
336                         p
337                 :next
338                         n
339                         bsearch
340                 '
341         `
342         DOC_MODULES=`echo $DOC_MODULES`
343         DOC_MODULES_HTML=`for i in $DOC_MODULES; do echo ${i}.html; done`
344         DOC_MODULES_HTML=`echo $DOC_MODULES_HTML`
345         # extract man page section names
346         DOC_SECTIONS=`cat doc/fvwm/sections`
347         DOC_SECTIONS=`echo $DOC_SECTIONS`
348         DOC_SECTIONS_XML=`for i in $DOC_SECTIONS; do echo ${i}.xml; done`
349         DOC_SECTIONS_XML=`echo $DOC_SECTIONS_XML`
350         DOC_SECTIONS_XML_PATH=`for i in $DOC_SECTIONS; do echo ${i}.xml; done`
351         DOC_SECTIONS_XML_PATH=`echo $DOC_SECTIONS_XML`
352 else
353         DOC_COMMANDS=""
354         DOC_COMMANDS_XML=""
355         DOC_COMMANDS_XML_PATH=""
356         DOC_COMMANDS_HTML=""
357         DOC_MODULES=""
358         DOC_MODULES_HTML=""
359         DOC_SECTIONS=""
360         DOC_SECTIONS_XML=""
361         DOC_SECTIONS_XML_PATH=""
363 AC_SUBST(DOC_COMMANDS)
364 AC_SUBST(DOC_COMMANDS_XML)
365 AC_SUBST(DOC_COMMANDS_XML_PATH)
366 AC_SUBST(DOC_COMMANDS_HTML)
367 AC_SUBST(DOC_MODULES)
368 AC_SUBST(DOC_MODULES_HTML)
369 AC_SUBST(DOC_SECTIONS)
370 AC_SUBST(DOC_SECTIONS_XML)
371 AC_SUBST(DOC_SECTIONS_XML_PATH)
373 problem_mandoc=""
374 AC_CHECK_PROG(XSLTPROC, xsltproc, xsltproc, "")
376 AC_ARG_ENABLE(mandoc,
377   AS_HELP_STRING([--disable-mandoc],
378     [disable generation of man pages]),
379   [ if test x"$enableval" = xyes; then
380                 with_mandoc="yes, check"
381         else
382                 with_mandoc="no"
383                 problem_mandoc=": Explicitly disabled"
384         fi ],
385   [ with_mandoc="not specified, check" ]
388 if test ! x"$with_mandoc" = xno; then
389         if test x"$XSLTPROC" = x ; then
390                 with_mandoc="no"
391                 problem_mandoc=": No xsltproc found in PATH"
392         elif test x"$SED" = x ; then
393                 with_mandoc="no"
394                 problem_mandoc=": No sed found in PATH"
395         elif test x"$HAVE_PERL_FOR_DOCS" = x0 ; then
396                 with_mandoc="no"
397                 problem_mandoc=": No perl found in PATH"
398         else
399                 with_mandoc="yes"
400         fi
402 AM_CONDITIONAL([FVWM_BUILD_MANDOC], [test x"$with_mandoc" = xyes])
405 problem_htmldoc=""
406 AC_ARG_ENABLE(htmldoc,
407   AS_HELP_STRING([--enable-htmldoc],[disable generation of HTML documentation]),
408   [ if test x"$enableval" = xyes; then
409                 with_htmldoc="yes, check"
410         else
411                 with_htmldoc="no"
412                 problem_htmldoc=": Explicitly disabled"
413         fi ],
414   [ with_htmldoc="no" ]
417 if test ! x"$with_htmldoc" = xno; then
418         if test x"$XSLTPROC" = x ; then
419                 with_htmldoc="no"
420                 problem_htmldoc=": No xsltproc found in PATH"
421         elif test x"$SED" = x ; then
422                 with_htmldoc="no"
423                 problem_htmldoc=": No sed found in PATH"
424         elif test x"$HAVE_PERL_FOR_DOCS" = x0 ; then
425                 with_htmldoc="no"
426                 problem_htmldoc=": No perl found in PATH"
427         else
428                 with_htmldoc="yes"
429         fi
431 AM_CONDITIONAL([FVWM_BUILD_HTMLDOC], [test x"$with_htmldoc" = xyes])
434 # ********* session management
435 # Check the availability of SM; we don't have to add any extra libraries,
436 # since -lSM -lICE are in X_PRE_LIBS when they exist.
437 dnl [old check] AC_CHECK_LIB(SM, SmcOpenConnection, AC_DEFINE(SESSION), ,
438 dnl [old check]            [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
440 problem_sm=""
442 AC_ARG_ENABLE(sm,
443   AS_HELP_STRING([--disable-sm],[disable session management support]),
444   [ if test x"$enableval" = xyes; then
445     with_sm="yes, check"
446   else
447     with_sm="no"
448     problem_sm=": Explicitly disabled"
449   fi ],
450   [ with_sm="not specified, check" ]
453 if test ! x"$with_sm" = xno; then
454   dnl Uncomment the following and comment out AC_CHECK_LIB to get --with-sm-*
455   dnl $UNSET ac_cv_lib_SM_SmcOpenConnection
456   dnl $UNSET ac_cv_header_X11_SM_SMlib_h
457   dnl smr_CHECK_LIB(sm, SM, adds session management support, SmcOpenConnection,
458   dnl   X11/SM/SMlib.h,
459   dnl   [$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS], $X_CFLAGS)
460   dnl test "$sm_LIBS" && AC_DEFINE(SESSION)
462   $UNSET ac_cv_lib_SM_SmcOpenConnection
463   AH_TEMPLATE([SESSION],[Enables session management functionality.])
464   AC_CHECK_LIB(SM, SmcOpenConnection, with_sm=yes; AC_DEFINE(SESSION),
465     with_sm=no; problem_sm=": Failed to detect libSM",
466     [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
468 dnl AC_SUBST(sm_LIBS)
469 dnl AC_SUBST(sm_CFLAGS)
472 # Checking for optional libraries
473 # Default is to use them if found; can be disable using --without
474 # These are put up front so that if they are requested, but
475 # configure fails to find them, we fail early.
478 # ********* shape extension
479 dnl smr_SWITCH(shape, shape extensions, on, SHAPE)
480 AC_ARG_ENABLE(shape,
481   AS_HELP_STRING([--disable-shape],[disable shaped window support]),
482   [ if test x"$enableval" = xyes; then
483     with_shape="yes, check"
484   else
485     with_shape="no"
486     problem_shape=": Explicitly disabled"
487   fi ],
488   [ with_shape="not specified, check" ]
491 AH_TEMPLATE(SHAPE,
492 [   Define if you want the Shaped window extensions.
493    Shaped window extensions seem to increase the window managers RSS
494    by about 60 Kbytes. They provide for leaving a title-bar on the window
495    without a border.
496    If you don't use shaped window extension, you can either make your
497    shaped windows undecorated, or live with a border and backdrop around
498    all your shaped windows (oclock, xeyes)
500    If you normally use a shaped window (xeyes or oclock), you might as
501    well compile this extension in, since the memory cost is  minimal in
502    this case (The shaped window shared libs will be loaded anyway). If you
503    don't normally use a shaped window, you have to decide for yourself.
505    Note: if it is compiled in, run time detection is used to make sure that
506    the currently running X server supports it.])
507 if test ! x"$with_shape" = xno; then
508   $UNSET ac_cv_lib_Xext_XShapeQueryExtension
509   AC_CHECK_LIB(Xext, XShapeQueryExtension,
510                with_shape=yes; AC_DEFINE(SHAPE),
511                with_shape=no;
512                problem_shape=": Failed to detect Shape extension",
513                [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
516 # ********* MIT Shared Memory Extension
517 AC_ARG_ENABLE(shm,
518   AS_HELP_STRING([--disable-shm],[disable MIT Shared Memory Extension]),
519   [ if test x"$enableval" = xyes; then
520     with_shm="yes, check"
521   else
522     with_shm="no"
523     problem_shm=": Explicitly disabled"
524   fi ],
525   [ with_shm="not specified, check" ]
528 AH_TEMPLATE([HAVE_XSHM],[Define if  MIT Shared Memory extension is used.])
529 if test ! x"$with_shm" = xno; then
530   $UNSET ac_cv_lib_Xext_XShmQueryExtension
531   AC_CHECK_LIB(Xext, XShmQueryExtension,
532                with_shm=yes; AC_DEFINE(HAVE_XSHM),
533                with_shm=no;
534                problem_shm=": Can't detect MIT Shared Memory ext.",
535                [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
538 # ********* xinerama
539 problem_xinerama=""
541 AC_ARG_ENABLE(xinerama,
542   AS_HELP_STRING([--disable-xinerama],[disable Xinerama multi screen support]),
543   [ if test x"$enableval" = xyes; then
544     with_xinerama="yes, check"
545   else
546     with_xinerama="no"
547     problem_xinerama=": Explicitly disabled"
548   fi ],
549   [ with_xinerama="not specified, check" ]
552 AH_TEMPLATE([HAVE_XINERAMA],[Define if Xinerama library is used.])
553 AH_TEMPLATE([HAVE_SOLARIS_XINERAMA],
554   [Define if Solaris' Xinerama calls are being used.
555   (Solaris 7 11/99 and later)])
556 AH_TEMPLATE([HAVE_SOLARIS_XINERAMA_H],
557   [Define if Solaris' X11/extensions/xinerama.h header is provided.
558   (Solaris 9 and later)])
559 if test ! x"$with_xinerama" = xno; then
560   $UNSET ac_cv_lib_Xinerama_XineramaIsActive
561   _check_solaris_xinerama=no
562   AC_CHECK_LIB(Xinerama, XineramaIsActive,
563     with_xinerama=yes; Xinerama_LIBS=-lXinerama; AC_DEFINE(HAVE_XINERAMA),
564     _check_solaris_xinerama=yes,
565     [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
566   if test x"$_check_solaris_xinerama" = xyes; then
567     AC_CHECK_LIB(Xext, XineramaGetState,
568       [ AC_DEFINE(HAVE_XINERAMA) AC_DEFINE(HAVE_SOLARIS_XINERAMA)
569       with_xinerama=yes; Xinerama_LIBS=-lXext
570       my_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$X_CPPFLAGS $CPPFLAGS"
571       my_hdr="X11/extensions/xinerama.h"
572       AC_CHECK_HEADER($my_hdr, AC_DEFINE(HAVE_SOLARIS_XINERAMA_H)
573         problem_xinerama=" (Using Solaris Xinerama calls)",
574         problem_xinerama=" (Using Solaris 9 prototypes for missing header)")
575       CPPFLAGS="$my_CPPFLAGS"],
576     with_xinerama=no; Xinerama_LIBS=
577     problem_xinerama=": Failed to detect libXinerama",
578     [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
579   fi
580   $UNSET _check_solaris_xinerama
582 AC_SUBST(Xinerama_LIBS)
583 AC_SUBST(Xinerama_CFLAGS)
585 # ********* xinerama-emulation
586 smr_SWITCH(
587   xinerama-emulation,
588   [Xinerama emulation on one screen (useful only for developers)], off,
589   USE_XINERAMA_EMULATION,,
590   [Define if Xinerama should be emulated on a single screen.])
591 if test x"$enable_xinerama_emulation" = xyes; then
592   with_xinerama_emulation=yes
593 else
594   with_xinerama_emulation=no
597 # ********* xrender
598 problem_xrender=""
599 AC_ARG_ENABLE(xrender,
600   AS_HELP_STRING([--disable-xrender],[disable Xrender alpha-blend rendering]),
601   [ if test x"$enableval" = xyes; then
602     with_xrender="yes, check"
603   else
604     with_xrender="no"
605     problem_xrender=": Explicitly disabled"
606   fi ],
607   [ with_xrender="not specified, check" ]
610 AH_TEMPLATE([HAVE_XRENDER],[Define if Xrender library is used.])
611 if test ! x"$with_xrender" = xno; then
612   $UNSET ac_cv_lib_Xrender_XRenderComposite
613   AC_CHECK_LIB(Xrender, XRenderComposite,
614     with_xrender=yes; Xrender_LIBS=-lXrender;
615     AC_DEFINE(HAVE_XRENDER),
616     with_xrender=no; Xrender_LIBS=
617     problem_xrender=": Failed to detect libXrender",
618     [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
620 AC_SUBST(Xrender_LIBS)
621 AC_SUBST(Xrender_CFLAGS)
623 # ********* xcursor
624 AH_TEMPLATE([HAVE_XCURSOR],[Define if Xcursor library is used.])
625 xcursor_CFLAGS=""
626 xcursor_LIBS=""
627 AC_ARG_ENABLE(xcursor,
628   AS_HELP_STRING([--disable-xcursor],
629     [disable Xcursor ARGB/animated cursor loading]),
630   [ if test x"$enableval" = xno; then
631        with_xcursor=no
632        problem_xcursor=": Explicitly disabled"
633     fi ],
635 if test ! x"$with_xcursor" = xno; then
636    with_xcursor=no
637    if test ! x"$with_xrender" = xno; then
638       $UNSET ac_cv_lib_Xrender_XRenderCreateCursor
639       AC_CHECK_LIB(Xrender, XRenderCreateCursor, [
640          with_xcursor=yes
641       ],[
642          problem_xcursor=": Your libXrender version is too old"
643       ],
644       [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
645    else
646       problem_xcursor=": Need Xrender support"
647    fi
649 if test x"$with_xcursor" = xyes ; then
650       $UNSET ac_cv_lib_Xcursor_XcursorImageLoadCursor
651       AC_CHECK_LIB(Xcursor, XcursorImageLoadCursor, [
652          AC_DEFINE(HAVE_XCURSOR)
653          Xcursor_LIBS=-lXcursor
654          problem_xcursor=""
655       ],[
656          with_xcursor=no
657          problem_xcursor=": Failed to detect libXcursor"
658       ],)
660 AC_SUBST(Xcursor_CFLAGS)
661 AC_SUBST(Xcursor_LIBS)
663 # ********* xft
664 problem_xft=""
666 AC_ARG_ENABLE(xft,
667   AS_HELP_STRING([--disable-xft],[disable Xft anti-aliased font rendering]),
668   [ if test x"$enableval" = xyes; then
669     with_xft="yes, check"
670   else
671     with_xft="no"
672     problem_xft=": Explicitly disabled"
673   fi ],
674   [
675     with_xft="not specified, check"
676   ]
679 AH_TEMPLATE([HAVE_XFT],[Define if Xft library is used.])
680 AH_TEMPLATE([HAVE_XFT2],[Define if Xft 2 library is used.])
681 AH_TEMPLATE([HAVE_XFT_UTF8],[Define if Xft library can handle utf8 encoding])
682 if test ! x"$with_xft" = xno; then
684   # first check for freetype2
685   have_freetype=no
686   AM_CHECK_FT2(6.1.0)
687   if test x"$no_ft" = x; then
688     have_freetype=yes
689   else
690     have_freetype=no
691     problem_xft=": Can't detect freetype2 >= 6.1.0/2.0.6"
692   fi
694   # check for fontconfig for Xft 2
695   have_fontconfig=no
696   if test ! x"$have_freetype" = xno ; then
697     AM_CHECK_FC(1.0.1)
698     if test x"$no_fc" = x ; then
699       have_fontconfig=yes
700     else
701       have_fontconfig=no
702       problem_xft=": Can't detect fontconfig >= 1.0.1"
703     fi
704   fi
706   # now check for Xft 2
707   with_xft=no
708   if test ! x"$have_fontconfig" = xno ; then
709     # Xft 2
710     AM_CHECK_XFT(2.0.0)
711     if test x"$no_xft" = x; then
712       with_xft=yes
713       problem_xft=" (version 2)"
714       AC_DEFINE(HAVE_XFT2)
715       AC_DEFINE(HAVE_XFT)
716       AC_DEFINE(HAVE_XFT_UTF8)
717       Xft_LIBS=$XFT_LIBS
718       Xft_CFLAGS=$XFT_CFLAGS
719     else
720       problem_xft=": Can't detect Xft2, detected fontconfig"
721     fi
722   fi
724   # if Xft2 not detected check for Xft1
725   if test ! x"$have_freetype" = xno && test ! x"$with_xft" = xyes; then
726     #Xft 1
727     $UNSET ac_cv_lib_XftConfigSubstitute
728     $UNSET ac_cv_lib_Xft_XftFontOpen
729     $UNSET ac_cv_lib_Xft_XftDrawStringUtf8
730     AC_CHECK_LIB(Xft, XftFontOpen,
731       with_xft=yes, with_xft=no,
732       [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $FT2_LIBS $Xrender_LIBS])
733     if test x"$with_xft" = xyes ; then
734       AC_CHECK_LIB(Xft, XftConfigSubstitute, is_xft1=yes, is_xft1=no,
735         [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $FT2_LIBS $Xrender_LIBS])
736       if test x"$is_xft1" = xyes; then
737         Xft_LIBS="-lXft $FT2_LIBS"
738         Xft_CFLAGS="$Xft_CFLAGS $FT2_CFLAGS"
739         problem_xft=" (version 1)"
740         AC_DEFINE(HAVE_XFT)
741       else
742         with_xft=no
743         problem_xft=": Can't detect Xft 1 or fontconfig"
744       fi
745     else
746       problem_xft=": Can't detect Xft 1 or 2 and fontconfig"
747     fi
748     if test x"$with_xft" = xyes; then
749       AC_CHECK_LIB(Xft, XftDrawStringUtf8,
750         AC_DEFINE(HAVE_XFT_UTF8),,
751         [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $FT2_LIBS $Xrender_LIBS])
752     fi
753   fi
756 AC_SUBST(Xft_LIBS)
757 AC_SUBST(Xft_CFLAGS)
759 # ********* xpm
760 problem_xpm=": Xpm library or header not found"
762 $UNSET ac_cv_header_X11_xpm_h
763 $UNSET ac_cv_lib_Xpm_XpmReadFileToXpmImage
764 smr_CHECK_LIB(xpm, Xpm, for coloured or shaped icons,
765     XpmReadFileToXpmImage, X11/xpm.h,
766     [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS], $X_CFLAGS)
768 if test ! x"$xpm_LIBS" = x; then
769   # Check for proper version of Xpm -- from XEmacs 21.x configure.in
770   AC_MSG_CHECKING([for Xpm 3.4g or better])
771   my_CPPFLAGS="$CPPFLAGS"
772   my_LIBS="$LIBS"
773   CPPFLAGS="$CPPFLAGS $xpm_CFLAGS $X_CFLAGS"
774   LIBS="$LIBS $xpm_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
775   AC_TRY_RUN([#include <X11/xpm.h>
776    int main(int c, char **v) {
777    return c == 1 ? 0 :
778      XpmIncludeVersion != XpmLibraryVersion() ? 1 :
779      XpmIncludeVersion < 30407 ? 2 : 0 ;}],
780     [./conftest dummy_arg; xpm_status=$?;
781      if test x"$xpm_status" = x0; then
782        with_xpm=yes
783        problem_xpm=""
784      else
785        with_xpm=no;
786        if test x"$xpm_status" = x1; then
787          problem_xpm=": Xpm library and header versions don't match"
788        elif test x"$xpm_status" = x2x; then
789          problem_xpm=": Xpm library version is too old"
790        else
791          problem_xpm=": Internal xpm detection logic error"
792        fi
793      fi],
794    [with_xpm=no; problem_xpm=": Xpm test error, see config.log"])
795   AC_MSG_RESULT($with_xpm)
796   CPPFLAGS="$my_CPPFLAGS"
797   LIBS="$my_LIBS"
799   AH_TEMPLATE([XPM],[Define if Xpm library is used.])
800   if test x"$with_xpm" = xyes; then
801     AC_DEFINE(XPM)
802     # FVWMBANNER=FvwmBanner AC_SUBST(FVWMBANNER)
803     # XPMROOT=xpmroot AC_SUBST(XPMROOT)
804     # FVWMSCRIPT=FvwmScript AC_SUBST(FVWMSCRIPT)
805   else
806     xpm_LIBS=
807     xpm_CFLAGS=
808   fi
810 AC_SUBST(xpm_LIBS)
811 AC_SUBST(xpm_CFLAGS)
813 # ********* png
814 problem_png=": png library or header not found"
816 $UNSET ac_cv_header_png_h
817 $UNSET ac_cv_lib_png_png_read_info
818 smr_CHECK_LIB(png, png, for coloured or shaped icons,
819     png_read_info, png.h, -lz -lm,)
821 if test ! x"$png_LIBS" = x; then
822   # Check for proper version of png
823   AC_MSG_CHECKING([for libpng 1.0.4a or better])
824   my_CPPFLAGS="$CPPFLAGS"
825   my_LIBS="$LIBS"
826   CPPFLAGS="$CPPFLAGS $png_CFLAGS"
827   LIBS="$LIBS $png_LIBS -lz -lm"
828   AC_TRY_RUN([#include <png.h>
829    int main(int c, char **v) {
830    return c == 1 ? 0 : (PNG_LIBPNG_VER < 10005) ? 2 : 0 ;}],
831     [./conftest dummy_arg; png_status=$?;
832      if test x"$png_status" = x0; then
833        with_png=yes;
834      else
835        with_png=no;
836        if test x"$png_status" = x2; then
837          problem_png=": png library version is too old"
838        else
839          problem_png=": Internal png detection logic error"
840        fi
841      fi],
842    [with_png="no"; problem_png=": png test error, see config.log"])
843   AC_MSG_RESULT($with_png)
844   CPPFLAGS="$my_CPPFLAGS"
845   LIBS="$my_LIBS"
848 AH_TEMPLATE([HAVE_PNG],[Define if ppm library is used.])
849 if test x"$with_png" = xyes; then
850   AC_DEFINE(HAVE_PNG)
851   png_LIBS="$png_LIBS -lz"
852   problem_png=""
853 else
854   with_png=no
856 AC_SUBST(png_LIBS)
857 AC_SUBST(png_CFLAGS)
859 # ** needed by the png support
860 AC_C_BIGENDIAN
862 # ********* rsvg
863 rsvg_min_version=2.13.92
864 AH_TEMPLATE([HAVE_RSVG], [Define if librsvg library is used.])
866 AC_ARG_ENABLE(rsvg,
867   AS_HELP_STRING([--disable-rsvg],
868     [disable scalable vector graphics (SVG images)]),
869   [ if test x"$enableval" = xno; then
870        with_rsvg=no
871        problem_rsvg=": Explicitly disabled"
872     fi ],
874 if test ! x"$with_rsvg" = xno; then
875    with_rsvg=no
876    if test ! x"$PKG_CONFIG" = xno ; then
877       AC_MSG_CHECKING(for librsvg - version >= $rsvg_min_version)
878       if $PKG_CONFIG --exists librsvg-2.0 ; then
879          if $PKG_CONFIG --exists "librsvg-2.0 >= $rsvg_min_version" ; then
880             AC_MSG_RESULT(yes)
882             AC_MSG_CHECKING(for cairo svg backend)
883             if $PKG_CONFIG --exists cairo-svg ; then
884                svg_packages="librsvg-2.0 cairo-svg"
885             elif $PKG_CONFIG --exists libsvg-cairo ; then
886                svg_packages="librsvg-2.0 libsvg-cairo"
887             elif $PKG_CONFIG --exists cairo ; then
888                svg_packages="librsvg-2.0 cairo"
889             else
890                svg_packages=""
891             fi
892             if test ! x"$svg_packages" = x ; then
893                AC_MSG_RESULT(yes)
894                rsvg_CFLAGS=`$PKG_CONFIG --cflags $svg_packages`
895                rsvg_LIBS=`$PKG_CONFIG --libs $svg_packages`
896                with_rsvg=yes
897             else
898                AC_MSG_RESULT(no)
899                AC_MSG_WARN([*** cairo was not found in the pkg-config search])
900                AC_MSG_WARN([*** path. Add the directory containing cairo.pc])
901                AC_MSG_WARN([*** to the PKG_CONFIG_PATH environment variable.])
902                problem_rsvg=": Cannot detect cairo backend"
903             fi
904          else
905             AC_MSG_RESULT(no)
906             AC_MSG_WARN([*** Your librsvg version is < $rsvg_min_version])
907             problem_rsvg=": Your librsvg version is too old"
908          fi
909       else
910          AC_MSG_RESULT(no)
911          AC_MSG_WARN([*** librsvg-2.0 was not found in the pkg-config search])
912          AC_MSG_WARN([*** path. Either librsvg is not installed or you need])
913          AC_MSG_WARN([*** to add the directory containing librsvg-2.0.pc to])
914          AC_MSG_WARN([*** the PKG_CONFIG_PATH environment variable.])
915          problem_rsvg=": librsvg library or header not found"
916       fi
917    else
918       problem_rsvg=": pkg-config not found"
919    fi
921 if test x"$with_rsvg" = xyes ; then
922    AC_MSG_CHECKING(whether a librsvg program compiles and runs)
923    original_CFLAGS="$CFLAGS"
924    original_LIBS="$LIBS"
925    CFLAGS="$CFLAGS $rsvg_CFLAGS"
926    LIBS="$LIBS $rsvg_LIBS"
927    AC_TRY_RUN([
928       #include <librsvg/rsvg.h>
929       #include <librsvg/rsvg-cairo.h>
930       int main() {
931          RsvgHandle *rsvg;
932          g_type_init();
933          if(!(rsvg = rsvg_handle_new())) return 1;
934          g_object_unref(G_OBJECT(rsvg));
935          return 0;
936       }
937    ], [
938       AC_MSG_RESULT(yes)
939    ], [
940       AC_MSG_RESULT(no)
941       AC_MSG_WARN([*** The librsvg test program failed to run. If your system])
942       AC_MSG_WARN([*** has shared libraries outside the normal system library])
943       AC_MSG_WARN([*** path, you need to make sure that the LD_LIBRARY_PATH])
944       AC_MSG_WARN([*** (or the like) environment variable is correctly set.])
945       with_rsvg=no
946       problem_rsvg=": Failed to run test program"
947    ], [echo $ac_n "cross compiling; assumed OK... $ac_c"])
948    CFLAGS="$original_CFLAGS"
949    LIBS="$original_LIBS"
951 if test x"$with_rsvg" = xyes ; then
952    AC_DEFINE(HAVE_RSVG)
953    problem_rsvg=""
954 else
955    rsvg_CFLAGS=""
956    rsvg_LIBS=""
958 AC_SUBST(rsvg_CFLAGS)
959 AC_SUBST(rsvg_LIBS)
961 # ********* rplay
962 $UNSET ac_cv_header_rplay_h
963 $UNSET ac_cv_lib_rplay_rplay_create
964 # Add in X_EXTRA_LIBS here to get things like connect().
965 smr_CHECK_LIB(rplay, , adds audio capability, rplay_create, rplay.h,
966               $X_EXTRA_LIBS)
967 AH_TEMPLATE([HAVE_RPLAY],[Define if rplay library is used.])
968 test ! x"$rplay_LIBS" = x && AC_DEFINE(HAVE_RPLAY)
969 AC_SUBST(rplay_LIBS)
970 AC_SUBST(rplay_CFLAGS)
973 # ********* stroke
974 $UNSET ac_cv_header_stroke_h
975 $UNSET ac_cv_lib_stroke_stroke_init
976 dnl Add in X_LIBS for MOUSE_DROPPINGS?
977 dnl As of 23/Mar/2000 the only libstroke RPM has /usr/X11R6/include/stroke.h
978 AH_TEMPLATE([HAVE_STROKE],[Define if stroke library is used.])
979 smr_CHECK_LIB(stroke, , mouse strokes recognition,
980         stroke_init, stroke.h,
981         [$X_LIBS -lX11], $X_CFLAGS -I/usr/X11R6/include)
982 test ! x"$stroke_LIBS" = x &&
983 AC_DEFINE(HAVE_STROKE)
984 AH_VERBATIM([_HAVE_STROKE],
985 [#ifdef HAVE_STROKE
986 #    define STROKE_ARG(x) x,
987 #    define STROKE_CODE(x) x
988 #else
989 #    define STROKE_ARG(x)
990 #    define STROKE_CODE(x)
991 #endif])
992 AC_SUBST(stroke_LIBS)
993 AC_SUBST(stroke_CFLAGS)
996 # ********* readline
997 with_readline=no
998 problem_readline=": Both termcap and ncurses disabled"
1000 smr_ARG_WITHLIB(termcap, , to accomplish readline)
1001 AH_TEMPLATE([HAVE_READLINE],[Define if readline is available.])
1002 if test ! x"$with_termcap" = xno; then
1003   # Forget cached values, so user can re-run configure
1004   $UNSET ac_cv_header_readline_history_h
1005   $UNSET ac_cv_lib_readline_readline
1006   AC_MSG_CHECKING([with termcap])
1007   smr_CHECK_LIB(readline, , line editing/history, readline, readline/history.h,
1008     $termcap_LIBS)
1009   if test ! x"$readline_LIBS" = x; then
1010     with_readline=yes
1011     readline_LIBS="$readline_LIBS $termcap_LIBS"
1012     AC_DEFINE(HAVE_READLINE)
1013   fi
1015 smr_ARG_WITHLIB(ncurses, , to accomplish readline)
1016 if test ! x"$with_ncurses" = xno && test x"$readline_LIBS" = x; then
1017   # We couldn't use readline with termcap; try with ncurses?
1018   # Doesn't this seem a hacky way to do this??
1019   # unset cached values from last check...
1020   $UNSET ac_cv_header_readline_history_h
1021   $UNSET ac_cv_lib_readline_readline
1022   AC_MSG_CHECKING([with ncurses])
1023   dnl We can not call smr_CHECK_LIB twice here without having the usage twice.
1024   dnl old_LIBS=$LIBS
1025   dnl AC_CHECK_LIB(readline, readline, , , $ncurses_LIBS)
1026   dnl LIBS=$old_LIBS
1027   dnl if test x"$ac_cv_lib_readline_readline" = xyes; then
1028   dnl   AC_CHECK_HEADERS(readline/history.h)
1029   dnl   if test x"$ac_cv_header_readline_history_h" = xyes; then
1030   dnl     with_readline=yes
1031   dnl     readline_LIBS="$readline_LIBS $ncurses_LIBS"
1032   dnl     AC_DEFINE(HAVE_READLINE)
1033   dnl   fi
1034   dnl fi
1035   smr_CHECK_LIB(readline, , line editing/history, readline, readline/history.h,
1036     $ncurses_LIBS)
1037   if test ! x"$readline_LIBS" = x; then
1038     with_readline=yes
1039     readline_LIBS="$readline_LIBS $ncurses_LIBS"
1040     AC_DEFINE(HAVE_READLINE)
1041   fi
1043 dnl We need to check if we have GNU readline or BSD editline
1044 AH_TEMPLATE([HAVE_GNU_READLINE],[Define if readline has full GNU interface])
1045 if test x"$with_readline" = xyes; then
1046    AC_CHECK_LIB(readline, append_history, AC_DEFINE(HAVE_GNU_READLINE), [], $readline_LIBS)
1048 AC_SUBST(readline_LIBS)
1049 AC_SUBST(readline_CFLAGS)
1052 # Check if Xsetlocale() is available or not.
1053 AH_TEMPLATE([X_LOCALE],[Enables to use setlocale() provided by X])
1054 AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE),, $X_LIBS -lX11)
1056 # Check if Xsetlocale() is available or not.
1057 AH_TEMPLATE([HAVE_XOUTPUT_METHOD],[Enable X output method])
1058 AC_CHECK_LIB(X11, XOpenOM, AC_DEFINE(HAVE_XOUTPUT_METHOD),, $X_LIBS -lX11)
1060 # ******** iconv
1061 with_iconv=no
1062 with_iconv_type=no
1063 with_lib_iconv=no
1064 with_sys_iconv=no
1065 problem_iconv=": Explicitly disabled"
1067 AC_ARG_ENABLE(iconv,
1068   AS_HELP_STRING([--disable-iconv],
1069     [disable support for iconv character conversion]),
1070   [ac_cv_iconv="$enableval"],
1071   [ac_cv_iconv="yes"])
1073 AH_TEMPLATE([USE_LIBICONV],
1074   [define if we use libiconv (not needed in general: for example iconv is
1075   native with recent glibc)])
1076 AH_TEMPLATE([HAVE_ICONV],
1077   [Define if iconv (in the libc) or libiconv is available])
1078 if test ! x"$ac_cv_iconv" = xno; then
1079   # * first check for gnu libiconv
1080   $UNSET ac_cv_header_libiconv_h
1081   $UNSET ac_cv_lib_libiconv_libiconv_open
1082   smr_CHECK_LIB(
1083         iconv, , if not found sys iconv is used, libiconv_open, iconv.h)
1084   if test ! x"$iconv_LIBS" = x; then
1085      AC_DEFINE(USE_LIBICONV)
1086      with_lib_iconv=yes
1087   fi
1088   AC_SUBST(iconv_LIBS)
1089   AC_SUBST(iconv_CFLAGS)
1091   # * check for system iconv
1093   AC_CHECK_FUNC(iconv_open, with_sys_iconv=yes)
1095   if test x"$with_lib_iconv" = xyes && test x"$with_sys_iconv" = xyes; then
1096      AC_MSG_WARN([***  Both system iconv and libiconv found: use libiconv])
1097      AC_MSG_WARN([***  Use --with-iconv-library=no to use the system iconv])
1098   fi
1100   # * libiconv found check for libcharset to get the good iconv charset
1101   if test x"$with_lib_iconv" = xyes; then
1102      CHECK_LIBCHARSET
1103   fi
1105   test x"$with_lib_iconv" = xyes -o x"$with_sys_iconv" = xyes &&
1106          with_iconv=yes && problem_iconv=""
1107   test x"$with_lib_iconv" = xyes && with_iconv_type="yes (libiconv)"
1108   test x"$with_sys_iconv" = xyes && with_iconv_type="yes (from C library)"
1110   if test x"$with_iconv" = xno; then
1111     AC_MSG_WARN([*** ])
1112     AC_MSG_WARN([*** No iconv() implementation found in C library or libiconv])
1113     AC_MSG_WARN([*** Please install libiconv ftp://ftp.gnu.org/pub/gnu/libiconv/])
1114     AC_MSG_WARN([*** ])
1115   fi
1117   if test x"$with_iconv" = xyes; then
1118      AC_DEFINE(HAVE_ICONV)
1119      ICONV_SECOND_ARG
1120   fi
1122 AH_VERBATIM([_HAVE_LIBCHARSET],
1123 [#ifdef USE_LIBICONV
1124 /* define to use locale_charset in the place of nl_langinfog if libiconv
1125  * is used */
1126 #undef HAVE_LIBCHARSET
1127 #endif])
1130 # ******** nl_langinfo and CODESET
1131 AH_TEMPLATE([HAVE_CODESET],[Have nl_langinfo (CODESET)])
1132 AC_MSG_CHECKING([for nl_langinfo (CODESET)])
1133 AC_TRY_COMPILE([#include <langinfo.h>
1134 #include <locale.h>],
1135 [char *codeset = nl_langinfo(CODESET); setlocale(LC_CTYPE, "");],
1136    AC_DEFINE(HAVE_CODESET)
1137    have_codeset=yes,
1138    have_codeset=no)
1139 AC_MSG_RESULT($have_codeset)
1142 # ********* fribidi
1143 AC_ARG_ENABLE(bidi,
1144   AS_HELP_STRING([--disable-bidi],[disable bi-directional text support]),
1145   [ if test x"$enableval" = xyes; then
1146     with_bidi="yes, check"
1147   else
1148     with_bidi="no"
1149   problem_bidi=": Explicitly disabled"
1150   fi ],
1151   [ with_bidi="not specified, check" ]
1154 if test ! x"$with_bidi" = xno; then
1155   AC_ARG_WITH(fribidi-bindir,
1156     AS_HELP_STRING([--with-fribidi-bindir=DIR],
1157       [directory of fribidi-config if not in PATH]),
1158     FRIBIDI_BINDIR="$withval", FRIBIDI_BINDIR=".")
1159   AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config,, [$FRIBIDI_BINDIR:$PATH])
1161   if test x"$FRIBIDI_CONFIG" = x; then
1162     with_bidi=no
1163     problem_bidi=": No fribidi-config found in PATH"
1164   else
1165     Bidi_CFLAGS=`$FRIBIDI_CONFIG --cflags`
1166     Bidi_LIBS=`$FRIBIDI_CONFIG --libs`
1167     AC_CHECK_LIB(fribidi, fribidi_log2vis,
1168       with_bidi=yes; problem_bidi=,
1169       with_bidi=no; problem_bidi=": No good libs via fribidi-config",
1170       [$Bidi_LIBS $Bidi_CFLAGS])
1171   fi
1174 if test ! x"$with_bidi" = xno; then
1175   fribidi_in_path=yes
1176   ac_save_LIBS="$LIBS"
1177   LIBS="$LIBS $Bidi_LIBS"
1178   AC_TRY_RUN([#include <stdlib.h>
1179 #include <fribidi/fribidi.h>
1180 int main()
1182         FriBidiChar *logical_unicode_str =
1183                 (FriBidiChar *)malloc((4 + 1) * sizeof(FriBidiChar));
1184         fribidi_charset_to_unicode(
1185                 fribidi_parse_charset("iso8859-8"), "test", 4,
1186                 logical_unicode_str);
1187         return 0;
1189 ], [:], [fribidi_in_path=no])
1190   LIBS="$ac_save_LIBS"
1191   if test ! x"$fribidi_in_path" = xyes; then
1192     ac_save_CFLAGS="$CFLAGS"
1193     ac_save_LIBS="$LIBS"
1194     CFLAGS="$CFLAGS $Bidi_CFLAGS"
1195     LIBS="$LIBS $Bidi_LIBS"
1196   AC_TRY_RUN([#include <stdlib.h>
1197 #include <fribidi/fribidi.h>
1198 int main()
1200         FriBidiChar *logical_unicode_str =
1201                 (FriBidiChar *)malloc((4 + 1) * sizeof(FriBidiChar));
1202         fribidi_charset_to_unicode(
1203                 fribidi_parse_charset("iso8859-8"), "test", 4,
1204                 logical_unicode_str);
1205         return 0;
1207 ], [:], [with_bidi=no; problem_bidi=": Bad fribidi version, see config.log"])
1208     CFLAGS="$ac_save_CFLAGS"
1209     LIBS="$ac_save_LIBS"
1210   fi
1211   if test ! x"$fribidi_in_path" = xno; then
1212     Bidi_CFLAGS=
1213     Bidi_LIBS=-lfribidi
1214   fi
1217 AH_TEMPLATE([HAVE_BIDI],[Define if fribidi library is used.])
1218 AH_TEMPLATE([FRIBIDI_CHARSET_SPELLING],
1219   [Support fribidi-0.10.4 and older with "CHARSET" spelling.])
1220 if test x"$with_bidi" = xno; then
1221   Bidi_CFLAGS=
1222   Bidi_LIBS=
1223 else
1224   AC_DEFINE(HAVE_BIDI)
1225   AC_TRY_RUN([#include <fribidi/fribidi.h>
1226     int main(int c, char **v) {
1227       return FRIBIDI_CHARSET_NOT_FOUND * 0;
1228     }
1229   ], [AC_DEFINE(FRIBIDI_CHARSET_SPELLING)])
1231 AH_VERBATIM([_FRIBIDI_CHARSET_SPELLING],
1232 [#ifdef FRIBIDI_CHARSET_SPELLING
1233 #  define FRIBIDI_CHAR_SET_NOT_FOUND FRIBIDI_CHARSET_NOT_FOUND
1234 #endif])
1236 AC_SUBST(Bidi_LIBS)
1237 AC_SUBST(Bidi_CFLAGS)
1240 # ********* perllib
1241 with_perllib="yes"
1242 problem_perllib=""
1243 FVWM_PERLLIB=perllib
1244 AC_ARG_ENABLE(perllib,
1245   AS_HELP_STRING([--disable-perllib],[disable installing fvwm perl library]),
1246   [ if test x"$enableval" = xno; then
1247     with_perllib="no"
1248     problem_perllib=": Explicitly disabled"
1249     FVWM_PERLLIB=""
1250   fi ],
1252 AC_SUBST(FVWM_PERLLIB)
1254 # ******* gettext
1255 ALL_LINGUAS="ar de fr sv_SE zh_CN"
1256 FVWM_DOMAIN="fvwm"
1257 FVWMTASKBAR_DOMAIN="FvwmTaskBar"
1258 FVWMSCRIPT_DOMAIN="FvwmScript"
1259 ALL_DOMAINS="$FVWM_DOMAIN $FVWMTASKBAR_DOMAIN $FVWMSCRIPT_DOMAIN"
1261 AC_SUBST(ALL_LINGUAS)
1262 AC_SUBST(FVWM_DOMAIN)
1263 AC_SUBST(FVWMTASKBAR_DOMAIN)
1264 AC_SUBST(FVWMSCRIPT_DOMAIN)
1265 AC_SUBST(ALL_DOMAINS)
1267 LOCALEDIR='${datadir}'"/locale"
1268 with_gettext="yes"
1269 problem_gettext=""
1271 AC_ARG_ENABLE(nls,
1272   AS_HELP_STRING([--disable-nls],[do not use Native Language Support]),
1273   [ if test x"$enableval" = xno; then
1274     with_gettext="no"
1275     problem_gettext=": Explicitly disabled"
1276   fi ],
1279 AH_TEMPLATE([HAVE_NLS],
1280   [Define to 1 if translation of program messages to the user's native
1281   language is requested.])
1282 if test ! x"$with_gettext" = xno; then
1283   AM_GNU_FGETTEXT
1284   if test x"$USE_NLS" = "xyes"; then
1285     AC_DEFINE(HAVE_NLS, 1)
1286   else
1287     with_gettext="no"
1288     problem_gettext=": Failed to detected GNU gettext"
1289   fi
1290 else
1291   USE_NLS=no
1294 # libs and buil
1295 AC_SUBST(intl_LIBS)
1296 AC_SUBST(intl_CFLAGS)
1297 AC_SUBST(USE_NLS)
1298 AC_SUBST(POSUB)
1299 AC_SUBST(LOCALEDIR)
1300 AC_SUBST(MKINSTALLDIRS)
1301 # programs for devel
1302 AC_SUBST(XGETTEXT)
1303 AC_SUBST(GMSGFMT)
1304 AC_SUBST(MSGMERGE)
1305 AC_SUBST(MSGFMT)
1306 AC_SUBST(MSGUNIQ)
1307 #catalogs
1308 AC_SUBST(INST_LINGUAS)
1309 AC_SUBST(CATALOGS)
1310 AC_SUBST(POFILES)
1311 AC_SUBST(GMOFILES)
1312 AC_SUBST(UPDATEPOFILES)
1313 AC_SUBST(DUMMYPOFILES)
1314 AC_SUBST(CATOBJEXT)
1316 # Check for REQUIRED headers and functions before going any
1317 # further.
1319 # The module interface uses variadic functions for message passing.
1320 AC_CHECK_HEADERS(stdarg.h)
1321 AC_CHECK_FUNCS(vfprintf)
1322 if test x$ac_cv_header_stdarg_h = xno -o \
1323         $ac_cv_func_vfprintf = no; then
1324      AC_MSG_ERROR([stdarg.h and vfprintf required])
1327 # For reaping children, fvwm needs either waitpid() or wait3()
1328 # Some extra modules may need wait4() too
1329 AC_CHECK_FUNCS(waitpid)
1330 if test x$ac_cv_func_waitpid = xno; then
1331     AC_CHECK_FUNCS(wait3 wait4)
1332     if test x$ac_cv_func_wait3 = xno; then
1333         AC_MSG_ERROR([Either waitpid or wait3 function is required])
1334     fi
1337 # C89/C99 signal handling
1338 AC_CHECK_FUNCS(sigsetjmp siglongjmp)
1340 # Look harder for a C preprocessor for FvwmCpp
1341 AC_PATH_PROG(FVWM_CPP, cpp, no, $PATH:/lib:/usr/lib:/usr/ccs/lib)
1342 if test x"$FVWM_CPP" = xno; then
1343   FVWM_CPP=
1344   AC_MSG_WARN([cannot locate a C preprocessor: run FvwmCpp with -cppprog])
1346 dnl FIXME: make sure the cpp we found actually works...
1348 # Finish checking for programs.
1349 AC_PROG_INSTALL
1350 AC_PROG_LN_S
1351 AC_PROG_MAKE_SET
1352 AC_PROG_RANLIB
1353 dnl lex+yacc now only needed for FvwmScript developers when syntax is changed
1354 dnl AM_PROG_LEX
1355 dnl AC_PROG_YACC
1357 # Checks for header files.
1358 AC_HEADER_STDC
1359 AC_HEADER_SYS_WAIT
1360 AC_CHECK_HEADERS(stdlib.h fcntl.h limits.h malloc.h string.h memory.h unistd.h)
1361 AC_CHECK_HEADERS(getopt.h sys/select.h sys/systeminfo.h sys/time.h)
1363 # Checks for typedefs, structures, and compiler characteristics.
1364 AC_C_CONST
1365 AC_C_INLINE
1366 AC_TYPE_OFF_T
1367 AC_TYPE_PID_T
1368 AC_TYPE_SIZE_T
1369 AC_HEADER_TIME
1370 dnl AC_STRUCT_TM
1371 AC_TYPE_SIGNAL
1373 # Checks for library functions.
1374 AC_FUNC_ALLOCA
1375 AC_FUNC_STRFTIME
1376 AC_FUNC_SETPGRP
1377 AC_CHECK_FUNCS(gettimeofday mkfifo putenv setvbuf socket waitpid)
1378 AC_CHECK_FUNCS(strdup strstr strtol memmove memcpy strchr sysconf uname div)
1379 AC_CHECK_FUNCS(sigaction siginterrupt getpwuid)
1380 AC_CHECK_FUNCS(setpgrp setpgid)
1381 AC_CHECK_FUNCS(lstat)
1385 pds_CHECK_TYPE(sig_atomic_t, int, [#include <signal.h>], [Specify a type for sig_atomic_t if it's not available.])
1387 if test x$ac_cv_func_setvbuf = xyes; then
1388   AC_FUNC_SETVBUF_REVERSED
1391 AC_FUNC_SELECT
1392 if test ! x"$ac_cv_func_select" = xyes; then
1393   AC_MSG_ERROR([select required])
1396 # Check for standard functions that we have replacements for.
1397 AC_REPLACE_FUNCS(gethostname strcasecmp strncasecmp strdup strerror usleep atexit)
1398 dnl dv: this is harmful with autoconf 2.53 and is done automatically anyway
1399 dnl AC_SUBST(LIBOBJS)
1401 # check for mkstemp, see the discution on this subject on the fvwm workers
1402 # list (2001-02-16 and 2001-02-24)
1403 AM_SAFETY_CHECK_MKSTEMP
1405 # If we do not have atexit(), then check for on_exit()
1406 if test x$ac_cv_func_atexit = xno; then
1407   AC_CHECK_FUNCS(on_exit)
1410 # Check for unsetenv function
1411 AC_CHECK_FUNCS(unsetenv)
1414 # ********* GTK, IMLIB, GNOME
1415 # Check the availability of gtk
1416 FVWMGTK=""
1417 MANFVWMGTK=""
1418 AC_ARG_ENABLE(gtk,
1419   AS_HELP_STRING([--disable-gtk],[do not build modules using gtk library]),
1420     enable_gtktest="$enableval", enable_gtktest=yes)
1421 if test x"$enable_gtktest" = xyes; then
1422   AM_PATH_GTK(1.1.0,[
1423     FVWMGTK="FvwmGtk$EXEEXT" AC_SUBST(FVWMGTK)
1424     MANFVWMGTK=FvwmGtk.1 AC_SUBST(MANFVWMGTK)
1425   ],)
1426   if test x"$no_gtk" = x; then
1427     with_gtk=yes
1428     problem_gtk=""
1429   else
1430     with_gtk=no
1431     problem_gtk=": Failed to detect GTK, see config.log"
1432   fi
1433 else
1434   with_gtk=no
1435   problem_gtk=": Explicitly disabled"
1437 AC_SUBST(FVWMGTK)
1438 AC_SUBST(MANFVWMGTK)
1440 # Check the availability of gdk-imlib
1441 AH_TEMPLATE([GDK_IMLIB],[Define if gdk-imlib is used])
1442 AM_PATH_GDK_IMLIB(1.8.0, AC_DEFINE(GDK_IMLIB))
1443 if test x"$no_imlib" = x; then
1444   with_gdkimlib=yes
1445   problem_gdkimlib=""
1446 else
1447   with_gdkimlib=no
1448   problem_gdkimlib=": Failed on gdk-imlib, see config.log"
1451 GNOME_INIT_HOOK
1453 # Unfortunately we have 2 gnome supports: WM hints and gnome libs.
1454 # The $with_gnomehints below refers to the first, not GNOME_INIT_HOOK.
1455 if test ! x"$enable_gnome_hints" = xno; then
1456   with_gnomehints=yes
1457   problem_gnomehints=""
1458 else
1459   with_gnomehints=no
1460   problem_gnomehints=": Explicitly disabled"
1463 # Define some compatibility macros needed for config.h.
1464 mg_DEFINE_IF_NOT([#include <X11/keysym.h>],
1465   [defined XK_Page_Up && defined XK_Page_Down],
1466   [COMPAT_OLD_KEYSYMDEF], [$X_CFLAGS],
1467   [Old AIX systems (3.2.5) don't define some common keysyms.])
1468 AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
1469 [#ifdef COMPAT_OLD_KEYSYMDEF
1470 #  define XK_Page_Up   XK_Prior
1471 #  define XK_Page_Down XK_Next
1472 #endif])
1474 if test x"$with_stroke" = xyes; then
1475   mg_DEFINE_IF_NOT([#include <stroke.h>],
1476     [defined STROKE_MAX_SEQUENCE],
1477     [COMPAT_OLD_LIBSTROKE], [$stroke_CFLAGS],
1478     [Old libstroke <= 0.4 does not use STROKE_ prefix for constants.])
1480 AH_VERBATIM([_COMPAT_OLD_LIBSTROKE],
1481 [#ifdef COMPAT_OLD_LIBSTROKE
1482 /* currently we only use one constant */
1483 #  define STROKE_MAX_SEQUENCE MAX_SEQUENCE
1484 #endif])
1487 # Allow building with dmalloc.  Do this last to avoid screwing up any
1488 # other checks above.
1489 case "$ac_cv_dmalloc" in
1490   yes) AC_CHECK_HEADERS(dmalloc.h)
1491        AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
1492        CPPFLAGS="$CPPFLAGS -DDMALLOC_FUNC_CHECK" ;;
1493 esac
1496 # Allow building with efence.
1497 case "$ac_cv_efence" in
1498   yes) AC_CHECK_LIB(efence, malloc) ;;
1499 esac
1501 # some explicit definitions for config.h file
1502 AH_VERBATIM([_ZEND_EXPLICIT_DEFINITIONS],
1505  * The next few defines are options that are only changed from their values
1506  * shown here on systems that _don't_ use the configure script.
1507  **/
1509 /* Enable tests for missing too many XEvents.  Usually you want this. */
1510 #define WORRY_ABOUT_MISSED_XEVENTS 1
1512 /* Define if the X11 ConnectionNumber is actually a file descriptor. */
1513 #define HAVE_X11_FD 1
1515 /* Define if fork() has unix semantics.  On VMS, no child process is created
1516    until after a successful exec(). */
1517 #define FORK_CREATES_CHILD 1
1519 /* Suffix for executable filenames; NULL if no extension needed. */
1520 #define EXECUTABLE_EXTENSION NULL
1522 /* Define to remove the extension from executable pathnames before calling
1523    exec(). */
1524 #undef REMOVE_EXECUTABLE_EXTENSION
1526 /* Enables the "MiniIcon" Style option to specify a small pixmap which
1527  * can be used as one of the title-bar buttons, shown in window list,
1528  * utilized by modules, etc.  Requires PIXMAP_BUTTONS to be defined
1529  * (see below). */
1530 /* #undef MINI_ICONS */
1531 /* NOTE: hard coded to 1 */
1532 #if 1
1533 #define FMiniIconsSupported 1
1534 #else
1535 #define FMiniIconsSupported 0
1536 #endif
1538 /* Enables tagged general decoration styles which can be assigned to
1539  * windows using the UseDecor Style option, or dynamically updated
1540  * with ChangeDecor.  To create and destroy "decor" definitions, see
1541  * the man page entries for AddToDecor and DestroyDecor.  There is a
1542  * slight memory penalty for each additionally defined decor. */
1543 /* #undef USEDECOR */
1544 /* NOTE: hard coded to 1 */
1545 #define USEDECOR 1
1547 #if RETSIGTYPE != void
1548 #define SIGNAL_RETURN return 0
1549 #else
1550 #define SIGNAL_RETURN return
1551 #endif
1553 /* Allow GCC extensions to work, if you have GCC. */
1554 #ifndef __attribute__
1555 /* This feature is available in gcc versions 2.5 and later. */
1556 #  if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
1557 #    define __attribute__(x)
1558 #  endif
1559 /* The __-protected variants of `format' and `printf' attributes
1560  * are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
1561 #  if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
1562 #    define __format__ format
1563 #    define __printf__ printf
1564 #  endif
1565 #endif
1567 #if HAVE_ALLOCA_H
1568 #  include <alloca.h>
1569 #else
1570 #  ifdef _AIX
1571        #pragma alloca
1572 #  else
1573 #    ifndef alloca /* predefined by HP cc +Olibcalls */
1574          char *alloca ();
1575 #    endif
1576 #  endif
1577 #endif
1579 #ifdef HAVE_STRING_H
1580 #  include <string.h>
1581 #endif
1582 #ifdef HAVE_STRINGS_H
1583 #  include <strings.h>
1584 #endif
1585 #ifdef HAVE_MEMORY_H
1586 #  include <memory.h>
1587 #endif
1588 #ifdef HAVE_STDLIB_H
1589 #  include <stdlib.h>
1590 #endif
1591 #ifdef HAVE_MALLOC_H
1592 #  include <malloc.h>
1593 #endif
1594 #ifdef HAVE_FCNTL_H
1595 #  include <fcntl.h>
1596 #endif
1597 #ifndef HAVE_STRCHR
1598 #  define strchr(_s,_c)   index((_s),(_c))
1599 #  define strrchr(_s,_c)  rindex((_s),(_c))
1600 #endif
1602 #ifndef HAVE_MEMCPY
1603 #  define memcpy(_d,_s,_l)  bcopy((_s),(_d),(_l))
1604 #endif
1605 #ifndef HAVE_MEMMOVE
1606 #  define memmove(_d,_s,_l) bcopy((_s),(_d),(_l))
1607 #endif
1609 #if HAVE_SYS_TYPES_H
1610 #  include <sys/types.h>
1611 #endif
1613 #if HAVE_UNISTD_H
1614 #  include <unistd.h>
1615 #endif
1617 #ifndef min
1618 #  define min(a,b) (((a)<(b)) ? (a) : (b))
1619 #endif
1620 #ifndef max
1621 #  define max(a,b) (((a)>(b)) ? (a) : (b))
1622 #endif
1623 #ifndef abs
1624 #  define abs(a) (((a)>=0)?(a):-(a))
1625 #endif
1627 #include "libs/defaults.h"
1629 #ifndef FEVENT_C
1630 #include <X11/Xlib.h>
1631 #include "libs/FEvent.h"
1632 #endif
1634 #ifndef O_NOFOLLOW
1635 #define O_NOFOLLOW 0
1636 #endif
1638 #ifdef HAVE_LSTAT
1639 #define DO_USE_LSTAT 1
1640 #define fvwm_lstat(x,y) lstat(x,y)
1641 #else
1642 #define DO_USE_LSTAT 0
1643 #define fvwm_lstat(x,y) -1
1644 #endif
1648 # mainly for fvwm-config
1649 AC_SUBST(with_bidi)
1650 AC_SUBST(with_gtk)
1651 AC_SUBST(with_gdkimlib)
1652 AC_SUBST(with_gettext)
1653 AC_SUBST(with_gnomelibs)
1654 AC_SUBST(with_iconv)
1655 AC_SUBST(with_perllib)
1656 AC_SUBST(with_png)
1657 AC_SUBST(with_rsvg)
1658 AC_SUBST(with_readline)
1659 AC_SUBST(with_rplay)
1660 AC_SUBST(with_shape)
1661 AC_SUBST(with_shm)
1662 AC_SUBST(with_sm)
1663 AC_SUBST(with_stroke)
1664 AC_SUBST(with_xcursor)
1665 AC_SUBST(with_xft)
1666 AC_SUBST(with_xinerama)
1667 AC_SUBST(with_xrender)
1668 AC_SUBST(with_xpm)
1670 dnl with autoconf <2.60 this is needed
1671 AC_SUBST(datarootdir)
1672 AC_SUBST(docdir)
1674 LOCAL_BUGADDR=${FVWM_BUGADDR-${USER-${LOGNAME-`whoami`}}}
1675 AC_SUBST(LOCAL_BUGADDR)
1677 AC_OUTPUT(
1678         Makefile
1679         libs/Makefile
1680         fvwm/Makefile
1681         modules/Makefile
1683         bin/fvwm-bug.1
1684         bin/fvwm-config.1
1685         bin/fvwm-convert-2.2.1
1686         bin/fvwm-convert-2.4.1
1687         bin/fvwm-convert-2.6.1
1688         bin/fvwm-menu-desktop.1
1689 dnl     bin/fvwm-menu-directory.1
1690 dnl     bin/fvwm-menu-headlines.1
1691 dnl     bin/fvwm-menu-xlock.1
1692 dnl     bin/fvwm-perllib.1
1693         bin/fvwm-root.1
1694         modules/FvwmAnimate/FvwmAnimate.1
1695         modules/FvwmAuto/FvwmAuto.1
1696         modules/FvwmBacker/FvwmBacker.1
1697         modules/FvwmBanner/FvwmBanner.1
1698         modules/FvwmButtons/FvwmButtons.1
1699         modules/FvwmCommand/FvwmCommand.1
1700         modules/FvwmConsole/FvwmConsole.1
1701         modules/FvwmConsole/FvwmConsoleC.pl.1
1702         modules/FvwmCpp/FvwmCpp.1
1703 dnl     modules/FvwmDebug/FvwmDebug.1
1704 dnl     modules/FvwmDebug/FvwmGtkDebug.1
1705 dnl     modules/FvwmDebug/FvwmOldDebug.1
1706         modules/FvwmDragWell/FvwmDragWell.1
1707         modules/FvwmEvent/FvwmEvent.1
1708         modules/FvwmForm/FvwmForm.1
1709         modules/FvwmGtk/FvwmGtk.1
1710         modules/FvwmIconBox/FvwmIconBox.1
1711         modules/FvwmIconMan/FvwmIconMan.1
1712         modules/FvwmIdent/FvwmIdent.1
1713         modules/FvwmM4/FvwmM4.1
1714         modules/FvwmPager/FvwmPager.1
1715 dnl     modules/FvwmPerl/FvwmPerl.1
1716         modules/FvwmProxy/FvwmProxy.1
1717         modules/FvwmRearrange/FvwmRearrange.1
1718         modules/FvwmSave/FvwmSave.1
1719         modules/FvwmSaveDesk/FvwmSaveDesk.1
1720         modules/FvwmScript/FvwmScript.1
1721         modules/FvwmScroll/FvwmScroll.1
1722         modules/FvwmTaskBar/FvwmTaskBar.1
1723         modules/FvwmTheme/FvwmTheme.1
1724         modules/FvwmWharf/FvwmWharf.1
1725         modules/FvwmWinList/FvwmWinList.1
1726 dnl     modules/FvwmWindowMenu/FvwmWindowMenu.1
1728         bin/Makefile
1729         bin/fvwm-config
1730         bin/fvwm-bug
1731         bin/fvwm-perllib
1732         bin/fvwm-menu-xlock
1733         bin/fvwm-menu-directory
1734         bin/fvwm-menu-desktop
1735         bin/fvwm-menu-headlines
1736         bin/fvwm-convert-2.4
1737         bin/fvwm-convert-2.6
1739         utils/Makefile
1740         perllib/Makefile
1741         perllib/General/Makefile
1742         perllib/FVWM/Makefile
1743         perllib/FVWM/Module/Makefile
1744         perllib/FVWM/Tracker/Makefile
1745         perllib/FVWM/Module.pm
1746         rpm/Makefile
1747         rpm/fvwm.spec
1748         debian/Makefile
1749         debian/control
1750         doc/fvwm.ent
1751         doc/footer.html
1752         doc/Makefile
1753         doc/fvwm/Makefile
1754         doc/commands/Makefile
1755         doc/docbook-xml/Makefile
1756         doc/docbook-xml/ent/Makefile
1757         doc/docbook-xsl/Makefile
1758         doc/docbook-xsl/common/Makefile
1759         doc/docbook-xsl/manpages/Makefile
1760         doc/docbook-xsl/profiling/Makefile
1761         doc/docbook-xsl/highlighting/Makefile
1762         doc/docbook-xsl/lib/Makefile
1763         doc/docbook-xsl/html/Makefile
1764         doc/modules/Makefile
1765         doc/modules/images/Makefile
1766         doc/modules/images/FvwmTabs/Makefile
1767         doc/images/Makefile
1768         doc/images/svg_rendering/Makefile
1769         docs/fvwm.lsm
1770         docs/Makefile
1771         sample.fvwmrc/Makefile
1772         tests/Makefile
1773         tests/hints/Makefile
1774         po/Makefile
1776         modules/FvwmAnimate/Makefile
1777         modules/FvwmAuto/Makefile
1778         modules/FvwmBacker/Makefile
1779         modules/FvwmBanner/Makefile
1780         modules/FvwmButtons/Makefile
1781         modules/FvwmCommand/Makefile
1782         modules/FvwmCommand/scripts/Makefile
1783         modules/FvwmConsole/Makefile
1784         modules/FvwmConsole/FvwmConsoleC.pl
1785         modules/FvwmCpp/Makefile
1786         modules/FvwmDebug/Makefile
1787         modules/FvwmDebug/FvwmDebug
1788         modules/FvwmDebug/FvwmGtkDebug
1789         modules/FvwmDragWell/Makefile
1790         modules/FvwmEvent/Makefile
1791         modules/FvwmForm/Makefile
1792         modules/FvwmIconBox/Makefile
1793         modules/FvwmIconMan/Makefile
1794         modules/FvwmIdent/Makefile
1795         modules/FvwmM4/Makefile
1796         modules/FvwmPager/Makefile
1797         modules/FvwmPerl/Makefile
1798         modules/FvwmPerl/FvwmPerl
1799         modules/FvwmProxy/Makefile
1800         modules/FvwmRearrange/Makefile
1801         modules/FvwmSave/Makefile
1802         modules/FvwmSaveDesk/Makefile
1803         modules/FvwmScript/Makefile
1804         modules/FvwmScript/Scripts/Makefile
1805         modules/FvwmScript/Widgets/Makefile
1806         modules/FvwmScroll/Makefile
1807         modules/FvwmTabs/Makefile
1808         modules/FvwmTabs/FvwmTabs
1809         modules/FvwmTaskBar/Makefile
1810         modules/FvwmTheme/Makefile
1811         modules/FvwmWharf/Makefile
1812         modules/FvwmWinList/Makefile
1813         modules/FvwmWindowMenu/Makefile
1814         modules/FvwmWindowMenu/FvwmWindowMenu
1815         modules/FvwmGtk/Makefile
1818 # ---------------------------------------------------------------------------
1819 # Original config.status is patched to make generated scripts executable.
1820 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 && \
1821 mv config.status-t config.status
1822 chmod +x config.status
1823 # ---------------------------------------------------------------------------
1825 # ---------------------------------------------------------------------------
1826 cat >config.status-t <<EOF
1827 #! /bin/sh
1829 # Original config.status is patched to satisfy processing *.in with 'make -j'.
1830 # This bug seems to be partially fixed in autoconf-2.50 (not in all places).
1831 UNIQUE_POSTFIX=\$\$
1834 sed 's/conftest/conftest\${UNIQUE_POSTFIX}/g' <config.status >>config.status-t && \
1835 mv config.status-t config.status
1836 chmod +x config.status
1837 # ---------------------------------------------------------------------------
1839 eval my_bindir="`eval echo ${bindir}`"
1840 eval my_mandir="`eval echo ${mandir}`"
1841 eval my_moddir="`eval echo ${FVWM_MODULEDIR}`"; eval my_moddir="$my_moddir"
1842 eval my_datdir="`eval echo ${FVWM_DATADIR}`"
1843 eval my_docdir="`eval echo ${FVWM_DOCDIR}`"
1844 eval my_plldir="`eval echo ${FVWM_PERLLIBDIR}`"
1845 test x"$FVWM_PERLLIB" = x && my_plldir="(Not installed) $my_plldir"
1846 eval my_localedir="`eval echo ${LOCALEDIR}`"
1847 test x"$USE_NLS" = xno && my_localedir="(Not installed) $my_localdir"
1849 case "$with_gtk" in
1850   yes) fvwmgtk_msg="
1851   With GDK image support in FvwmGtk?  $with_gdkimlib$problem_gdkimlib
1852   With GNOME libs support in FvwmGtk? $with_gnomelibs$problem_gnomelibs" ;;
1853   no) fvwmgtk_msg="" ;;
1854 esac
1856 echo "
1857 Fvwm Configuration:
1859   Version:     $VERSION$VERSIONINFO
1861   Executables: $my_bindir
1862   Man pages:   $my_mandir
1863   Modules:     $my_moddir
1864   Data files:  $my_datdir
1865   Doc files:   $my_docdir
1866   Perl lib:    $my_plldir
1867   Locale msg:  $my_localedir $INST_LINGUAS
1869   With Asian bi-direct. text support? $with_bidi$problem_bidi
1870   With Gettext Native Lang support?   $with_gettext$problem_gettext
1871   With GTK+ required for FvwmGtk?     $with_gtk$problem_gtk$fvwmgtk_msg
1872   With Iconv support?                 $with_iconv_type$problem_iconv
1873   With Mouse strokes (gestures)?      $with_stroke$problem_stroke
1874   With PNG image support?             $with_png$problem_png
1875   With ReadLine sup. in FvwmConsole?  $with_readline$problem_readline
1876   With RPlay support in FvwmEvent?    $with_rplay$problem_rplay
1877   With Shaped window support?         $with_shape$problem_shape
1878   With Shared memory for XImage?      $with_shm$problem_shm
1879   With Session Management support?    $with_sm$problem_sm
1880   With SVG image support?             $with_rsvg$problem_rsvg
1881   With Xcursor support?               $with_xcursor$problem_xcursor
1882   With Xinerama multi-head support?   $with_xinerama$problem_xinerama
1883   With Xft anti-alias font support?   $with_xft$problem_xft
1884   With XPM image support?             $with_xpm$problem_xpm
1885   With Xrender image support?         $with_xrender$problem_xrender
1886   Build man pages?                    $with_mandoc$problem_mandoc
1887   Build HTML documentation?           $with_htmldoc$problem_htmldoc
1889 See INSTALL.fvwm for the description of what this may mean."
1891 case "$with_xinerama_emulation" in
1892   yes) echo "  Xinerama emulation enabled." ;;
1893 esac
1894 case "$ac_cv_dmalloc" in
1895   yes) echo "  DMALLOC heap debugging library enabled." ;;
1896 esac
1897 case "$ac_cv_efence" in
1898   yes) echo "  EFENCE debugging library enabled." ;;
1899 esac