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([string.h memory.h limits.h malloc.h \
160 utime.h sys/statfs.h sys/vfs.h \
161 sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
167 dnl ############################################################################
169 dnl ############################################################################
171 dnl Check largefile before type sizeof checks
174 AC_CHECK_SIZEOF(long)
176 AC_CHECK_SIZEOF(uintmax_t)
178 AC_CHECK_SIZEOF(off_t)
184 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
186 AH_TEMPLATE([sig_atomic_t],
187 [/* Define to `int' if <signal.h> doesn't define.])
188 AH_TEMPLATE([SIG_ATOMIC_VOLATILE_T],
189 [Some systems declare sig_atomic_t as volatile, some others -- no.
190 This define will have value `sig_atomic_t' or
191 `volatile sig_atomic_t' accordingly.])
193 AC_MSG_CHECKING(for sig_atomic_t in signal.h)
194 AC_EGREP_HEADER(sig_atomic_t,signal.h,
196 ac_cv_type_sig_atomic_t=yes;
197 AC_EGREP_HEADER(volatile.*sig_atomic_t,
200 is_sig_atomic_t_volatile=yes;
201 AC_MSG_RESULT([yes, volatile])
204 is_sig_atomic_t_volatile=no;
205 AC_MSG_RESULT([yes, non volatile])
210 AC_CHECK_TYPE(sig_atomic_t, int)
211 is_sig_atomic_t_volatile=no
213 if test $is_sig_atomic_t_volatile = 'yes'
215 AC_DEFINE(SIG_ATOMIC_VOLATILE_T, sig_atomic_t)
217 AC_DEFINE(SIG_ATOMIC_VOLATILE_T, [volatile sig_atomic_t])
221 dnl ############################################################################
222 dnl Check for functions
223 dnl ############################################################################
231 dnl getpt is a GNU Extension (glibc 2.1.x)
232 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
233 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
235 dnl replacing lstat with statlstat on sco makes it more portable between
237 AC_CHECK_FUNCS(statlstat)
239 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
240 dnl We use only part of the functionality of mmap, so on AIX,
241 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
243 AS_HELP_STRING([--with-mmap], [Use the mmap call @<:@yes if found@:>@]))
244 if test x$with_mmap != xno; then
245 if test x$with_mmap = x; then
248 AC_DEFINE(HAVE_MMAP, 1)
252 dnl Sequent wants getprocessstats
253 AC_CHECK_LIB(seq, get_process_stats, [
255 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
256 [Define if you have function `get_process_stats' and
257 have to use that instead of gettimeofday])])
262 dnl ############################################################################
263 dnl Internationalization
264 dnl ############################################################################
266 AM_GNU_GETTEXT(no-libtool, need-ngettext)
267 AM_GNU_GETTEXT_VERSION(0.14.3)
271 dnl ############################################################################
272 dnl OS specific flags
273 dnl ############################################################################
279 AC_DEFINE(_POSIX_SOURCE)
283 dnl If running under AIX, AC_AIX does not tell us that
284 AC_MSG_CHECKING([for AIX defines])
287 #if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
292 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
299 dnl Check if the OS is supported by the console saver.
306 dnl Check for gpm mouse support (Linux only)
307 mouse_lib="xterm only"
308 AC_ARG_WITH([gpm-mouse],
309 AS_HELP_STRING([--with-gpm-mouse], [Compile with gpm mouse support (Linux only) @<:@yes if found@:>@]))
313 if test x$with_gpm_mouse != xno; then
314 AC_CHECK_LIB(gpm, Gpm_Repeat,
315 [AC_DEFINE(HAVE_LIBGPM, 1,
316 [Define to enable gpm mouse support on Linux])
317 mouse_lib="gpm and xterm"
318 MCLIBS="$MCLIBS -lgpm"],
319 if test "x$with_gpm_mouse" = "xyes"; then
320 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
322 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
330 dnl ############################################################################
332 dnl ############################################################################
334 LIBMC_VERSION="0.0.1"
336 AC_SUBST(LIBMC_VERSION)
337 AC_SUBST(LIBMC_RELEASE)
339 AC_ARG_ENABLE([mclib],
340 [AS_HELP_STRING([--enable-mclib], [Compile shared library libmc.so @<:@no@:>@])],
342 if test "x$enableval" = "xno" ; then
345 if test "x$enable_shared" = "xno" ; then
346 AC_MSG_WARN([Build of shared library is disabled. Specify --enable-shared first])
355 AM_CONDITIONAL([ENABLE_MCLIB], [test x$enable_mclib = xyes])
358 dnl ############################################################################
359 dnl Where config files should be placed
360 dnl ############################################################################
362 AC_ARG_WITH([homedir],
363 AS_HELP_STRING([--with-homedir],
364 [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
366 if test "x$withval" = "xXDG"; then
369 with_homedir=$withval
375 if test x$with_homedir = xXDG; then
376 AC_DEFINE(MC_HOMEDIR_XDG, 1, [Define to enable XDG standard support])
378 AC_DEFINE(MC_HOMEDIR_XDG, 0, [Define to disble XDG standard support])
379 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
383 dnl ############################################################################
385 dnl ############################################################################
387 MC_WITH_INTERNAL_EDIT
389 dnl Diff viewer support.
390 AC_ARG_WITH([diff_viewer],
391 AS_HELP_STRING([--with-diff-viewer], [Compile with diff viewer @<:@yes@:>@]))
393 if test x$with_diff_viewer != xno; then
394 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
397 AC_MSG_NOTICE([using diff viewer])
406 dnl ############################################################################
408 dnl ############################################################################
410 dnl ${prefix} and ${exec_prefix} are undefined here if --prefix is not used in command line
411 dnl Let define ${prefix} and ${exec_prefix}
412 test "x$prefix" = "xNONE" && prefix="$ac_default_prefix"
413 test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"
415 if test x${libexecdir} = x'${exec_prefix}/libexec'; then
416 EXTHELPERSDIR=${prefix}/libexec/${PACKAGE}/ext.d
417 elif test x${libexecdir} = x'${exec_prefix}/lib'; then
418 EXTHELPERSDIR=${prefix}/lib/${PACKAGE}/ext.d
420 EXTHELPERSDIR=${libexecdir}/${PACKAGE}/ext.d
422 AC_SUBST(EXTHELPERSDIR)
425 dnl ############################################################################
427 dnl ############################################################################
429 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
432 dnl Determine which help translations we want to install.
433 ALL_DOC_LINGUAS="es hu it pl ru sr"
436 if test "x$USE_NLS" = xyes; then
437 if test -z "$LINGUAS"; then
438 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
446 for h_lang in $ALL_DOC_LINGUAS; do
447 for lang in $langs; do
448 if test "$lang" = "$h_lang"; then
449 DOC_LINGUAS="$DOC_LINGUAS $lang"
454 AC_SUBST(DOC_LINGUAS)
464 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
467 dnl ############################################################################
468 dnl Configure results
469 dnl ############################################################################
471 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
479 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
480 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
481 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
482 AM_CONDITIONAL(USE_INTERNAL_EDIT, [test x"$use_internal_edit" = xyes ])
483 AM_CONDITIONAL(USE_ASPELL, [test x"$enable_aspell" = xyes ])
484 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
485 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
486 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
487 dnl Clarify do we really need GModule
488 AM_CONDITIONAL([HAVE_GMODULE], [test -n "$g_module_supported" && \
489 test x"$textmode_x11_support" = x"yes" -o x"$enable_aspell" = x"yes"])
491 AC_DEFINE_UNQUOTED([MC_CONFIGURE_ARGS], ["$ac_configure_args"], [MC configure arguments])
498 chmod +x src/man2hlp/man2hlp
505 contrib/dist/Makefile
506 contrib/dist/gentoo/Makefile
507 contrib/dist/redhat/Makefile
508 contrib/dist/redhat/mc.spec
510 contrib/dist/prototype
522 misc/macros.d/Makefile
526 src/consaver/Makefile
530 src/diffviewer/Makefile
531 src/filemanager/Makefile
535 src/vfs/cpio/Makefile
537 src/vfs/extfs/Makefile
538 src/vfs/extfs/helpers/Makefile
539 src/vfs/extfs/helpers/a+
540 src/vfs/extfs/helpers/apt+
541 src/vfs/extfs/helpers/audio
542 src/vfs/extfs/helpers/deb
543 src/vfs/extfs/helpers/deba
544 src/vfs/extfs/helpers/debd
545 src/vfs/extfs/helpers/dpkg+
546 src/vfs/extfs/helpers/iso9660
547 src/vfs/extfs/helpers/hp48+
548 src/vfs/extfs/helpers/lslR
549 src/vfs/extfs/helpers/mailfs
550 src/vfs/extfs/helpers/patchfs
551 src/vfs/extfs/helpers/rpms+
552 src/vfs/extfs/helpers/s3+
553 src/vfs/extfs/helpers/uace
554 src/vfs/extfs/helpers/ualz
555 src/vfs/extfs/helpers/uar
556 src/vfs/extfs/helpers/uarc
557 src/vfs/extfs/helpers/uarj
558 src/vfs/extfs/helpers/uc1541
559 src/vfs/extfs/helpers/ucab
560 src/vfs/extfs/helpers/uha
561 src/vfs/extfs/helpers/ulha
562 src/vfs/extfs/helpers/ulib
563 src/vfs/extfs/helpers/urar
564 src/vfs/extfs/helpers/uzip
565 src/vfs/extfs/helpers/uzoo
567 src/vfs/fish/Makefile
568 src/vfs/fish/helpers/Makefile
570 src/vfs/ftpfs/Makefile
572 src/vfs/sftpfs/Makefile
574 src/vfs/local/Makefile
578 src/vfs/smbfs/Makefile
582 src/vfs/undelfs/Makefile
586 lib/filehighlight/Makefile
587 lib/mcconfig/Makefile
603 doc/hints/l10n/Makefile
625 if test x$enable_tests != xno; then
629 tests/lib/mcconfig/Makefile
630 tests/lib/search/Makefile
631 tests/lib/strutil/Makefile
632 tests/lib/vfs/Makefile
633 tests/lib/widget/Makefile
635 tests/src/filemanager/Makefile
636 tests/src/editor/Makefile
637 tests/src/editor/test-data.txt
647 Source code location: ${srcdir}
649 Compiler flags: ${CFLAGS}
650 File system: ${vfs_type}
652 Screen library: ${screen_msg}
653 Mouse support: ${mouse_lib}
654 X11 events support: ${textmode_x11_support}
655 With subshell support: ${subshell}
656 With background operations: ${enable_background}
657 Internal editor: ${edit_msg}
658 Diff viewer: ${diff_msg}
659 Support for charset: ${charset_msg}
660 Search type: ${SEARCH_TYPE}
663 dnl option checking is disable by default due to AC_CONFIG_SUBDIRS
664 dnl we enable it back for top-level ./configure
665 if test -n "$ac_unrecognized_opts"; then
666 case $enable_option_checking in
667 fatal) AC_MSG_ERROR([unrecognized options: $ac_unrecognized_opts]) ;;
668 *) AC_MSG_WARN( [unrecognized options: $ac_unrecognized_opts]) ;;