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])
49 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
51 dnl PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
55 AC_ARG_ENABLE([mclib],
56 [AS_HELP_STRING([--enable-mclib], [Compile shared library libmc.so @<:@no@:>@])],
58 if test "x$enableval" = "xno" ; then
61 if test "x$enable_shared" = "xno" ; then
62 AC_MSG_WARN([Build of shared library is disabled. Specify --enable-shared first])
71 AM_CONDITIONAL([ENABLE_MCLIB], [test x$enable_mclib = xyes])
75 dnl Check this before type sizeof checks
79 AC_CHECK_TOOL(AR, ar, ar)
81 dnl Only list browsers here that can be run in background (i.e. with `&')
82 AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla firefox konqueror opera])
85 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
86 dnl We use only part of the functionality of mmap, so on AIX,
87 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
90 [ --with-mmap Use the mmap call [[yes if found]]])
91 if test x$with_mmap != xno; then
92 if test x$with_mmap = x; then
95 AC_DEFINE(HAVE_MMAP, 1)
100 dnl Internationalization
102 AM_GNU_GETTEXT(no-libtool, need-ngettext)
103 AM_GNU_GETTEXT_VERSION(0.14.3)
105 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
106 CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
109 dnl Determine which help translations we want to install.
110 ALL_DOC_LINGUAS="es hu it pl ru sr"
113 if test "x$USE_NLS" = xyes; then
114 if test -z "$LINGUAS"; then
115 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
123 for h_lang in $ALL_DOC_LINGUAS; do
124 for lang in $langs; do
125 if test "$lang" = "$h_lang"; then
126 DOC_LINGUAS="$DOC_LINGUAS $lang"
131 AC_SUBST(DOC_LINGUAS)
134 dnl OS specific flags.
140 AC_DEFINE(_POSIX_SOURCE)
145 AC_CHECK_HEADERS([unistd.h string.h memory.h limits.h malloc.h \
146 utime.h fcntl.h sys/statfs.h sys/vfs.h sys/time.h \
147 sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
148 sys/socket.h sys/sysmacros.h sys/types.h sys/mkdev.h])
154 dnl Missing structure components
155 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
159 dnl Check availability of some functions
166 tcgetattr tcsetattr \
174 dnl getpt is a GNU Extension (glibc 2.1.x)
176 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
177 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
179 dnl replacing lstat with statlstat on sco makes it more portable between
181 AC_CHECK_FUNCS(statlstat)
184 dnl If running under AIX, AC_AIX does not tell us that
186 AC_MSG_CHECKING([for AIX defines])
188 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
192 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
194 ], [AC_MSG_RESULT(no)])
197 dnl Missing typedefs and replacements
200 AC_CHECK_SIZEOF(long)
202 AC_CHECK_SIZEOF(uintmax_t)
204 AC_CHECK_SIZEOF(off_t)
215 dnl Used to read keyboard modifiers when running under X11.
219 dnl Check if the gmodule functionality supported on this system.
220 AC_G_MODULE_SUPPORTED
223 dnl Sequent wants getprocessstats
225 AC_CHECK_LIB(seq, get_process_stats, [
227 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
228 [Define if you have function `get_process_stats' and
229 have to use that instead of gettimeofday])])
234 dnl Check for gpm mouse support (Linux only)
236 mouse_lib="xterm only"
237 AC_ARG_WITH(gpm-mouse,
238 [ --with-gpm-mouse Compile with gpm mouse support (Linux only)
243 if test x$with_gpm_mouse != xno; then
244 AC_CHECK_LIB(gpm, Gpm_Repeat,
245 [AC_DEFINE(HAVE_LIBGPM, 1,
246 [Define to enable gpm mouse support on Linux])
247 mouse_lib="gpm and xterm"
248 MCLIBS="$MCLIBS -lgpm"],
249 if test "x$with_gpm_mouse" = "xyes"; then
250 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
252 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
262 dnl Check nroff and the options it supports
264 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
271 AC_MSG_CHECKING([for manual formatting macros])
272 AC_CACHE_VAL(mc_cv_mandoc, [
273 nroff -mandoc < /dev/null > /dev/null 2>&1
281 AC_MSG_RESULT([$MANDOC])
283 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
284 AC_CACHE_VAL(mc_cv_man_nocolor, [
285 nroff -c < /dev/null > /dev/null 2>&1
292 MAN_FLAGS=$mc_cv_man_nocolor
293 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
295 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
296 AC_CACHE_VAL(mc_cv_nroff_tascii, [
298 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
300 mc_cv_nroff_tascii=-Tlatin1
302 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
304 mc_cv_nroff_tascii=-Tascii
308 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
309 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
317 dnl Check for -L option to file
319 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
320 if $HAVE_FILECMD; then
321 AC_MSG_CHECKING([for -L option to file command])
322 AC_CACHE_VAL(mc_cv_filel, [
323 file -L . > /dev/null 2>&1
330 if test x$mc_cv_filel = xyes; then
331 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
334 AC_MSG_RESULT([$filel])
338 AC_MSG_CHECKING([for subshell support])
339 AC_ARG_WITH(subshell,
340 [ --with-subshell Compile in concurrent subshell [[yes]]
341 --with-subshell=optional Don't run concurrent shell by default [[no]]],
343 if test x$withval = xoptional
345 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
346 [Define to make subshell support optional])
349 if test x$withval = xyes
353 [dnl Default: enable the subshell support
356 if test "x$result" != xno; then
357 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
358 [Define to enable subshell support])
360 AC_MSG_RESULT([$result])
368 dnl Internal editor support.
371 [ --with-edit Enable internal editor [[yes]]])
373 if test x$with_edit != xno; then
374 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
377 AC_MSG_NOTICE([using internal editor])
383 dnl Diff viewer support.
385 AC_ARG_WITH(diff_viewer,
386 [ --with-diff-viewer Compile with diff viewer [[yes]]])
388 if test x$with_diff_viewer != xno; then
389 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
392 AC_MSG_NOTICE([using diff viewer])
398 dnl Check if the OS is supported by the console saver.
407 dnl Where config files should be placed
410 AC_ARG_WITH([homedir],
411 AS_HELP_STRING([--with-homedir], [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
413 if test "x$withval" = "xXDG"; then
416 with_homedir=$withval
422 if test x$with_homedir = xXDG; then
423 AC_DEFINE(MC_HOMEDIR_XDG, 1,
424 [Define to enable XDG standard support])
426 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
430 dnl Support for background operations
431 AC_ARG_ENABLE([background],
432 [ --enable-background Support for background file operations [[yes]]])
433 if test "x$enable_background" != xno; then
434 AC_DEFINE(WITH_BACKGROUND, 1, [Define to enable background file operations])
439 dnl User visible support for charset conversion.
441 AC_ARG_ENABLE([charset],
442 [ --enable-charset Support for charset selection and conversion [[yes]]])
445 if test "x$enable_charset" != "xno"; then
446 AC_DEFINE(HAVE_CHARSET, 1,
447 [Define to enable charset selection and conversion])
452 if test "$GLIBC21" != yes; then
453 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
460 if test "x$CFLAGS" = "x"; then
464 if test x$USE_MAINTAINER_MODE = xyes; then
465 CFLAGS_OPTS="-g3 -O -ggdb"
466 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
471 AS_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors])
474 if test "x$enable_werror" = xyes; then
475 MC_CHECK_ONE_CFLAG([-Werror])
477 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
486 dnl Libraries used only when building the mc binary
489 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
492 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
493 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
494 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
495 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
496 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
497 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
498 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
505 chmod +x src/man2hlp/man2hlp
512 contrib/dist/Makefile
513 contrib/dist/debian/Makefile
514 contrib/dist/gentoo/Makefile
515 contrib/dist/redhat/Makefile
516 contrib/dist/redhat/mc.spec
518 contrib/dist/prototype
522 misc/macros.d/Makefile
526 src/consaver/Makefile
530 src/diffviewer/Makefile
531 src/filemanager/Makefile
535 src/vfs/cpio/Makefile
537 src/vfs/extfs/Makefile
538 src/vfs/extfs/helpers/Makefile
539 src/vfs/extfs/helpers/a+
540 src/vfs/extfs/helpers/apt+
541 src/vfs/extfs/helpers/audio
542 src/vfs/extfs/helpers/deb
543 src/vfs/extfs/helpers/deba
544 src/vfs/extfs/helpers/debd
545 src/vfs/extfs/helpers/dpkg+
546 src/vfs/extfs/helpers/iso9660
547 src/vfs/extfs/helpers/hp48+
548 src/vfs/extfs/helpers/lslR
549 src/vfs/extfs/helpers/mailfs
550 src/vfs/extfs/helpers/patchfs
551 src/vfs/extfs/helpers/rpms+
552 src/vfs/extfs/helpers/s3+
553 src/vfs/extfs/helpers/uace
554 src/vfs/extfs/helpers/ualz
555 src/vfs/extfs/helpers/uar
556 src/vfs/extfs/helpers/uarc
557 src/vfs/extfs/helpers/uarj
558 src/vfs/extfs/helpers/uc1541
559 src/vfs/extfs/helpers/ucab
560 src/vfs/extfs/helpers/uha
561 src/vfs/extfs/helpers/ulha
562 src/vfs/extfs/helpers/urar
563 src/vfs/extfs/helpers/uzip
564 src/vfs/extfs/helpers/uzoo
566 src/vfs/fish/Makefile
567 src/vfs/fish/helpers/Makefile
569 src/vfs/ftpfs/Makefile
571 src/vfs/local/Makefile
575 src/vfs/smbfs/Makefile
579 src/vfs/undelfs/Makefile
583 lib/filehighlight/Makefile
584 lib/mcconfig/Makefile
598 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/Makefile
599 doc/man/es/mc.1 doc/man/es/Makefile
600 doc/man/hu/mc.1 doc/man/hu/Makefile
601 doc/man/it/mc.1 doc/man/it/Makefile
602 doc/man/pl/mc.1 doc/man/pl/Makefile
603 doc/man/ru/mc.1 doc/man/ru/Makefile
604 doc/man/sr/mc.1 doc/man/sr/Makefile
618 if test x$enable_tests != xno; then
622 tests/lib/mcconfig/Makefile
623 tests/lib/search/Makefile
624 tests/lib/vfs/Makefile
626 tests/src/filemanager/Makefile
637 Source code location: ${srcdir}
639 Compiler flags: ${CFLAGS}
640 File system: ${vfs_type}
642 Screen library: ${screen_msg}
643 Mouse support: ${mouse_lib}
644 X11 events support: ${textmode_x11_support}
645 With subshell support: ${subshell}
646 Internal editor: ${edit_msg}
647 Diff viewer: ${diff_msg}
648 Support for charset: ${charset_msg}
649 Search type: ${SEARCH_TYPE}