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 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
525 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
526 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
527 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
528 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
529 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
536 chmod +x src/man2hlp/man2hlp
543 contrib/dist/Makefile
544 contrib/dist/debian/Makefile
545 contrib/dist/gentoo/Makefile
546 contrib/dist/redhat/Makefile
547 contrib/dist/redhat/mc.spec
550 contrib/dist/prototype
557 src/consaver/Makefile
561 src/diffviewer/Makefile
564 lib/filehighlight/Makefile
565 lib/mcconfig/Makefile
571 lib/vfs/mc-vfs/Makefile
572 lib/vfs/mc-vfs/extfs/Makefile
573 lib/vfs/mc-vfs/extfs/a+
574 lib/vfs/mc-vfs/extfs/apt+
575 lib/vfs/mc-vfs/extfs/audio
576 lib/vfs/mc-vfs/extfs/deb
577 lib/vfs/mc-vfs/extfs/deba
578 lib/vfs/mc-vfs/extfs/debd
579 lib/vfs/mc-vfs/extfs/dpkg+
580 lib/vfs/mc-vfs/extfs/iso9660
581 lib/vfs/mc-vfs/extfs/hp48+
582 lib/vfs/mc-vfs/extfs/lslR
583 lib/vfs/mc-vfs/extfs/mailfs
584 lib/vfs/mc-vfs/extfs/patchfs
585 lib/vfs/mc-vfs/extfs/rpms+
586 lib/vfs/mc-vfs/extfs/s3+
587 lib/vfs/mc-vfs/extfs/uace
588 lib/vfs/mc-vfs/extfs/ualz
589 lib/vfs/mc-vfs/extfs/uar
590 lib/vfs/mc-vfs/extfs/uarc
591 lib/vfs/mc-vfs/extfs/uarj
592 lib/vfs/mc-vfs/extfs/uc1541
593 lib/vfs/mc-vfs/extfs/uha
594 lib/vfs/mc-vfs/extfs/ulha
595 lib/vfs/mc-vfs/extfs/urar
596 lib/vfs/mc-vfs/extfs/uzip
597 lib/vfs/mc-vfs/extfs/uzoo
599 lib/vfs/mc-vfs/fish/Makefile
605 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/Makefile
606 doc/man/es/mc.1 doc/man/es/Makefile
607 doc/man/hu/mc.1 doc/man/hu/Makefile
608 doc/man/it/mc.1 doc/man/it/Makefile
609 doc/man/pl/mc.1 doc/man/pl/Makefile
610 doc/man/ru/mc.1 doc/man/ru/Makefile
611 doc/man/sr/mc.1 doc/man/sr/Makefile
630 Source code location: ${srcdir}
632 Compiler flags: ${CFLAGS}
633 File system: ${vfs_type}
635 Screen library: ${screen_msg}
636 Mouse support: ${mouse_lib}
637 X11 events support: ${textmode_x11_support}
638 With subshell support: ${subshell}
639 Internal editor: ${edit_msg}
640 Diff viewer: ${diff_msg}
641 Support for charset: ${charset_msg}
642 Search type: ${SEARCH_TYPE}