1dnl Process this file with autoconf to produce a configure script.
2dnl
3AC_PREREQ(2.60)
4
5dnl should be "yes" only within the released distribution
6ISRELEASED="yes"
7if test $ISRELEASED = "no"; then
8	RELDATELONG=""
9	RELDATESHORT=""
10	RELDATENUM=""
11fi
12
13# Silence warning: ar: 'u' modifier ignored since 'D' is the default
14AC_SUBST(AR_FLAGS, [cr])
15
16AC_INIT([fvwm],
17	m4_esyscmd_s([utils/fvwm-version-str.sh]),
18	[fvwm-workers@fvwm.org])
19AC_CONFIG_AUX_DIR(etc)
20AM_INIT_AUTOMAKE([foreign subdir-objects])
21AM_SILENT_RULES([yes])
22AM_CONFIG_HEADER(config.h)
23
24VERSIONINFO=""
25
26dnl date of the released version (please zero pad the day in the last 2 dates)
27dnl for example: "4 February 2003", "04 Feb 2003", "2003-02-04"
28dnl date format strings: "%e %B %Y", "%d-%b-%Y", "%Y-%m-%d"
29RELDATELONG="05 September 2019"
30RELDATESHORT="05-Sep-2019"
31RELDATENUM="2019-10-05"
32
33# constant variable settings
34FVWMNAMELONG="F? Virtual Window Manager"
35FVWMHOMEPAGE="http://fvwm.org/"
36FVWMFTP="ftp.fvwm.org"
37FVWMFTPDIR="/pub/ftp"
38FVWMALTFTP="metalab.unc.edu"
39FVWMALTFTPDIR="/pub/Linux/X11/window-managers/"
40FVWMLIST="fvwm@fvwm.org"
41FVWMWORKERSLIST="fvwm-workers@fvwm.org"
42FVWMWORKERSLISTLONG="fvwm workers list <fvwm-workers@fvwm.org>"
43MANPAGE_PREAMBLE='.\" WARNING: This file was automatically generated.  Edit the .in file instead.'
44
45AC_SUBST(ISRELEASED)
46AH_TEMPLATE([VERSIONINFO],[Additional version information, like date])
47AC_DEFINE_UNQUOTED(VERSIONINFO, "$VERSIONINFO")
48AC_SUBST(VERSIONINFO)
49AC_SUBST(RELDATELONG)
50AC_SUBST(RELDATESHORT)
51AC_SUBST(RELDATENUM)
52AC_SUBST(FVWMNAMELONG)
53AC_SUBST(FVWMHOMEPAGE)
54AC_SUBST(FVWMFTP)
55AC_SUBST(FVWMFTPDIR)
56AC_SUBST(FVWMALTFTP)
57AC_SUBST(FVWMALTFTPDIR)
58AC_SUBST(FVWMLIST)
59AC_SUBST(FVWMWORKERSLIST)
60AC_SUBST(FVWMWORKERSLISTLONG)
61AC_SUBST(MANPAGE_PREAMBLE)
62
63# check for programs needed to build html docs
64AC_CHECK_PROG(SED, sed, sed, "")
65AC_SUBST(SED)
66
67# optional python:
68PYTHON=
69REQUIRED_PYTHON_VERSION=3.0
70AC_SUBST(REQUIRED_PYTHON_VERSION)
71AC_PATH_PROG([PYTHON],[python3],[:])
72AS_IF([test "$PYTHON" != ":"],
73            [AM_PYTHON_CHECK_VERSION([$PYTHON],[$REQUIRED_PYTHON_VERSION],[:],
74				     [PYTHON=":"])])
75#!!!
76PERL=""
77REQUIRED_PERL_VERSION=5.004
78AC_SUBST(REQUIRED_PERL_VERSION)
79if test x"$PERL" = x; then
80	AC_PATH_PROG(PERL, perl)
81fi
82if test ! x"$PERL" = x; then
83	AC_MSG_CHECKING([for perl $REQUIRED_PERL_VERSION or better])
84	HAVE_PERL_FOR_DOCS=1
85	if ("$PERL" -e "require $REQUIRED_PERL_VERSION;") 2>/dev/null; then
86		AC_MSG_RESULT(yes)
87	else
88		AC_MSG_RESULT(no)
89		AC_MSG_WARN([$PERL not found or too old])
90	fi
91else
92	HAVE_PERL_FOR_DOCS=0
93	AC_MSG_WARN([perl is not found, it is required for some scripts and modules])
94	AC_MSG_WARN([It is recommended to install perl $REQUIRED_PERL_VERSION or better later])
95	PERL=/usr/bin/perl
96fi
97AC_MSG_RESULT([assuming $PERL as perl location])
98AC_SUBST(PERL)
99
100# installation paths
101transform=`echo "${program_transform_name}" | "$SED" -e 's/\\$\\$/\\$/'`
102PPACKAGE=`echo "${PACKAGE}" | "$SED" -e "${transform}"`
103FVWM_MODULESUBDIR=/${PPACKAGE}/${VERSION}
104FVWM_DATASUBDIR=/${PPACKAGE}
105FVWM_DOCSUBDIR=/doc/${PPACKAGE}
106
107AC_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], [])
112
113
114FVWM_MODULEDIR='${libexecdir}'"$FVWM_MODULESUBDIR"
115FVWM_DATADIR='${datadir}'"$FVWM_DATASUBDIR"
116FVWM_DOCDIR='${datadir}'"$FVWM_DOCSUBDIR"
117FVWM_PERLLIBDIR='${datadir}'"$FVWM_DATASUBDIR/perllib"
118FVWM_CONFDIR='${sysconfdir}'dnl used _only_ to search for system.fvwm2rc
119
120AC_SUBST(FVWM_MODULEDIR)
121AC_SUBST(FVWM_DATADIR)
122AC_SUBST(FVWM_PERLLIBDIR)
123AC_SUBST(FVWM_CONFDIR)
124AC_SUBST(FVWM_DOCDIR)
125
126AH_TEMPLATE([FVWM_CONFIG],
127  [Name of config filenames in FVWM_USERDIR and FVWM_DATADIR])
128AC_DEFINE(FVWM_CONFIG, "config")
129
130AH_TEMPLATE([FVWM2RC],[Suffix for old (to be deprecated) config filenames])
131AC_DEFINE(FVWM2RC, ".fvwm2rc")
132
133# Various configure-time options
134
135AC_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"])
140
141AC_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"])
146
147smr_SWITCH(command-log, command logging, off, FVWM_COMMAND_LOG,, [Produces a log of all executed commands and their times on stderr.])
148AH_VERBATIM([_FVWM_COMMAND_LOG],
149[#ifdef FVWM_COMMAND_LOG
150#   define FVWM_DEBUG_TIME 1
151#endif])
152
153smr_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])
155AH_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])
161
162dnl dummy: smr_SWITCH(sm, dummy for test script, on, SESSION)
163
164# Need to know where X is, for finding some libraries (e.g. xpm)
165no_x=""
166AC_PATH_XTRA
167if 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
178fi
179
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.
184#
185AC_MSG_CHECKING(imagepath)
186val="/usr/include/X11/bitmaps:/usr/include/X11/pixmaps"
187AC_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 ])
200AH_TEMPLATE([FVWM_IMAGEPATH],[Where to search for images.])
201AC_DEFINE_UNQUOTED(FVWM_IMAGEPATH, "$val")
202
203FVWM_IMAGEPATH="$val"
204AC_SUBST(FVWM_IMAGEPATH)
205AC_MSG_RESULT($val)
206
207# Minimal checks for programs: enough to enable checking for
208# optional libraries.
209AC_PROG_CC
210AC_PROG_CPP
211
212# added -Wall for gcc, what about for others?
213if test "x$GCC" = "xyes"; then
214  CFLAGS="-Wall -Wno-implicit-int $CFLAGS"
215fi
216
217# Help finding POSIX functions on some systems
218AC_ISC_POSIX
219AC_MINIX
220
221# catch -Werror and similar options when running configure
222AC_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], , AC_MSG_ERROR("
228configure is not able to compile programs with warnings.  Please
229remove all offending options like -Werror from the CFLAGS and
230CPPFLAGS variables and run configure again."))
231
232# check size of some types
233ac_save_CFLAGS="$CFLAGS"
234CFLAGS="$CFLAGS $X_CFLAGS"
235AC_CHECK_SIZEOF(int)
236AC_CHECK_SIZEOF(long)
237AC_CHECK_SIZEOF(Window, , [#include <stdio.h>
238#include <X11/X.h>])
239AC_CHECK_SIZEOF(Pixel, , [#include <stdio.h>
240#include <X11/Intrinsic.h>])
241AC_CHECK_SIZEOF(void *)
242CFLAGS="$ac_save_CFLAGS"
243size_check_failed=""
244if 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
247fi
248if 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
251fi
252if 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
255fi
256if 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
262fi
263
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.
266UNSET=true
267if unset UNSET 2>/dev/null; then UNSET=unset; fi
268
269
270# ********* multibyte
271# FreeBSD has libxpg4, check this and use if found.
272AC_CANONICAL_HOST
273case $host_os in
274freebsd*)
275	AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
276*)
277	;;
278esac
279
280# *** pkg-config
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
284AM_CHECK_PKG_CONFIG
285
286
287# Building man pages & HTML documentation (from XML source).
288# extract command names
289if test ! x"$SED" = x; then
290	DOC_COMMANDS=`
291		sed -n '
292		:findhead
293			/#.*define.*CMD_ENT/bfindcmd
294			n
295			bfindhead
296		:findcmd
297			n
298			/CMD_ENT/bfound
299			bfindcmd
300		:found
301			/"#"/bfindcmd
302			/"propertychange"/bfindcmd
303			/"readwritecolors"/bfindcmd
304			/"send_.*"/bfindcmd
305			/"set_.*"/bfindcmd
306			s/.*CMD_ENT.*CMD_//
307			s/,.*//
308			p
309			n
310			bfindcmd
311	' < fvwm/functable.c`
312	DOC_COMMANDS=`echo $DOC_COMMANDS`
313	# with .xml suffix
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;
320		done
321	`
322	DOC_COMMANDS_XML_PATH=`echo $DOC_COMMANDS_XML_PATH`
323	# with .html suffix
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
327	DOC_MODULES=""
328	DOC_MODULES=`
329		for i in modules/*; do echo "$i"; done |
330		sed -n '
331			:search
332			/^modules.Fvwm/bfound
333			bnext
334		:found
335			s/modules.//
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`
352else
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=""
362fi
363AC_SUBST(DOC_COMMANDS)
364AC_SUBST(DOC_COMMANDS_XML)
365AC_SUBST(DOC_COMMANDS_XML_PATH)
366AC_SUBST(DOC_COMMANDS_HTML)
367AC_SUBST(DOC_MODULES)
368AC_SUBST(DOC_MODULES_HTML)
369AC_SUBST(DOC_SECTIONS)
370AC_SUBST(DOC_SECTIONS_XML)
371AC_SUBST(DOC_SECTIONS_XML_PATH)
372
373problem_mandoc=""
374AC_CHECK_PROG(XSLTPROC, xsltproc, xsltproc, "")
375
376AC_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="no" ]
386)
387
388if 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
401fi
402AM_CONDITIONAL([FVWM_BUILD_MANDOC], [test x"$with_mandoc" = xyes])
403
404
405problem_htmldoc=""
406AC_ARG_ENABLE(htmldoc,
407  AS_HELP_STRING([--enable-htmldoc],[enable 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" ]
415)
416
417if 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
430fi
431AM_CONDITIONAL([FVWM_BUILD_HTMLDOC], [test x"$with_htmldoc" = xyes])
432
433
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.
437dnl [old check] AC_CHECK_LIB(SM, SmcOpenConnection, AC_DEFINE(SESSION), ,
438dnl [old check]            [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
439
440problem_sm=""
441
442AC_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" ]
451)
452
453if 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)
461
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])
467fi
468dnl AC_SUBST(sm_LIBS)
469dnl AC_SUBST(sm_CFLAGS)
470
471
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.
476
477
478# ********* shape extension
479dnl smr_SWITCH(shape, shape extensions, on, SHAPE)
480AC_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" ]
489)
490
491AH_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)
499
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.
504
505   Note: if it is compiled in, run time detection is used to make sure that
506   the currently running X server supports it.])
507if 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])
514fi
515
516# ********* MIT Shared Memory Extension
517AC_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" ]
526)
527
528AH_TEMPLATE([HAVE_XSHM],[Define if  MIT Shared Memory extension is used.])
529if 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])
536fi
537
538# Silently look for X11/XKBlib.h
539AH_TEMPLATE([HAVE_X11_XKBLIB_H],[Define if Xkb extension is used.])
540AC_CHECK_HEADER(X11/XKBlib.h, AC_DEFINE(HAVE_X11_XKBLIB_H))
541
542# ********* xineramA
543problem_xinerama=""
544
545AC_ARG_ENABLE(xinerama,
546  AS_HELP_STRING([--disable-xinerama],[disable Xinerama multi screen support]),
547  [ if test x"$enableval" = xyes; then
548    with_xinerama="yes, check"
549  else
550    with_xinerama="no"
551    problem_xinerama=": Explicitly disabled"
552  fi ],
553  [ with_xinerama="not specified, check" ]
554)
555
556AH_TEMPLATE([HAVE_XINERAMA],[Define if Xinerama library is used.])
557AH_TEMPLATE([HAVE_SOLARIS_XINERAMA],
558  [Define if Solaris' Xinerama calls are being used.
559  (Solaris 7 11/99 and later)])
560AH_TEMPLATE([HAVE_SOLARIS_XINERAMA_H],
561  [Define if Solaris' X11/extensions/xinerama.h header is provided.
562  (Solaris 9 and later)])
563if test ! x"$with_xinerama" = xno; then
564  $UNSET ac_cv_lib_Xinerama_XineramaIsActive
565  _check_solaris_xinerama=no
566  AC_CHECK_LIB(Xinerama, XineramaIsActive,
567    with_xinerama=yes; Xinerama_LIBS=-lXinerama; AC_DEFINE(HAVE_XINERAMA),
568    _check_solaris_xinerama=yes,
569    [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
570  if test x"$_check_solaris_xinerama" = xyes; then
571    AC_CHECK_LIB(Xext, XineramaGetState,
572      [ AC_DEFINE(HAVE_XINERAMA) AC_DEFINE(HAVE_SOLARIS_XINERAMA)
573      with_xinerama=yes; Xinerama_LIBS=-lXext
574      my_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$X_CPPFLAGS $CPPFLAGS"
575      my_hdr="X11/extensions/xinerama.h"
576      AC_CHECK_HEADER($my_hdr, AC_DEFINE(HAVE_SOLARIS_XINERAMA_H)
577	problem_xinerama=" (Using Solaris Xinerama calls)",
578	problem_xinerama=" (Using Solaris 9 prototypes for missing header)")
579      CPPFLAGS="$my_CPPFLAGS"],
580    with_xinerama=no; Xinerama_LIBS=
581    problem_xinerama=": Failed to detect libXinerama",
582    [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
583  fi
584  $UNSET _check_solaris_xinerama
585fi
586AC_SUBST(Xinerama_LIBS)
587AC_SUBST(Xinerama_CFLAGS)
588
589# ********* xinerama-emulation
590smr_SWITCH(
591  xinerama-emulation,
592  [Xinerama emulation on one screen (useful only for developers)], off,
593  USE_XINERAMA_EMULATION,,
594  [Define if Xinerama should be emulated on a single screen.])
595if test x"$enable_xinerama_emulation" = xyes; then
596  with_xinerama_emulation=yes
597else
598  with_xinerama_emulation=no
599fi
600
601# ********* xrender
602problem_xrender=""
603AC_ARG_ENABLE(xrender,
604  AS_HELP_STRING([--disable-xrender],[disable Xrender alpha-blend rendering]),
605  [ if test x"$enableval" = xyes; then
606    with_xrender="yes, check"
607  else
608    with_xrender="no"
609    problem_xrender=": Explicitly disabled"
610  fi ],
611  [ with_xrender="not specified, check" ]
612)
613
614AH_TEMPLATE([HAVE_XRENDER],[Define if Xrender library is used.])
615if test ! x"$with_xrender" = xno; then
616  $UNSET ac_cv_lib_Xrender_XRenderComposite
617  AC_CHECK_LIB(Xrender, XRenderComposite,
618    with_xrender=yes; Xrender_LIBS=-lXrender;
619    AC_DEFINE(HAVE_XRENDER),
620    with_xrender=no; Xrender_LIBS=
621    problem_xrender=": Failed to detect libXrender",
622    [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
623fi
624AC_SUBST(Xrender_LIBS)
625AC_SUBST(Xrender_CFLAGS)
626
627# ********* xcursor
628AH_TEMPLATE([HAVE_XCURSOR],[Define if Xcursor library is used.])
629xcursor_CFLAGS=""
630xcursor_LIBS=""
631AC_ARG_ENABLE(xcursor,
632  AS_HELP_STRING([--disable-xcursor],
633    [disable Xcursor ARGB/animated cursor loading]),
634  [ if test x"$enableval" = xno; then
635       with_xcursor=no
636       problem_xcursor=": Explicitly disabled"
637    fi ],
638)
639if test ! x"$with_xcursor" = xno; then
640   with_xcursor=no
641   if test ! x"$with_xrender" = xno; then
642      $UNSET ac_cv_lib_Xrender_XRenderCreateCursor
643      AC_CHECK_LIB(Xrender, XRenderCreateCursor, [
644         with_xcursor=yes
645      ],[
646         problem_xcursor=": Your libXrender version is too old"
647      ],
648      [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
649   else
650      problem_xcursor=": Need Xrender support"
651   fi
652fi
653if test x"$with_xcursor" = xyes ; then
654      $UNSET ac_cv_lib_Xcursor_XcursorImageLoadCursor
655      AC_CHECK_LIB(Xcursor, XcursorImageLoadCursor, [
656         AC_DEFINE(HAVE_XCURSOR)
657         Xcursor_LIBS=-lXcursor
658         problem_xcursor=""
659      ],[
660         with_xcursor=no
661         problem_xcursor=": Failed to detect libXcursor"
662      ],[$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
663fi
664AC_SUBST(Xcursor_CFLAGS)
665AC_SUBST(Xcursor_LIBS)
666
667# ********* xft
668problem_xft=""
669
670AC_ARG_ENABLE(xft,
671  AS_HELP_STRING([--disable-xft],[disable Xft anti-aliased font rendering]),
672  [ if test x"$enableval" = xyes; then
673    with_xft="yes, check"
674  else
675    with_xft="no"
676    problem_xft=": Explicitly disabled"
677  fi ],
678  [
679    with_xft="not specified, check"
680  ]
681)
682
683AH_TEMPLATE([HAVE_XFT],[Define if Xft library is used.])
684AH_TEMPLATE([HAVE_XFT2],[Define if Xft 2 library is used.])
685AH_TEMPLATE([HAVE_XFT_UTF8],[Define if Xft library can handle utf8 encoding])
686if test ! x"$with_xft" = xno; then
687  AC_MSG_CHECKING([whether pkg-config could find freetype2])
688  if "${PKG_CONFIG}" --exists freetype2; then
689    AC_MSG_RESULT([yes])
690    CFLAGS_FREETYPE=`"${PKG_CONFIG}" --cflags freetype2`
691    FREETYPE_LIBS=`"${PKG_CONFIG}" --libs freetype2`
692    CFLAGS="$CFLAGS $CFLAGS_FREETYPE"
693    LIBS="$LIBS $FREETYPE_LIBS"
694
695    have_freetype=yes
696  else
697  AC_MSG_RESULT([no])
698  have_freetype=no
699  fi
700
701  # check for fontconfig for Xft 2
702  have_fontconfig=no
703  if test ! x"$have_freetype" = xno ; then
704    AM_CHECK_FC(1.0.1)
705    if test x"$no_fc" = x ; then
706      have_fontconfig=yes
707      fontconfig_CFLAGS=`$PKG_CONFIG --cflags fontconfig`
708      fontconfig_LIBS=`$PKG_CONFIG --libs fontconfig`
709      CFLAGS="$CFLAGS $fontconfig_CFLAGS"
710      LIBS="$LIBS $fontconfig_LIBS"
711    else
712      have_fontconfig=no
713      problem_xft=": Can't detect fontconfig >= 1.0.1"
714    fi
715  fi
716
717  # now check for Xft 2
718  with_xft=no
719  if test ! x"$have_fontconfig" = xno ; then
720    # Xft 2
721    AM_CHECK_XFT(2.0.0)
722    if test x"$no_xft" = x; then
723      with_xft=yes
724      problem_xft=" (version 2)"
725      AC_DEFINE(HAVE_XFT2)
726      AC_DEFINE(HAVE_XFT)
727      AC_DEFINE(HAVE_XFT_UTF8)
728      Xft_LIBS=$XFT_LIBS
729      Xft_CFLAGS=$XFT_CFLAGS
730    else
731      problem_xft=": Can't detect Xft2, detected fontconfig"
732    fi
733  fi
734
735  # if Xft2 not detected check for Xft1
736  if test ! x"$have_freetype" = xno && test ! x"$with_xft" = xyes; then
737    #Xft 1
738    $UNSET ac_cv_lib_XftConfigSubstitute
739    $UNSET ac_cv_lib_Xft_XftFontOpen
740    $UNSET ac_cv_lib_Xft_XftDrawStringUtf8
741    AC_CHECK_LIB(Xft, XftFontOpen,
742      with_xft=yes, with_xft=no,
743      [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $FT2_LIBS $Xrender_LIBS])
744    if test x"$with_xft" = xyes ; then
745      AC_CHECK_LIB(Xft, XftConfigSubstitute, is_xft1=yes, is_xft1=no,
746        [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $FT2_LIBS $Xrender_LIBS])
747      if test x"$is_xft1" = xyes; then
748        Xft_LIBS="-lXft $FT2_LIBS"
749	Xft_CFLAGS="$Xft_CFLAGS $FT2_CFLAGS"
750        problem_xft=" (version 1)"
751        AC_DEFINE(HAVE_XFT)
752      else
753        with_xft=no
754        problem_xft=": Can't detect Xft 1 or fontconfig"
755      fi
756    else
757      problem_xft=": Can't detect Xft 1 or 2 and fontconfig"
758    fi
759    if test x"$with_xft" = xyes; then
760      AC_CHECK_LIB(Xft, XftDrawStringUtf8,
761        AC_DEFINE(HAVE_XFT_UTF8),,
762        [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $FT2_LIBS $Xrender_LIBS])
763    fi
764  fi
765
766fi
767AC_SUBST(Xft_LIBS)
768AC_SUBST(Xft_CFLAGS)
769
770# ********* xpm
771problem_xpm=": Xpm library or header not found"
772
773$UNSET ac_cv_header_X11_xpm_h
774$UNSET ac_cv_lib_Xpm_XpmReadFileToXpmImage
775smr_CHECK_LIB(xpm, Xpm, for coloured or shaped icons,
776    XpmReadFileToXpmImage, X11/xpm.h,
777    [$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS], $X_CFLAGS)
778
779if test ! x"$xpm_LIBS" = x; then
780  # Check for proper version of Xpm -- from XEmacs 21.x configure.in
781  AC_MSG_CHECKING([for Xpm 3.4g or better])
782  my_CPPFLAGS="$CPPFLAGS"
783  my_LIBS="$LIBS"
784  CPPFLAGS="$CPPFLAGS $xpm_CFLAGS $X_CFLAGS"
785  LIBS="$LIBS $xpm_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
786  AC_TRY_RUN([#include <X11/xpm.h>
787   int main(int c, char **v) {
788   return c == 1 ? 0 :
789     XpmIncludeVersion != XpmLibraryVersion() ? 1 :
790     XpmIncludeVersion < 30407 ? 2 : 0 ;}],
791    [./conftest dummy_arg; xpm_status=$?;
792     if test x"$xpm_status" = x0; then
793       with_xpm=yes
794       problem_xpm=""
795     else
796       with_xpm=no;
797       if test x"$xpm_status" = x1; then
798	 problem_xpm=": Xpm library and header versions don't match"
799       elif test x"$xpm_status" = x2x; then
800	 problem_xpm=": Xpm library version is too old"
801       else
802	 problem_xpm=": Internal xpm detection logic error"
803       fi
804     fi],
805   [with_xpm=no; problem_xpm=": Xpm test error, see config.log"],
806   [echo $ac_n "cross compiling; assumed OK... $ac_c"])
807  AC_MSG_RESULT($with_xpm)
808  CPPFLAGS="$my_CPPFLAGS"
809  LIBS="$my_LIBS"
810
811  AH_TEMPLATE([XPM],[Define if Xpm library is used.])
812  if test x"$with_xpm" = xyes; then
813    AC_DEFINE(XPM)
814    # FVWMBANNER=FvwmBanner AC_SUBST(FVWMBANNER)
815    # XPMROOT=xpmroot AC_SUBST(XPMROOT)
816    # FVWMSCRIPT=FvwmScript AC_SUBST(FVWMSCRIPT)
817  else
818    xpm_LIBS=
819    xpm_CFLAGS=
820  fi
821fi
822AC_SUBST(xpm_LIBS)
823AC_SUBST(xpm_CFLAGS)
824
825# ********* png
826png_LIBS=""
827png_CFLAGS=""
828
829AH_TEMPLATE([HAVE_PNG], [Define PNG])
830AC_ARG_ENABLE(png,
831    AS_HELP_STRING([--disable-png],
832		   [Disables libpng support.]),
833		   [with_png="$enableval"],
834		   [with_png="yes"])
835
836if test "$with_png" = no; then
837      AC_MSG_WARN([***
838		   disabling PNG support will mean the default
839		   configuration shipped with FVWM will be without icon
840		   support.  Be sure this is what you mean to do.
841		   ***])
842else
843	AC_MSG_CHECKING([for libpng...])
844	PKG_CHECK_MODULES([png], [libpng >= 1.2],
845	[
846	 AC_DEFINE(HAVE_PNG)
847	],
848	[
849	 AC_MSG_ERROR([***
850		       libpng not found, and --disable-png not given.
851		       It is recommended to use libpng so that PNG icons can
852		       be rendered by FVWM, which the default configuration
853		       file needs, as well as other third-party programs
854		       which generate menus, for example.
855
856		       If it is critical that FVWM does not link against
857		       libpng (perhaps due to size limitations of the
858		       binary), then use --disable-png
859		       ***])
860	])
861	# ** needed by the png support
862	AC_C_BIGENDIAN
863fi
864
865AC_SUBST(png_LIBS)
866AC_SUBST(png_CFLAGS)
867
868# ********* rsvg
869rsvg_min_version=2.13.92
870AH_TEMPLATE([HAVE_RSVG], [Define if librsvg library is used.])
871
872AC_ARG_ENABLE(rsvg,
873  AS_HELP_STRING([--disable-rsvg],
874    [disable scalable vector graphics (SVG images)]),
875  [ if test x"$enableval" = xno; then
876       with_rsvg=no
877       problem_rsvg=": Explicitly disabled"
878    fi ],
879)
880if test ! x"$with_rsvg" = xno; then
881   with_rsvg=no
882   if test ! x"$PKG_CONFIG" = xno ; then
883      AC_MSG_CHECKING(for librsvg - version >= $rsvg_min_version)
884      if $PKG_CONFIG --exists librsvg-2.0 ; then
885         if $PKG_CONFIG --exists "librsvg-2.0 >= $rsvg_min_version" ; then
886            AC_MSG_RESULT(yes)
887
888   	    AC_MSG_CHECKING(for cairo svg backend)
889            if $PKG_CONFIG --exists cairo-svg ; then
890               svg_packages="librsvg-2.0 cairo-svg"
891            elif $PKG_CONFIG --exists libsvg-cairo ; then
892               svg_packages="librsvg-2.0 libsvg-cairo"
893            elif $PKG_CONFIG --exists cairo ; then
894               svg_packages="librsvg-2.0 cairo"
895            else
896               svg_packages=""
897            fi
898            if test ! x"$svg_packages" = x ; then
899               AC_MSG_RESULT(yes)
900               rsvg_CFLAGS=`$PKG_CONFIG --cflags $svg_packages`
901               rsvg_LIBS=`$PKG_CONFIG --libs $svg_packages`
902               with_rsvg=yes
903            else
904               AC_MSG_RESULT(no)
905               AC_MSG_WARN([*** cairo was not found in the pkg-config search])
906               AC_MSG_WARN([*** path. Add the directory containing cairo.pc])
907               AC_MSG_WARN([*** to the PKG_CONFIG_PATH environment variable.])
908               problem_rsvg=": Cannot detect cairo backend"
909            fi
910         else
911            AC_MSG_RESULT(no)
912            AC_MSG_WARN([*** Your librsvg version is < $rsvg_min_version])
913            problem_rsvg=": Your librsvg version is too old"
914         fi
915      else
916         AC_MSG_RESULT(no)
917         AC_MSG_WARN([*** librsvg-2.0 was not found in the pkg-config search])
918         AC_MSG_WARN([*** path. Either librsvg is not installed or you need])
919         AC_MSG_WARN([*** to add the directory containing librsvg-2.0.pc to])
920         AC_MSG_WARN([*** the PKG_CONFIG_PATH environment variable.])
921         problem_rsvg=": librsvg library or header not found"
922      fi
923   else
924      problem_rsvg=": pkg-config not found"
925   fi
926fi
927if test x"$with_rsvg" = xyes ; then
928   AC_MSG_CHECKING(whether a librsvg program compiles and runs)
929   original_CFLAGS="$CFLAGS"
930   original_LIBS="$LIBS"
931   CFLAGS="$CFLAGS $rsvg_CFLAGS"
932   LIBS="$LIBS $rsvg_LIBS"
933   AC_TRY_RUN([
934      #include <librsvg/rsvg.h>
935      #include <librsvg/rsvg-cairo.h>
936      int main() {
937         RsvgHandle *rsvg;
938         g_type_init();
939         if(!(rsvg = rsvg_handle_new())) return 1;
940         g_object_unref(G_OBJECT(rsvg));
941         return 0;
942      }
943   ], [
944      AC_MSG_RESULT(yes)
945   ], [
946      AC_MSG_RESULT(no)
947      AC_MSG_WARN([*** The librsvg test program failed to run. If your system])
948      AC_MSG_WARN([*** has shared libraries outside the normal system library])
949      AC_MSG_WARN([*** path, you need to make sure that the LD_LIBRARY_PATH])
950      AC_MSG_WARN([*** (or the like) environment variable is correctly set.])
951      with_rsvg=no
952      problem_rsvg=": Failed to run test program"
953   ], [echo $ac_n "cross compiling; assumed OK... $ac_c"])
954   CFLAGS="$original_CFLAGS"
955   LIBS="$original_LIBS"
956fi
957if test x"$with_rsvg" = xyes ; then
958   AC_DEFINE(HAVE_RSVG)
959   problem_rsvg=""
960else
961   rsvg_CFLAGS=""
962   rsvg_LIBS=""
963fi
964AC_SUBST(rsvg_CFLAGS)
965AC_SUBST(rsvg_LIBS)
966
967# ********* rplay
968$UNSET ac_cv_header_rplay_h
969$UNSET ac_cv_lib_rplay_rplay_create
970# Add in X_EXTRA_LIBS here to get things like connect().
971smr_CHECK_LIB(rplay, , adds audio capability, rplay_create, rplay.h,
972	      $X_EXTRA_LIBS)
973AH_TEMPLATE([HAVE_RPLAY],[Define if rplay library is used.])
974test ! x"$rplay_LIBS" = x && AC_DEFINE(HAVE_RPLAY)
975AC_SUBST(rplay_LIBS)
976AC_SUBST(rplay_CFLAGS)
977
978
979# ********* stroke
980$UNSET ac_cv_header_stroke_h
981$UNSET ac_cv_lib_stroke_stroke_init
982dnl Add in X_LIBS for MOUSE_DROPPINGS?
983dnl As of 23/Mar/2000 the only libstroke RPM has /usr/X11R6/include/stroke.h
984AH_TEMPLATE([HAVE_STROKE],[Define if stroke library is used.])
985smr_CHECK_LIB(stroke, , mouse strokes recognition,
986	stroke_init, stroke.h,
987	[$X_LIBS -lX11], $X_CFLAGS -I/usr/X11R6/include)
988test ! x"$stroke_LIBS" = x &&
989AC_DEFINE(HAVE_STROKE)
990AH_VERBATIM([_HAVE_STROKE],
991[#ifdef HAVE_STROKE
992#    define STROKE_ARG(x) x,
993#    define STROKE_CODE(x) x
994#else
995#    define STROKE_ARG(x)
996#    define STROKE_CODE(x)
997#endif])
998AC_SUBST(stroke_LIBS)
999AC_SUBST(stroke_CFLAGS)
1000
1001
1002# ********* readline
1003with_readline=no
1004problem_readline=": Both termcap and ncurses disabled"
1005
1006smr_ARG_WITHLIB(termcap, , to accomplish readline)
1007AH_TEMPLATE([HAVE_READLINE],[Define if readline is available.])
1008if test ! x"$with_termcap" = xno; then
1009  # Forget cached values, so user can re-run configure
1010  $UNSET ac_cv_header_readline_history_h
1011  $UNSET ac_cv_lib_readline_readline
1012  AC_MSG_CHECKING([with termcap])
1013  smr_CHECK_LIB(readline, , line editing/history, readline, readline/history.h,
1014    $termcap_LIBS)
1015  if test ! x"$readline_LIBS" = x; then
1016    with_readline=yes
1017    readline_LIBS="$readline_LIBS $termcap_LIBS"
1018    AC_DEFINE(HAVE_READLINE)
1019  fi
1020fi
1021smr_ARG_WITHLIB(ncurses, , to accomplish readline)
1022if test ! x"$with_ncurses" = xno && test x"$readline_LIBS" = x; then
1023  # We couldn't use readline with termcap; try with ncurses?
1024  # Doesn't this seem a hacky way to do this??
1025  # unset cached values from last check...
1026  $UNSET ac_cv_header_readline_history_h
1027  $UNSET ac_cv_lib_readline_readline
1028  AC_MSG_CHECKING([with ncurses])
1029  dnl We can not call smr_CHECK_LIB twice here without having the usage twice.
1030  dnl old_LIBS=$LIBS
1031  dnl AC_CHECK_LIB(readline, readline, , , $ncurses_LIBS)
1032  dnl LIBS=$old_LIBS
1033  dnl if test x"$ac_cv_lib_readline_readline" = xyes; then
1034  dnl   AC_CHECK_HEADERS(readline/history.h)
1035  dnl   if test x"$ac_cv_header_readline_history_h" = xyes; then
1036  dnl     with_readline=yes
1037  dnl     readline_LIBS="$readline_LIBS $ncurses_LIBS"
1038  dnl     AC_DEFINE(HAVE_READLINE)
1039  dnl   fi
1040  dnl fi
1041  smr_CHECK_LIB(readline, , line editing/history, readline, readline/history.h,
1042    $ncurses_LIBS)
1043  if test ! x"$readline_LIBS" = x; then
1044    with_readline=yes
1045    readline_LIBS="$readline_LIBS $ncurses_LIBS"
1046    AC_DEFINE(HAVE_READLINE)
1047  fi
1048fi
1049dnl We need to check if we have GNU readline or BSD editline
1050AH_TEMPLATE([HAVE_GNU_READLINE],[Define if readline has full GNU interface])
1051if test x"$with_readline" = xyes; then
1052   AC_CHECK_LIB(readline, append_history, AC_DEFINE(HAVE_GNU_READLINE), [], $readline_LIBS)
1053fi
1054AC_SUBST(readline_LIBS)
1055AC_SUBST(readline_CFLAGS)
1056
1057
1058# Check if Xsetlocale() is available or not.
1059AH_TEMPLATE([X_LOCALE],[Enables to use setlocale() provided by X])
1060AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE),, $X_LIBS -lX11)
1061
1062# Check if Xsetlocale() is available or not.
1063AH_TEMPLATE([HAVE_XOUTPUT_METHOD],[Enable X output method])
1064AC_CHECK_LIB(X11, XOpenOM, AC_DEFINE(HAVE_XOUTPUT_METHOD),, $X_LIBS -lX11)
1065
1066# ******** iconv
1067with_iconv=no
1068with_iconv_type=no
1069with_lib_iconv=no
1070with_sys_iconv=no
1071problem_iconv=": Explicitly disabled"
1072
1073AC_ARG_ENABLE(iconv,
1074  AS_HELP_STRING([--disable-iconv],
1075    [disable support for iconv character conversion]),
1076  [ac_cv_iconv="$enableval"],
1077  [ac_cv_iconv="yes"])
1078
1079AH_TEMPLATE([USE_LIBICONV],
1080  [define if we use libiconv (not needed in general: for example iconv is
1081  native with recent glibc)])
1082AH_TEMPLATE([HAVE_ICONV],
1083  [Define if iconv (in the libc) or libiconv is available])
1084if test ! x"$ac_cv_iconv" = xno; then
1085  # * first check for gnu libiconv
1086  $UNSET ac_cv_header_libiconv_h
1087  $UNSET ac_cv_lib_libiconv_libiconv_open
1088  smr_CHECK_LIB(
1089  	iconv, , if not found sys iconv is used, libiconv_open, iconv.h)
1090  if test ! x"$iconv_LIBS" = x; then
1091     AC_DEFINE(USE_LIBICONV)
1092     with_lib_iconv=yes
1093  fi
1094  AC_SUBST(iconv_LIBS)
1095  AC_SUBST(iconv_CFLAGS)
1096
1097  # * check for system iconv
1098
1099  AC_CHECK_FUNC(iconv_open, with_sys_iconv=yes)
1100
1101  if test x"$with_lib_iconv" = xyes && test x"$with_sys_iconv" = xyes; then
1102     AC_MSG_WARN([***  Both system iconv and libiconv found: use libiconv])
1103     AC_MSG_WARN([***  Use --with-iconv-library=no to use the system iconv])
1104  fi
1105
1106  # * libiconv found check for libcharset to get the good iconv charset
1107  if test x"$with_lib_iconv" = xyes; then
1108     CHECK_LIBCHARSET
1109  fi
1110
1111  test x"$with_lib_iconv" = xyes -o x"$with_sys_iconv" = xyes &&
1112	 with_iconv=yes && problem_iconv=""
1113  test x"$with_lib_iconv" = xyes && with_iconv_type="yes (libiconv)"
1114  test x"$with_sys_iconv" = xyes && with_iconv_type="yes (from C library)"
1115
1116  if test x"$with_iconv" = xno; then
1117    AC_MSG_WARN([*** ])
1118    AC_MSG_WARN([*** No iconv() implementation found in C library or libiconv])
1119    AC_MSG_WARN([*** Please install libiconv ftp://ftp.gnu.org/pub/gnu/libiconv/])
1120    AC_MSG_WARN([*** ])
1121  fi
1122
1123  if test x"$with_iconv" = xyes; then
1124     AC_DEFINE(HAVE_ICONV)
1125     ICONV_SECOND_ARG
1126  fi
1127fi
1128AH_VERBATIM([_HAVE_LIBCHARSET],
1129[#ifdef USE_LIBICONV
1130/* define to use locale_charset in the place of nl_langinfog if libiconv
1131 * is used */
1132#undef HAVE_LIBCHARSET
1133#endif])
1134
1135
1136# ******** nl_langinfo and CODESET
1137AH_TEMPLATE([HAVE_CODESET],[Have nl_langinfo (CODESET)])
1138AC_MSG_CHECKING([for nl_langinfo (CODESET)])
1139AC_TRY_COMPILE([#include <langinfo.h>
1140#include <locale.h>],
1141[char *codeset = nl_langinfo(CODESET); setlocale(LC_CTYPE, "");],
1142   AC_DEFINE(HAVE_CODESET)
1143   have_codeset=yes,
1144   have_codeset=no)
1145AC_MSG_RESULT($have_codeset)
1146
1147
1148# ********* fribidi
1149AC_ARG_ENABLE(bidi,
1150  AS_HELP_STRING([--disable-bidi],[disable bi-directional text support]),
1151  [ if test x"$enableval" = xyes; then
1152    with_bidi="yes, check"
1153  else
1154    with_bidi="no"
1155  problem_bidi=": Explicitly disabled"
1156  fi ],
1157  [ with_bidi="not specified, check" ]
1158)
1159
1160fribidi_min_version=0.19.2
1161if test ! x"$with_bidi" = xno; then
1162  AC_ARG_WITH(fribidi-bindir,
1163    AS_HELP_STRING([--with-fribidi-bindir=DIR],
1164      [directory of fribidi-config if not in PATH]),
1165    FRIBIDI_BINDIR="$withval", FRIBIDI_BINDIR=".")
1166  if test ! x"$PKG_CONFIG" = xno && $PKG_CONFIG --exists "fribidi >= $fribidi_min_version"; then
1167    FRIBIDI_CONFIG="$PKG_CONFIG fribidi"
1168  else
1169    AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config,, [$FRIBIDI_BINDIR:$PATH])
1170  fi
1171
1172  if test x"$FRIBIDI_CONFIG" = x; then
1173    with_bidi=no
1174    problem_bidi=": pkgconfig fribidi:  fribidi version >= $fribidi_min_version needed."
1175  else
1176    Bidi_CFLAGS=`$FRIBIDI_CONFIG --cflags`
1177    Bidi_LIBS=`$FRIBIDI_CONFIG --libs`
1178    AC_CHECK_LIB(fribidi, fribidi_log2vis,
1179      with_bidi=yes; problem_bidi=,
1180      with_bidi=no; problem_bidi=": No good libs via $FRIBIDI_CONFIG",
1181      [$Bidi_LIBS $Bidi_CFLAGS])
1182  fi
1183fi
1184
1185if test ! x"$with_bidi" = xno; then
1186  fribidi_in_path=yes
1187  ac_save_LIBS="$LIBS"
1188  LIBS="$LIBS $Bidi_LIBS"
1189  AC_TRY_RUN([#include <stdlib.h>
1190#include <fribidi/fribidi.h>
1191int main()
1192{
1193	FriBidiChar *logical_unicode_str =
1194		(FriBidiChar *)malloc((4 + 1) * sizeof(FriBidiChar));
1195	fribidi_charset_to_unicode(
1196		fribidi_parse_charset("iso8859-8"), "test", 4,
1197		logical_unicode_str);
1198	return 0;
1199}
1200], [:], [fribidi_in_path=no])
1201  LIBS="$ac_save_LIBS"
1202  if test ! x"$fribidi_in_path" = xyes; then
1203    ac_save_CFLAGS="$CFLAGS"
1204    ac_save_LIBS="$LIBS"
1205    CFLAGS="$CFLAGS $Bidi_CFLAGS"
1206    LIBS="$LIBS $Bidi_LIBS"
1207  AC_TRY_RUN([#include <stdlib.h>
1208#include <fribidi/fribidi.h>
1209int main()
1210{
1211	FriBidiChar *logical_unicode_str =
1212		(FriBidiChar *)malloc((4 + 1) * sizeof(FriBidiChar));
1213	fribidi_charset_to_unicode(
1214		fribidi_parse_charset("iso8859-8"), "test", 4,
1215		logical_unicode_str);
1216	return 0;
1217}
1218], [:], [with_bidi=no; problem_bidi=": Bad fribidi version, see config.log"])
1219    CFLAGS="$ac_save_CFLAGS"
1220    LIBS="$ac_save_LIBS"
1221  fi
1222  if test ! x"$fribidi_in_path" = xno; then
1223    Bidi_CFLAGS=
1224    Bidi_LIBS=-lfribidi
1225  fi
1226fi
1227
1228AH_TEMPLATE([HAVE_BIDI],[Define if fribidi library is used.])
1229AH_TEMPLATE([FRIBIDI_CHARSET_SPELLING],
1230  [Support fribidi-0.10.4 and older with "CHARSET" spelling.])
1231if test x"$with_bidi" = xno; then
1232  Bidi_CFLAGS=
1233  Bidi_LIBS=
1234else
1235  AC_DEFINE(HAVE_BIDI)
1236  AC_TRY_RUN([#include <fribidi/fribidi.h>
1237    int main(int c, char **v) {
1238      return FRIBIDI_CHARSET_NOT_FOUND * 0;
1239    }
1240  ], [AC_DEFINE(FRIBIDI_CHARSET_SPELLING)])
1241fi
1242AH_VERBATIM([_FRIBIDI_CHARSET_SPELLING],
1243[#ifdef FRIBIDI_CHARSET_SPELLING
1244#  define FRIBIDI_CHAR_SET_NOT_FOUND FRIBIDI_CHARSET_NOT_FOUND
1245#endif])
1246
1247AC_SUBST(Bidi_LIBS)
1248AC_SUBST(Bidi_CFLAGS)
1249
1250
1251# ********* perllib
1252with_perllib="yes"
1253problem_perllib=""
1254FVWM_PERLLIB=perllib
1255AC_ARG_ENABLE(perllib,
1256  AS_HELP_STRING([--disable-perllib],[disable installing fvwm perl library]),
1257  [ if test x"$enableval" = xno; then
1258    with_perllib="no"
1259    problem_perllib=": Explicitly disabled"
1260    FVWM_PERLLIB=""
1261  fi ],
1262)
1263AC_SUBST(FVWM_PERLLIB)
1264
1265# ******* gettext
1266ALL_LINGUAS="ar da de fr sv_SE zh_CN ru es"
1267FVWM_DOMAIN="fvwm"
1268FVWMSCRIPT_DOMAIN="FvwmScript"
1269ALL_DOMAINS="$FVWM_DOMAIN $FVWMTASKBAR_DOMAIN $FVWMSCRIPT_DOMAIN"
1270
1271AC_SUBST(ALL_LINGUAS)
1272AC_SUBST(FVWM_DOMAIN)
1273AC_SUBST(FVWMTASKBAR_DOMAIN)
1274AC_SUBST(FVWMSCRIPT_DOMAIN)
1275AC_SUBST(ALL_DOMAINS)
1276
1277LOCALEDIR='${datadir}'"/locale"
1278with_gettext="yes"
1279problem_gettext=""
1280
1281AC_ARG_ENABLE(nls,
1282  AS_HELP_STRING([--disable-nls],[do not use Native Language Support]),
1283  [ if test x"$enableval" = xno; then
1284    with_gettext="no"
1285    problem_gettext=": Explicitly disabled"
1286  fi ],
1287)
1288
1289AH_TEMPLATE([HAVE_NLS],
1290  [Define to 1 if translation of program messages to the user's native
1291  language is requested.])
1292if test ! x"$with_gettext" = xno; then
1293  AM_GNU_FGETTEXT
1294  if test x"$USE_NLS" = "xyes"; then
1295    AC_DEFINE(HAVE_NLS, 1)
1296  else
1297    with_gettext="no"
1298    problem_gettext=": Failed to detected GNU gettext"
1299  fi
1300else
1301  USE_NLS=no
1302fi
1303
1304# libs and buil
1305AC_SUBST(intl_LIBS)
1306AC_SUBST(intl_CFLAGS)
1307AC_SUBST(USE_NLS)
1308AC_SUBST(POSUB)
1309AC_SUBST(LOCALEDIR)
1310AC_SUBST(MKINSTALLDIRS)
1311# programs for devel
1312AC_SUBST(XGETTEXT)
1313AC_SUBST(GMSGFMT)
1314AC_SUBST(MSGMERGE)
1315AC_SUBST(MSGFMT)
1316AC_SUBST(MSGUNIQ)
1317#catalogs
1318AC_SUBST(INST_LINGUAS)
1319AC_SUBST(CATALOGS)
1320AC_SUBST(POFILES)
1321AC_SUBST(GMOFILES)
1322AC_SUBST(UPDATEPOFILES)
1323AC_SUBST(DUMMYPOFILES)
1324AC_SUBST(CATOBJEXT)
1325
1326# Check for REQUIRED headers and functions before going any
1327# further.
1328
1329# The module interface uses variadic functions for message passing.
1330AC_CHECK_HEADERS(stdarg.h)
1331AC_CHECK_FUNCS(vfprintf)
1332if test x$ac_cv_header_stdarg_h = xno -o \
1333        $ac_cv_func_vfprintf = no; then
1334     AC_MSG_ERROR([stdarg.h and vfprintf required])
1335fi
1336
1337# For reaping children, fvwm needs either waitpid() or wait3()
1338# Some extra modules may need wait4() too
1339AC_CHECK_FUNCS(waitpid)
1340if test x$ac_cv_func_waitpid = xno; then
1341    AC_CHECK_FUNCS(wait3 wait4)
1342    if test x$ac_cv_func_wait3 = xno; then
1343        AC_MSG_ERROR([Either waitpid or wait3 function is required])
1344    fi
1345fi
1346
1347# C89/C99 signal handling
1348AC_CHECK_FUNCS(sigsetjmp siglongjmp)
1349
1350# Look harder for a C preprocessor for FvwmCpp
1351AC_PATH_PROG(FVWM_CPP, cpp, no, $PATH:/lib:/usr/lib:/usr/ccs/lib)
1352if test x"$FVWM_CPP" = xno; then
1353  FVWM_CPP=
1354  AC_MSG_WARN([cannot locate a C preprocessor: run FvwmCpp with -cppprog])
1355fi
1356dnl FIXME: make sure the cpp we found actually works...
1357
1358# Finish checking for programs.
1359AC_PROG_INSTALL
1360AC_PROG_LN_S
1361AC_PROG_MAKE_SET
1362AC_PROG_RANLIB
1363dnl lex+yacc now only needed for FvwmScript developers when syntax is changed
1364dnl AM_PROG_LEX
1365dnl AC_PROG_YACC
1366
1367# Checks for header files.
1368AC_HEADER_STDC
1369AC_HEADER_SYS_WAIT
1370AC_CHECK_HEADERS(stdlib.h fcntl.h limits.h malloc.h string.h memory.h unistd.h)
1371AC_CHECK_HEADERS(stdint.h inttypes.h)
1372AC_CHECK_HEADERS(getopt.h sys/select.h sys/systeminfo.h sys/time.h)
1373
1374# Checks for typedefs, structures, and compiler characteristics.
1375AC_C_CONST
1376AC_C_INLINE
1377AC_TYPE_OFF_T
1378AC_TYPE_PID_T
1379AC_TYPE_SIZE_T
1380AC_HEADER_TIME
1381dnl AC_STRUCT_TM
1382AC_TYPE_SIGNAL
1383AC_TYPE_INT16_T
1384AC_TYPE_UINT16_T
1385
1386# Checks for library functions.
1387AC_FUNC_STRFTIME
1388AC_FUNC_SETPGRP
1389AC_CHECK_FUNCS(gettimeofday mkfifo putenv setvbuf socket waitpid)
1390AC_CHECK_FUNCS(strdup strstr strtol memmove memcpy strchr sysconf uname div)
1391AC_CHECK_FUNCS(sigaction siginterrupt getpwuid)
1392AC_CHECK_FUNCS(setpgrp setpgid)
1393AC_CHECK_FUNCS(lstat)
1394
1395
1396
1397pds_CHECK_TYPE(sig_atomic_t, int, [#include <signal.h>], [Specify a type for sig_atomic_t if it's not available.])
1398
1399if test x$ac_cv_func_setvbuf = xyes; then
1400  AC_FUNC_SETVBUF_REVERSED
1401fi
1402
1403AC_FUNC_SELECT
1404if test ! x"$ac_cv_func_select" = xyes; then
1405  AC_MSG_ERROR([select required])
1406fi
1407
1408# check for mkstemp, see the discution on this subject on the fvwm workers
1409# list (2001-02-16 and 2001-02-24)
1410AM_SAFETY_CHECK_MKSTEMP
1411
1412# ********* IMLIB, GNOME
1413# Check the availability of gdk-imlib
1414AH_TEMPLATE([GDK_IMLIB],[Define if gdk-imlib is used])
1415AM_PATH_GDK_IMLIB(1.8.0, AC_DEFINE(GDK_IMLIB))
1416if test x"$no_imlib" = x; then
1417  with_gdkimlib=yes
1418  problem_gdkimlib=""
1419else
1420  with_gdkimlib=no
1421  problem_gdkimlib=": Failed on gdk-imlib, see config.log"
1422fi
1423
1424# Define some compatibility macros needed for config.h.
1425mg_DEFINE_IF_NOT([#include <X11/keysym.h>],
1426  [defined XK_Page_Up && defined XK_Page_Down],
1427  [COMPAT_OLD_KEYSYMDEF], [$X_CFLAGS],
1428  [Old AIX systems (3.2.5) don't define some common keysyms.])
1429AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
1430[#ifdef COMPAT_OLD_KEYSYMDEF
1431#  define XK_Page_Up   XK_Prior
1432#  define XK_Page_Down XK_Next
1433#endif])
1434
1435if test x"$with_stroke" = xyes; then
1436  mg_DEFINE_IF_NOT([#include <stroke.h>],
1437    [defined STROKE_MAX_SEQUENCE],
1438    [COMPAT_OLD_LIBSTROKE], [$stroke_CFLAGS],
1439    [Old libstroke <= 0.4 does not use STROKE_ prefix for constants.])
1440fi
1441AH_VERBATIM([_COMPAT_OLD_LIBSTROKE],
1442[#ifdef COMPAT_OLD_LIBSTROKE
1443/* currently we only use one constant */
1444#  define STROKE_MAX_SEQUENCE MAX_SEQUENCE
1445#endif])
1446
1447
1448# Allow building with dmalloc.  Do this last to avoid screwing up any
1449# other checks above.
1450case "$ac_cv_dmalloc" in
1451  yes) AC_CHECK_HEADERS(dmalloc.h)
1452       AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
1453       CPPFLAGS="$CPPFLAGS -DDMALLOC_FUNC_CHECK" ;;
1454esac
1455
1456
1457# Allow building with efence.
1458case "$ac_cv_efence" in
1459  yes) AC_CHECK_LIB(efence, malloc) ;;
1460esac
1461
1462# some explicit definitions for config.h file
1463AH_VERBATIM([_ZEND_EXPLICIT_DEFINITIONS],
1464[
1465/**
1466 * The next few defines are options that are only changed from their values
1467 * shown here on systems that _don't_ use the configure script.
1468 **/
1469
1470/* Enable tests for missing too many XEvents.  Usually you want this. */
1471#define WORRY_ABOUT_MISSED_XEVENTS 1
1472
1473/* Define if the X11 ConnectionNumber is actually a file descriptor. */
1474#define HAVE_X11_FD 1
1475
1476/* Define if fork() has unix semantics.  On VMS, no child process is created
1477   until after a successful exec(). */
1478#define FORK_CREATES_CHILD 1
1479
1480/* Suffix for executable filenames; NULL if no extension needed. */
1481#define EXECUTABLE_EXTENSION NULL
1482
1483/* Define to remove the extension from executable pathnames before calling
1484   exec(). */
1485#undef REMOVE_EXECUTABLE_EXTENSION
1486
1487/* Enables the "MiniIcon" Style option to specify a small pixmap which
1488 * can be used as one of the title-bar buttons, shown in window list,
1489 * utilized by modules, etc.  Requires PIXMAP_BUTTONS to be defined
1490 * (see below). */
1491/* #undef MINI_ICONS */
1492/* NOTE: hard coded to 1 */
1493#if 1
1494#define FMiniIconsSupported 1
1495#else
1496#define FMiniIconsSupported 0
1497#endif
1498
1499#if RETSIGTYPE != void
1500#define SIGNAL_RETURN return 0
1501#else
1502#define SIGNAL_RETURN return
1503#endif
1504
1505/* Allow GCC extensions to work, if you have GCC. */
1506#ifndef __attribute__
1507/* This feature is available in gcc versions 2.5 and later. */
1508#  if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
1509#    define __attribute__(x)
1510#  endif
1511/* The __-protected variants of `format' and `printf' attributes
1512 * are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
1513#  if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
1514#    define __format__ format
1515#    define __printf__ printf
1516#  endif
1517#endif
1518
1519#ifdef HAVE_STRING_H
1520#  include <string.h>
1521#endif
1522#ifdef HAVE_STRINGS_H
1523#  include <strings.h>
1524#endif
1525#ifdef HAVE_MEMORY_H
1526#  include <memory.h>
1527#endif
1528#ifdef HAVE_STDLIB_H
1529#  include <stdlib.h>
1530#endif
1531
1532#if defined (HAVE_MALLOC_H) && !defined (__FreeBSD__) && !defined (__OpenBSD__) && !defined(__NetBSD__)
1533#  include <malloc.h>
1534#endif
1535#ifdef HAVE_FCNTL_H
1536#  include <fcntl.h>
1537#endif
1538#ifndef HAVE_STRCHR
1539#  define strchr(_s,_c)   index((_s),(_c))
1540#  define strrchr(_s,_c)  rindex((_s),(_c))
1541#endif
1542
1543#ifndef HAVE_MEMCPY
1544#  define memcpy(_d,_s,_l)  bcopy((_s),(_d),(_l))
1545#endif
1546#ifndef HAVE_MEMMOVE
1547#  define memmove(_d,_s,_l) bcopy((_s),(_d),(_l))
1548#endif
1549
1550#if HAVE_SYS_TYPES_H
1551#  include <sys/types.h>
1552#endif
1553
1554#if HAVE_UNISTD_H
1555#  include <unistd.h>
1556#endif
1557
1558#ifndef min
1559#  define min(a,b) (((a)<(b)) ? (a) : (b))
1560#endif
1561#ifndef max
1562#  define max(a,b) (((a)>(b)) ? (a) : (b))
1563#endif
1564#ifndef abs
1565#  define abs(a) (((a)>=0)?(a):-(a))
1566#endif
1567
1568#include "libs/defaults.h"
1569
1570#ifndef FEVENT_C
1571#include <X11/Xlib.h>
1572#include <X11/Xutil.h>
1573#include "libs/FEvent.h"
1574#endif
1575
1576#ifndef O_NOFOLLOW
1577#define O_NOFOLLOW 0
1578#endif
1579
1580#ifdef HAVE_LSTAT
1581#define DO_USE_LSTAT 1
1582#define fvwm_lstat(x,y) lstat(x,y)
1583#else
1584#define DO_USE_LSTAT 0
1585#define fvwm_lstat(x,y) -1
1586#endif
1587
1588#ifdef HAVE_X11_XKBLIB_H
1589#include <X11/XKBlib.h>
1590#define fvwm_KeycodeToKeysym(d, k, l, g) \
1591	(XkbKeycodeToKeysym((d), (k), (g), (l)))
1592#else
1593#define fvwm_KeycodeToKeysym(d, k, x, i) (XKeycodeToKeysym((d), (k), (i)))
1594#endif
1595
1596/* A macro that touches a variable in a compiler independent way to suppress
1597 * warnings. */
1598#define SUPPRESS_UNUSED_VAR_WARNING(x) \
1599do { void *p; p = (void *)&x; (void)p; } while (0);
1600])
1601
1602# mainly for fvwm-config
1603AC_SUBST(with_bidi)
1604AC_SUBST(with_gdkimlib)
1605AC_SUBST(with_gettext)
1606AC_SUBST(with_iconv)
1607AC_SUBST(with_perllib)
1608AC_SUBST(with_png)
1609AC_SUBST(with_rsvg)
1610AC_SUBST(with_readline)
1611AC_SUBST(with_rplay)
1612AC_SUBST(with_shape)
1613AC_SUBST(with_shm)
1614AC_SUBST(with_sm)
1615AC_SUBST(with_stroke)
1616AC_SUBST(with_xcursor)
1617AC_SUBST(with_xft)
1618AC_SUBST(with_xinerama)
1619AC_SUBST(with_xrender)
1620AC_SUBST(with_xpm)
1621
1622dnl with autoconf <2.60 this is needed
1623AC_SUBST(datarootdir)
1624AC_SUBST(docdir)
1625
1626LOCAL_BUGADDR=${FVWM_BUGADDR-${USER-${LOGNAME-`whoami`}}}
1627AC_SUBST(LOCAL_BUGADDR)
1628
1629AC_OUTPUT(
1630	Makefile
1631	libs/Makefile
1632	fvwm/Makefile
1633	modules/Makefile
1634dnl
1635	bin/fvwm-bug.1
1636	bin/fvwm-config.1
1637	bin/fvwm-convert-2.6.1
1638	bin/fvwm-menu-desktop.1
1639dnl	bin/fvwm-menu-directory.1
1640dnl	bin/fvwm-menu-headlines.1
1641dnl	bin/fvwm-menu-xlock.1
1642dnl	bin/fvwm-perllib.1
1643	bin/fvwm-root.1
1644	modules/FvwmAnimate/FvwmAnimate.1
1645	modules/FvwmAuto/FvwmAuto.1
1646	modules/FvwmBacker/FvwmBacker.1
1647	modules/FvwmBanner/FvwmBanner.1
1648	modules/FvwmButtons/FvwmButtons.1
1649	modules/FvwmCommand/FvwmCommand.1
1650	modules/FvwmConsole/FvwmConsole.1
1651	modules/FvwmConsole/FvwmConsoleC.pl.1
1652	modules/FvwmCpp/FvwmCpp.1
1653	modules/FvwmEvent/FvwmEvent.1
1654	modules/FvwmForm/FvwmForm.1
1655	modules/FvwmIconMan/FvwmIconMan.1
1656	modules/FvwmIdent/FvwmIdent.1
1657	modules/FvwmM4/FvwmM4.1
1658	modules/FvwmPager/FvwmPager.1
1659dnl	modules/FvwmPerl/FvwmPerl.1
1660	modules/FvwmProxy/FvwmProxy.1
1661	modules/FvwmRearrange/FvwmRearrange.1
1662	modules/FvwmScript/FvwmScript.1
1663dnl	modules/FvwmWindowMenu/FvwmWindowMenu.1
1664dnl
1665	bin/Makefile
1666	bin/fvwm-config
1667	bin/fvwm-bug
1668	bin/fvwm-perllib
1669	bin/fvwm-menu-xlock
1670	bin/fvwm-menu-directory
1671	bin/fvwm-menu-desktop
1672	bin/fvwm-menu-headlines
1673	bin/fvwm-convert-2.6
1674dnl
1675	utils/Makefile
1676	perllib/Makefile
1677	perllib/General/Makefile
1678	perllib/FVWM/Makefile
1679	perllib/FVWM/Module/Makefile
1680	perllib/FVWM/Tracker/Makefile
1681	perllib/FVWM/Module.pm
1682	default-config/Makefile
1683	doc/fvwm.ent
1684	doc/footer.html
1685	doc/Makefile
1686	doc/fvwm/Makefile
1687	doc/commands/Makefile
1688	doc/docbook-xml/Makefile
1689	doc/docbook-xml/ent/Makefile
1690	doc/docbook-xsl/Makefile
1691	doc/docbook-xsl/common/Makefile
1692	doc/docbook-xsl/manpages/Makefile
1693	doc/docbook-xsl/profiling/Makefile
1694	doc/docbook-xsl/highlighting/Makefile
1695	doc/docbook-xsl/lib/Makefile
1696	doc/docbook-xsl/html/Makefile
1697	doc/images/Makefile
1698	doc/images/svg_rendering/Makefile
1699	docs/Makefile
1700	tests/Makefile
1701	tests/hints/Makefile
1702	po/Makefile
1703dnl
1704	modules/FvwmAnimate/Makefile
1705	modules/FvwmAuto/Makefile
1706	modules/FvwmBacker/Makefile
1707	modules/FvwmBanner/Makefile
1708	modules/FvwmButtons/Makefile
1709	modules/FvwmCommand/Makefile
1710	modules/FvwmCommandS/Makefile
1711	modules/FvwmCommand/scripts/Makefile
1712	modules/FvwmConsole/Makefile
1713	modules/FvwmConsole/FvwmConsoleC.pl
1714	modules/FvwmCpp/Makefile
1715	modules/FvwmEvent/Makefile
1716	modules/FvwmForm/Makefile
1717	modules/FvwmIconMan/Makefile
1718	modules/FvwmIdent/Makefile
1719	modules/FvwmM4/Makefile
1720	modules/FvwmPager/Makefile
1721	modules/FvwmPerl/Makefile
1722	modules/FvwmPerl/FvwmPerl
1723	modules/FvwmProxy/Makefile
1724	modules/FvwmRearrange/Makefile
1725	modules/FvwmScript/Makefile
1726	modules/FvwmScript/Scripts/Makefile
1727	modules/FvwmScript/Widgets/Makefile
1728)
1729
1730# ---------------------------------------------------------------------------
1731# Original config.status is patched to make generated scripts executable.
1732sed '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 && \
1733mv config.status-t config.status
1734chmod +x config.status
1735# ---------------------------------------------------------------------------
1736
1737# ---------------------------------------------------------------------------
1738cat >config.status-t <<EOF
1739#! /bin/sh
1740
1741# Original config.status is patched to satisfy processing *.in with 'make -j'.
1742# This bug seems to be partially fixed in autoconf-2.50 (not in all places).
1743UNIQUE_POSTFIX=\$\$
1744
1745EOF
1746sed 's/conftest/conftest\${UNIQUE_POSTFIX}/g' <config.status >>config.status-t && \
1747mv config.status-t config.status
1748chmod +x config.status
1749# ---------------------------------------------------------------------------
1750
1751eval my_bindir="`eval echo ${bindir}`"
1752eval my_mandir="`eval echo ${mandir}`"
1753eval my_moddir="`eval echo ${FVWM_MODULEDIR}`"; eval my_moddir="$my_moddir"
1754eval my_datdir="`eval echo ${FVWM_DATADIR}`"
1755eval my_docdir="`eval echo ${FVWM_DOCDIR}`"
1756eval my_plldir="`eval echo ${FVWM_PERLLIBDIR}`"
1757test x"$FVWM_PERLLIB" = x && my_plldir="(Not installed) $my_plldir"
1758eval my_localedir="`eval echo ${LOCALEDIR}`"
1759test x"$USE_NLS" = xno && my_localedir="(Not installed) $my_localdir"
1760
1761echo "
1762Fvwm Configuration:
1763
1764  Version:     $VERSION$VERSIONINFO
1765
1766  Executables: $my_bindir
1767  Man pages:   $my_mandir
1768  Modules:     $my_moddir
1769  Data files:  $my_datdir
1770  Doc files:   $my_docdir
1771  Perl lib:    $my_plldir
1772  Locale msg:  $my_localedir $INST_LINGUAS
1773
1774  With Asian bi-direct. text support? $with_bidi$problem_bidi
1775  With Gettext Native Lang support?   $with_gettext$problem_gettext
1776  With Iconv support?                 $with_iconv_type$problem_iconv
1777  With Mouse strokes (gestures)?      $with_stroke$problem_stroke
1778  With ReadLine sup. in FvwmConsole?  $with_readline$problem_readline
1779  With RPlay support in FvwmEvent?    $with_rplay$problem_rplay
1780  With Shaped window support?         $with_shape$problem_shape
1781  With Shared memory for XImage?      $with_shm$problem_shm
1782  With Session Management support?    $with_sm$problem_sm
1783  With SVG image support?             $with_rsvg$problem_rsvg
1784  With Xcursor support?               $with_xcursor$problem_xcursor
1785  With Xinerama multi-head support?   $with_xinerama$problem_xinerama
1786  With Xft anti-alias font support?   $with_xft$problem_xft
1787  With XPM image support?             $with_xpm$problem_xpm
1788  With Xrender image support?         $with_xrender$problem_xrender
1789  Build man pages?                    $with_mandoc$problem_mandoc
1790  Build HTML documentation?           $with_htmldoc$problem_htmldoc
1791
1792"
1793
1794case "$with_xinerama_emulation" in
1795  yes) echo "  Xinerama emulation enabled." ;;
1796esac
1797case "$ac_cv_dmalloc" in
1798  yes) echo "  DMALLOC heap debugging library enabled." ;;
1799esac
1800case "$ac_cv_efence" in
1801  yes) echo "  EFENCE debugging library enabled." ;;
1802esac
1803