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/timeb.h sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
148 security/pam_misc.h sys/socket.h sys/sysmacros.h sys/types.h \
149 sys/mkdev.h wchar.h wctype.h])
155 dnl Missing structure components
156 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
160 dnl Check availability of some functions
167 setreuid statfs sysconf \
168 tcgetattr tcsetattr truncate \
175 dnl getpt is a GNU Extension (glibc 2.1.x)
177 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
178 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
180 dnl replacing lstat with statlstat on sco makes it more portable between
182 AC_CHECK_FUNCS(statlstat)
185 dnl If running under AIX, AC_AIX does not tell us that
187 AC_MSG_CHECKING([for AIX defines])
189 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
193 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
195 ], [AC_MSG_RESULT(no)])
198 dnl Missing typedefs and replacements
201 AC_CHECK_SIZEOF(long)
203 AC_CHECK_SIZEOF(uintmax_t)
205 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 AC_MSG_RESULT([$result])
370 dnl Internal editor support.
373 [ --with-edit Enable internal editor [[yes]]])
375 if test x$with_edit != xno; then
376 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
379 AC_MSG_NOTICE([using internal editor])
385 dnl Diff viewer support.
387 AC_ARG_WITH(diff_viewer,
388 [ --with-diff-viewer Compile with diff viewer [[yes]]])
390 if test x$with_diff_viewer != xno; then
391 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
394 AC_MSG_NOTICE([using diff viewer])
400 dnl Check if the OS is supported by the console saver.
409 dnl Where config files should be placed
412 AC_ARG_WITH([homedir],
413 AS_HELP_STRING([--with-homedir], [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
415 if test "x$withval" = "xXDG"; then
418 with_homedir=$withval
424 if test x$with_homedir = xXDG; then
425 AC_DEFINE(MC_HOMEDIR_XDG, 1,
426 [Define to enable XDG standard support])
428 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
432 dnl Support for background operations
433 AC_ARG_ENABLE([background],
434 [ --enable-background Support for background file operations [[yes]]])
435 if test "x$enable_background" != xno; then
436 AC_DEFINE(WITH_BACKGROUND, 1, [Define to enable background file operations])
441 dnl User visible support for charset conversion.
443 AC_ARG_ENABLE([charset],
444 [ --enable-charset Support for charset selection and conversion [[yes]]])
447 if test "x$enable_charset" != "xno"; then
448 AC_DEFINE(HAVE_CHARSET, 1,
449 [Define to enable charset selection and conversion])
454 if test "$GLIBC21" != yes; then
455 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
462 if test "x$CFLAGS" = "x"; then
466 if test x$USE_MAINTAINER_MODE = xyes; then
467 CFLAGS_OPTS="-g3 -O -ggdb"
468 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
473 AS_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors])
476 if test "x$enable_werror" = xyes; then
477 MC_CHECK_ONE_CFLAG([-Werror])
479 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
488 dnl Libraries used only when building the mc binary
491 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
494 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
495 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
496 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
497 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
498 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
499 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
500 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
507 chmod +x src/man2hlp/man2hlp
514 contrib/dist/Makefile
515 contrib/dist/debian/Makefile
516 contrib/dist/gentoo/Makefile
517 contrib/dist/redhat/Makefile
518 contrib/dist/redhat/mc.spec
520 contrib/dist/prototype
524 misc/macros.d/Makefile
528 src/consaver/Makefile
532 src/diffviewer/Makefile
533 src/filemanager/Makefile
537 src/vfs/cpio/Makefile
539 src/vfs/extfs/Makefile
540 src/vfs/extfs/helpers/Makefile
541 src/vfs/extfs/helpers/a+
542 src/vfs/extfs/helpers/apt+
543 src/vfs/extfs/helpers/audio
544 src/vfs/extfs/helpers/deb
545 src/vfs/extfs/helpers/deba
546 src/vfs/extfs/helpers/debd
547 src/vfs/extfs/helpers/dpkg+
548 src/vfs/extfs/helpers/iso9660
549 src/vfs/extfs/helpers/hp48+
550 src/vfs/extfs/helpers/lslR
551 src/vfs/extfs/helpers/mailfs
552 src/vfs/extfs/helpers/patchfs
553 src/vfs/extfs/helpers/rpms+
554 src/vfs/extfs/helpers/s3+
555 src/vfs/extfs/helpers/uace
556 src/vfs/extfs/helpers/ualz
557 src/vfs/extfs/helpers/uar
558 src/vfs/extfs/helpers/uarc
559 src/vfs/extfs/helpers/uarj
560 src/vfs/extfs/helpers/uc1541
561 src/vfs/extfs/helpers/ucab
562 src/vfs/extfs/helpers/uha
563 src/vfs/extfs/helpers/ulha
564 src/vfs/extfs/helpers/urar
565 src/vfs/extfs/helpers/uzip
566 src/vfs/extfs/helpers/uzoo
568 src/vfs/fish/Makefile
569 src/vfs/fish/helpers/Makefile
571 src/vfs/ftpfs/Makefile
573 src/vfs/local/Makefile
577 src/vfs/smbfs/Makefile
581 src/vfs/undelfs/Makefile
585 lib/filehighlight/Makefile
586 lib/mcconfig/Makefile
600 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/Makefile
601 doc/man/es/mc.1 doc/man/es/Makefile
602 doc/man/hu/mc.1 doc/man/hu/Makefile
603 doc/man/it/mc.1 doc/man/it/Makefile
604 doc/man/pl/mc.1 doc/man/pl/Makefile
605 doc/man/ru/mc.1 doc/man/ru/Makefile
606 doc/man/sr/mc.1 doc/man/sr/Makefile
620 if test x$enable_tests != xno; then
624 tests/lib/mcconfig/Makefile
625 tests/lib/search/Makefile
626 tests/lib/vfs/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}