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 ############################################################################
150 dnl X11 support. Used to read keyboard modifiers when running under X11.
154 dnl ############################################################################
155 dnl Check for header files
156 dnl ############################################################################
158 AC_CHECK_HEADERS([string.h memory.h limits.h malloc.h \
159 utime.h sys/statfs.h sys/vfs.h \
160 sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
161 sys/socket.h sys/sysmacros.h sys/mkdev.h])
165 dnl ############################################################################
167 dnl ############################################################################
169 dnl Check largefile before type sizeof checks
172 AC_CHECK_SIZEOF(long)
174 AC_CHECK_SIZEOF(uintmax_t)
176 AC_CHECK_SIZEOF(off_t)
182 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
184 AH_TEMPLATE([sig_atomic_t],
185 [/* Define to `int' if <signal.h> doesn't define.])
186 AH_TEMPLATE([SIG_ATOMIC_VOLATILE_T],
187 [Some systems declare sig_atomic_t as volatile, some others -- no.
188 This define will have value `sig_atomic_t' or
189 `volatile sig_atomic_t' accordingly.])
191 AC_MSG_CHECKING(for sig_atomic_t in signal.h)
192 AC_EGREP_HEADER(sig_atomic_t,signal.h,
194 ac_cv_type_sig_atomic_t=yes;
195 AC_EGREP_HEADER(volatile.*sig_atomic_t,
198 is_sig_atomic_t_volatile=yes;
199 AC_MSG_RESULT([yes, volatile])
202 is_sig_atomic_t_volatile=no;
203 AC_MSG_RESULT([yes, non volatile])
208 AC_CHECK_TYPE(sig_atomic_t, int)
209 is_sig_atomic_t_volatile=no
211 if test $is_sig_atomic_t_volatile = 'yes'
213 AC_DEFINE(SIG_ATOMIC_VOLATILE_T, sig_atomic_t)
215 AC_DEFINE(SIG_ATOMIC_VOLATILE_T, [volatile sig_atomic_t])
219 dnl ############################################################################
220 dnl Check for functions
221 dnl ############################################################################
229 dnl getpt is a GNU Extension (glibc 2.1.x)
230 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
231 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
233 dnl replacing lstat with statlstat on sco makes it more portable between
235 AC_CHECK_FUNCS(statlstat)
237 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
238 dnl We use only part of the functionality of mmap, so on AIX,
239 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
241 AS_HELP_STRING([--with-mmap], [Use the mmap call @<:@yes if found@:>@]))
242 if test x$with_mmap != xno; then
243 if test x$with_mmap = x; then
246 AC_DEFINE(HAVE_MMAP, 1)
250 dnl Sequent wants getprocessstats
251 AC_CHECK_LIB(seq, get_process_stats, [
253 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
254 [Define if you have function `get_process_stats' and
255 have to use that instead of gettimeofday])])
260 dnl ############################################################################
261 dnl Internationalization
262 dnl ############################################################################
264 AM_GNU_GETTEXT(no-libtool, need-ngettext)
265 AM_GNU_GETTEXT_VERSION(0.14.3)
269 dnl ############################################################################
270 dnl OS specific flags
271 dnl ############################################################################
277 AC_DEFINE(_POSIX_SOURCE)
281 dnl If running under AIX, AC_AIX does not tell us that
282 AC_MSG_CHECKING([for AIX defines])
285 #if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
290 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
297 dnl Check if the OS is supported by the console saver.
304 dnl Check for gpm mouse support (Linux only)
305 mouse_lib="xterm only"
306 AC_ARG_WITH([gpm-mouse],
307 AS_HELP_STRING([--with-gpm-mouse], [Compile with gpm mouse support (Linux only) @<:@yes if found@:>@]))
311 if test x$with_gpm_mouse != xno; then
312 AC_CHECK_LIB(gpm, Gpm_Repeat,
313 [AC_DEFINE(HAVE_LIBGPM, 1,
314 [Define to enable gpm mouse support on Linux])
315 mouse_lib="gpm and xterm"
316 MCLIBS="$MCLIBS -lgpm -ltinfo"],
317 if test "x$with_gpm_mouse" = "xyes"; then
318 [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
320 [AC_MSG_WARN([libgpm is missing or older than 0.18])]
328 dnl ############################################################################
330 dnl ############################################################################
332 LIBMC_VERSION="0.0.1"
334 AC_SUBST(LIBMC_VERSION)
335 AC_SUBST(LIBMC_RELEASE)
337 AC_ARG_ENABLE([mclib],
338 [AS_HELP_STRING([--enable-mclib], [Compile shared library libmc.so @<:@no@:>@])],
340 if test "x$enableval" = "xno" ; then
343 if test "x$enable_shared" = "xno" ; then
344 AC_MSG_WARN([Build of shared library is disabled. Specify --enable-shared first])
353 AM_CONDITIONAL([ENABLE_MCLIB], [test x$enable_mclib = xyes])
356 dnl ############################################################################
357 dnl Where config files should be placed
358 dnl ############################################################################
360 AC_ARG_WITH([homedir],
361 AS_HELP_STRING([--with-homedir],
362 [Choose any place of user settings relative to home dir, or XDG for respect XDG standards @<:@XDG@:>@]),
364 if test "x$withval" = "xXDG"; then
367 with_homedir=$withval
373 if test x$with_homedir = xXDG; then
374 AC_DEFINE(MC_HOMEDIR_XDG, 1,
375 [Define to enable XDG standard support])
377 AC_DEFINE_UNQUOTED([MC_USERCONF_DIR], ["$with_homedir"], [Where configs will be placed relative to $HOME])
381 dnl ############################################################################
383 dnl ############################################################################
385 MC_WITH_INTERNAL_EDIT
387 dnl Diff viewer support.
388 AC_ARG_WITH([diff_viewer],
389 AS_HELP_STRING([--with-diff-viewer], [Compile with diff viewer @<:@yes@:>@]))
391 if test x$with_diff_viewer != xno; then
392 AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
395 AC_MSG_NOTICE([using diff viewer])
404 dnl ############################################################################
406 dnl ############################################################################
408 dnl ${prefix} and ${exec_prefix} are undefined here if --prefix is not used in command line
409 dnl Let define ${prefix} and ${exec_prefix}
410 test "x$prefix" = "xNONE" && prefix="$ac_default_prefix"
411 test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"
413 if test x${libexecdir} = x'${exec_prefix}/libexec'; then
414 EXTHELPERSDIR=${prefix}/libexec/${PACKAGE}/ext.d
415 elif test x${libexecdir} = x'${exec_prefix}/lib'; then
416 EXTHELPERSDIR=${prefix}/lib/${PACKAGE}/ext.d
418 EXTHELPERSDIR=${libexecdir}/${PACKAGE}/ext.d
420 AC_SUBST(EXTHELPERSDIR)
423 dnl ############################################################################
425 dnl ############################################################################
427 MAN_DATE="$(LC_ALL=C date "+%B %Y")"
430 dnl Determine which help translations we want to install.
431 ALL_DOC_LINGUAS="es hu it pl ru sr"
434 if test "x$USE_NLS" = xyes; then
435 if test -z "$LINGUAS"; then
436 langs="`grep -v '^#' $srcdir/po/LINGUAS`"
444 for h_lang in $ALL_DOC_LINGUAS; do
445 for lang in $langs; do
446 if test "$lang" = "$h_lang"; then
447 DOC_LINGUAS="$DOC_LINGUAS $lang"
452 AC_SUBST(DOC_LINGUAS)
462 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
465 dnl ############################################################################
466 dnl Configure results
467 dnl ############################################################################
469 CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
477 AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
478 AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
479 AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
480 AM_CONDITIONAL(USE_INTERNAL_EDIT, [test x"$use_internal_edit" = xyes ])
481 AM_CONDITIONAL(USE_ASPELL, [test x"$enable_aspell" = xyes ])
482 AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
483 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
484 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
486 AC_DEFINE_UNQUOTED([MC_CONFIGURE_ARGS], ["$ac_configure_args"], [MC configure arguments])
493 chmod +x src/man2hlp/man2hlp
500 contrib/dist/Makefile
501 contrib/dist/gentoo/Makefile
502 contrib/dist/redhat/Makefile
503 contrib/dist/redhat/mc.spec
505 contrib/dist/prototype
514 misc/macros.d/Makefile
518 src/consaver/Makefile
522 src/diffviewer/Makefile
523 src/filemanager/Makefile
527 src/vfs/cpio/Makefile
529 src/vfs/extfs/Makefile
530 src/vfs/extfs/helpers/Makefile
531 src/vfs/extfs/helpers/a+
532 src/vfs/extfs/helpers/apt+
533 src/vfs/extfs/helpers/audio
534 src/vfs/extfs/helpers/deb
535 src/vfs/extfs/helpers/deba
536 src/vfs/extfs/helpers/debd
537 src/vfs/extfs/helpers/dpkg+
538 src/vfs/extfs/helpers/iso9660
539 src/vfs/extfs/helpers/hp48+
540 src/vfs/extfs/helpers/lslR
541 src/vfs/extfs/helpers/mailfs
542 src/vfs/extfs/helpers/patchfs
543 src/vfs/extfs/helpers/rpms+
544 src/vfs/extfs/helpers/s3+
545 src/vfs/extfs/helpers/uace
546 src/vfs/extfs/helpers/ualz
547 src/vfs/extfs/helpers/uar
548 src/vfs/extfs/helpers/uarc
549 src/vfs/extfs/helpers/uarj
550 src/vfs/extfs/helpers/uc1541
551 src/vfs/extfs/helpers/ucab
552 src/vfs/extfs/helpers/uha
553 src/vfs/extfs/helpers/ulha
554 src/vfs/extfs/helpers/ulib
555 src/vfs/extfs/helpers/urar
556 src/vfs/extfs/helpers/uzip
557 src/vfs/extfs/helpers/uzoo
559 src/vfs/fish/Makefile
560 src/vfs/fish/helpers/Makefile
562 src/vfs/ftpfs/Makefile
564 src/vfs/sftpfs/Makefile
566 src/vfs/local/Makefile
570 src/vfs/smbfs/Makefile
574 src/vfs/undelfs/Makefile
578 lib/filehighlight/Makefile
579 lib/mcconfig/Makefile
595 doc/hints/l10n/Makefile
617 if test x$enable_tests != xno; then
621 tests/lib/mcconfig/Makefile
622 tests/lib/search/Makefile
623 tests/lib/strutil/Makefile
624 tests/lib/vfs/Makefile
625 tests/lib/widget/Makefile
627 tests/src/filemanager/Makefile
628 tests/src/editor/Makefile
629 tests/src/editor/test-data.txt
639 Source code location: ${srcdir}
641 Compiler flags: ${CFLAGS}
642 File system: ${vfs_type}
644 Screen library: ${screen_msg}
645 Mouse support: ${mouse_lib}
646 X11 events support: ${textmode_x11_support}
647 With subshell support: ${subshell}
648 With background operations: ${enable_background}
649 Internal editor: ${edit_msg}
650 Diff viewer: ${diff_msg}
651 Support for charset: ${charset_msg}
652 Search type: ${SEARCH_TYPE}