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])
153 dnl Missing structure components
154 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
158 dnl Check availability of some functions
165 tcgetattr tcsetattr \
173 dnl getpt is a GNU Extension (glibc 2.1.x)
175 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
176 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
178 dnl replacing lstat with statlstat on sco makes it more portable between
180 AC_CHECK_FUNCS(statlstat)
183 dnl If running under AIX, AC_AIX does not tell us that
185 AC_MSG_CHECKING([for AIX defines])
187 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
191 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
193 ], [AC_MSG_RESULT(no)])
196 dnl Missing typedefs and replacements
199 AC_CHECK_SIZEOF(long)
201 AC_CHECK_SIZEOF(uintmax_t)
203 AC_CHECK_SIZEOF(off_t)
214 dnl Used to read keyboard modifiers when running under X11.
218 dnl Check if the gmodule functionality supported on this system.
219 AC_G_MODULE_SUPPORTED
222 dnl Sequent wants getprocessstats
224 AC_CHECK_LIB(seq, get_process_stats, [
226 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
227 [Define if you have function `get_process_stats' and
228 have to use that instead of gettimeofday])])
233 dnl Check for gpm mouse support (Linux only)
235 mouse_lib="xterm only"
236 AC_ARG_WITH(gpm-mouse,
237 [ --with-gpm-mouse Compile with gpm mouse support (Linux only)
242 if test x$with_gpm_mouse != xno; then
243 AC_CHECK_LIB(gpm, Gpm_Repeat,
244 [AC_DEFINE(HAVE_LIBGPM, 1,
245 [Define to enable gpm mouse support on Linux])
246 mouse_lib="gpm and xterm"
247 MCLIBS="$MCLIBS -lgpm"],
248 if test "x$with_gpm_mouse" = "xyes"; then
249 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
251 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
261 dnl Check nroff and the options it supports
263 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
270 AC_MSG_CHECKING([for manual formatting macros])
271 AC_CACHE_VAL(mc_cv_mandoc, [
272 nroff -mandoc < /dev/null > /dev/null 2>&1
280 AC_MSG_RESULT([$MANDOC])
282 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
283 AC_CACHE_VAL(mc_cv_man_nocolor, [
284 nroff -c < /dev/null > /dev/null 2>&1
291 MAN_FLAGS=$mc_cv_man_nocolor
292 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
294 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
295 AC_CACHE_VAL(mc_cv_nroff_tascii, [
297 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
299 mc_cv_nroff_tascii=-Tlatin1
301 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
303 mc_cv_nroff_tascii=-Tascii
307 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
308 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
316 dnl Check for -L option to file
318 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
319 if $HAVE_FILECMD; then
320 AC_MSG_CHECKING([for -L option to file command])
321 AC_CACHE_VAL(mc_cv_filel, [
322 file -L . > /dev/null 2>&1
329 if test x$mc_cv_filel = xyes; then
330 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
333 AC_MSG_RESULT([$filel])
337 AC_MSG_CHECKING([for subshell support])
338 AC_ARG_WITH(subshell,
339 [ --with-subshell Compile in concurrent subshell [[yes]]
340 --with-subshell=optional Don't run concurrent shell by default [[no]]],
342 if test x$withval = xoptional
344 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
345 [Define to make subshell support optional])
348 if test x$withval = xyes
352 [dnl Default: enable the subshell support
355 if test "x$result" != xno; then
356 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
357 [Define to enable subshell support])
359 AC_MSG_RESULT([$result])
367 dnl Internal editor support.
370 [ --with-edit Enable internal editor [[yes]]])
372 if test x$with_edit != xno; then
373 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
376 AC_MSG_NOTICE([using internal editor])
382 dnl Diff viewer support.
384 AC_ARG_WITH(diff_viewer,
385 [ --with-diff-viewer Compile with diff viewer [[yes]]])
387 if test x$with_diff_viewer != xno; then
388 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
391 AC_MSG_NOTICE([using diff viewer])
397 dnl Check if the OS is supported by the console saver.
406 dnl Where config files should be placed
409 AC_ARG_WITH([homedir],
410 AS_HELP_STRING([--with-homedir], [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
412 if test "x$withval" = "xXDG"; then
415 with_homedir=$withval
421 if test x$with_homedir = xXDG; then
422 AC_DEFINE(MC_HOMEDIR_XDG, 1,
423 [Define to enable XDG standard support])
425 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
429 dnl Support for background operations
430 AC_ARG_ENABLE([background],
431 [ --enable-background Support for background file operations [[yes]]])
432 if test "x$enable_background" != xno; then
433 AC_DEFINE(WITH_BACKGROUND, 1, [Define to enable background file operations])
438 dnl User visible support for charset conversion.
440 AC_ARG_ENABLE([charset],
441 [ --enable-charset Support for charset selection and conversion [[yes]]])
444 if test "x$enable_charset" != "xno"; then
445 AC_DEFINE(HAVE_CHARSET, 1,
446 [Define to enable charset selection and conversion])
451 if test "$GLIBC21" != yes; then
452 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
459 if test "x$CFLAGS" = "x"; then
463 if test x$USE_MAINTAINER_MODE = xyes; then
464 CFLAGS_OPTS="-g3 -O -ggdb"
465 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
470 AS_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors])
473 if test "x$enable_werror" = xyes; then
474 MC_CHECK_ONE_CFLAG([-Werror])
476 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
485 dnl Libraries used only when building the mc binary
488 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
491 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
492 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
493 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
494 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
495 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
496 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
497 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
504 chmod +x src/man2hlp/man2hlp
511 contrib/dist/Makefile
512 contrib/dist/debian/Makefile
513 contrib/dist/gentoo/Makefile
514 contrib/dist/redhat/Makefile
515 contrib/dist/redhat/mc.spec
517 contrib/dist/prototype
521 misc/macros.d/Makefile
525 src/consaver/Makefile
529 src/diffviewer/Makefile
530 src/filemanager/Makefile
534 src/vfs/cpio/Makefile
536 src/vfs/extfs/Makefile
537 src/vfs/extfs/helpers/Makefile
538 src/vfs/extfs/helpers/a+
539 src/vfs/extfs/helpers/apt+
540 src/vfs/extfs/helpers/audio
541 src/vfs/extfs/helpers/deb
542 src/vfs/extfs/helpers/deba
543 src/vfs/extfs/helpers/debd
544 src/vfs/extfs/helpers/dpkg+
545 src/vfs/extfs/helpers/iso9660
546 src/vfs/extfs/helpers/hp48+
547 src/vfs/extfs/helpers/lslR
548 src/vfs/extfs/helpers/mailfs
549 src/vfs/extfs/helpers/patchfs
550 src/vfs/extfs/helpers/rpms+
551 src/vfs/extfs/helpers/s3+
552 src/vfs/extfs/helpers/uace
553 src/vfs/extfs/helpers/ualz
554 src/vfs/extfs/helpers/uar
555 src/vfs/extfs/helpers/uarc
556 src/vfs/extfs/helpers/uarj
557 src/vfs/extfs/helpers/uc1541
558 src/vfs/extfs/helpers/ucab
559 src/vfs/extfs/helpers/uha
560 src/vfs/extfs/helpers/ulha
561 src/vfs/extfs/helpers/urar
562 src/vfs/extfs/helpers/uzip
563 src/vfs/extfs/helpers/uzoo
565 src/vfs/fish/Makefile
566 src/vfs/fish/helpers/Makefile
568 src/vfs/ftpfs/Makefile
570 src/vfs/local/Makefile
574 src/vfs/smbfs/Makefile
578 src/vfs/undelfs/Makefile
582 lib/filehighlight/Makefile
583 lib/mcconfig/Makefile
597 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/Makefile
598 doc/man/es/mc.1 doc/man/es/Makefile
599 doc/man/hu/mc.1 doc/man/hu/Makefile
600 doc/man/it/mc.1 doc/man/it/Makefile
601 doc/man/pl/mc.1 doc/man/pl/Makefile
602 doc/man/ru/mc.1 doc/man/ru/Makefile
603 doc/man/sr/mc.1 doc/man/sr/Makefile
617 if test x$enable_tests != xno; then
621 tests/lib/mcconfig/Makefile
622 tests/lib/search/Makefile
623 tests/lib/vfs/Makefile
625 tests/src/filemanager/Makefile
636 Source code location: ${srcdir}
638 Compiler flags: ${CFLAGS}
639 File system: ${vfs_type}
641 Screen library: ${screen_msg}
642 Mouse support: ${mouse_lib}
643 X11 events support: ${textmode_x11_support}
644 With subshell support: ${subshell}
645 Internal editor: ${edit_msg}
646 Diff viewer: ${diff_msg}
647 Support for charset: ${charset_msg}
648 Search type: ${SEARCH_TYPE}