2 dnl Configure.in file for the Midnight Commander
5 AC_INIT([GNU Midnight Commander], [], [mc-devel@gnome.org])
7 AC_CONFIG_SRCDIR(src/main.c)
8 AC_CONFIG_AUX_DIR(config)
9 AM_INIT_AUTOMAKE(mc, 4.6.0-pre3a)
11 AM_CONFIG_HEADER(config.h)
23 dnl First try glib 2.x. If it's not found, use glib 1.2.x.
24 dnl Keep this check close to the beginning, so that the users
25 dnl without any glib won't have their time wasted by other checks.
28 PKG_CHECK_MODULES(GLIB, [glib-2.0], , [glib_found=no])
30 dnl Fall back to glib-1.2, don't use pkgconfig to find it.
31 if test "x$glib_found" = "xno" ; then
32 dnl This temporary variable is a workaround for a bug in Autoconf-2.53
33 glib_path=$PATH:/usr/local/bin
35 dnl Klugde for FreeBSD, where glib-config is renamed to glib12-config.
36 AC_PATH_PROGS([GLIB_CONFIG], [glib-config glib12-config],,[$glib_path])
38 AC_ARG_VAR([GLIB_CONFIG], [Path to glib-config (version 1.2.x only)])
39 AM_PATH_GLIB(1.2.6,,[AC_MSG_ERROR([Test for glib failed.
40 GNU Midnight Commander requires glib 1.2.6 or above.])])
49 AC_CHECK_TOOL(AR, ar, ar)
51 dnl Only list browsers here that can be run in background (i.e. with `&')
52 AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla konqueror opera netscape])
55 dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
56 dnl We use only part of the functionality of mmap, so on AIX,
57 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
60 [ --with-mmap Force using the mmap call (only useful on AIX)],
63 ac_cv_func_mmap_fixed_mapped=yes
64 AC_MSG_NOTICE([forcing MMAP support])
67 ac_cv_func_mmap_fixed_mapped=no
68 AC_MSG_NOTICE([disabling MMAP support])
73 ALL_LINGUAS="az be bg ca cs da de el es eu fi fr hu it ja ko lv \
74 nl no pl pt pt_BR ro ru sk sl sv uk ta tr wa zh_CN zh_TW"
77 dnl Internationalization
80 AM_GNU_GETTEXT_VERSION(0.11.5)
82 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
83 CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
86 dnl Determine which help translations we want to install.
87 ALL_DOC_LINGUAS="es hu it pl ru"
90 if test "x$USE_NLS" = xyes; then
91 langs="${LINGUAS-$ALL_LINGUAS}"
96 for h_lang in $ALL_DOC_LINGUAS; do
97 for lang in $langs; do
98 if test "$lang" = "$h_lang"; then
99 DOC_LINGUAS="$DOC_LINGUAS $lang"
104 AC_SUBST(DOC_LINGUAS)
107 dnl Hack to make extraconf.h visible even if compiling outside srcdir.
109 CPPFLAGS="$CPPFLAGS -I\$(top_srcdir)"
112 dnl Enforce coding standards
114 if test "x$GCC" = xyes; then
115 CFLAGS="$CFLAGS -Wall"
119 dnl OS specific flags.
125 AC_DEFINE(_POSIX_SOURCE)
128 AC_DEFINE(SCO_FLAVOR, 1, [Define if you want to turn on SCO-specific code])
129 AC_DEFINE(_SVID3, 1, [Needs to be defined on SCO])
135 AC_CHECK_HEADERS([unistd.h string.h memory.h grp.h limits.h malloc.h \
136 stdlib.h termios.h utime.h fcntl.h pwd.h sys/statfs.h sys/time.h \
137 sys/timeb.h sys/select.h sys/ioctl.h stropts.h arpa/inet.h])
144 dnl Missing structure components
150 dnl Check availability of some functions
153 AC_CHECK_FUNCS([strerror statfs strftime \
154 memmove truncate initgroups putenv \
155 memset memcpy tcsetattr tcgetattr cfgetospeed \
156 sigaction sigemptyset sigprocmask sigaddset \
157 sysconf setuid setreuid telldir seekdir])
160 dnl getpt is a GNU Extension (glibc 2.1.x)
162 AC_CHECK_FUNCS(getpt)
163 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
165 dnl replacing lstat with statlstat on sco makes it more portable between
167 AC_CHECK_FUNCS(statlstat)
170 dnl If running under AIX, AC_AIX does not tell us that
172 AC_MSG_CHECKING([for AIX defines])
174 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
178 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
180 ], [AC_MSG_RESULT(no)])
183 dnl This is from GNU fileutils, check aclocal.m4 for more information
188 dnl Missing typedefs and replacements
192 AC_CHECK_TYPE(umode_t, int)
193 AC_CHECK_TYPE(off_t, long)
196 AC_CHECK_TYPE(nlink_t, unsigned int)
198 dnl This is needed for regex.c only
199 AC_CHECK_TYPE(uintptr_t,
200 [AC_DEFINE(HAVE_UINTPTR_T, 1,
201 [Define if you have the `uintptr_t' type.])
209 dnl Used to read keyboard modifiers when running under X11.
213 if test "x$no_x" = xyes; then
214 textmode_x11_support="no"
216 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
217 MCLIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
218 AC_DEFINE(HAVE_TEXTMODE_X11_SUPPORT, 1,
219 [Define to enable getting events from X Window System])
220 textmode_x11_support="yes"
224 dnl Network related functions
227 AC_CHECK_LIB(nsl, t_accept)
228 AC_CHECK_LIB(socket, socket)
231 AC_CHECK_FUNCS(socket, have_socket=yes)
232 if test $have_socket = no; then
233 # socket is not in the default libraries. See if it's in some other.
234 for lib in bsd socket inet; do
235 AC_CHECK_LIB($lib, socket, [
238 AC_DEFINE(HAVE_SOCKET)
243 have_gethostbyname=no
244 AC_CHECK_FUNC(gethostbyname, [have_gethostbyname=yes])
245 if test $have_gethostbyname = no; then
246 # gethostbyname is not in the default libraries. See if it's in some other.
247 for lib in bsd socket inet; do
248 AC_CHECK_LIB([$lib], [gethostbyname],
249 [LIBS="$LIBS -l$lib"; have_gethostbyname=yes; break])
253 AC_CHECK_FUNCS(socketpair)
256 dnl Sequent wants getprocessstats
258 AC_CHECK_LIB(seq, get_process_stats, [
260 AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
261 [Define if you have function `get_process_stats' and
262 have to use that instead of gettimeofday])])
267 if test x$use_vfs = xyes; then
268 AC_MSG_NOTICE([enabling VFS code])
269 vfs_type="Midnight Commander Virtual File System"
273 dnl Check for gpm mouse support (Linux only)
275 mouse_lib="xterm only"
276 AC_ARG_WITH(gpm-mouse,
277 [ --with-gpm-mouse Compile with gpm mouse support (Linux only)
282 if test x$with_gpm_mouse != xno; then
283 AC_CHECK_LIB(gpm, Gpm_Repeat,
284 [AC_DEFINE(HAVE_LIBGPM, 1,
285 [Define to enable gpm mouse support on Linux])
286 mouse_lib="gpm and xterm"
287 MCLIBS="$MCLIBS -lgpm"],
288 [AC_MSG_WARN([libgpm is missing or older than 0.18])
295 dnl Check nroff and the options it supports
297 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
304 AC_MSG_CHECKING([for manual formatting macros])
305 AC_CACHE_VAL(ac_cv_mandoc, [
306 nroff -mandoc < /dev/null > /dev/null 2>&1
314 AC_MSG_RESULT([$MANDOC])
316 AC_MSG_CHECKING([for option to disable ANSI color in manuals])
317 AC_CACHE_VAL(ac_cv_man_nocolor, [
318 nroff -c < /dev/null > /dev/null 2>&1
325 MAN_FLAGS=$ac_cv_man_nocolor
326 AC_MSG_RESULT([${MAN_NOCOLOR-none}])
328 AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
329 AC_CACHE_VAL(ac_cv_nroff_tascii, [
331 nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
333 ac_cv_nroff_tascii=-Tlatin1
335 nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
337 ac_cv_nroff_tascii=-Tascii
341 AC_MSG_RESULT([${ac_cv_nroff_tascii-no}])
342 MAN_FLAGS="$MAN_FLAGS $ac_cv_nroff_tascii"
350 dnl Check for - option to file
352 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
353 if $HAVE_FILECMD; then
354 AC_MSG_CHECKING([for - option to file command])
355 AC_CACHE_VAL(ac_cv_filestdin, [[
356 cat > conftest.c <<\EOF
363 cat > conftest.sed <<\EOF
367 filehyphen_1=`file conftest.c 2>/dev/null | sed -f conftest.sed`
368 filehyphen_2=`cat conftest.c | file - 2>/dev/null | sed -f conftest.sed`
369 if test "x$filehyphen_1" = "x$filehyphen_2"; then
374 rm conftest.c conftest.sed
377 if test x$ac_cv_filestdin = xyes; then
378 AC_DEFINE(FILE_STDIN, 1,
379 [Define if the file command accepts - for stdin])
381 filestdin=$ac_cv_filestdin
382 AC_MSG_RESULT([$filestdin])
385 dnl Check for -L option to file
388 AC_MSG_CHECKING([for -L option to file command])
389 AC_CACHE_VAL(ac_cv_filel, [
390 file -L . > /dev/null 2>&1
398 if test x$ac_cv_filel = xyes; then
399 AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
402 AC_MSG_RESULT([$filel])
406 AC_MSG_CHECKING([for subshell support])
407 AC_ARG_WITH(subshell,
408 [ --with-subshell Compile in concurrent subshell [[yes]]
409 --with-subshell=optional Don't run concurrent shell by default [[no]]],
411 if test x$withval = xoptional
413 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
414 [Define to make subshell support optional])
417 if test x$withval = xyes
421 [dnl Default: enable the subshell support
424 if test "x$result" != xno; then
425 AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
426 [Define to enable subshell support])
428 AC_MSG_RESULT([$result])
433 dnl Select the screen library. mcslang is the included S-Lang library.
436 [ --with-screen=LIB Compile with screen library: slang, mcslang or
437 ncurses [[slang if found, else mcslang]]])
439 case x$with_screen in
441 MC_WITH_SLANG(strict)
453 AC_MSG_ERROR([Value of the screen library is incorrect])
459 dnl Force using termcap. This option is processed in MC_WITH_MCSLANG.
460 dnl Report an error if this option is not applicable.
463 [ --with-termcap Try using termcap database [[only if no terminfo]]],
464 [if test x$with_screen != xmcslang; then
465 AC_MSG_ERROR([Option `--with-termcap' only works with `--with-screen=mcslang'])
471 dnl Internal editor support.
474 [ --with-edit Enable internal editor [[yes]]])
476 if test x$with_edit != xno; then
477 AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
480 AC_MSG_NOTICE([using internal editor])
486 if test $use_vfs = yes; then
487 AC_ARG_WITH(ext2undel,
488 [ --with-ext2undel Compile with ext2 undelete code [[yes if found]]],
489 [if test x$withval != xno; then
490 if test x$withval != xyes; then
491 LDFLAGS="$LDFLAGS -L$withval/lib"
492 CPPFLAGS="$CPPFLAGS -I$withval/include"
497 AC_CHECK_LIB(ext2fs, ext2fs_close, [AC_EXT2_UNDEL], , [-lcom_err])
502 dnl Check if the OS is supported by the console saver.
511 dnl User visible support for charset conversion.
513 AC_ARG_ENABLE([charset],
514 [ --enable-charset Support for charset selection and conversion [[no]]])
516 if test "x$enable_charset" = xyes; then
517 if test "x$am_cv_func_iconv" != xyes; then
518 AC_MSG_WARN([Cannot enable charset support because iconv function is missing])
520 AC_DEFINE(HAVE_CHARSET, 1,
521 [Define to enable charset selection and conversion])
526 if test "$GLIBC21" != yes; then
527 AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
535 dnl Libraries used only when building the mc binary
538 dnl Version for the RedHat package, without dashes
539 RPM_VERSION=`echo $VERSION | sed 's/-//g'`
540 AC_SUBST(RPM_VERSION)
542 if test -n "$use_smbfs"; then
543 AC_CONFIG_SUBDIRS([vfs/samba])
546 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
547 AM_CONDITIONAL(USE_VFS, [test "x$use_vfs" = xyes])
548 AM_CONDITIONAL(USE_VFS_NET, [test x"$use_net_code" = xtrue])
549 AM_CONDITIONAL(USE_UNDEL_FS, [test -n "$use_undelfs"])
550 AM_CONDITIONAL(USE_SAMBA_FS, [test -n "$use_smbfs"])
551 AM_CONDITIONAL(USE_MCFS, [test -n "$use_mcfs"])
552 AM_CONDITIONAL(INCLUDED_SLANG, [test "x$with_screen" = xmcslang])
553 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
554 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
556 AH_BOTTOM([#include <extraconf.h>])
594 doc/mc.1 doc/mcedit.1 doc/mcview.1 doc/mcserv.8
595 doc/es/mc.1 doc/es/Makefile
596 doc/hu/mc.1 doc/hu/Makefile
597 doc/it/mc.1 doc/it/Makefile
598 doc/pl/mc.1 doc/pl/Makefile
599 doc/ru/mc.1 doc/ru/Makefile
610 Source code location: ${srcdir}
612 Compiler flags: ${CFLAGS}
613 File system: ${vfs_type}
615 Screen library: ${screen_msg}
616 Mouse support: ${mouse_lib}
617 X11 events support: ${textmode_x11_support}
618 With subshell support: ${subshell}
619 Internal editor: ${edit_msg}