2 dnl Configure.in file for the Midnight Commander
6 AC_INIT([GNU Midnight Commander], [], [mc-devel@gnome.org])
8 AC_CONFIG_MACRO_DIR([m4])
9 AC_CONFIG_AUX_DIR(config)
10 AC_CONFIG_SRCDIR(src/main.c)
11 AC_CONFIG_HEADERS(config.h)
13 AM_INIT_AUTOMAKE(mc, ${VERSION} )
14 dnl Enable silent rules by default (if yes)
15 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
21 AC_USE_SYSTEM_EXTENSIONS
24 dnl ############################################################################
25 dnl Check for compiler
26 dnl ############################################################################
34 if test "x$CFLAGS" = "x"; then
37 if test x$USE_MAINTAINER_MODE = xyes; then
38 CFLAGS_OPTS="-g3 -O -ggdb"
39 AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
42 AC_ARG_ENABLE([werror],
43 AS_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors]))
44 if test "x$enable_werror" = xyes; then
45 MC_CHECK_ONE_CFLAG([-Werror])
51 dnl ############################################################################
52 dnl Check for programs
53 dnl ############################################################################
58 AC_PATH_PROG([PERL], [perl], [/usr/bin/perl])
60 dnl Check nroff and the options it supports
61 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
66 AC_MSG_CHECKING([for manual formatting macros])
67 AC_CACHE_VAL(mc_cv_mandoc, [
68 nroff -mandoc < /dev/null > /dev/null 2>&1
76 AC_MSG_RESULT([$MANDOC])
78 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
79 AC_CACHE_VAL(mc_cv_man_nocolor, [
80 nroff -c < /dev/null > /dev/null 2>&1
87 MAN_FLAGS=$mc_cv_man_nocolor
88 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
90 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
91 AC_CACHE_VAL(mc_cv_nroff_tascii, [
93 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
95 mc_cv_nroff_tascii=-Tlatin1
97 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
99 mc_cv_nroff_tascii=-Tascii
103 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
104 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
110 dnl Check for -L option to file
111 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
112 if $HAVE_FILECMD; then
113 AC_MSG_CHECKING([for -L option to file command])
114 AC_CACHE_VAL(mc_cv_filel, [
115 file -L . > /dev/null 2>&1
122 if test x$mc_cv_filel = xyes; then
123 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
126 AC_MSG_RESULT([$filel])
129 dnl Only list browsers here that can be run in background (i.e. with `&')
130 AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla firefox konqueror opera])
133 dnl ############################################################################
134 dnl Check for other tools
135 dnl ############################################################################
137 AC_CHECK_TOOL(AR, ar, ar)
141 dnl ############################################################################
142 dnl Check for main libraies
143 dnl ############################################################################
146 AC_G_MODULE_SUPPORTED
149 dnl X11 support. Used to read keyboard modifiers when running under X11.
153 dnl ############################################################################
154 dnl Check for header files
155 dnl ############################################################################
157 AC_CHECK_HEADERS([unistd.h string.h memory.h limits.h malloc.h \
158 utime.h fcntl.h sys/statfs.h sys/vfs.h sys/time.h \
159 sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
160 sys/socket.h sys/sysmacros.h sys/types.h sys/mkdev.h])
167 dnl ############################################################################
169 dnl ############################################################################
172 dnl Check largefile before type sizeof checks
175 AC_CHECK_SIZEOF(long)
177 AC_CHECK_SIZEOF(uintmax_t)
179 AC_CHECK_SIZEOF(off_t)
185 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
188 dnl ############################################################################
189 dnl Check for functions
190 dnl ############################################################################
196 tcgetattr tcsetattr \
204 dnl getpt is a GNU Extension (glibc 2.1.x)
205 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
206 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
208 dnl replacing lstat with statlstat on sco makes it more portable between
210 AC_CHECK_FUNCS(statlstat)
212 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
213 dnl We use only part of the functionality of mmap, so on AIX,
214 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
216 AS_HELP_STRING([--with-mmap], [Use the mmap call @<:@yes if found@:>@]))
217 if test x$with_mmap != xno; then
218 if test x$with_mmap = x; then
221 AC_DEFINE(HAVE_MMAP, 1)
225 dnl Sequent wants getprocessstats
226 AC_CHECK_LIB(seq, get_process_stats, [
228 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
229 [Define if you have function `get_process_stats' and
230 have to use that instead of gettimeofday])])
235 dnl ############################################################################
236 dnl Internationalization
237 dnl ############################################################################
239 AM_GNU_GETTEXT(no-libtool, need-ngettext)
240 AM_GNU_GETTEXT_VERSION(0.14.3)
242 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
243 CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
246 dnl User visible support for charset conversion.
247 AC_ARG_ENABLE([charset],
248 AS_HELP_STRING([--enable-charset], [Support for charset selection and conversion @<:@yes@:>@]))
251 if test "x$enable_charset" != "xno"; then
252 AC_DEFINE(HAVE_CHARSET, 1, [Define to enable charset selection and conversion])
258 dnl ############################################################################
259 dnl OS specific flags
260 dnl ############################################################################
268 AC_DEFINE(_POSIX_SOURCE)
272 dnl If running under AIX, AC_AIX does not tell us that
273 AC_MSG_CHECKING([for AIX defines])
276 #if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
281 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
288 dnl Check if the OS is supported by the console saver.
295 dnl Check for gpm mouse support (Linux only)
296 mouse_lib="xterm only"
297 AC_ARG_WITH([gpm-mouse],
298 AS_HELP_STRING([--with-gpm-mouse], [Compile with gpm mouse support (Linux only) @<:@yes if found@:>@]))
302 if test x$with_gpm_mouse != xno; then
303 AC_CHECK_LIB(gpm, Gpm_Repeat,
304 [AC_DEFINE(HAVE_LIBGPM, 1,
305 [Define to enable gpm mouse support on Linux])
306 mouse_lib="gpm and xterm"
307 MCLIBS="$MCLIBS -lgpm"],
308 if test "x$with_gpm_mouse" = "xyes"; then
309 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
311 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
319 dnl ############################################################################
321 dnl ############################################################################
323 LIBMC_VERSION="0.0.1"
325 AC_SUBST(LIBMC_VERSION)
326 AC_SUBST(LIBMC_RELEASE)
328 AC_ARG_ENABLE([mclib],
329 [AS_HELP_STRING([--enable-mclib], [Compile shared library libmc.so @<:@no@:>@])],
331 if test "x$enableval" = "xno" ; then
334 if test "x$enable_shared" = "xno" ; then
335 AC_MSG_WARN([Build of shared library is disabled. Specify --enable-shared first])
344 AM_CONDITIONAL([ENABLE_MCLIB], [test x$enable_mclib = xyes])
347 dnl ############################################################################
348 dnl Where config files should be placed
349 dnl ############################################################################
351 AC_ARG_WITH([homedir],
352 AS_HELP_STRING([--with-homedir],
353 [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
355 if test "x$withval" = "xXDG"; then
358 with_homedir=$withval
364 if test x$with_homedir = xXDG; then
365 AC_DEFINE(MC_HOMEDIR_XDG, 1,
366 [Define to enable XDG standard support])
368 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
372 dnl ############################################################################
374 dnl ############################################################################
378 dnl Diff viewer support.
379 AC_ARG_WITH([diff_viewer],
380 AS_HELP_STRING([--with-diff-viewer], [Compile with diff viewer @<:@yes@:>@]))
382 if test x$with_diff_viewer != xno; then
383 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
386 AC_MSG_NOTICE([using diff viewer])
391 AC_MSG_CHECKING([for subshell support])
392 AC_ARG_WITH(subshell,
393 [ --with-subshell Compile in concurrent subshell [[yes]]
394 --with-subshell=optional Don't run concurrent shell by default [[no]]],
396 if test x$withval = xoptional
398 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
399 [Define to make subshell support optional])
402 if test x$withval = xyes
406 [dnl Default: enable the subshell support
409 if test "x$result" != xno; then
410 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
411 [Define to enable subshell support])
413 AC_MSG_RESULT([$result])
421 dnl ############################################################################
423 dnl ############################################################################
425 dnl ${prefix} and ${exec_prefix} are undefined here if --prefix is not used in command line
426 dnl Let define ${prefix} and ${exec_prefix}
427 test "x$prefix" = "xNONE" && prefix=$ac_default_prefix
428 test "x$exec_prefix" = "xNONE" && exec_prefix='${prefix}'
430 if test x${libexecdir} = x'${exec_prefix}/libexec'; then
431 EXTHELPERSDIR=${prefix}/libexec/${PACKAGE}/ext.d
433 EXTHELPERSDIR=${libexecdir}/${PACKAGE}/ext.d
435 AC_SUBST(EXTHELPERSDIR)
438 dnl ############################################################################
440 dnl ############################################################################
442 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
445 dnl Determine which help translations we want to install.
446 ALL_DOC_LINGUAS="es hu it pl ru sr"
449 if test "x$USE_NLS" = xyes; then
450 if test -z "$LINGUAS"; then
451 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
459 for h_lang in $ALL_DOC_LINGUAS; do
460 for lang in $langs; do
461 if test "$lang" = "$h_lang"; then
462 DOC_LINGUAS="$DOC_LINGUAS $lang"
467 AC_SUBST(DOC_LINGUAS)
477 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
480 dnl ############################################################################
481 dnl Configure results
482 dnl ############################################################################
484 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
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 x"$use_edit" = xyes ])
496 AM_CONDITIONAL(USE_ASPELL, [test x"$enable_aspell" = xyes ])
497 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
498 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
499 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
501 AC_DEFINE_UNQUOTED([MC_CONFIGURE_ARGS], ["$ac_configure_args"], [MC configure arguments])
508 chmod +x src/man2hlp/man2hlp
515 contrib/dist/Makefile
516 contrib/dist/debian/Makefile
517 contrib/dist/gentoo/Makefile
518 contrib/dist/redhat/Makefile
519 contrib/dist/redhat/mc.spec
521 contrib/dist/prototype
530 misc/macros.d/Makefile
534 src/consaver/Makefile
538 src/diffviewer/Makefile
539 src/filemanager/Makefile
543 src/vfs/cpio/Makefile
545 src/vfs/extfs/Makefile
546 src/vfs/extfs/helpers/Makefile
547 src/vfs/extfs/helpers/a+
548 src/vfs/extfs/helpers/apt+
549 src/vfs/extfs/helpers/audio
550 src/vfs/extfs/helpers/deb
551 src/vfs/extfs/helpers/deba
552 src/vfs/extfs/helpers/debd
553 src/vfs/extfs/helpers/dpkg+
554 src/vfs/extfs/helpers/iso9660
555 src/vfs/extfs/helpers/hp48+
556 src/vfs/extfs/helpers/lslR
557 src/vfs/extfs/helpers/mailfs
558 src/vfs/extfs/helpers/patchfs
559 src/vfs/extfs/helpers/rpms+
560 src/vfs/extfs/helpers/s3+
561 src/vfs/extfs/helpers/uace
562 src/vfs/extfs/helpers/ualz
563 src/vfs/extfs/helpers/uar
564 src/vfs/extfs/helpers/uarc
565 src/vfs/extfs/helpers/uarj
566 src/vfs/extfs/helpers/ucab
567 src/vfs/extfs/helpers/uha
568 src/vfs/extfs/helpers/ulha
569 src/vfs/extfs/helpers/ulib
570 src/vfs/extfs/helpers/urar
571 src/vfs/extfs/helpers/uzip
572 src/vfs/extfs/helpers/uzoo
574 src/vfs/fish/Makefile
575 src/vfs/fish/helpers/Makefile
577 src/vfs/ftpfs/Makefile
579 src/vfs/sftpfs/Makefile
581 src/vfs/local/Makefile
585 src/vfs/smbfs/Makefile
589 src/vfs/undelfs/Makefile
593 lib/filehighlight/Makefile
594 lib/mcconfig/Makefile
628 if test x$enable_tests != xno; then
632 tests/lib/mcconfig/Makefile
633 tests/lib/search/Makefile
634 tests/lib/vfs/Makefile
636 tests/src/filemanager/Makefile
646 Source code location: ${srcdir}
648 Compiler flags: ${CFLAGS}
649 File system: ${vfs_type}
651 Screen library: ${screen_msg}
652 Mouse support: ${mouse_lib}
653 X11 events support: ${textmode_x11_support}
654 With subshell support: ${subshell}
655 With background operations: ${enable_background}
656 Internal editor: ${edit_msg}
657 Diff viewer: ${diff_msg}
658 Support for charset: ${charset_msg}
659 Search type: ${SEARCH_TYPE}