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)
217 dnl Used to read keyboard modifiers when running under X11.
221 dnl Check if the gmodule functionality supported on this system.
222 AC_G_MODULE_SUPPORTED
225 dnl Sequent wants getprocessstats
227 AC_CHECK_LIB(seq, get_process_stats, [
229 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
230 [Define if you have function `get_process_stats' and
231 have to use that instead of gettimeofday])])
236 dnl Check for gpm mouse support (Linux only)
238 mouse_lib="xterm only"
239 AC_ARG_WITH(gpm-mouse,
240 [ --with-gpm-mouse Compile with gpm mouse support (Linux only)
245 if test x$with_gpm_mouse != xno; then
246 AC_CHECK_LIB(gpm, Gpm_Repeat,
247 [AC_DEFINE(HAVE_LIBGPM, 1,
248 [Define to enable gpm mouse support on Linux])
249 mouse_lib="gpm and xterm"
250 MCLIBS="$MCLIBS -lgpm"],
251 if test "x$with_gpm_mouse" = "xyes"; then
252 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
254 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
264 dnl Check nroff and the options it supports
266 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
273 AC_MSG_CHECKING([for manual formatting macros])
274 AC_CACHE_VAL(mc_cv_mandoc, [
275 nroff -mandoc < /dev/null > /dev/null 2>&1
283 AC_MSG_RESULT([$MANDOC])
285 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
286 AC_CACHE_VAL(mc_cv_man_nocolor, [
287 nroff -c < /dev/null > /dev/null 2>&1
294 MAN_FLAGS=$mc_cv_man_nocolor
295 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
297 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
298 AC_CACHE_VAL(mc_cv_nroff_tascii, [
300 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
302 mc_cv_nroff_tascii=-Tlatin1
304 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
306 mc_cv_nroff_tascii=-Tascii
310 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
311 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
319 dnl Check for -L option to file
321 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
322 if $HAVE_FILECMD; then
323 AC_MSG_CHECKING([for -L option to file command])
324 AC_CACHE_VAL(mc_cv_filel, [
325 file -L . > /dev/null 2>&1
332 if test x$mc_cv_filel = xyes; then
333 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
336 AC_MSG_RESULT([$filel])
340 AC_MSG_CHECKING([for subshell support])
341 AC_ARG_WITH(subshell,
342 [ --with-subshell Compile in concurrent subshell [[yes]]
343 --with-subshell=optional Don't run concurrent shell by default [[no]]],
345 if test x$withval = xoptional
347 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
348 [Define to make subshell support optional])
351 if test x$withval = xyes
355 [dnl Default: enable the subshell support
358 if test "x$result" != xno; then
359 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
360 [Define to enable subshell support])
362 AM_CONDITIONAL(HAVE_SUBSHELL_SUPPORT, [test "x$result" != xno])
363 AC_MSG_RESULT([$result])
371 dnl Internal editor support.
374 [ --with-edit Enable internal editor [[yes]]])
376 if test x$with_edit != xno; then
377 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
380 AC_MSG_NOTICE([using internal editor])
386 dnl Diff viewer support.
388 AC_ARG_WITH(diff_viewer,
389 [ --with-diff-viewer Compile with diff viewer [[yes]]])
391 if test x$with_diff_viewer != xno; then
392 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
395 AC_MSG_NOTICE([using diff viewer])
401 dnl Check if the OS is supported by the console saver.
410 dnl Where config files should be placed
413 AC_ARG_WITH([homedir],
414 AS_HELP_STRING([--with-homedir], [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
416 if test "x$withval" = "xXDG"; then
419 with_homedir=$withval
425 if test x$with_homedir = xXDG; then
426 AC_DEFINE(MC_HOMEDIR_XDG, 1,
427 [Define to enable XDG standard support])
429 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
437 dnl User visible support for charset conversion.
439 AC_ARG_ENABLE([charset],
440 [ --enable-charset Support for charset selection and conversion [[yes]]])
443 if test "x$enable_charset" != "xno"; then
444 AC_DEFINE(HAVE_CHARSET, 1,
445 [Define to enable charset selection and conversion])
450 if test "$GLIBC21" != yes; then
451 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
458 if test "x$CFLAGS" = "x"; then
462 if test x$USE_MAINTAINER_MODE = xyes; then
463 CFLAGS_OPTS="-g3 -O -ggdb"
464 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
469 AS_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors])
472 if test "x$enable_werror" = xyes; then
473 MC_CHECK_ONE_CFLAG([-Werror])
475 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
484 dnl Libraries used only when building the mc binary
487 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
490 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
491 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
492 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
493 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
494 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
495 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
496 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
503 chmod +x src/man2hlp/man2hlp
510 contrib/dist/Makefile
511 contrib/dist/gentoo/Makefile
512 contrib/dist/redhat/Makefile
513 contrib/dist/redhat/mc.spec
515 contrib/dist/prototype
519 misc/macros.d/Makefile
523 src/consaver/Makefile
527 src/diffviewer/Makefile
528 src/filemanager/Makefile
532 src/vfs/cpio/Makefile
534 src/vfs/extfs/Makefile
535 src/vfs/extfs/helpers/Makefile
536 src/vfs/extfs/helpers/a+
537 src/vfs/extfs/helpers/apt+
538 src/vfs/extfs/helpers/audio
539 src/vfs/extfs/helpers/deb
540 src/vfs/extfs/helpers/deba
541 src/vfs/extfs/helpers/debd
542 src/vfs/extfs/helpers/dpkg+
543 src/vfs/extfs/helpers/iso9660
544 src/vfs/extfs/helpers/hp48+
545 src/vfs/extfs/helpers/lslR
546 src/vfs/extfs/helpers/mailfs
547 src/vfs/extfs/helpers/patchfs
548 src/vfs/extfs/helpers/rpms+
549 src/vfs/extfs/helpers/s3+
550 src/vfs/extfs/helpers/uace
551 src/vfs/extfs/helpers/ualz
552 src/vfs/extfs/helpers/uar
553 src/vfs/extfs/helpers/uarc
554 src/vfs/extfs/helpers/uarj
555 src/vfs/extfs/helpers/uc1541
556 src/vfs/extfs/helpers/ucab
557 src/vfs/extfs/helpers/uha
558 src/vfs/extfs/helpers/ulha
559 src/vfs/extfs/helpers/urar
560 src/vfs/extfs/helpers/uzip
561 src/vfs/extfs/helpers/uzoo
563 src/vfs/fish/Makefile
564 src/vfs/fish/helpers/Makefile
566 src/vfs/ftpfs/Makefile
568 src/vfs/local/Makefile
572 src/vfs/smbfs/Makefile
576 src/vfs/undelfs/Makefile
580 lib/filehighlight/Makefile
581 lib/mcconfig/Makefile
616 if test x$enable_tests != xno; then
620 tests/lib/mcconfig/Makefile
621 tests/lib/search/Makefile
622 tests/lib/vfs/Makefile
624 tests/src/filemanager/Makefile
635 Source code location: ${srcdir}
637 Compiler flags: ${CFLAGS}
638 File system: ${vfs_type}
640 Screen library: ${screen_msg}
641 Mouse support: ${mouse_lib}
642 X11 events support: ${textmode_x11_support}
643 With subshell support: ${subshell}
644 With background operations: ${enable_background}
645 Internal editor: ${edit_msg}
646 Diff viewer: ${diff_msg}
647 Support for charset: ${charset_msg}
648 Search type: ${SEARCH_TYPE}