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 \
169 dnl getpt is a GNU Extension (glibc 2.1.x)
171 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
172 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
174 dnl replacing lstat with statlstat on sco makes it more portable between
176 AC_CHECK_FUNCS(statlstat)
179 dnl If running under AIX, AC_AIX does not tell us that
181 AC_MSG_CHECKING([for AIX defines])
183 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
187 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
189 ], [AC_MSG_RESULT(no)])
192 dnl This is from GNU fileutils, check aclocal.m4 for more information
197 dnl Missing typedefs and replacements
200 AC_CHECK_SIZEOF(long)
201 AC_CHECK_SIZEOF(long long)
204 AC_CHECK_SIZEOF(off_t)
207 AC_CHECK_TYPE(nlink_t, unsigned int)
208 AC_CHECK_TYPES([socklen_t],,,
210 #include <sys/types.h>
211 #include <sys/socket.h>
214 dnl This is needed for regex.c only
215 AC_CHECK_TYPE(uintptr_t,
216 [AC_DEFINE(HAVE_UINTPTR_T, 1,
217 [Define if you have the `uintptr_t' type.])
225 dnl Used to read keyboard modifiers when running under X11.
229 if test "x$no_x" = xyes; then
230 textmode_x11_support="no"
232 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
233 if test "x$mc_cv_g_module_supported" = "xyes" ; then
234 dnl Replace the contents of GLIB_CFLAGS and GLIB_LIBS with those of
235 dnl GMODULE_CFLAGS and GMODULE_LIBS, only if X is available and gmodule
236 dnl functionality is supported on the system. This way, mc will be
237 dnl linked against the gmodule library only when it's really required.
238 GLIB_CFLAGS="$GMODULE_CFLAGS"
239 GLIB_LIBS="$GMODULE_LIBS"
241 MCLIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
243 AC_DEFINE(HAVE_TEXTMODE_X11_SUPPORT, 1,
244 [Define to enable getting events from X Window System])
245 textmode_x11_support="yes"
249 dnl Try to find static libraries for glib and gmodule.
251 if test x$with_glib_static = xyes; then
253 for i in $GLIB_LIBS; do
264 if test -n "$lib"; then
265 lib1=`echo $i | sed 's/^-l//'`
266 if test -f "$GLIB_LIBDIR/lib${lib1}.a"; then
267 add="$GLIB_LIBDIR/lib${lib1}.a"
269 if test -f "$GLIB_LIBDIR/lib${lib}.a"; then
270 add="$GLIB_LIBDIR/lib${lib}.a"
272 AC_MSG_ERROR([Cannot find static $lib])
276 new_GLIB_LIBS="$new_GLIB_LIBS $add"
278 GLIB_LIBS="$new_GLIB_LIBS"
283 dnl Network related functions
286 AC_SEARCH_LIBS([socket], [socket])
287 AC_SEARCH_LIBS([gethostbyname], [nsl])
290 dnl Sequent wants getprocessstats
292 AC_CHECK_LIB(seq, get_process_stats, [
294 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
295 [Define if you have function `get_process_stats' and
296 have to use that instead of gettimeofday])])
301 if test x$enable_vfs = xyes; then
302 AC_MSG_NOTICE([enabling VFS code])
303 vfs_type="Midnight Commander Virtual File System"
307 dnl Check for gpm mouse support (Linux only)
309 mouse_lib="xterm only"
310 AC_ARG_WITH(gpm-mouse,
311 [ --with-gpm-mouse Compile with gpm mouse support (Linux only)
316 if test x$with_gpm_mouse != xno; then
317 AC_CHECK_LIB(gpm, Gpm_Repeat,
318 [AC_DEFINE(HAVE_LIBGPM, 1,
319 [Define to enable gpm mouse support on Linux])
320 mouse_lib="gpm and xterm"
321 MCLIBS="$MCLIBS -lgpm"],
322 if test "x$with_gpm_mouse" = "xyes"; then
323 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
325 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
335 dnl Check nroff and the options it supports
337 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
344 AC_MSG_CHECKING([for manual formatting macros])
345 AC_CACHE_VAL(mc_cv_mandoc, [
346 nroff -mandoc < /dev/null > /dev/null 2>&1
354 AC_MSG_RESULT([$MANDOC])
356 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
357 AC_CACHE_VAL(mc_cv_man_nocolor, [
358 nroff -c < /dev/null > /dev/null 2>&1
365 MAN_FLAGS=$mc_cv_man_nocolor
366 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
368 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
369 AC_CACHE_VAL(mc_cv_nroff_tascii, [
371 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
373 mc_cv_nroff_tascii=-Tlatin1
375 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
377 mc_cv_nroff_tascii=-Tascii
381 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
382 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
390 dnl Check for -L option to file
392 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
393 if $HAVE_FILECMD; then
394 AC_MSG_CHECKING([for -L option to file command])
395 AC_CACHE_VAL(mc_cv_filel, [
396 file -L . > /dev/null 2>&1
403 if test x$mc_cv_filel = xyes; then
404 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
407 AC_MSG_RESULT([$filel])
411 AC_MSG_CHECKING([for subshell support])
412 AC_ARG_WITH(subshell,
413 [ --with-subshell Compile in concurrent subshell [[yes]]
414 --with-subshell=optional Don't run concurrent shell by default [[no]]],
416 if test x$withval = xoptional
418 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
419 [Define to make subshell support optional])
422 if test x$withval = xyes
426 [dnl Default: enable the subshell support
429 if test "x$result" != xno; then
430 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
431 [Define to enable subshell support])
433 AC_MSG_RESULT([$result])
438 dnl Select the screen library.
441 [ --with-screen=LIB Compile with screen library: slang or
442 ncurses [[slang if found]]])
444 case x$with_screen in
446 MC_WITH_SLANG(strict)
458 AC_MSG_ERROR([Value of the screen library is incorrect])
464 dnl Internal editor support.
467 [ --with-edit Enable internal editor [[yes]]])
469 if test x$with_edit != xno; then
470 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
473 AC_MSG_NOTICE([using internal editor])
479 dnl Diff viewer support.
481 AC_ARG_WITH(diff_viewer,
482 [ --with-diff-viewer Compile with diff viewer [[yes]]])
484 if test x$with_diff_viewer != xno; then
485 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
488 AC_MSG_NOTICE([using diff viewer])
494 dnl Check if the OS is supported by the console saver.
502 dnl Support for background operations
503 AC_ARG_ENABLE([background],
504 [ --enable-background Support for background file operations [[yes]]])
505 if test "x$enable_background" != xno; then
506 AC_DEFINE(WITH_BACKGROUND, 1, [Define to enable background file operations])
511 dnl User visible support for charset conversion.
513 AC_ARG_ENABLE([charset],
514 [ --enable-charset Support for charset selection and conversion [[yes]]])
517 if test "x$enable_charset" != "xno"; then
518 AC_DEFINE(HAVE_CHARSET, 1,
519 [Define to enable charset selection and conversion])
524 if test "$GLIBC21" != yes; then
525 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
532 if test "x$CFLAGS" = "x"; then
536 if test x$USE_MAINTAINER_MODE = xyes; then
537 CFLAGS_OPTS="-g3 -O -ggdb"
538 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
543 AC_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors] )
546 if test "x$enable_werror" = xyes; then
547 MC_CHECK_ONE_CFLAG([-Werror])
549 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
556 dnl Libraries used only when building the mc binary
559 if test -n "$use_smbfs"; then
560 AC_CONFIG_SUBDIRS([lib/vfs/mc-vfs/samba])
563 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
564 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
565 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
566 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
567 AM_CONDITIONAL(ENABLE_VFS_NET, [test x"$use_net_code" = xtrue])
568 AM_CONDITIONAL(USE_SAMBA_FS, [test -n "$use_smbfs"])
569 AM_CONDITIONAL(ENABLE_MCSERVER, [test x"$enable_mcserver" = "xyes"])
570 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
571 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
578 chmod +x src/man2hlp/man2hlp
585 contrib/dist/Makefile
586 contrib/dist/debian/Makefile
587 contrib/dist/gentoo/Makefile
588 contrib/dist/redhat/Makefile
589 contrib/dist/redhat/mc.spec
592 contrib/dist/prototype
599 src/consaver/Makefile
603 src/diffviewer/Makefile
606 lib/filehighlight/Makefile
607 lib/mcconfig/Makefile
613 lib/vfs/mc-vfs/Makefile
614 lib/vfs/mc-vfs/extfs/Makefile
615 lib/vfs/mc-vfs/extfs/a+
616 lib/vfs/mc-vfs/extfs/apt+
617 lib/vfs/mc-vfs/extfs/audio
618 lib/vfs/mc-vfs/extfs/deb
619 lib/vfs/mc-vfs/extfs/deba
620 lib/vfs/mc-vfs/extfs/debd
621 lib/vfs/mc-vfs/extfs/dpkg+
622 lib/vfs/mc-vfs/extfs/iso9660
623 lib/vfs/mc-vfs/extfs/hp48+
624 lib/vfs/mc-vfs/extfs/lslR
625 lib/vfs/mc-vfs/extfs/mailfs
626 lib/vfs/mc-vfs/extfs/patchfs
627 lib/vfs/mc-vfs/extfs/rpms+
628 lib/vfs/mc-vfs/extfs/s3+
629 lib/vfs/mc-vfs/extfs/uace
630 lib/vfs/mc-vfs/extfs/ualz
631 lib/vfs/mc-vfs/extfs/uar
632 lib/vfs/mc-vfs/extfs/uarc
633 lib/vfs/mc-vfs/extfs/uarj
634 lib/vfs/mc-vfs/extfs/uc1541
635 lib/vfs/mc-vfs/extfs/uha
636 lib/vfs/mc-vfs/extfs/ulha
637 lib/vfs/mc-vfs/extfs/urar
638 lib/vfs/mc-vfs/extfs/uzip
639 lib/vfs/mc-vfs/extfs/uzoo
645 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/mcserv.8 doc/man/Makefile
646 doc/man/es/mc.1 doc/man/es/Makefile
647 doc/man/hu/mc.1 doc/man/hu/Makefile
648 doc/man/it/mc.1 doc/man/it/Makefile
649 doc/man/pl/mc.1 doc/man/pl/Makefile
650 doc/man/ru/mc.1 doc/man/ru/Makefile
651 doc/man/sr/mc.1 doc/man/sr/mcserv.8 doc/man/sr/Makefile
667 if test x$enable_mcserver = x; then
674 Source code location: ${srcdir}
676 Compiler flags: ${CFLAGS}
677 File system: ${vfs_type}
679 Screen library: ${screen_msg}
680 Mouse support: ${mouse_lib}
681 X11 events support: ${textmode_x11_support}
682 With subshell support: ${subshell}
683 Internal editor: ${edit_msg}
684 Diff viewer: ${diff_msg}
685 Support for charset: ${charset_msg}
686 Search type: ${SEARCH_TYPE}