2 dnl Configure.in file for the Midnight Commander
5 AC_INIT([GNU Midnight Commander], [], [mc-devel@gnome.org])
8 AC_CONFIG_MACRO_DIR([m4])
9 AC_CONFIG_SRCDIR(src/main.c)
10 AC_CONFIG_AUX_DIR(config)
12 AM_INIT_AUTOMAKE(mc, ${VERSION} )
14 dnl Enable silent rules by default (if yes)
15 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
17 AM_CONFIG_HEADER(config.h)
21 AC_USE_SYSTEM_EXTENSIONS
25 AC_PATH_PROG([PERL], [perl], [/usr/bin/perl])
42 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
44 dnl PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
47 dnl First try glib 2.x.
48 dnl Keep this check close to the beginning, so that the users
49 dnl without any glib won't have their time wasted by other checks.
52 AC_ARG_WITH([glib_static],
53 [ --with-glib-static Link glib statically [[no]]])
57 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.8], [glib_found=yes], [:])
58 if test x"$glib_found" = xno; then
59 AC_MSG_ERROR([glib-2.0 not found or version too old (must be >= 2.8)])
62 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0], [gmodule_found=yes])
63 GLIB_LIBDIR="`$PKG_CONFIG --variable=libdir glib-2.0`"
65 if test "x$gmodule_found" = "xyes" ; then
66 dnl Check if the gmodule functionality supported on this system.
75 AC_CHECK_TOOL(AR, ar, ar)
77 dnl Only list browsers here that can be run in background (i.e. with `&')
78 AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla konqueror opera netscape])
81 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
82 dnl We use only part of the functionality of mmap, so on AIX,
83 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
86 [ --with-mmap Use the mmap call [[yes if found]]])
87 if test x$with_mmap != xno; then
88 if test x$with_mmap = x; then
91 AC_DEFINE(HAVE_MMAP, 1)
96 dnl Internationalization
98 AM_GNU_GETTEXT(no-libtool, need-ngettext)
99 AM_GNU_GETTEXT_VERSION(0.14.3)
101 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
102 CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
105 dnl Determine which help translations we want to install.
106 ALL_DOC_LINGUAS="es hu it pl ru sr"
109 if test "x$USE_NLS" = xyes; then
110 if test -z "$LINGUAS"; then
111 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
119 for h_lang in $ALL_DOC_LINGUAS; do
120 for lang in $langs; do
121 if test "$lang" = "$h_lang"; then
122 DOC_LINGUAS="$DOC_LINGUAS $lang"
127 AC_SUBST(DOC_LINGUAS)
130 dnl OS specific flags.
136 AC_DEFINE(_POSIX_SOURCE)
141 AC_CHECK_HEADERS([unistd.h string.h memory.h limits.h malloc.h \
142 utime.h fcntl.h sys/statfs.h sys/vfs.h sys/time.h \
143 sys/timeb.h sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
144 security/pam_misc.h sys/socket.h sys/sysmacros.h sys/types.h \
145 sys/mkdev.h wchar.h wctype.h])
151 dnl Missing structure components
152 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
156 dnl Check availability of some functions
163 setreuid statfs sysconf \
164 tcgetattr tcsetattr truncate \
171 dnl getpt is a GNU Extension (glibc 2.1.x)
173 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
174 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
176 dnl replacing lstat with statlstat on sco makes it more portable between
178 AC_CHECK_FUNCS(statlstat)
181 dnl If running under AIX, AC_AIX does not tell us that
183 AC_MSG_CHECKING([for AIX defines])
185 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
189 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
191 ], [AC_MSG_RESULT(no)])
194 dnl This is from GNU fileutils, check aclocal.m4 for more information
199 dnl Missing typedefs and replacements
202 AC_CHECK_SIZEOF(long)
203 AC_CHECK_SIZEOF(long long)
206 AC_CHECK_SIZEOF(off_t)
209 AC_CHECK_TYPE(nlink_t, unsigned int)
210 AC_CHECK_TYPES([socklen_t],,,
212 #include <sys/types.h>
213 #include <sys/socket.h>
216 dnl This is needed for regex.c only
217 AC_CHECK_TYPE(uintptr_t,
218 [AC_DEFINE(HAVE_UINTPTR_T, 1,
219 [Define if you have the `uintptr_t' type.])
227 dnl Used to read keyboard modifiers when running under X11.
231 if test "x$no_x" = xyes; then
232 textmode_x11_support="no"
234 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
235 if test "x$mc_cv_g_module_supported" = "xyes" ; then
236 dnl Replace the contents of GLIB_CFLAGS and GLIB_LIBS with those of
237 dnl GMODULE_CFLAGS and GMODULE_LIBS, only if X is available and gmodule
238 dnl functionality is supported on the system. This way, mc will be
239 dnl linked against the gmodule library only when it's really required.
240 GLIB_CFLAGS="$GMODULE_CFLAGS"
241 GLIB_LIBS="$GMODULE_LIBS"
243 MCLIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
245 AC_DEFINE(HAVE_TEXTMODE_X11_SUPPORT, 1,
246 [Define to enable getting events from X Window System])
247 textmode_x11_support="yes"
251 dnl Try to find static libraries for glib and gmodule.
253 if test x$with_glib_static = xyes; then
255 for i in $GLIB_LIBS; do
266 if test -n "$lib"; then
267 lib1=`echo $i | sed 's/^-l//'`
268 if test -f "$GLIB_LIBDIR/lib${lib1}.a"; then
269 add="$GLIB_LIBDIR/lib${lib1}.a"
271 if test -f "$GLIB_LIBDIR/lib${lib}.a"; then
272 add="$GLIB_LIBDIR/lib${lib}.a"
274 AC_MSG_ERROR([Cannot find static $lib])
278 new_GLIB_LIBS="$new_GLIB_LIBS $add"
280 GLIB_LIBS="$new_GLIB_LIBS"
284 dnl Sequent wants getprocessstats
286 AC_CHECK_LIB(seq, get_process_stats, [
288 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
289 [Define if you have function `get_process_stats' and
290 have to use that instead of gettimeofday])])
295 dnl Check for gpm mouse support (Linux only)
297 mouse_lib="xterm only"
298 AC_ARG_WITH(gpm-mouse,
299 [ --with-gpm-mouse Compile with gpm mouse support (Linux only)
304 if test x$with_gpm_mouse != xno; then
305 AC_CHECK_LIB(gpm, Gpm_Repeat,
306 [AC_DEFINE(HAVE_LIBGPM, 1,
307 [Define to enable gpm mouse support on Linux])
308 mouse_lib="gpm and xterm"
309 MCLIBS="$MCLIBS -lgpm"],
310 if test "x$with_gpm_mouse" = "xyes"; then
311 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
313 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
323 dnl Check nroff and the options it supports
325 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
332 AC_MSG_CHECKING([for manual formatting macros])
333 AC_CACHE_VAL(mc_cv_mandoc, [
334 nroff -mandoc < /dev/null > /dev/null 2>&1
342 AC_MSG_RESULT([$MANDOC])
344 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
345 AC_CACHE_VAL(mc_cv_man_nocolor, [
346 nroff -c < /dev/null > /dev/null 2>&1
353 MAN_FLAGS=$mc_cv_man_nocolor
354 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
356 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
357 AC_CACHE_VAL(mc_cv_nroff_tascii, [
359 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
361 mc_cv_nroff_tascii=-Tlatin1
363 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
365 mc_cv_nroff_tascii=-Tascii
369 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
370 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
378 dnl Check for -L option to file
380 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
381 if $HAVE_FILECMD; then
382 AC_MSG_CHECKING([for -L option to file command])
383 AC_CACHE_VAL(mc_cv_filel, [
384 file -L . > /dev/null 2>&1
391 if test x$mc_cv_filel = xyes; then
392 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
395 AC_MSG_RESULT([$filel])
399 AC_MSG_CHECKING([for subshell support])
400 AC_ARG_WITH(subshell,
401 [ --with-subshell Compile in concurrent subshell [[yes]]
402 --with-subshell=optional Don't run concurrent shell by default [[no]]],
404 if test x$withval = xoptional
406 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
407 [Define to make subshell support optional])
410 if test x$withval = xyes
414 [dnl Default: enable the subshell support
417 if test "x$result" != xno; then
418 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
419 [Define to enable subshell support])
421 AC_MSG_RESULT([$result])
429 dnl Internal editor support.
432 [ --with-edit Enable internal editor [[yes]]])
434 if test x$with_edit != xno; then
435 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
438 AC_MSG_NOTICE([using internal editor])
444 dnl Diff viewer support.
446 AC_ARG_WITH(diff_viewer,
447 [ --with-diff-viewer Compile with diff viewer [[yes]]])
449 if test x$with_diff_viewer != xno; then
450 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
453 AC_MSG_NOTICE([using diff viewer])
459 dnl Check if the OS is supported by the console saver.
467 dnl Support for background operations
468 AC_ARG_ENABLE([background],
469 [ --enable-background Support for background file operations [[yes]]])
470 if test "x$enable_background" != xno; then
471 AC_DEFINE(WITH_BACKGROUND, 1, [Define to enable background file operations])
476 dnl User visible support for charset conversion.
478 AC_ARG_ENABLE([charset],
479 [ --enable-charset Support for charset selection and conversion [[yes]]])
482 if test "x$enable_charset" != "xno"; then
483 AC_DEFINE(HAVE_CHARSET, 1,
484 [Define to enable charset selection and conversion])
489 if test "$GLIBC21" != yes; then
490 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
497 if test "x$CFLAGS" = "x"; then
501 if test x$USE_MAINTAINER_MODE = xyes; then
502 CFLAGS_OPTS="-g3 -O -ggdb"
503 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
508 AC_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors] )
511 if test "x$enable_werror" = xyes; then
512 MC_CHECK_ONE_CFLAG([-Werror])
514 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
521 dnl Libraries used only when building the mc binary
524 MAN_DATE=$(LC_ALL=C date "+%B %Y")
527 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
528 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
529 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
530 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
531 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
532 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
539 chmod +x src/man2hlp/man2hlp
546 contrib/dist/Makefile
547 contrib/dist/debian/Makefile
548 contrib/dist/gentoo/Makefile
549 contrib/dist/redhat/Makefile
550 contrib/dist/redhat/mc.spec
552 contrib/dist/prototype
559 src/consaver/Makefile
563 src/diffviewer/Makefile
566 lib/filehighlight/Makefile
567 lib/mcconfig/Makefile
573 lib/vfs/mc-vfs/Makefile
574 lib/vfs/mc-vfs/extfs/Makefile
575 lib/vfs/mc-vfs/extfs/a+
576 lib/vfs/mc-vfs/extfs/apt+
577 lib/vfs/mc-vfs/extfs/audio
578 lib/vfs/mc-vfs/extfs/deb
579 lib/vfs/mc-vfs/extfs/deba
580 lib/vfs/mc-vfs/extfs/debd
581 lib/vfs/mc-vfs/extfs/dpkg+
582 lib/vfs/mc-vfs/extfs/iso9660
583 lib/vfs/mc-vfs/extfs/hp48+
584 lib/vfs/mc-vfs/extfs/lslR
585 lib/vfs/mc-vfs/extfs/mailfs
586 lib/vfs/mc-vfs/extfs/patchfs
587 lib/vfs/mc-vfs/extfs/rpms+
588 lib/vfs/mc-vfs/extfs/s3+
589 lib/vfs/mc-vfs/extfs/uace
590 lib/vfs/mc-vfs/extfs/ualz
591 lib/vfs/mc-vfs/extfs/uar
592 lib/vfs/mc-vfs/extfs/uarc
593 lib/vfs/mc-vfs/extfs/uarj
594 lib/vfs/mc-vfs/extfs/uc1541
595 lib/vfs/mc-vfs/extfs/uha
596 lib/vfs/mc-vfs/extfs/ulha
597 lib/vfs/mc-vfs/extfs/urar
598 lib/vfs/mc-vfs/extfs/uzip
599 lib/vfs/mc-vfs/extfs/uzoo
600 lib/vfs/mc-vfs/fish/Makefile
607 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/Makefile
608 doc/man/es/mc.1 doc/man/es/Makefile
609 doc/man/hu/mc.1 doc/man/hu/Makefile
610 doc/man/it/mc.1 doc/man/it/Makefile
611 doc/man/pl/mc.1 doc/man/pl/Makefile
612 doc/man/ru/mc.1 doc/man/ru/Makefile
613 doc/man/sr/mc.1 doc/man/sr/Makefile
632 Source code location: ${srcdir}
634 Compiler flags: ${CFLAGS}
635 File system: ${vfs_type}
637 Screen library: ${screen_msg}
638 Mouse support: ${mouse_lib}
639 X11 events support: ${textmode_x11_support}
640 With subshell support: ${subshell}
641 Internal editor: ${edit_msg}
642 Diff viewer: ${diff_msg}
643 Support for charset: ${charset_msg}
644 Search type: ${SEARCH_TYPE}