updated xterm messages due to last src update..
[midnight-commander.git] / configure.in
blobb78051bef455fd28ad906b58de1fcabb36ee8666
1 dnl
2 dnl Configure.in file for the Midnight Commander
3 dnl
5 AC_INIT([GNU Midnight Commander], [], [mc-devel@gnome.org])
6 AC_PREREQ(2.52)
7 AC_CONFIG_SRCDIR(src/main.c)
8 AC_CONFIG_AUX_DIR(config)
9 AM_INIT_AUTOMAKE(mc, 4.6.0-pre2a)
11 AM_CONFIG_HEADER(config.h)
12 AM_MAINTAINER_MODE
14 AC_CANONICAL_HOST
16 AC_AIX
17 AC_MINIX
18 AC_ISC_POSIX
20 AC_PROG_CC_STDC
22 dnl
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.
26 dnl
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.])])
44 AC_HEADER_MAJOR
45 AC_C_CONST
46 AC_SYS_LARGEFILE
48 AC_PROG_LN_S
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])
54 dnl
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.
58 dnl
59 AC_ARG_WITH(mmap, 
60         [  --with-mmap              Force using the mmap call (only useful on AIX)],
61         [case $withval in
62 yes)
63         ac_cv_func_mmap_fixed_mapped=yes
64         AC_MSG_NOTICE([forcing MMAP support])
65         ;;
66 no)
67         ac_cv_func_mmap_fixed_mapped=no
68         AC_MSG_NOTICE([disabling MMAP support])
69         ;;
70 esac])
71 AC_FUNC_MMAP
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"
76 dnl
77 dnl Internationalization
78 dnl
79 AM_GNU_GETTEXT
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"
89 DOC_LINGUAS=
90 if test "x$USE_NLS" = xyes; then
91     langs="${LINGUAS-$ALL_LINGUAS}"
92 else
93     langs=
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"
100             break
101         fi
102     done
103 done
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.
122 posix_libs=""
123 case $host_os in
124 aux*)
125     # A/UX
126     posix_libs="-lposix"
127     AC_DEFINE(_POSIX_SOURCE)
128     ;;
129 sco*)
130     AC_DEFINE(SCO_FLAVOR, 1, [Define if you want to turn on SCO-specific code])
131     AC_DEFINE(_SVID3, 1, [Needs to be defined on SCO])
132     ;;
133 esac
135 AC_PROG_INSTALL
136 AC_CHECK_HEADERS([unistd.h string.h memory.h grp.h limits.h malloc.h \
137         stdlib.h termios.h utime.h fcntl.h pwd.h sys/statfs.h sys/time.h \
138         sys/timeb.h sys/select.h sys/ioctl.h stropts.h arpa/inet.h])
140 AC_HEADER_TIME
141 AC_HEADER_SYS_WAIT
142 AC_HEADER_DIRENT
143 AC_HEADER_STDC
145 dnl Missing structure components
146 AC_STRUCT_ST_BLKSIZE
147 AC_STRUCT_ST_BLOCKS
148 AC_STRUCT_ST_RDEV
151 dnl Check availability of some functions 
152 dnl 
154 AC_CHECK_FUNCS([strerror statfs strftime \
155                 memmove truncate initgroups putenv \
156                 memset memcpy tcsetattr tcgetattr cfgetospeed \
157                 sigaction sigemptyset sigprocmask sigaddset \
158                 sysconf setuid setreuid telldir seekdir])
161 dnl getpt is a GNU Extension (glibc 2.1.x)
163 AC_CHECK_FUNCS(getpt)
164 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
166 dnl replacing lstat with statlstat on sco makes it more portable between
167 dnl sco clones
168 AC_CHECK_FUNCS(statlstat)
171 dnl If running under AIX, AC_AIX does not tell us that
173 AC_MSG_CHECKING([for AIX defines])
174 AC_EGREP_CPP(yes,
175 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
177 #endif
178 ], [
179 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
180 AC_MSG_RESULT(yes)
181 ], [AC_MSG_RESULT(no)])
184 dnl This is from GNU fileutils, check aclocal.m4 for more information
186 AC_GET_FS_INFO
189 dnl Missing typedefs and replacements
190 dnl 
192 AC_TYPE_MODE_T
193 AC_CHECK_TYPE(umode_t, int)
194 AC_CHECK_TYPE(off_t, long)
195 AC_TYPE_PID_T
196 AC_TYPE_UID_T
197 AC_CHECK_TYPE(nlink_t, unsigned int)
199 dnl This is needed for regex.c only
200 AC_CHECK_TYPE(uintptr_t,
201               [AC_DEFINE(HAVE_UINTPTR_T, 1,
202                          [Define if you have the `uintptr_t' type.])
205 AC_FUNC_ALLOCA
206 AC_FUNC_STRCOLL
209 dnl X11 support.
210 dnl Used to read keyboard modifiers when running under X11.
213 AC_PATH_XTRA
214 if test "x$no_x" = xyes; then
215     textmode_x11_support="no"
216 else
217     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
218     MCLIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
219     AC_DEFINE(HAVE_TEXTMODE_X11_SUPPORT, 1,
220               [Define to enable getting events from X Window System])
221     textmode_x11_support="yes"
225 dnl Network related functions
228 AC_CHECK_LIB(nsl, t_accept)
229 AC_CHECK_LIB(socket, socket)
231 have_socket=no
232 AC_CHECK_FUNCS(socket, have_socket=yes)
233 if test $have_socket = no; then
234   # socket is not in the default libraries.  See if it's in some other.
235   for lib in bsd socket inet; do
236     AC_CHECK_LIB($lib, socket, [
237         LIBS="$LIBS -l$lib"
238         have_socket=yes
239         AC_DEFINE(HAVE_SOCKET)
240         break])
241   done
244 have_gethostbyname=no
245 AC_CHECK_FUNC(gethostbyname, [have_gethostbyname=yes])
246 if test $have_gethostbyname = no; then
247   # gethostbyname is not in the default libraries.  See if it's in some other.
248   for lib in bsd socket inet; do
249     AC_CHECK_LIB([$lib], [gethostbyname],
250                  [LIBS="$LIBS -l$lib"; have_gethostbyname=yes; break])
251   done
254 AC_CHECK_FUNCS(socketpair)
257 dnl Sequent wants getprocessstats
259 AC_CHECK_LIB(seq, get_process_stats, [
260         LIBS="$LIBS -lseq"
261         AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
262                   [Define if you have function `get_process_stats' and
263 have to use that instead of gettimeofday])])
265 MC_VFS_CHECKS
267 vfs_type="normal"
268 if test x$use_vfs = xyes; then
269         AC_MSG_NOTICE([enabling VFS code])
270         vfs_type="Midnight Commander Virtual File System"
274 dnl Check for gpm mouse support (Linux only)
276 mouse_lib="xterm only"
277 AC_ARG_WITH(gpm-mouse, 
278         [  --with-gpm-mouse         Compile with gpm mouse support (Linux only)
279                            [[yes if found]]])
281 case $host_os in
282 linux*)
283     if test x$with_gpm_mouse != xno; then
284         AC_CHECK_LIB(gpm, Gpm_Repeat,
285             [AC_DEFINE(HAVE_LIBGPM, 1,
286                        [Define to enable gpm mouse support on Linux])
287             mouse_lib="gpm and xterm"
288             MCLIBS="$MCLIBS -lgpm"],
289             [AC_MSG_WARN([libgpm is missing or older than 0.18])
290         ])
291     fi
292     ;;
293 esac
296 dnl Check nroff and the options it supports
298 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
300 dnl Default values
301 MANDOC=-man
302 MAN_FLAGS=
304 if $HAVE_nroff; then
305     AC_MSG_CHECKING([for manual formatting macros])
306     AC_CACHE_VAL(ac_cv_mandoc, [
307     nroff -mandoc < /dev/null > /dev/null 2>&1
308     if test $? = 0; then
309         ac_cv_mandoc=-mandoc
310     else
311         ac_cv_mandoc=-man
312     fi
313     ])
314     MANDOC=$ac_cv_mandoc
315     AC_MSG_RESULT([$MANDOC])
317     AC_MSG_CHECKING([for option to disable ANSI color in manuals])
318     AC_CACHE_VAL(ac_cv_man_nocolor, [
319     nroff -c < /dev/null > /dev/null 2>&1
320     if test $? = 0; then
321         ac_cv_man_nocolor=-c
322     else
323         ac_cv_man_nocolor=
324     fi
325     ])
326     MAN_FLAGS=$ac_cv_man_nocolor
327     AC_MSG_RESULT([${MAN_NOCOLOR-none}])
329     AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
330     AC_CACHE_VAL(ac_cv_nroff_tascii, [
331     ac_cv_nroff_tascii=
332     nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
333     if test $? = 0; then
334         ac_cv_nroff_tascii=-Tlatin1
335     else
336         nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
337         if test $? = 0; then
338             ac_cv_nroff_tascii=-Tascii
339         fi
340     fi
341     ])
342     AC_MSG_RESULT([${ac_cv_nroff_tascii-no}])
343     MAN_FLAGS="$MAN_FLAGS $ac_cv_nroff_tascii"
346 AC_SUBST(MANDOC)
347 AC_SUBST(MAN_FLAGS)
351 dnl Check for - option to file
353 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
354 if $HAVE_FILECMD; then
355     AC_MSG_CHECKING([for - option to file command])
356     AC_CACHE_VAL(ac_cv_filestdin, [[
357     cat > conftest.c <<\EOF
358 /* A comment */
359 #if 0
360 #endif
361 void main(void)
362 { return; }
364     cat > conftest.sed <<\EOF
365 s/^[^:]*:[      ]*//
366 s/[     ]*$//
368     filehyphen_1=`file conftest.c 2>/dev/null | sed -f conftest.sed`
369     filehyphen_2=`cat conftest.c | file - 2>/dev/null | sed -f conftest.sed`
370     if test "x$filehyphen_1" = "x$filehyphen_2"; then
371         ac_cv_filestdin=yes
372     else
373         ac_cv_filestdin=no
374     fi
375     rm conftest.c conftest.sed
376     ]])
378     if test x$ac_cv_filestdin = xyes; then
379         AC_DEFINE(FILE_STDIN, 1,
380                   [Define if the file command accepts - for stdin])
381     fi
382     filestdin=$ac_cv_filestdin
383     AC_MSG_RESULT([$filestdin])
385     dnl
386     dnl Check for -L option to file
387     dnl
389 AC_MSG_CHECKING([for -L option to file command])
390 AC_CACHE_VAL(ac_cv_filel, [
391 file -L . > /dev/null 2>&1
392 if test $? = 0
393 then
394     ac_cv_filel=yes
395 else
396     ac_cv_filel=no
399 if test x$ac_cv_filel = xyes; then
400     AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
402 filel=$ac_cv_filel
403 AC_MSG_RESULT([$filel])
404 fi 
407 AC_MSG_CHECKING([for subshell support])
408 AC_ARG_WITH(subshell,
409         [  --with-subshell          Compile in concurrent subshell [[yes]]
410   --with-subshell=optional Don't run concurrent shell by default [[no]]],
411         [result=no
412         if test x$withval = xoptional
413         then
414                 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
415                           [Define to make subshell support optional])
416                 result="optional"
417         fi
418         if test x$withval = xyes
419         then 
420                 result="yes"
421         fi],
422         [dnl Default: enable the subshell support
423         result="yes"
425 if test "x$result" != xno; then
426         AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
427                   [Define to enable subshell support])
429 AC_MSG_RESULT([$result])
430 subshell="$result"
434 dnl Select the screen library.  mcslang is the included S-Lang library.
436 AC_ARG_WITH(screen,
437         [  --with-screen=LIB        Compile with screen library: slang, mcslang or
438                            ncurses [[slang if found, else mcslang]]])
440 case x$with_screen in
441 xslang)
442         MC_WITH_SLANG(strict)
443         ;;
444 xmcslang)
445         MC_WITH_MCSLANG
446         ;;
447 xncurses)
448         MC_WITH_NCURSES
449         ;;
451         MC_WITH_SLANG
452         ;;
454         AC_MSG_ERROR([Value of the screen library is incorrect])
455         ;;
456 esac
460 dnl Force using termcap.  This option is processed in MC_WITH_MCSLANG.
461 dnl Report an error if this option is not applicable.
463 AC_ARG_WITH(termcap,
464         [  --with-termcap           Try using termcap database [[only if no terminfo]]],
465         [if test x$with_screen != xmcslang; then
466                 AC_MSG_ERROR([Option `--with-termcap' only works with `--with-screen=mcslang'])
467         fi
472 dnl Internal editor support.
474 AC_ARG_WITH(edit,
475         [  --with-edit              Enable internal editor [[yes]]])
477 if test x$with_edit != xno; then
478         AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
479         use_edit=yes
480         edit_msg="yes"
481         AC_MSG_NOTICE([using internal editor])
482 else
483         edit_msg="no"
487 if test $use_vfs = yes; then
488     AC_ARG_WITH(ext2undel,
489         [  --with-ext2undel         Compile with ext2 undelete code [[yes if found]]],
490         [if test x$withval != xno; then
491                 if test x$withval != xyes; then
492                         LDFLAGS="$LDFLAGS -L$withval/lib"
493                         CPPFLAGS="$CPPFLAGS -I$withval/include"
494                 fi
495                 AC_EXT2_UNDEL
496         fi],[
497         dnl Default: detect
498         AC_CHECK_LIB(ext2fs, ext2fs_close, [AC_EXT2_UNDEL], , [-lcom_err])
499     ])
503 dnl Check if the OS is supported by the console saver.
504 cons_saver=""
505 case $host_os in
506 linux*)
507     cons_saver=yes
508 esac
512 dnl User visible support for charset conversion.
514 AC_ARG_ENABLE([charset],
515               [  --enable-charset         Support for charset selection and conversion [[no]]])
516 have_charset=
517 if test "x$enable_charset" = xyes; then
518   if test "x$am_cv_func_iconv" != xyes; then
519     AC_MSG_WARN([Cannot enable charset support because iconv function is missing])
520   else
521     AC_DEFINE(HAVE_CHARSET, 1,
522               [Define to enable charset selection and conversion])
523     have_charset=yes
524   fi
527 if test "$GLIBC21" != yes; then
528     AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
531 LIBS="$LIBS $posix_libs"
533 AC_SUBST(CFLAGS)
534 AC_SUBST(CPPFLAGS)
535 AC_SUBST(LDFLAGS)
536 AC_SUBST(LIBS)
538 dnl Libraries used only when building the mc binary
539 AC_SUBST(MCLIBS)
541 dnl Version for the RedHat package, without dashes
542 RPM_VERSION=`echo $VERSION | sed 's/-//g'`
543 AC_SUBST(RPM_VERSION)
545 if test -n "$use_smbfs"; then
546   AC_CONFIG_SUBDIRS([vfs/samba])
549 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
550 AM_CONDITIONAL(USE_VFS, [test "x$use_vfs" = xyes])
551 AM_CONDITIONAL(USE_VFS_NET, [test x"$use_net_code" = xtrue])
552 AM_CONDITIONAL(USE_UNDEL_FS, [test -n "$use_undelfs"])
553 AM_CONDITIONAL(USE_SAMBA_FS, [test -n "$use_smbfs"])
554 AM_CONDITIONAL(USE_MCFS, [test -n "$use_mcfs"])
555 AM_CONDITIONAL(INCLUDED_SLANG, [test "x$with_screen" = xmcslang])
556 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
557 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
559 AH_BOTTOM([#include <extraconf.h>])
561 AC_CONFIG_FILES([
562 Makefile 
563 mc.spec
564 doc/Makefile 
565 vfs/Makefile
566 vfs/extfs/Makefile
567 lib/Makefile
568 src/Makefile
569 slang/Makefile 
570 edit/Makefile 
571 syntax/Makefile
572 pc/Makefile
573 m4/Makefile
575 lib/mc.ext
577 vfs/extfs/a
578 vfs/extfs/apt
579 vfs/extfs/audio
580 vfs/extfs/deb
581 vfs/extfs/deba
582 vfs/extfs/debd
583 vfs/extfs/dpkg
584 vfs/extfs/hp48
585 vfs/extfs/lslR
586 vfs/extfs/mailfs
587 vfs/extfs/patchfs
588 vfs/extfs/rpms
589 vfs/extfs/uar
590 vfs/extfs/uarj
591 vfs/extfs/uha
592 vfs/extfs/ulha 
593 vfs/extfs/urar
594 vfs/extfs/uzip
595 vfs/extfs/uzoo
597 doc/mc.1 doc/mcedit.1 doc/mcserv.8
598 doc/es/mc.1 doc/es/Makefile
599 doc/hu/mc.1 doc/hu/Makefile
600 doc/it/mc.1 doc/it/Makefile
601 doc/pl/mc.1 doc/pl/Makefile
602 doc/ru/mc.1 doc/ru/Makefile
604 intl/Makefile
605 po/Makefile.in
608 AC_OUTPUT
610 echo "
611 Configuration:
613   Source code location:       ${srcdir}
614   Compiler:                   ${CC}
615   Compiler flags:             ${CFLAGS}
616   File system:                ${vfs_type}
617                               ${vfs_flags}
618   Screen library:             ${screen_msg}
619   Mouse support:              ${mouse_lib}
620   X11 events support:         ${textmode_x11_support}
621   With subshell support:      ${subshell}
622   Internal editor:            ${edit_msg}