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])
189 AH_TEMPLATE([sig_atomic_t],
190 [/* Define to `int' if <signal.h> doesn't define.])
191 AH_TEMPLATE([SIG_ATOMIC_VOLATILE_T],
192 [Some systems declare sig_atomic_t as volatile, some others -- no.
193 This define will have value `sig_atomic_t' or
194 `volatile sig_atomic_t' accordingly.])
196 AC_MSG_CHECKING(for sig_atomic_t in signal.h)
197 AC_EGREP_HEADER(sig_atomic_t,signal.h,
199 ac_cv_type_sig_atomic_t=yes;
200 AC_EGREP_HEADER(volatile.*sig_atomic_t,
203 is_sig_atomic_t_volatile=yes;
204 AC_MSG_RESULT([yes, volatile])
207 is_sig_atomic_t_volatile=no;
208 AC_MSG_RESULT([yes, non volatile])
213 AC_CHECK_TYPE(sig_atomic_t, int)
214 is_sig_atomic_t_volatile=no
216 if test $is_sig_atomic_t_volatile = 'yes'
218 AC_DEFINE(SIG_ATOMIC_VOLATILE_T, sig_atomic_t)
220 AC_DEFINE(SIG_ATOMIC_VOLATILE_T, [volatile sig_atomic_t])
224 dnl ############################################################################
225 dnl Check for functions
226 dnl ############################################################################
232 tcgetattr tcsetattr \
240 dnl getpt is a GNU Extension (glibc 2.1.x)
241 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
242 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
244 dnl replacing lstat with statlstat on sco makes it more portable between
246 AC_CHECK_FUNCS(statlstat)
248 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
249 dnl We use only part of the functionality of mmap, so on AIX,
250 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
252 AS_HELP_STRING([--with-mmap], [Use the mmap call @<:@yes if found@:>@]))
253 if test x$with_mmap != xno; then
254 if test x$with_mmap = x; then
257 AC_DEFINE(HAVE_MMAP, 1)
261 dnl Sequent wants getprocessstats
262 AC_CHECK_LIB(seq, get_process_stats, [
264 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
265 [Define if you have function `get_process_stats' and
266 have to use that instead of gettimeofday])])
271 dnl ############################################################################
272 dnl Internationalization
273 dnl ############################################################################
275 AM_GNU_GETTEXT(no-libtool, need-ngettext)
276 AM_GNU_GETTEXT_VERSION(0.14.3)
278 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
279 CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
282 dnl User visible support for charset conversion.
283 AC_ARG_ENABLE([charset],
284 AS_HELP_STRING([--enable-charset], [Support for charset selection and conversion @<:@yes@:>@]))
287 if test "x$enable_charset" != "xno"; then
288 AC_DEFINE(HAVE_CHARSET, 1, [Define to enable charset selection and conversion])
294 dnl ############################################################################
295 dnl OS specific flags
296 dnl ############################################################################
304 AC_DEFINE(_POSIX_SOURCE)
308 dnl If running under AIX, AC_AIX does not tell us that
309 AC_MSG_CHECKING([for AIX defines])
312 #if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
317 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
324 dnl Check if the OS is supported by the console saver.
331 dnl Check for gpm mouse support (Linux only)
332 mouse_lib="xterm only"
333 AC_ARG_WITH([gpm-mouse],
334 AS_HELP_STRING([--with-gpm-mouse], [Compile with gpm mouse support (Linux only) @<:@yes if found@:>@]))
338 if test x$with_gpm_mouse != xno; then
339 AC_CHECK_LIB(gpm, Gpm_Repeat,
340 [AC_DEFINE(HAVE_LIBGPM, 1,
341 [Define to enable gpm mouse support on Linux])
342 mouse_lib="gpm and xterm"
343 MCLIBS="$MCLIBS -lgpm"],
344 if test "x$with_gpm_mouse" = "xyes"; then
345 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
347 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
355 dnl ############################################################################
357 dnl ############################################################################
359 LIBMC_VERSION="0.0.1"
361 AC_SUBST(LIBMC_VERSION)
362 AC_SUBST(LIBMC_RELEASE)
364 AC_ARG_ENABLE([mclib],
365 [AS_HELP_STRING([--enable-mclib], [Compile shared library libmc.so @<:@no@:>@])],
367 if test "x$enableval" = "xno" ; then
370 if test "x$enable_shared" = "xno" ; then
371 AC_MSG_WARN([Build of shared library is disabled. Specify --enable-shared first])
380 AM_CONDITIONAL([ENABLE_MCLIB], [test x$enable_mclib = xyes])
383 dnl ############################################################################
384 dnl Where config files should be placed
385 dnl ############################################################################
387 AC_ARG_WITH([homedir],
388 AS_HELP_STRING([--with-homedir],
389 [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
391 if test "x$withval" = "xXDG"; then
394 with_homedir=$withval
400 if test x$with_homedir = xXDG; then
401 AC_DEFINE(MC_HOMEDIR_XDG, 1,
402 [Define to enable XDG standard support])
404 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
408 dnl ############################################################################
410 dnl ############################################################################
414 dnl Diff viewer support.
415 AC_ARG_WITH([diff_viewer],
416 AS_HELP_STRING([--with-diff-viewer], [Compile with diff viewer @<:@yes@:>@]))
418 if test x$with_diff_viewer != xno; then
419 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
422 AC_MSG_NOTICE([using diff viewer])
431 dnl ############################################################################
433 dnl ############################################################################
435 dnl ${prefix} and ${exec_prefix} are undefined here if --prefix is not used in command line
436 dnl Let define ${prefix} and ${exec_prefix}
437 test "x$prefix" = "xNONE" && prefix="$ac_default_prefix"
438 test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"
440 if test x${libexecdir} = x'${exec_prefix}/libexec'; then
441 EXTHELPERSDIR=${prefix}/libexec/${PACKAGE}/ext.d
442 elif test x${libexecdir} = x'${exec_prefix}/lib'; then
443 EXTHELPERSDIR=${prefix}/lib/${PACKAGE}/ext.d
445 EXTHELPERSDIR=${libexecdir}/${PACKAGE}/ext.d
447 AC_SUBST(EXTHELPERSDIR)
450 dnl ############################################################################
452 dnl ############################################################################
454 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
457 dnl Determine which help translations we want to install.
458 ALL_DOC_LINGUAS="es hu it pl ru sr"
461 if test "x$USE_NLS" = xyes; then
462 if test -z "$LINGUAS"; then
463 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
471 for h_lang in $ALL_DOC_LINGUAS; do
472 for lang in $langs; do
473 if test "$lang" = "$h_lang"; then
474 DOC_LINGUAS="$DOC_LINGUAS $lang"
479 AC_SUBST(DOC_LINGUAS)
489 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
492 dnl ############################################################################
493 dnl Configure results
494 dnl ############################################################################
496 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
504 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
505 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
506 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
507 AM_CONDITIONAL(USE_EDIT, [test x"$use_edit" = xyes ])
508 AM_CONDITIONAL(USE_ASPELL, [test x"$enable_aspell" = xyes ])
509 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
510 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
511 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
513 AC_DEFINE_UNQUOTED([MC_CONFIGURE_ARGS], ["$ac_configure_args"], [MC configure arguments])
520 chmod +x src/man2hlp/man2hlp
527 contrib/dist/Makefile
528 contrib/dist/gentoo/Makefile
529 contrib/dist/redhat/Makefile
530 contrib/dist/redhat/mc.spec
532 contrib/dist/prototype
541 misc/macros.d/Makefile
545 src/consaver/Makefile
549 src/diffviewer/Makefile
550 src/filemanager/Makefile
554 src/vfs/cpio/Makefile
556 src/vfs/extfs/Makefile
557 src/vfs/extfs/helpers/Makefile
558 src/vfs/extfs/helpers/a+
559 src/vfs/extfs/helpers/apt+
560 src/vfs/extfs/helpers/audio
561 src/vfs/extfs/helpers/deb
562 src/vfs/extfs/helpers/deba
563 src/vfs/extfs/helpers/debd
564 src/vfs/extfs/helpers/dpkg+
565 src/vfs/extfs/helpers/iso9660
566 src/vfs/extfs/helpers/hp48+
567 src/vfs/extfs/helpers/lslR
568 src/vfs/extfs/helpers/mailfs
569 src/vfs/extfs/helpers/patchfs
570 src/vfs/extfs/helpers/rpms+
571 src/vfs/extfs/helpers/s3+
572 src/vfs/extfs/helpers/uace
573 src/vfs/extfs/helpers/ualz
574 src/vfs/extfs/helpers/uar
575 src/vfs/extfs/helpers/uarc
576 src/vfs/extfs/helpers/uarj
577 src/vfs/extfs/helpers/uc1541
578 src/vfs/extfs/helpers/ucab
579 src/vfs/extfs/helpers/uha
580 src/vfs/extfs/helpers/ulha
581 src/vfs/extfs/helpers/ulib
582 src/vfs/extfs/helpers/urar
583 src/vfs/extfs/helpers/uzip
584 src/vfs/extfs/helpers/uzoo
586 src/vfs/fish/Makefile
587 src/vfs/fish/helpers/Makefile
589 src/vfs/ftpfs/Makefile
591 src/vfs/sftpfs/Makefile
593 src/vfs/local/Makefile
597 src/vfs/smbfs/Makefile
601 src/vfs/undelfs/Makefile
605 lib/filehighlight/Makefile
606 lib/mcconfig/Makefile
641 if test x$enable_tests != xno; then
645 tests/lib/mcconfig/Makefile
646 tests/lib/search/Makefile
647 tests/lib/vfs/Makefile
649 tests/src/filemanager/Makefile
659 Source code location: ${srcdir}
661 Compiler flags: ${CFLAGS}
662 File system: ${vfs_type}
664 Screen library: ${screen_msg}
665 Mouse support: ${mouse_lib}
666 X11 events support: ${textmode_x11_support}
667 With subshell support: ${subshell}
668 With background operations: ${enable_background}
669 Internal editor: ${edit_msg}
670 Diff viewer: ${diff_msg}
671 Support for charset: ${charset_msg}
672 Search type: ${SEARCH_TYPE}