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])
78 AC_CHECK_TOOL(AR, ar, ar)
80 dnl Only list browsers here that can be run in background (i.e. with `&')
81 AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla konqueror opera netscape])
84 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
85 dnl We use only part of the functionality of mmap, so on AIX,
86 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
89 [ --with-mmap Use the mmap call [[yes if found]]])
90 if test x$with_mmap != xno; then
91 if test x$with_mmap = x; then
94 AC_DEFINE(HAVE_MMAP, 1)
99 dnl Internationalization
101 AM_GNU_GETTEXT(no-libtool, need-ngettext)
102 AM_GNU_GETTEXT_VERSION(0.14.3)
104 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
105 CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
108 dnl Determine which help translations we want to install.
109 ALL_DOC_LINGUAS="es hu it pl ru sr"
112 if test "x$USE_NLS" = xyes; then
113 if test -z "$LINGUAS"; then
114 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
122 for h_lang in $ALL_DOC_LINGUAS; do
123 for lang in $langs; do
124 if test "$lang" = "$h_lang"; then
125 DOC_LINGUAS="$DOC_LINGUAS $lang"
130 AC_SUBST(DOC_LINGUAS)
133 dnl OS specific flags.
139 AC_DEFINE(_POSIX_SOURCE)
144 AC_CHECK_HEADERS([unistd.h string.h memory.h limits.h malloc.h \
145 utime.h fcntl.h sys/statfs.h sys/vfs.h sys/time.h \
146 sys/timeb.h sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
147 security/pam_misc.h sys/socket.h sys/sysmacros.h sys/types.h \
148 sys/mkdev.h wchar.h wctype.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 setreuid statfs sysconf \
167 tcgetattr tcsetattr truncate \
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 This is from GNU fileutils, check aclocal.m4 for more information
202 dnl Missing typedefs and replacements
205 AC_CHECK_SIZEOF(long)
206 AC_CHECK_SIZEOF(long long)
209 AC_CHECK_SIZEOF(off_t)
212 AC_CHECK_TYPE(nlink_t, unsigned int)
213 AC_CHECK_TYPES([socklen_t],,,
215 #include <sys/types.h>
216 #include <sys/socket.h>
219 dnl This is needed for regex.c only
220 AC_CHECK_TYPE(uintptr_t,
221 [AC_DEFINE(HAVE_UINTPTR_T, 1,
222 [Define if you have the `uintptr_t' type.])
230 dnl Used to read keyboard modifiers when running under X11.
234 dnl Check if the gmodule functionality supported on this system.
235 AC_G_MODULE_SUPPORTED
238 dnl Sequent wants getprocessstats
240 AC_CHECK_LIB(seq, get_process_stats, [
242 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
243 [Define if you have function `get_process_stats' and
244 have to use that instead of gettimeofday])])
249 dnl Check for gpm mouse support (Linux only)
251 mouse_lib="xterm only"
252 AC_ARG_WITH(gpm-mouse,
253 [ --with-gpm-mouse Compile with gpm mouse support (Linux only)
258 if test x$with_gpm_mouse != xno; then
259 AC_CHECK_LIB(gpm, Gpm_Repeat,
260 [AC_DEFINE(HAVE_LIBGPM, 1,
261 [Define to enable gpm mouse support on Linux])
262 mouse_lib="gpm and xterm"
263 MCLIBS="$MCLIBS -lgpm"],
264 if test "x$with_gpm_mouse" = "xyes"; then
265 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
267 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
277 dnl Check nroff and the options it supports
279 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
286 AC_MSG_CHECKING([for manual formatting macros])
287 AC_CACHE_VAL(mc_cv_mandoc, [
288 nroff -mandoc < /dev/null > /dev/null 2>&1
296 AC_MSG_RESULT([$MANDOC])
298 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
299 AC_CACHE_VAL(mc_cv_man_nocolor, [
300 nroff -c < /dev/null > /dev/null 2>&1
307 MAN_FLAGS=$mc_cv_man_nocolor
308 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
310 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
311 AC_CACHE_VAL(mc_cv_nroff_tascii, [
313 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
315 mc_cv_nroff_tascii=-Tlatin1
317 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
319 mc_cv_nroff_tascii=-Tascii
323 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
324 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
332 dnl Check for -L option to file
334 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
335 if $HAVE_FILECMD; then
336 AC_MSG_CHECKING([for -L option to file command])
337 AC_CACHE_VAL(mc_cv_filel, [
338 file -L . > /dev/null 2>&1
345 if test x$mc_cv_filel = xyes; then
346 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
349 AC_MSG_RESULT([$filel])
353 AC_MSG_CHECKING([for subshell support])
354 AC_ARG_WITH(subshell,
355 [ --with-subshell Compile in concurrent subshell [[yes]]
356 --with-subshell=optional Don't run concurrent shell by default [[no]]],
358 if test x$withval = xoptional
360 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
361 [Define to make subshell support optional])
364 if test x$withval = xyes
368 [dnl Default: enable the subshell support
371 if test "x$result" != xno; then
372 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
373 [Define to enable subshell support])
375 AC_MSG_RESULT([$result])
383 dnl Internal editor support.
386 [ --with-edit Enable internal editor [[yes]]])
388 if test x$with_edit != xno; then
389 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
392 AC_MSG_NOTICE([using internal editor])
398 dnl Diff viewer support.
400 AC_ARG_WITH(diff_viewer,
401 [ --with-diff-viewer Compile with diff viewer [[yes]]])
403 if test x$with_diff_viewer != xno; then
404 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
407 AC_MSG_NOTICE([using diff viewer])
413 dnl Check if the OS is supported by the console saver.
421 dnl Support for background operations
422 AC_ARG_ENABLE([background],
423 [ --enable-background Support for background file operations [[yes]]])
424 if test "x$enable_background" != xno; then
425 AC_DEFINE(WITH_BACKGROUND, 1, [Define to enable background file operations])
430 dnl User visible support for charset conversion.
432 AC_ARG_ENABLE([charset],
433 [ --enable-charset Support for charset selection and conversion [[yes]]])
436 if test "x$enable_charset" != "xno"; then
437 AC_DEFINE(HAVE_CHARSET, 1,
438 [Define to enable charset selection and conversion])
443 if test "$GLIBC21" != yes; then
444 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
451 if test "x$CFLAGS" = "x"; then
455 if test x$USE_MAINTAINER_MODE = xyes; then
456 CFLAGS_OPTS="-g3 -O -ggdb"
457 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
462 AC_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors] )
465 if test "x$enable_werror" = xyes; then
466 MC_CHECK_ONE_CFLAG([-Werror])
468 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
477 dnl Libraries used only when building the mc binary
480 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
483 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
484 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
485 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
486 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
487 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
488 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
489 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
496 chmod +x src/man2hlp/man2hlp
503 contrib/dist/Makefile
504 contrib/dist/debian/Makefile
505 contrib/dist/gentoo/Makefile
506 contrib/dist/redhat/Makefile
507 contrib/dist/redhat/mc.spec
509 contrib/dist/prototype
513 misc/macros.d/Makefile
517 src/consaver/Makefile
521 src/diffviewer/Makefile
522 src/filemanager/Makefile
526 src/vfs/cpio/Makefile
528 src/vfs/extfs/Makefile
529 src/vfs/extfs/helpers/Makefile
530 src/vfs/extfs/helpers/a+
531 src/vfs/extfs/helpers/apt+
532 src/vfs/extfs/helpers/audio
533 src/vfs/extfs/helpers/deb
534 src/vfs/extfs/helpers/deba
535 src/vfs/extfs/helpers/debd
536 src/vfs/extfs/helpers/dpkg+
537 src/vfs/extfs/helpers/iso9660
538 src/vfs/extfs/helpers/hp48+
539 src/vfs/extfs/helpers/lslR
540 src/vfs/extfs/helpers/mailfs
541 src/vfs/extfs/helpers/patchfs
542 src/vfs/extfs/helpers/rpms+
543 src/vfs/extfs/helpers/s3+
544 src/vfs/extfs/helpers/uace
545 src/vfs/extfs/helpers/ualz
546 src/vfs/extfs/helpers/uar
547 src/vfs/extfs/helpers/uarc
548 src/vfs/extfs/helpers/uarj
549 src/vfs/extfs/helpers/uc1541
550 src/vfs/extfs/helpers/uha
551 src/vfs/extfs/helpers/ulha
552 src/vfs/extfs/helpers/urar
553 src/vfs/extfs/helpers/uzip
554 src/vfs/extfs/helpers/uzoo
556 src/vfs/fish/Makefile
557 src/vfs/fish/helpers/Makefile
559 src/vfs/ftpfs/Makefile
561 src/vfs/local/Makefile
565 src/vfs/smbfs/Makefile
569 src/vfs/undelfs/Makefile
573 lib/filehighlight/Makefile
574 lib/mcconfig/Makefile
588 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/Makefile
589 doc/man/es/mc.1 doc/man/es/Makefile
590 doc/man/hu/mc.1 doc/man/hu/Makefile
591 doc/man/it/mc.1 doc/man/it/Makefile
592 doc/man/pl/mc.1 doc/man/pl/Makefile
593 doc/man/ru/mc.1 doc/man/ru/Makefile
594 doc/man/sr/mc.1 doc/man/sr/Makefile
608 if test x$enable_tests != xno; then
611 lib/tests/mcconfig/Makefile
622 Source code location: ${srcdir}
624 Compiler flags: ${CFLAGS}
625 File system: ${vfs_type}
627 Screen library: ${screen_msg}
628 Mouse support: ${mouse_lib}
629 X11 events support: ${textmode_x11_support}
630 With subshell support: ${subshell}
631 Internal editor: ${edit_msg}
632 Diff viewer: ${diff_msg}
633 Support for charset: ${charset_msg}
634 Search type: ${SEARCH_TYPE}