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
564 src/filemanager/Makefile
567 lib/filehighlight/Makefile
568 lib/mcconfig/Makefile
574 lib/vfs/mc-vfs/Makefile
575 lib/vfs/mc-vfs/extfs/Makefile
576 lib/vfs/mc-vfs/extfs/a+
577 lib/vfs/mc-vfs/extfs/apt+
578 lib/vfs/mc-vfs/extfs/audio
579 lib/vfs/mc-vfs/extfs/deb
580 lib/vfs/mc-vfs/extfs/deba
581 lib/vfs/mc-vfs/extfs/debd
582 lib/vfs/mc-vfs/extfs/dpkg+
583 lib/vfs/mc-vfs/extfs/iso9660
584 lib/vfs/mc-vfs/extfs/hp48+
585 lib/vfs/mc-vfs/extfs/lslR
586 lib/vfs/mc-vfs/extfs/mailfs
587 lib/vfs/mc-vfs/extfs/patchfs
588 lib/vfs/mc-vfs/extfs/rpms+
589 lib/vfs/mc-vfs/extfs/s3+
590 lib/vfs/mc-vfs/extfs/uace
591 lib/vfs/mc-vfs/extfs/ualz
592 lib/vfs/mc-vfs/extfs/uar
593 lib/vfs/mc-vfs/extfs/uarc
594 lib/vfs/mc-vfs/extfs/uarj
595 lib/vfs/mc-vfs/extfs/uc1541
596 lib/vfs/mc-vfs/extfs/uha
597 lib/vfs/mc-vfs/extfs/ulha
598 lib/vfs/mc-vfs/extfs/urar
599 lib/vfs/mc-vfs/extfs/uzip
600 lib/vfs/mc-vfs/extfs/uzoo
601 lib/vfs/mc-vfs/fish/Makefile
608 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/Makefile
609 doc/man/es/mc.1 doc/man/es/Makefile
610 doc/man/hu/mc.1 doc/man/hu/Makefile
611 doc/man/it/mc.1 doc/man/it/Makefile
612 doc/man/pl/mc.1 doc/man/pl/Makefile
613 doc/man/ru/mc.1 doc/man/ru/Makefile
614 doc/man/sr/mc.1 doc/man/sr/Makefile
633 Source code location: ${srcdir}
635 Compiler flags: ${CFLAGS}
636 File system: ${vfs_type}
638 Screen library: ${screen_msg}
639 Mouse support: ${mouse_lib}
640 X11 events support: ${textmode_x11_support}
641 With subshell support: ${subshell}
642 Internal editor: ${edit_msg}
643 Diff viewer: ${diff_msg}
644 Support for charset: ${charset_msg}
645 Search type: ${SEARCH_TYPE}