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])
59 AC_PATH_PROG([PYTHON], [python], [/usr/bin/python])
60 AC_PATH_PROG([RUBY], [ruby], [/usr/bin/ruby])
62 dnl Check nroff and the options it supports
63 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
68 AC_MSG_CHECKING([for manual formatting macros])
69 AC_CACHE_VAL(mc_cv_mandoc, [
70 nroff -mandoc < /dev/null > /dev/null 2>&1
78 AC_MSG_RESULT([$MANDOC])
80 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
81 AC_CACHE_VAL(mc_cv_man_nocolor, [
82 nroff -c < /dev/null > /dev/null 2>&1
89 MAN_FLAGS=$mc_cv_man_nocolor
90 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
92 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
93 AC_CACHE_VAL(mc_cv_nroff_tascii, [
95 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
97 mc_cv_nroff_tascii=-Tlatin1
99 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
101 mc_cv_nroff_tascii=-Tascii
105 AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
106 MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
112 dnl Check for -L option to file
113 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
114 if $HAVE_FILECMD; then
115 AC_MSG_CHECKING([for -L option to file command])
116 AC_CACHE_VAL(mc_cv_filel, [
117 file -L . > /dev/null 2>&1
124 if test x$mc_cv_filel = xyes; then
125 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
128 AC_MSG_RESULT([$filel])
131 dnl Only list browsers here that can be run in background (i.e. with `&')
132 AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla firefox konqueror opera])
135 dnl ############################################################################
136 dnl Check for other tools
137 dnl ############################################################################
139 AC_CHECK_TOOL(AR, ar, ar)
143 dnl ############################################################################
144 dnl Check for main libraies
145 dnl ############################################################################
148 AC_G_MODULE_SUPPORTED
151 dnl X11 support. Used to read keyboard modifiers when running under X11.
155 dnl ############################################################################
156 dnl Check for header files
157 dnl ############################################################################
159 AC_CHECK_HEADERS([unistd.h string.h memory.h limits.h malloc.h \
160 utime.h fcntl.h sys/statfs.h sys/vfs.h sys/time.h \
161 sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
162 sys/socket.h sys/sysmacros.h sys/types.h sys/mkdev.h])
169 dnl ############################################################################
171 dnl ############################################################################
174 dnl Check largefile before type sizeof checks
177 AC_CHECK_SIZEOF(long)
179 AC_CHECK_SIZEOF(uintmax_t)
181 AC_CHECK_SIZEOF(off_t)
187 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
190 dnl ############################################################################
191 dnl Check for functions
192 dnl ############################################################################
198 tcgetattr tcsetattr \
206 dnl getpt is a GNU Extension (glibc 2.1.x)
207 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
208 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
210 dnl replacing lstat with statlstat on sco makes it more portable between
212 AC_CHECK_FUNCS(statlstat)
214 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
215 dnl We use only part of the functionality of mmap, so on AIX,
216 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
218 AS_HELP_STRING([--with-mmap], [Use the mmap call @<:@yes if found@:>@]))
219 if test x$with_mmap != xno; then
220 if test x$with_mmap = x; then
223 AC_DEFINE(HAVE_MMAP, 1)
227 dnl Sequent wants getprocessstats
228 AC_CHECK_LIB(seq, get_process_stats, [
230 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
231 [Define if you have function `get_process_stats' and
232 have to use that instead of gettimeofday])])
237 dnl ############################################################################
238 dnl Internationalization
239 dnl ############################################################################
241 AM_GNU_GETTEXT(no-libtool, need-ngettext)
242 AM_GNU_GETTEXT_VERSION(0.14.3)
244 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
245 CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
248 dnl User visible support for charset conversion.
249 AC_ARG_ENABLE([charset],
250 AS_HELP_STRING([--enable-charset], [Support for charset selection and conversion @<:@yes@:>@]))
253 if test "x$enable_charset" != "xno"; then
254 AC_DEFINE(HAVE_CHARSET, 1, [Define to enable charset selection and conversion])
260 dnl ############################################################################
261 dnl OS specific flags
262 dnl ############################################################################
270 AC_DEFINE(_POSIX_SOURCE)
274 dnl If running under AIX, AC_AIX does not tell us that
275 AC_MSG_CHECKING([for AIX defines])
278 #if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
283 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
290 dnl Check if the OS is supported by the console saver.
297 dnl Check for gpm mouse support (Linux only)
298 mouse_lib="xterm only"
299 AC_ARG_WITH([gpm-mouse],
300 AS_HELP_STRING([--with-gpm-mouse], [Compile with gpm mouse support (Linux only) @<:@yes if found@:>@]))
304 if test x$with_gpm_mouse != xno; then
305 AC_CHECK_LIB(gpm, Gpm_Repeat,
306 [AC_DEFINE(HAVE_LIBGPM, 1,
307 [Define to enable gpm mouse support on Linux])
308 mouse_lib="gpm and xterm"
309 MCLIBS="$MCLIBS -lgpm"],
310 if test "x$with_gpm_mouse" = "xyes"; then
311 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
313 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
321 dnl ############################################################################
323 dnl ############################################################################
325 LIBMC_VERSION="0.0.1"
327 AC_SUBST(LIBMC_VERSION)
328 AC_SUBST(LIBMC_RELEASE)
330 AC_ARG_ENABLE([mclib],
331 [AS_HELP_STRING([--enable-mclib], [Compile shared library libmc.so @<:@no@:>@])],
333 if test "x$enableval" = "xno" ; then
336 if test "x$enable_shared" = "xno" ; then
337 AC_MSG_WARN([Build of shared library is disabled. Specify --enable-shared first])
346 AM_CONDITIONAL([ENABLE_MCLIB], [test x$enable_mclib = xyes])
349 dnl ############################################################################
350 dnl Where config files should be placed
351 dnl ############################################################################
353 AC_ARG_WITH([homedir],
354 AS_HELP_STRING([--with-homedir],
355 [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
357 if test "x$withval" = "xXDG"; then
360 with_homedir=$withval
366 if test x$with_homedir = xXDG; then
367 AC_DEFINE(MC_HOMEDIR_XDG, 1,
368 [Define to enable XDG standard support])
370 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
374 dnl ############################################################################
376 dnl ############################################################################
380 dnl Diff viewer support.
381 AC_ARG_WITH([diff_viewer],
382 AS_HELP_STRING([--with-diff-viewer], [Compile with diff viewer @<:@yes@:>@]))
384 if test x$with_diff_viewer != xno; then
385 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
388 AC_MSG_NOTICE([using diff viewer])
393 AC_MSG_CHECKING([for subshell support])
394 AC_ARG_WITH(subshell,
395 [ --with-subshell Compile in concurrent subshell [[yes]]
396 --with-subshell=optional Don't run concurrent shell by default [[no]]],
398 if test x$withval = xoptional
400 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
401 [Define to make subshell support optional])
404 if test x$withval = xyes
408 [dnl Default: enable the subshell support
411 if test "x$result" != xno; then
412 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
413 [Define to enable subshell support])
415 AC_MSG_RESULT([$result])
423 dnl ############################################################################
425 dnl ############################################################################
427 dnl ${prefix} and ${exec_prefix} are undefined here if --prefix is not used in command line
428 dnl Let define ${prefix} and ${exec_prefix}
429 test "x$prefix" = "xNONE" && prefix="$ac_default_prefix"
430 test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"
432 if test x${libexecdir} = x'${exec_prefix}/libexec'; then
433 EXTHELPERSDIR=${prefix}/libexec/${PACKAGE}/ext.d
434 elif test x${libexecdir} = x'${exec_prefix}/lib'; then
435 EXTHELPERSDIR=${prefix}/lib/${PACKAGE}/ext.d
437 EXTHELPERSDIR=${libexecdir}/${PACKAGE}/ext.d
439 AC_SUBST(EXTHELPERSDIR)
442 dnl ############################################################################
444 dnl ############################################################################
446 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
449 dnl Determine which help translations we want to install.
450 ALL_DOC_LINGUAS="es hu it pl ru sr"
453 if test "x$USE_NLS" = xyes; then
454 if test -z "$LINGUAS"; then
455 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
463 for h_lang in $ALL_DOC_LINGUAS; do
464 for lang in $langs; do
465 if test "$lang" = "$h_lang"; then
466 DOC_LINGUAS="$DOC_LINGUAS $lang"
471 AC_SUBST(DOC_LINGUAS)
481 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
484 dnl ############################################################################
485 dnl Configure results
486 dnl ############################################################################
488 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
496 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
497 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
498 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
499 AM_CONDITIONAL(USE_EDIT, [test x"$use_edit" = xyes ])
500 AM_CONDITIONAL(USE_ASPELL, [test x"$enable_aspell" = xyes ])
501 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
502 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
503 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
505 AC_DEFINE_UNQUOTED([MC_CONFIGURE_ARGS], ["$ac_configure_args"], [MC configure arguments])
512 chmod +x src/man2hlp/man2hlp
519 contrib/dist/Makefile
520 contrib/dist/gentoo/Makefile
521 contrib/dist/redhat/Makefile
522 contrib/dist/redhat/mc.spec
524 contrib/dist/prototype
533 misc/macros.d/Makefile
537 src/consaver/Makefile
541 src/diffviewer/Makefile
542 src/filemanager/Makefile
546 src/vfs/cpio/Makefile
548 src/vfs/extfs/Makefile
549 src/vfs/extfs/helpers/Makefile
550 src/vfs/extfs/helpers/a+
551 src/vfs/extfs/helpers/apt+
552 src/vfs/extfs/helpers/audio
553 src/vfs/extfs/helpers/deb
554 src/vfs/extfs/helpers/deba
555 src/vfs/extfs/helpers/debd
556 src/vfs/extfs/helpers/dpkg+
557 src/vfs/extfs/helpers/iso9660
558 src/vfs/extfs/helpers/hp48+
559 src/vfs/extfs/helpers/lslR
560 src/vfs/extfs/helpers/mailfs
561 src/vfs/extfs/helpers/patchfs
562 src/vfs/extfs/helpers/rpms+
563 src/vfs/extfs/helpers/s3+
564 src/vfs/extfs/helpers/uace
565 src/vfs/extfs/helpers/ualz
566 src/vfs/extfs/helpers/uar
567 src/vfs/extfs/helpers/uarc
568 src/vfs/extfs/helpers/uarj
569 src/vfs/extfs/helpers/uc1541
570 src/vfs/extfs/helpers/ucab
571 src/vfs/extfs/helpers/uha
572 src/vfs/extfs/helpers/ulha
573 src/vfs/extfs/helpers/ulib
574 src/vfs/extfs/helpers/urar
575 src/vfs/extfs/helpers/uzip
576 src/vfs/extfs/helpers/uzoo
578 src/vfs/fish/Makefile
579 src/vfs/fish/helpers/Makefile
581 src/vfs/ftpfs/Makefile
583 src/vfs/sftpfs/Makefile
585 src/vfs/local/Makefile
589 src/vfs/smbfs/Makefile
593 src/vfs/undelfs/Makefile
597 lib/filehighlight/Makefile
598 lib/mcconfig/Makefile
633 if test x$enable_tests != xno; then
637 tests/lib/mcconfig/Makefile
638 tests/lib/search/Makefile
639 tests/lib/vfs/Makefile
641 tests/src/filemanager/Makefile
651 Source code location: ${srcdir}
653 Compiler flags: ${CFLAGS}
654 File system: ${vfs_type}
656 Screen library: ${screen_msg}
657 Mouse support: ${mouse_lib}
658 X11 events support: ${textmode_x11_support}
659 With subshell support: ${subshell}
660 With background operations: ${enable_background}
661 Internal editor: ${edit_msg}
662 Diff viewer: ${diff_msg}
663 Support for charset: ${charset_msg}
664 Search type: ${SEARCH_TYPE}