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
40 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
42 dnl PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
45 dnl First try glib 2.x.
46 dnl Keep this check close to the beginning, so that the users
47 dnl without any glib won't have their time wasted by other checks.
50 AC_ARG_WITH([glib_static],
51 [ --with-glib-static Link glib statically [[no]]])
55 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.8], [glib_found=yes], [:])
56 if test x"$glib_found" = xno; then
57 AC_MSG_ERROR([glib-2.0 not found or version too old (must be >= 2.8)])
60 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0], [gmodule_found=yes])
61 GLIB_LIBDIR="`$PKG_CONFIG --variable=libdir glib-2.0`"
63 if test "x$gmodule_found" = "xyes" ; then
64 dnl Check if the gmodule functionality supported on this system.
73 AC_CHECK_TOOL(AR, ar, ar)
75 dnl Only list browsers here that can be run in background (i.e. with `&')
76 AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla konqueror opera netscape])
79 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
80 dnl We use only part of the functionality of mmap, so on AIX,
81 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
84 [ --with-mmap Use the mmap call [[yes if found]]])
85 if test x$with_mmap != xno; then
86 if test x$with_mmap = x; then
89 AC_DEFINE(HAVE_MMAP, 1)
94 dnl Internationalization
96 AM_GNU_GETTEXT(no-libtool, need-ngettext)
97 AM_GNU_GETTEXT_VERSION(0.14.3)
99 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
100 CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
103 dnl Determine which help translations we want to install.
104 ALL_DOC_LINGUAS="es hu it pl ru sr"
107 if test "x$USE_NLS" = xyes; then
108 if test -z "$LINGUAS"; then
109 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
117 for h_lang in $ALL_DOC_LINGUAS; do
118 for lang in $langs; do
119 if test "$lang" = "$h_lang"; then
120 DOC_LINGUAS="$DOC_LINGUAS $lang"
125 AC_SUBST(DOC_LINGUAS)
128 dnl OS specific flags.
134 AC_DEFINE(_POSIX_SOURCE)
139 AC_CHECK_HEADERS([unistd.h string.h memory.h limits.h malloc.h \
140 utime.h fcntl.h sys/statfs.h sys/vfs.h sys/time.h \
141 sys/timeb.h sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
142 security/pam_misc.h sys/socket.h sys/sysmacros.h sys/types.h \
143 sys/mkdev.h wchar.h wctype.h])
149 dnl Missing structure components
150 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
154 dnl Check availability of some functions
161 setreuid statfs sysconf \
162 tcgetattr tcsetattr truncate \
168 dnl getpt is a GNU Extension (glibc 2.1.x)
170 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
171 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
173 dnl replacing lstat with statlstat on sco makes it more portable between
175 AC_CHECK_FUNCS(statlstat)
178 dnl If running under AIX, AC_AIX does not tell us that
180 AC_MSG_CHECKING([for AIX defines])
182 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
186 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
188 ], [AC_MSG_RESULT(no)])
191 dnl This is from GNU fileutils, check aclocal.m4 for more information
196 dnl Missing typedefs and replacements
199 AC_CHECK_SIZEOF(long)
200 AC_CHECK_SIZEOF(long long)
203 AC_CHECK_SIZEOF(off_t)
206 AC_CHECK_TYPE(nlink_t, unsigned int)
207 AC_CHECK_TYPES([socklen_t],,,
209 #include <sys/types.h>
210 #include <sys/socket.h>
213 dnl This is needed for regex.c only
214 AC_CHECK_TYPE(uintptr_t,
215 [AC_DEFINE(HAVE_UINTPTR_T, 1,
216 [Define if you have the `uintptr_t' type.])
224 dnl Used to read keyboard modifiers when running under X11.
228 if test "x$no_x" = xyes; then
229 textmode_x11_support="no"
231 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
232 if test "x$mc_cv_g_module_supported" = "xyes" ; then
233 dnl Replace the contents of GLIB_CFLAGS and GLIB_LIBS with those of
234 dnl GMODULE_CFLAGS and GMODULE_LIBS, only if X is available and gmodule
235 dnl functionality is supported on the system. This way, mc will be
236 dnl linked against the gmodule library only when it's really required.
237 GLIB_CFLAGS="$GMODULE_CFLAGS"
238 GLIB_LIBS="$GMODULE_LIBS"
240 MCLIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
242 AC_DEFINE(HAVE_TEXTMODE_X11_SUPPORT, 1,
243 [Define to enable getting events from X Window System])
244 textmode_x11_support="yes"
248 dnl Try to find static libraries for glib and gmodule.
250 if test x$with_glib_static = xyes; then
252 for i in $GLIB_LIBS; do
263 if test -n "$lib"; then
264 lib1=`echo $i | sed 's/^-l//'`
265 if test -f "$GLIB_LIBDIR/lib${lib1}.a"; then
266 add="$GLIB_LIBDIR/lib${lib1}.a"
268 if test -f "$GLIB_LIBDIR/lib${lib}.a"; then
269 add="$GLIB_LIBDIR/lib${lib}.a"
271 AC_MSG_ERROR([Cannot find static $lib])
275 new_GLIB_LIBS="$new_GLIB_LIBS $add"
277 GLIB_LIBS="$new_GLIB_LIBS"
282 dnl Network related functions
285 AC_SEARCH_LIBS([socket], [socket])
286 AC_SEARCH_LIBS([gethostbyname], [nsl])
289 dnl Sequent wants getprocessstats
291 AC_CHECK_LIB(seq, get_process_stats, [
293 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
294 [Define if you have function `get_process_stats' and
295 have to use that instead of gettimeofday])])
300 if test x$enable_vfs = xyes; then
301 AC_MSG_NOTICE([enabling VFS code])
302 vfs_type="Midnight Commander Virtual File System"
306 dnl Check for gpm mouse support (Linux only)
308 mouse_lib="xterm only"
309 AC_ARG_WITH(gpm-mouse,
310 [ --with-gpm-mouse Compile with gpm mouse support (Linux only)
315 if test x$with_gpm_mouse != xno; then
316 AC_CHECK_LIB(gpm, Gpm_Repeat,
317 [AC_DEFINE(HAVE_LIBGPM, 1,
318 [Define to enable gpm mouse support on Linux])
319 mouse_lib="gpm and xterm"
320 MCLIBS="$MCLIBS -lgpm"],
321 if test "x$with_gpm_mouse" = "xyes"; then
322 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
324 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
334 dnl Check nroff and the options it supports
336 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
343 AC_MSG_CHECKING([for manual formatting macros])
344 AC_CACHE_VAL(mc_cv_mandoc, [
345 nroff -mandoc < /dev/null > /dev/null 2>&1
353 AC_MSG_RESULT([$MANDOC])
355 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
356 AC_CACHE_VAL(mc_cv_man_nocolor, [
357 nroff -c < /dev/null > /dev/null 2>&1
364 MAN_FLAGS=$mc_cv_man_nocolor
365 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
367 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
368 AC_CACHE_VAL(mc_cv_nroff_tascii, [
370 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
372 mc_cv_nroff_tascii=-Tlatin1
374 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
376 mc_cv_nroff_tascii=-Tascii
380 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
381 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
389 dnl Check for -L option to file
391 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
392 if $HAVE_FILECMD; then
393 AC_MSG_CHECKING([for -L option to file command])
394 AC_CACHE_VAL(mc_cv_filel, [
395 file -L . > /dev/null 2>&1
402 if test x$mc_cv_filel = xyes; then
403 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
406 AC_MSG_RESULT([$filel])
410 AC_MSG_CHECKING([for subshell support])
411 AC_ARG_WITH(subshell,
412 [ --with-subshell Compile in concurrent subshell [[yes]]
413 --with-subshell=optional Don't run concurrent shell by default [[no]]],
415 if test x$withval = xoptional
417 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
418 [Define to make subshell support optional])
421 if test x$withval = xyes
425 [dnl Default: enable the subshell support
428 if test "x$result" != xno; then
429 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
430 [Define to enable subshell support])
432 AC_MSG_RESULT([$result])
437 dnl Select the screen library.
440 [ --with-screen=LIB Compile with screen library: slang or
441 ncurses [[slang if found]]])
443 case x$with_screen in
445 MC_WITH_SLANG(strict)
457 AC_MSG_ERROR([Value of the screen library is incorrect])
463 dnl Internal editor support.
466 [ --with-edit Enable internal editor [[yes]]])
468 if test x$with_edit != xno; then
469 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
472 AC_MSG_NOTICE([using internal editor])
478 dnl Diff viewer support.
480 AC_ARG_WITH(diff_viewer,
481 [ --with-diff-viewer Compile with diff viewer [[yes]]])
483 if test x$with_diff_viewer != xno; then
484 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
487 AC_MSG_NOTICE([using diff viewer])
493 dnl Check if the OS is supported by the console saver.
501 dnl Support for background operations
502 AC_ARG_ENABLE([background],
503 [ --enable-background Support for background file operations [[yes]]])
504 if test "x$enable_background" != xno; then
505 AC_DEFINE(WITH_BACKGROUND, 1, [Define to enable background file operations])
510 dnl User visible support for charset conversion.
512 AC_ARG_ENABLE([charset],
513 [ --enable-charset Support for charset selection and conversion [[yes]]])
516 if test "x$enable_charset" != "xno"; then
517 AC_DEFINE(HAVE_CHARSET, 1,
518 [Define to enable charset selection and conversion])
523 if test "$GLIBC21" != yes; then
524 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
531 if test "x$CFLAGS" = "x"; then
535 if test x$USE_MAINTAINER_MODE = xyes; then
536 CFLAGS_OPTS="-g3 -O -ggdb"
537 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
542 AC_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors] )
545 if test "x$enable_werror" = xyes; then
546 MC_CHECK_ONE_CFLAG([-Werror])
548 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
555 dnl Libraries used only when building the mc binary
558 if test -n "$use_smbfs"; then
559 AC_CONFIG_SUBDIRS([lib/vfs/mc-vfs/samba])
562 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
563 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
564 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
565 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
566 AM_CONDITIONAL(ENABLE_VFS_NET, [test x"$use_net_code" = xtrue])
567 AM_CONDITIONAL(USE_SAMBA_FS, [test -n "$use_smbfs"])
568 AM_CONDITIONAL(ENABLE_MCSERVER, [test x"$enable_mcserver" = "xyes"])
569 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
570 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
577 chmod +x src/man2hlp/man2hlp
584 contrib/dist/Makefile
585 contrib/dist/debian/Makefile
586 contrib/dist/gentoo/Makefile
587 contrib/dist/redhat/Makefile
588 contrib/dist/redhat/mc.spec
591 contrib/dist/prototype
598 src/consaver/Makefile
602 src/diffviewer/Makefile
605 lib/filehighlight/Makefile
606 lib/mcconfig/Makefile
612 lib/vfs/mc-vfs/Makefile
613 lib/vfs/mc-vfs/extfs/Makefile
614 lib/vfs/mc-vfs/extfs/a+
615 lib/vfs/mc-vfs/extfs/apt+
616 lib/vfs/mc-vfs/extfs/audio
617 lib/vfs/mc-vfs/extfs/deb
618 lib/vfs/mc-vfs/extfs/deba
619 lib/vfs/mc-vfs/extfs/debd
620 lib/vfs/mc-vfs/extfs/dpkg+
621 lib/vfs/mc-vfs/extfs/iso9660
622 lib/vfs/mc-vfs/extfs/hp48+
623 lib/vfs/mc-vfs/extfs/lslR
624 lib/vfs/mc-vfs/extfs/mailfs
625 lib/vfs/mc-vfs/extfs/patchfs
626 lib/vfs/mc-vfs/extfs/rpms+
627 lib/vfs/mc-vfs/extfs/s3+
628 lib/vfs/mc-vfs/extfs/uace
629 lib/vfs/mc-vfs/extfs/ualz
630 lib/vfs/mc-vfs/extfs/uar
631 lib/vfs/mc-vfs/extfs/uarc
632 lib/vfs/mc-vfs/extfs/uarj
633 lib/vfs/mc-vfs/extfs/uc1541
634 lib/vfs/mc-vfs/extfs/uha
635 lib/vfs/mc-vfs/extfs/ulha
636 lib/vfs/mc-vfs/extfs/urar
637 lib/vfs/mc-vfs/extfs/uzip
638 lib/vfs/mc-vfs/extfs/uzoo
644 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/mcserv.8 doc/man/Makefile
645 doc/man/es/mc.1 doc/man/es/Makefile
646 doc/man/hu/mc.1 doc/man/hu/Makefile
647 doc/man/it/mc.1 doc/man/it/Makefile
648 doc/man/pl/mc.1 doc/man/pl/Makefile
649 doc/man/ru/mc.1 doc/man/ru/Makefile
650 doc/man/sr/mc.1 doc/man/sr/mcserv.8 doc/man/sr/Makefile
666 if test x$enable_mcserver = x; then
673 Source code location: ${srcdir}
675 Compiler flags: ${CFLAGS}
676 File system: ${vfs_type}
678 Screen library: ${screen_msg}
679 Mouse support: ${mouse_lib}
680 X11 events support: ${textmode_x11_support}
681 With subshell support: ${subshell}
682 Internal editor: ${edit_msg}
683 Diff viewer: ${diff_msg}
684 Support for charset: ${charset_msg}
685 Search type: ${SEARCH_TYPE}