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} )
16 AC_SUBST(LIBMC_VERSION)
17 AC_SUBST(LIBMC_RELEASE)
19 dnl Enable silent rules by default (if yes)
20 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
22 AM_CONFIG_HEADER(config.h)
26 AC_USE_SYSTEM_EXTENSIONS
28 AC_DEFINE_UNQUOTED([MC_CONFIGURE_ARGS],["$ac_configure_args"],[MC configure arguments])
32 AC_PATH_PROG([PERL], [perl], [/usr/bin/perl])
33 AC_PATH_PROG([PYTHON], [python], [/usr/bin/python])
34 AC_PATH_PROG([RUBY], [ruby], [/usr/bin/ruby])
51 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
53 dnl PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
57 AC_ARG_ENABLE([mclib],
58 [AS_HELP_STRING([--enable-mclib], [Compile shared library libmc.so @<:@no@:>@])],
60 if test "x$enableval" = "xno" ; then
63 if test "x$enable_shared" = "xno" ; then
64 AC_MSG_WARN([Build of shared library is disabled. Specify --enable-shared first])
73 AM_CONDITIONAL([ENABLE_MCLIB], [test x$enable_mclib = xyes])
77 dnl Check this before type sizeof checks
81 AC_CHECK_TOOL(AR, ar, ar)
83 dnl Only list browsers here that can be run in background (i.e. with `&')
84 AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla firefox konqueror opera])
87 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
88 dnl We use only part of the functionality of mmap, so on AIX,
89 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
92 [ --with-mmap Use the mmap call [[yes if found]]])
93 if test x$with_mmap != xno; then
94 if test x$with_mmap = x; then
97 AC_DEFINE(HAVE_MMAP, 1)
102 dnl Internationalization
104 AM_GNU_GETTEXT(no-libtool, need-ngettext)
105 AM_GNU_GETTEXT_VERSION(0.14.3)
107 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
108 CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
111 dnl Determine which help translations we want to install.
112 ALL_DOC_LINGUAS="es hu it pl ru sr"
115 if test "x$USE_NLS" = xyes; then
116 if test -z "$LINGUAS"; then
117 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
125 for h_lang in $ALL_DOC_LINGUAS; do
126 for lang in $langs; do
127 if test "$lang" = "$h_lang"; then
128 DOC_LINGUAS="$DOC_LINGUAS $lang"
133 AC_SUBST(DOC_LINGUAS)
136 dnl OS specific flags.
142 AC_DEFINE(_POSIX_SOURCE)
147 AC_CHECK_HEADERS([unistd.h string.h memory.h limits.h malloc.h \
148 utime.h fcntl.h sys/statfs.h sys/vfs.h sys/time.h \
149 sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
150 sys/socket.h sys/sysmacros.h sys/types.h sys/mkdev.h])
156 dnl Missing structure components
157 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
161 dnl Check availability of some functions
168 tcgetattr tcsetattr \
176 dnl getpt is a GNU Extension (glibc 2.1.x)
178 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
179 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
181 dnl replacing lstat with statlstat on sco makes it more portable between
183 AC_CHECK_FUNCS(statlstat)
186 dnl If running under AIX, AC_AIX does not tell us that
188 AC_MSG_CHECKING([for AIX defines])
190 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
194 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
196 ], [AC_MSG_RESULT(no)])
199 dnl Missing typedefs and replacements
202 AC_CHECK_SIZEOF(long)
204 AC_CHECK_SIZEOF(uintmax_t)
206 AC_CHECK_SIZEOF(off_t)
211 AH_TEMPLATE([sig_atomic_t],
212 [/* Define to `int' if <signal.h> doesn't define.])
213 AH_TEMPLATE([SIG_ATOMIC_VOLATILE_T],
214 [Some systems declare sig_atomic_t as volatile, some others -- no.
215 This define will have value `sig_atomic_t' or
216 `volatile sig_atomic_t' accordingly.])
218 AC_MSG_CHECKING(for sig_atomic_t in signal.h)
219 AC_EGREP_HEADER(sig_atomic_t,signal.h,
221 ac_cv_type_sig_atomic_t=yes;
222 AC_EGREP_HEADER(volatile.*sig_atomic_t,
225 is_sig_atomic_t_volatile=yes;
226 AC_MSG_RESULT([yes, volatile])
229 is_sig_atomic_t_volatile=no;
230 AC_MSG_RESULT([yes, non volatile])
235 AC_CHECK_TYPE(sig_atomic_t, int)
236 is_sig_atomic_t_volatile=no
238 if test $is_sig_atomic_t_volatile = 'yes'
240 AC_DEFINE(SIG_ATOMIC_VOLATILE_T, sig_atomic_t)
242 AC_DEFINE(SIG_ATOMIC_VOLATILE_T, [volatile sig_atomic_t])
251 dnl Used to read keyboard modifiers when running under X11.
255 dnl Check if the gmodule functionality supported on this system.
256 AC_G_MODULE_SUPPORTED
259 dnl Sequent wants getprocessstats
261 AC_CHECK_LIB(seq, get_process_stats, [
263 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
264 [Define if you have function `get_process_stats' and
265 have to use that instead of gettimeofday])])
270 dnl Check for gpm mouse support (Linux only)
272 mouse_lib="xterm only"
273 AC_ARG_WITH(gpm-mouse,
274 [ --with-gpm-mouse Compile with gpm mouse support (Linux only)
279 if test x$with_gpm_mouse != xno; then
280 AC_CHECK_LIB(gpm, Gpm_Repeat,
281 [AC_DEFINE(HAVE_LIBGPM, 1,
282 [Define to enable gpm mouse support on Linux])
283 mouse_lib="gpm and xterm"
284 MCLIBS="$MCLIBS -lgpm"],
285 if test "x$with_gpm_mouse" = "xyes"; then
286 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
288 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
298 dnl Check nroff and the options it supports
300 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
307 AC_MSG_CHECKING([for manual formatting macros])
308 AC_CACHE_VAL(mc_cv_mandoc, [
309 nroff -mandoc < /dev/null > /dev/null 2>&1
317 AC_MSG_RESULT([$MANDOC])
319 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
320 AC_CACHE_VAL(mc_cv_man_nocolor, [
321 nroff -c < /dev/null > /dev/null 2>&1
328 MAN_FLAGS=$mc_cv_man_nocolor
329 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
331 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
332 AC_CACHE_VAL(mc_cv_nroff_tascii, [
334 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
336 mc_cv_nroff_tascii=-Tlatin1
338 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
340 mc_cv_nroff_tascii=-Tascii
344 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
345 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
353 dnl Check for -L option to file
355 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
356 if $HAVE_FILECMD; then
357 AC_MSG_CHECKING([for -L option to file command])
358 AC_CACHE_VAL(mc_cv_filel, [
359 file -L . > /dev/null 2>&1
366 if test x$mc_cv_filel = xyes; then
367 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
370 AC_MSG_RESULT([$filel])
374 AC_MSG_CHECKING([for subshell support])
375 AC_ARG_WITH(subshell,
376 [ --with-subshell Compile in concurrent subshell [[yes]]
377 --with-subshell=optional Don't run concurrent shell by default [[no]]],
379 if test x$withval = xoptional
381 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
382 [Define to make subshell support optional])
385 if test x$withval = xyes
389 [dnl Default: enable the subshell support
392 if test "x$result" != xno; then
393 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
394 [Define to enable subshell support])
396 AM_CONDITIONAL(HAVE_SUBSHELL_SUPPORT, [test "x$result" != xno])
397 AC_MSG_RESULT([$result])
405 dnl Internal editor support.
408 [ --with-edit Enable internal editor [[yes]]])
410 if test x$with_edit != xno; then
411 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
414 AC_MSG_NOTICE([using internal editor])
420 dnl Diff viewer support.
422 AC_ARG_WITH(diff_viewer,
423 [ --with-diff-viewer Compile with diff viewer [[yes]]])
425 if test x$with_diff_viewer != xno; then
426 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
429 AC_MSG_NOTICE([using diff viewer])
435 dnl Check if the OS is supported by the console saver.
444 dnl Where config files should be placed
447 AC_ARG_WITH([homedir],
448 AS_HELP_STRING([--with-homedir], [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
450 if test "x$withval" = "xXDG"; then
453 with_homedir=$withval
459 if test x$with_homedir = xXDG; then
460 AC_DEFINE(MC_HOMEDIR_XDG, 1,
461 [Define to enable XDG standard support])
463 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
471 dnl User visible support for charset conversion.
473 AC_ARG_ENABLE([charset],
474 [ --enable-charset Support for charset selection and conversion [[yes]]])
477 if test "x$enable_charset" != "xno"; then
478 AC_DEFINE(HAVE_CHARSET, 1,
479 [Define to enable charset selection and conversion])
484 if test "$GLIBC21" != yes; then
485 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
492 if test "x$CFLAGS" = "x"; then
496 if test x$USE_MAINTAINER_MODE = xyes; then
497 CFLAGS_OPTS="-g3 -O -ggdb"
498 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
503 AS_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors])
506 if test "x$enable_werror" = xyes; then
507 MC_CHECK_ONE_CFLAG([-Werror])
509 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
518 dnl Libraries used only when building the mc binary
521 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
524 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
525 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
526 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
527 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
528 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
529 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
530 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
537 chmod +x src/man2hlp/man2hlp
544 contrib/dist/Makefile
545 contrib/dist/gentoo/Makefile
546 contrib/dist/redhat/Makefile
547 contrib/dist/redhat/mc.spec
549 contrib/dist/prototype
553 misc/macros.d/Makefile
557 src/consaver/Makefile
561 src/diffviewer/Makefile
562 src/filemanager/Makefile
566 src/vfs/cpio/Makefile
568 src/vfs/extfs/Makefile
569 src/vfs/extfs/helpers/Makefile
570 src/vfs/extfs/helpers/a+
571 src/vfs/extfs/helpers/apt+
572 src/vfs/extfs/helpers/audio
573 src/vfs/extfs/helpers/deb
574 src/vfs/extfs/helpers/deba
575 src/vfs/extfs/helpers/debd
576 src/vfs/extfs/helpers/dpkg+
577 src/vfs/extfs/helpers/iso9660
578 src/vfs/extfs/helpers/hp48+
579 src/vfs/extfs/helpers/lslR
580 src/vfs/extfs/helpers/mailfs
581 src/vfs/extfs/helpers/patchfs
582 src/vfs/extfs/helpers/rpms+
583 src/vfs/extfs/helpers/s3+
584 src/vfs/extfs/helpers/uace
585 src/vfs/extfs/helpers/ualz
586 src/vfs/extfs/helpers/uar
587 src/vfs/extfs/helpers/uarc
588 src/vfs/extfs/helpers/uarj
589 src/vfs/extfs/helpers/uc1541
590 src/vfs/extfs/helpers/ucab
591 src/vfs/extfs/helpers/uha
592 src/vfs/extfs/helpers/ulha
593 src/vfs/extfs/helpers/urar
594 src/vfs/extfs/helpers/uzip
595 src/vfs/extfs/helpers/uzoo
597 src/vfs/fish/Makefile
598 src/vfs/fish/helpers/Makefile
600 src/vfs/ftpfs/Makefile
602 src/vfs/local/Makefile
606 src/vfs/smbfs/Makefile
610 src/vfs/undelfs/Makefile
614 lib/filehighlight/Makefile
615 lib/mcconfig/Makefile
650 if test x$enable_tests != xno; then
654 tests/lib/mcconfig/Makefile
655 tests/lib/search/Makefile
656 tests/lib/vfs/Makefile
658 tests/src/filemanager/Makefile
669 Source code location: ${srcdir}
671 Compiler flags: ${CFLAGS}
672 File system: ${vfs_type}
674 Screen library: ${screen_msg}
675 Mouse support: ${mouse_lib}
676 X11 events support: ${textmode_x11_support}
677 With subshell support: ${subshell}
678 With background operations: ${enable_background}
679 Internal editor: ${edit_msg}
680 Diff viewer: ${diff_msg}
681 Support for charset: ${charset_msg}
682 Search type: ${SEARCH_TYPE}