De-fuzzyed some msgs...
[midnight-commander.git] / configure.in
blobf6e8a468dd5c4631d1392942531e9a3e6b7614d2
1 dnl
2 dnl Configure.in file for the Midnight Commander
3 dnl
4 AC_INIT(src/main.c)
5 AC_PREREQ(2.13)
6 AC_CANONICAL_HOST
8 AM_INIT_AUTOMAKE(mc, 4.5.54)
9 AM_CONFIG_HEADER(config.h)
10 AM_MAINTAINER_MODE
12 AC_PROG_CC
13 AC_PROG_CPP
14 AC_PROG_RANLIB
15 AC_PROG_LN_S
16 AC_PROG_AWK
18 AC_AIX
19 AC_MINIX
20 AC_ISC_POSIX
21 dnl It's a hack to accomodate both Autoconf 2.13 and the 2.49x series,
22 dnl It's needed until Autoconf 2.50 is released.
23 ifdef([AC_PROG_CC_STDC], [AC_PROG_CC_STDC], [AM_PROG_CC_STDC])
24 AC_HEADER_MAJOR
25 AC_C_CONST
26 AC_CHECK_TOOL(AR, ar, ar)
28 AC_CHECK_PROGS(X11_WWW,netscape arena Mosaic chimera)
29 if test x"$X11_WWW" = x; then
30     X11_WWW=lynx
33 ALL_LINGUAS="az ca cs da de el es es_ES fi fr hu it ja ko lv nl no pl pt_BR ro ru sk sl sv uk ta tr wa zh_TW.Big5 zh_CN.GB2312"
35 AM_GNOME_GETTEXT
37 dnl
38 dnl Enforce coding standards
39 dnl
40 if test "x$GCC" = xyes; then
41     CFLAGS="$CFLAGS -Wall"
44 dnl
45 dnl We now use glib
46 dnl 
47 AM_PATH_GLIB(1.2.0,,[AC_MSG_ERROR([Test for GLIB failed.  MC requires GLIB.])])
48 LIBS="$LIBS $GLIB_LIBS"
50 dnl
51 dnl OS specific flags.
52 dnl
54 posix_libs=""
55 case $host_os in
56 aux*)
57     # A/UX
58     posix_libs="-lposix"
59     AC_DEFINE(_POSIX_SOURCE)
60     ;;
61 sco*)
62     AC_DEFINE(SCO_FLAVOR, 1, [Define if you want to turn on SCO-specific code])
63     AC_DEFINE(_SVID3, 1, [Needs to be defined on SCO])
64     ;;
65 esac
67 AC_PROG_INSTALL
68 AC_CHECK_HEADERS([unistd.h string.h memory.h crypt.h grp.h limits.h \
69         malloc.h stdlib.h termios.h utime.h fcntl.h sys/statfs.h \
70         sys/time.h sys/timeb.h])
72 AC_HEADER_TIME
73 AC_HEADER_SYS_WAIT
74 AC_HEADER_DIRENT
75 AC_SHORT_D_NAME_LEN
76 AC_HEADER_STDC
78 dnl Missing structure components
79 AC_STRUCT_ST_BLKSIZE
80 AC_STRUCT_ST_BLOCKS
81 AC_STRUCT_ST_RDEV
83 dnl
84 dnl Check availability of some functions 
85 dnl 
87 AC_CHECK_FUNCS(strerror statfs getwd strcasecmp strncasecmp strcoll strftime)
88 AC_CHECK_FUNCS(strdup memmove pwdauth truncate initgroups putenv)
89 AC_CHECK_FUNCS(memset memcpy tcsetattr tcgetattr cfgetospeed)
90 AC_CHECK_FUNCS(sigaction sigemptyset sigprocmask sigaddset)
91 AC_CHECK_FUNCS(sysconf setuid setreuid)
93 dnl
94 dnl getpt is a GNU Extension (glibc 2.1.x)
95 dnl
96 AC_CHECK_FUNCS(getpt)
98 SHADOWLIB=
99 case $host_os in
100 linux*)
101     AC_CHECK_LIB(shadow,pw_encrypt,
102         [shadow_header=yes
103         AC_CHECK_HEADERS(shadow.h,,
104                 [AC_CHECK_HEADERS(shadow/shadow.h,,
105                         [shadow_header=no])])
106         if test $shadow_header = yes; then
107             AC_DEFINE(LINUX_SHADOW)
108             SHADOWLIB=-lshadow
109         fi])
110     ;;
111 esac
112 AC_SUBST(SHADOWLIB)
114 NEED_CRYPT_PROTOTYPE=yes
115 if test x$ac_cv_header_crypt_h = xyes; then
116 AC_TRY_WARNINGS([#include <crypt.h>], [char *p = crypt("xxx", "yyy");
117 if (p)
118 return 0;],[
119 NEED_CRYPT_PROTOTYPE=no])
120 else 
121     if test x$ac_cv_header_unistd_h = xyes; then
122 AC_TRY_WARNINGS([#include <unistd.h>], [char *p = crypt("xxx", "yyy");
123 if (p)
124 return 0;],[
125 NEED_CRYPT_PROTOTYPE=no])
126     fi
128 if test x$NEED_CRYPT_PROTOTYPE = xyes; then
129 AC_DEFINE(NEED_CRYPT_PROTOTYPE)
133 dnl AIX and Sequent need <sys/select.h> for fd_set
135 AC_CHECK_HEADERS(sys/select.h)
138 dnl On SCO and some SVR4, crypt is on libcrypt.a
139 dnl         grantpt in  libpt.a
141 LCRYPT=""
142 AC_CHECK_FUNCS(crypt, , [
143     AC_CHECK_LIB(crypt, crypt, LCRYPT="-lcrypt",[
144         AC_CHECK_LIB(crypt_i, crypt, LCRYPT="-lcrypt_i")])])
145 AC_SUBST(LCRYPT)
147 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
150 dnl libintl.a required on SCO to provide proper NLS support
151 dnl (using native cc links it by default)
153 if test x$GCC = xyes; then
154     AC_CHECK_LIB(intl, tolower)
157 dnl replacing lstat with statlstat on sco makes it more portable between
158 dnl sco clones
159 AC_CHECK_FUNCS(statlstat)
162 dnl If running under AIX, AC_AIX does not tell us that
164 AC_MSG_CHECKING([for AIX defines])
165 AC_EGREP_CPP(yes,
166 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
168 #endif
169 ], [
170 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
171 AC_MSG_RESULT(yes)
172 ], [AC_MSG_RESULT(no)])
174 dnl   
175 dnl This hack is here until autoconf adds it
176 dnl Needed for Unixware: getmntent is on libgen.a
178 AC_CHECK_LIB(gen, getmntent, [LIBS="-lgen $LIBS"])
181 dnl This is from GNU fileutils, check aclocal.m4 for more information
183 AC_GET_FS_INFO
186 dnl Missing typedefs and replacements
187 dnl 
189 AC_TYPE_MODE_T
190 AC_CHECK_TYPE(umode_t, int)
191 AC_CHECK_TYPE(off_t, long)
192 AC_TYPE_PID_T
193 AC_TYPE_UID_T
194 AC_CHECK_TYPE(nlink_t, unsigned int)
196 AC_FUNC_MMAP
197 AC_FUNC_ALLOCA
199 AC_PATH_XTRA
202 dnl X11 support in the textmode edition. 
205 dnl These variables are only used when building the text edition MC binary
206 MCCFLAGS=""
207 MCLIBS=""
208 AC_SUBST(MCCFLAGS)
209 AC_SUBST(MCLIBS)
211 textmode_x11_support="no"
212 AC_ARG_WITH(tm-x-support,
213         [--with-tm-x-support        Add X Window System support to the text edition],
214         [if test x$withval = xyes; then
215                 MCCFLAGS="$X_CFLAGS"
216                 MCLIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
217                 AC_DEFINE(HAVE_TEXTMODE_X11_SUPPORT)
218                 textmode_x11_support="yes"
219         fi
223 dnl Network related functions
226 AC_CHECK_LIB(nsl, t_accept)
227 AC_CHECK_LIB(socket, socket)
229 have_socket=no
230 AC_CHECK_FUNCS(socket, have_socket=yes)
231 if test $have_socket = no; then
232   # socket is not in the default libraries.  See if it's in some other.
233   for lib in bsd socket inet; do
234     AC_CHECK_LIB($lib, socket, [
235         LIBS="$LIBS -l$lib"
236         have_socket=yes
237         AC_DEFINE(HAVE_SOCKET)
238         break])
239   done
242 have_gethostbyname=no
243 AC_CHECK_FUNC(gethostbyname, [have_gethostbyname=yes])
244 if test $have_gethostbyname = no; then
245   # gethostbyname is not in the default libraries.  See if it's in some other.
246   for lib in bsd socket inet; do
247     AC_CHECK_LIB($lib, gethostbyname, [LIBS="$LIBS -l$lib"; have_gethostbyname=yes; break])
248   done
251 AC_CHECK_FUNCS(socketpair)
254 dnl Sequent wants getprocessstats
256 AC_CHECK_LIB(seq, get_process_stats, [
257         LIBS="$LIBS -lseq"
258         AC_DEFINE(HAVE_GET_PROCESS_STATS)])
260 GNOME_VFS_CHECKS
263 dnl Install mcserv only if explicitly enabled
265 AC_ARG_ENABLE([mcserv-install],
266               [--enable-mcserv-install    Install mcserv - Midnight Commander file server])
268 AM_CONDITIONAL(MCSERV_INSTALL,
269                [test "x$enable_mcserv_install$mcserv" = xyesmcserv])
271 NETFILES=
272 if test $have_socket = yes; then
273    NETFILES="\$(NETFILES)"
275 AC_SUBST(NETFILES)
277 LIBVFS=""
278 LVFS=""
279 vfs_type="normal"
280 if test $use_vfs = yes
281 then
282         LIBVFS="libvfs-mc.a"
283         LVFS="-lvfs-mc"
284         MCCPPFLAGS="$MCCPPFLAGS -I\$(vfsdir)"
285         AC_MSG_RESULT([Using the VFS switch code])
286         vfs_type="Midnight Commander Virtual File System"
288 AC_SUBST(LIBVFS)
289 AC_SUBST(LVFS)
291 screen_manager=unknown
292 search_ncurses=false
294 XCURSES=""
295 AC_SUBST(XCURSES)
297 dnl AC_ARG_WITH(bsd-curses,
298 dnl [--with-bsd-curses         Used to compile with bsd curses, not very fancy],
299 dnl     [search_ncurses=false
300 dnl     screen_manager="Ultrix/cursesX"
301 dnl     case $host_os in
302 dnl     ultrix*)
303 dnl         THIS_CURSES=cursesX
304 dnl         ;;
305 dnl     *)
306 dnl         THIS_CURSES=curses
307 dnl         ;;
308 dnl     esac
310 dnl     LIBS="$LIBS -l$THIS_CURSES -ltermcap"
311 dnl     AC_DEFINE(USE_BSD_CURSES)
312 dnl     XCURSES="xcurses.o"
313 dnl     AC_MSG_RESULT([Please note that some screen refreshs may fail])
314 dnl     AC_MSG_WARN([Use of the bsdcurses extension has some])
315 dnl     AC_MSG_WARN([display/input problems.])
316 dnl     AC_MSG_WARN([Reconsider using xcurses])
317 dnl])
319 AC_ARG_WITH(sunos-curses,
320         [--with-sunos-curses        Used to force SunOS 4.x curses],[
321         if test x$withval = xyes; then
322                 AC_USE_SUNOS_CURSES
323         fi
326 AC_ARG_WITH(osf1-curses,
327         [--with-osf1-curses        Used to force OSF/1 curses],[
328         if test x$withval = xyes; then
329                 AC_USE_OSF1_CURSES
330         fi
333 AC_ARG_WITH(vcurses,
334         [--with-vcurses[=incdir]    Used to force SysV curses],
335         [if test x$withval = xyes; then :
336         else
337                 CPPFLAGS="$CPPFLAGS -I$withval"
338         fi
339         AC_USE_SYSV_CURSES
342 mouse_lib="xterm only"
343 LGPM=""
344 case $host_os in
345 linux*)
346     AC_ARG_WITH(gpm-mouse, 
347         [--with-gpm-mouse[=base-dir]  Compile with gpm mouse support (Linux only)],
348         [if test x$withval != xno
349         then
350                 if test x$withval != xyes
351                 then
352                         LIBS="$LIBS -L$withval/lib"
353                         CPPFLAGS="$CPPFLAGS -I$withval/include"
354                 fi
355                 AC_DEFINE(HAVE_LIBGPM)
356                 mouse_lib="GPM and xterm"
357                 LGPM="-lgpm"
358         fi],
359         [AC_CHECK_LIB(gpm, Gpm_Repeat,
360                 [AC_DEFINE(HAVE_LIBGPM)
361                 mouse_lib="GPM and xterm"
362                 LGPM="-lgpm"],
363                 [AC_MSG_WARN([libgpm is missing or older than 0.18])],
364                 $LIBS)
365         ])
366     ;;
367 esac
368 AC_SUBST(LGPM)
370 AC_ARG_WITH(ncurses,
371         [--with-ncurses[=base-dir]    Compile with ncurses/locate base dir],
372         [if test x$withval = xyes
373         then
374                 search_ncurses=true
375         else
376                 LIBS="$LIBS -L$withval/lib -lncurses"
377                 CPPFLAGS="$CPPFLAGS -I$withval/include"
378                 search_ncurses=false
379                 screen_manager="ncurses"
380                 AC_DEFINE(USE_NCURSES)
381         fi
384 AC_ARG_WITH(hsc,
385         [--with-hsc               Compile with support for the HSC firewall],
386         [if test x$withval = xyes; then
387                 AC_DEFINE(HSC_PROXY, 1,
388                           [Define if you want to use the HSC firewall])
389         fi
393 dnl Check for Gnome
395 mx=""
396 libgtkedit=""
397 xvers="none"
399 GNOME_INIT_HOOK([
400         mx=mx
401         libgtkedit="libgtkedit.a"
402         if test x"$xvers" = xnone; then
403             xvers="Gnome"
404         else
405             xvers="Gnome+$xvers"
406         fi
407         gnomeicondir=`gnome-config --datadir`/pixmaps
409 dnl Check for new enough gnome-libs
410         CFLAGS_save=$CFLAGS
411         LIBS_save=$LIBS
412         CFLAGS=`gnome-config --cflags gnomeui`
413         LIBS=`gnome-config --libs gnomeui`
415         AC_CHECK_LIB(gnomeui, gnome_window_icon_set_default_from_file,
416                               [AC_DEFINE(HAVE_GNOME_WINDOW_ICON)])
418         CFLAGS=$CFLAGS_save
419         LIBS=$LIBS_save
421 AC_SUBST(gnomeicondir)
422 AC_SUBST(mx)
423 AC_SUBST(libgtkedit)
424 AC_SUBST(GNOMEGNORBA_LIBS)
425 AM_CONDITIONAL(GNOME, [test x"$mx" = xmx])
428 dnl Check for the -mandoc package
430 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
431 if $HAVE_nroff; then
432     AC_MSG_CHECKING([for manual formatting macros])
433     AC_CACHE_VAL(ac_cv_mandoc, [
434     nroff -mandoc < /dev/null > /dev/null 2>&1 /dev/null
435     if test $? = 0
436     then
437         ac_cv_mandoc=-mandoc
438     else
439         ac_cv_mandoc=-man
440     fi
441     ])
442     MANDOC=$ac_cv_mandoc
443     AC_MSG_RESULT($MANDOC)
444 else
445     MANDOC=-man
447 AC_SUBST(MANDOC)
450 dnl Check if nroff accepts -Tlatin1 or -Tascii
452 if $HAVE_nroff; then
453     AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
454     AC_CACHE_VAL(ac_cv_nroff_tascii, [
455     nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
456     if test $? = 0
457     then
458         ac_cv_nroff_tascii=" -Tlatin1"
459     else
460         nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
461         if test $? = 0
462         then
463             ac_cv_nroff_tascii=" -Tascii"
464         else
465             ac_cv_nroff_tascii=""
466         fi
467     fi
468     ])
469     if test "x$ac_cv_nroff_tascii" = x; then
470         AC_MSG_RESULT(no)
471     else
472         AC_MSG_RESULT([yes,$ac_cv_nroff_tascii])
473     fi
475 TROFFASCII="$ac_cv_nroff_tascii"
476 AC_SUBST(TROFFASCII)
479 dnl Check for - option to file
481 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
482 if $HAVE_FILECMD; then
483     AC_MSG_CHECKING([for - option to file command])
484     AC_CACHE_VAL(ac_cv_filestdin, [[
485     cat > conftest.c <<\EOF
486 /* A comment */
487 #if 0
488 #endif
489 void main(void)
490 { return; }
492     cat > conftest.sed <<\EOF
493 s/^[^:]*:[      ]*//
494 s/[     ]*$//
496     filehyphen_1=`file conftest.c 2>/dev/null | sed -f conftest.sed`
497     filehyphen_2=`cat conftest.c | file - 2>/dev/null | sed -f conftest.sed`
498     if test "x$filehyphen_1" = "x$filehyphen_2"; then
499         ac_cv_filestdin=yes
500     else
501         ac_cv_filestdin=no
502     fi
503     rm conftest.c conftest.sed
504     ]])
506     if test x$ac_cv_filestdin = xyes; then
507         AC_DEFINE(FILE_STDIN, 1,
508                   [Define if the file command accepts - for stdin])
509     fi
510     filestdin=$ac_cv_filestdin
511     AC_MSG_RESULT([$filestdin])
513     dnl
514     dnl Check for -L option to file
515     dnl
517 AC_MSG_CHECKING([for -L option to file command])
518 AC_CACHE_VAL(ac_cv_filel, [
519 file -L . > /dev/null 2>&1
520 if test $? = 0
521 then
522     ac_cv_filel=yes
523 else
524     ac_cv_filel=no
527 if test x$ac_cv_filel = xyes; then
528     AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
530 filel=$ac_cv_filel
531 AC_MSG_RESULT([$filel])
532 fi 
535 dnl Check to see if grep program allowes dash to denote stdin 
537 AC_MSG_CHECKING([for - option to grep command])
538 AC_CACHE_VAL(ac_cv_grep_stdin, [
539     echo "grep_test" | grep grep_test - >/dev/null 2>&1
540     if test $? = 0; then
541         ac_cv_grep_stdin=yes
542     else
543         ac_cv_grep_stdin=no
544     fi
546 if test x$ac_cv_grep_stdin = xyes; then
547     AC_DEFINE(GREP_STDIN, 1, [Define if the grep command accepts - for stdin])
549 AC_MSG_RESULT([$ac_cv_grep_stdin])
552 dnl The subshell support
555 AC_MSG_CHECKING([for subshell support])
556 AC_ARG_WITH(subshell,
557         [--with-subshell            If you want to use a concurrent shell],
558         [result=no
559         if test x$withval = xoptional
560         then
561                 AC_DEFINE(SUBSHELL_OPTIONAL)
562                 AC_DEFINE(HAVE_SUBSHELL_SUPPORT)
563                 result="optional"
564         fi
565         if test x$withval = xyes
566         then 
567                 AC_DEFINE(HAVE_SUBSHELL_SUPPORT)
568                 result="yes"
569         fi],
570         [dnl Default: provide the subshell support on non-ultrix machines
571         case $host_os in
572         ultrix*)
573                 result=no
574                 ;;
575         *)
576                 AC_DEFINE(HAVE_SUBSHELL_SUPPORT)
577                 result=yes
578                 ;;
579         esac
581 AC_MSG_RESULT([$result])
582 subshell="$result"
585 dnl Memory Allocation Debugger
587 mem_debug="none"
588 AC_ARG_WITH(mad,
589 [--with-mad                 Developers only: activates MAD (memory debugger)],
590         [if test x$withval = xyes; then
591         mem_debug="Janne's MAD library"
592         AC_DEFINE(HAVE_MAD)
593         AC_MSG_RESULT([compiling with memory leak detector])
594 fi])
597 dnl Electric Fence - another memory debugger
599 AC_ARG_WITH(efence, 
600 [--with-efence              Developers only: activates Electric Fence],
601         [if test x$withval = xyes; then
602         LIBS="$LIBS -lefence"
603         AC_MSG_RESULT([compiling with Electric fence])
604         mem_debug="Electric Fence"
605 fi])
607 INTLSUB=""
608 LINTL=""
609 if test x$USE_NLS = xyes; then
610     if test x$USE_INCLUDED_LIBINTL = xyes; then
611         CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl"
612         LINTL="-L\$(top_builddir)/intl -lintl"
613     fi
614     INTLSUB=intl
616 AC_SUBST(INTLSUB)
617 AC_SUBST(LINTL)
620 dnl To force mmap support
621 dnl We use only part of the functionality of mmap, so on AIX,
622 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
624 AC_ARG_WITH(mmap, 
625         [--with-mmap                To force using the mmap call (AIX)],
626         [if test x$withval = xyes; then
627         AC_DEFINE(HAVE_MMAP)
628         AC_MSG_RESULT([forcing MMAP support])
629 fi])
631 slang_check_lib=true
632 slang_term=""
633 slang_use_system_installed_lib=false
634 AC_CHECK_LIB(slang,SLang_init_tty,
635         [AC_CHECK_HEADERS(slang.h)
636         if test x$ac_cv_header_slang_h = xyes
637         then
638              slang_use_system_installed_lib=true
639              slang_check_lib=false
640         else
641              AC_CHECK_HEADERS(slang/slang.h)
642              if test x$ac_cv_header_slang_slang_h = xyes
643              then
644                  slang_use_system_installed_lib=true
645                  slang_check_lib=false
646              fi
647         fi
650 AC_ARG_WITH(terminfo,
651         [--with-terminfo            SLANG: Force usage of terminfo],[
652         if test x$withval = xyes; then
653                 AC_USE_TERMINFO
654                 slang_check_lib=false
655                 slang_use_system_installed_lib=false
656         fi]
659 AC_ARG_WITH(termcap,
660         [--with-termcap             SLANG: Force usage of termcap],[
661         if test x$withval = xyes; then
662                 AC_USE_TERMCAP
663                 slang_check_lib=false
664                 slang_use_system_installed_lib=false
665         fi]
668 AC_ARG_WITH(included-slang,
669         [--with-included-slang      SLANG: use the SLang library included here],[
670         if test x$withval = xyes; then
671             slang_use_system_installed_lib=false
672             slang_check_lib=true
673         fi]
676 LIBSLANG=""
677 LSLANG=""
678 AC_ARG_WITH(slang,
679         [--with-slang              Compile with the slang screen manager],[
680         if test x$withval = xyes; then
681                 AC_WITH_SLANG
682         fi
685 AC_SUBST(LIBSLANG)
686 AC_SUBST(LSLANG)
688 LIBEDIT_A=""
689 MCEDIT=""
690 LEDIT=""
691 EDIT_msg=""
692 AC_ARG_WITH(edit,
693         [--with-edit                Define INTERNAL_EDIT],
694         [if test x$withval = xyes
695         then
696                 AC_WITH_EDIT
697         else
698                 EDIT_msg="no"
699         fi], 
700         [dnl Default: provide the internal editor
701         AC_WITH_EDIT
703 AC_SUBST(LIBEDIT_A)
704 AC_SUBST(MCEDIT)
705 AC_SUBST(LEDIT)
707 AC_ARG_WITH(netrc,
708         [--with-netrc               Compile with ftp .netrc support],[
709         if test x$withval = xyes; then
710                 AC_DEFINE(USE_NETRC, 1,
711                           [Define to use .netrc for FTP connections])
712                 AC_MSG_RESULT([ftpfs will have .netrc parsing code])
713         fi
716 undelfs_o=""
718 if test $use_vfs = yes; then
719     AC_ARG_WITH(ext2undel,
720         [--with-ext2undel           Compile with ext2 undelete code],[
721         if test x$withval != xno;
722         then
723                 if test x$withval != xyes
724                 then
725                         LIBS="$LIBS -L$withval/lib"
726                         CPPFLAGS="$CPPFLAGS -I$withval/include"
727                 fi
728                 AC_EXT2_UNDEL
729         fi],[
730         dnl Default: detect
731         AC_CHECK_LIB(ext2fs, ext2fs_close, [AC_EXT2_UNDEL],,-lcom_err)
732     ])
735 AC_SUBST(undelfs_o)
736         
737 if $search_ncurses
738 then
739     AC_CHECKING([location of ncurses.h file])
741     AC_NCURSES(/usr/include, ncurses.h, -lncurses,, "ncurses on /usr/include")
742     AC_NCURSES(/usr/include/ncurses, ncurses.h, -lncurses, -I/usr/include/ncurses, "ncurses on /usr/include/ncurses")
743     AC_NCURSES(/usr/local/include, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include, "ncurses on /usr/local")
744     AC_NCURSES(/usr/local/include/ncurses, ncurses.h, -L/usr/local/lib -L/usr/local/lib/ncurses -lncurses, -I/usr/local/include/ncurses, "ncurses on /usr/local/include/ncurses")
746     AC_NCURSES(/usr/local/include/ncurses, curses.h, -L/usr/local/lib -lncurses, -I/usr/local/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/local/.../ncurses")
748     AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/include/ncurses")
750     dnl
751     dnl We couldn't find ncurses, try SysV curses
752     dnl
753     if $search_ncurses 
754     then
755         AC_EGREP_HEADER(init_color, /usr/include/curses.h,
756             AC_USE_SYSV_CURSES)
757         AC_EGREP_CPP(USE_NCURSES,[
758 #include <curses.h>
759 #ifdef __NCURSES_H
760 #undef USE_NCURSES
761 USE_NCURSES
762 #endif
764         CPPFLAGS="$CPPFLAGS -DRENAMED_NCURSES"
765         AC_DEFINE(USE_NCURSES)
766         search_ncurses=false
767         screen_manager="ncurses installed as curses"
769     fi
771     dnl
772     dnl Try SunOS 4.x /usr/5{lib,include} ncurses
773     dnl The flags USE_SUNOS_CURSES, USE_BSD_CURSES and BUGGY_CURSES
774     dnl should be replaced by a more fine grained selection routine
775     dnl
776     if $search_ncurses
777     then
778         if test -f /usr/5include/curses.h
779         then
780             AC_USE_SUNOS_CURSES
781         fi
782     else
783         # check for ncurses version, to properly ifdef mouse-fix
784         AC_MSG_CHECKING([for ncurses version])
785         ncurses_version=unknown
786 cat > conftest.$ac_ext <<EOF
787 [#]line __oline__ "configure"
788 #include "confdefs.h"
789 #ifdef RENAMED_NCURSES
790 #include <curses.h>
791 #else
792 #include <ncurses.h>
793 #endif
794 #undef VERSION
795 VERSION:NCURSES_VERSION
797         if (eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC |
798   egrep "VERSION:" >conftest.out 2>&1; then
799             ncurses_version=`cat conftest.out|sed -e 's/^[[^"]]*"//' -e 's/".*//'`
800         fi
801         rm -rf conftext*
802         AC_MSG_RESULT([$ncurses_version])
803         case "$ncurses_version" in
804         4.[[01]])
805             AC_DEFINE(NCURSES_970530,2)
806             ;;
807         1.9.9g)
808             AC_DEFINE(NCURSES_970530,1)
809             ;;
810         1*)
811             AC_DEFINE(NCURSES_970530,0)
812             ;;
813         esac
814     fi
818 dnl If ncurses exports the ESCDELAY variable it should be set to 0
819 dnl or you'll have to press Esc three times to dismiss a dialog box.
821 if test -n "$ncurses_version"; then
822   AC_CACHE_CHECK([for ESCDELAY variable],
823                  [mc_cv_ncurses_escdelay],
824                  [AC_TRY_COMPILE([], [
825                         extern int ESCDELAY;
826                         int main ()
827                         {
828                           ESCDELAY = 0;
829                         }
830                         ],
831                         [mc_cv_ncurses_escdelay=yes],
832                         [mc_cv_ncurses_escdelay=no]
833                   )
834   ])
835   if test "$mc_cv_ncurses_escdelay" = yes; then
836     AC_DEFINE(HAVE_ESCDELAY, 1,
837               [Define if ncurses has ESCDELAY variable])
838   fi
842 dnl Ncurses may be linked against libgpm. Change LIBS temporary for
843 dnl check for resizeterm and keyok.
845 SAVED_LIBS="$LIBS"
846 LIBS="$LIBS $LGPM"
847 AC_CHECK_FUNCS(resizeterm keyok)
848 LIBS="$SAVED_LIBS"
850 if test "x$screen_manager" = "xunknown"; then
851     AC_WITH_SLANG
855 dnl The variables used for expanding the auto saver.
857 cons_saver=""
858 install_saver="no"
859 PAMLIBS=""
860 case $host_os in
861 linux*)
862     cons_saver="cons.saver"
863     install_saver="yes"
865     dnl
866     dnl On Linux, check for PAM authentication available
867     dnl
868     AC_CHECK_LIB(pam, pam_start, [
869         AC_DEFINE(HAVE_PAM)
870         PAMLIBS="-lpam -ldl"
871     ],[],[-ldl])
872     ;;
873 esac
874 AC_SUBST(cons_saver)
875 AC_SUBST(PAMLIBS)
878 dnl We need sed in order to fix the library files 
880     SEDCMD="sed 's/-man/$MANDOC/'"
881     SEDCMD2="sed 's%@prefix@%\$(prefix)%'"
882 AC_SUBST(SEDCMD)
883 AC_SUBST(SEDCMD2)
887 dnl Basic support for charset conversion.
888 dnl May be useful e.g. for converting help and hints.
890 have_iconv=
891 AC_CHECK_FUNCS(iconv, [have_iconv=yes])
894 dnl User visible support for charset conversion.
896 AC_ARG_ENABLE([charset],
897               [--enable-charset           Support for charset selection and conversion])
898 have_charset=
899 if test "x$enable_charset" = xyes; then
900   if test -z "$have_iconv"; then
901     AC_MSG_WARN([Cannot enable charset support because iconv function is missing])
902   else
903     AC_DEFINE(HAVE_CHARSET, 1,
904               [Define to enable charset selection and conversion])
905     have_charset=yes
906   fi
909 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
913 dnl This code should be moved to the ac_WITH_SLANG
915 dnl We check for the existance of setupterm on curses library
916 dnl this is required to load certain definitions on some termcaps
917 dnl editions (AIX and OSF/1 I seem to remember).
918 dnl Note that we avoid using setupterm 
919 case $screen_manager in
920 SLang*)
921         case $host_os in
922         linux*)
923                 ;;
924         *)
925                 AC_CHECK_LIB(curses,setupterm,
926                         [AC_TRY_COMPILE([
927 #include <curses.h>
928 #include <term.h>],[
929    if (key_end == parm_insert_line)
930         return 1;
931    return 0;
933                         [LIBS="$LIBS -lcurses"
934                         AC_DEFINE(USE_SETUPTERM)])
935                 ])
936         esac
937         ;;
938 esac
940 LIBS="$LIBS $posix_libs"
942 AC_SUBST(CFLAGS)
943 AC_SUBST(CPPFLAGS)
944 AC_SUBST(MCCPPFLAGS)
945 AC_SUBST(LDFLAGS)
946 AC_SUBST(LIBS)
948 MCF=./Make.common
949 AC_SUBST_FILE(MCF)
952 dnl Output configuration files
954 dnl It's a hack to accomodate both Autoconf 2.13 and the 2.49x series,
955 dnl It's needed until Autoconf 2.50 is released.
956 ifelse(AC_ACVERSION, [2.13],
957 [mc_subdirs=
958 if test "x$SAMBAFILES" != x; then
959   mc_subdirs=vfs/samba
960   AC_CONFIG_SUBDIRS([$mc_subdirs])
961 fi],
962 [if test "x$SAMBAFILES" != x; then
963   AC_CONFIG_SUBDIRS([vfs/samba])
964 fi])
966 AM_CONDITIONAL(USE_SAMBA_FS, [test "x$SAMBAFILES" != x])
968 AC_OUTPUT([
969 Make.common 
970 Makefile 
971 mc.spec
972 doc/Makefile 
973 doc-gnome/Makefile
974 doc-gnome/C/Makefile
975 doc-gnome/C/figs/Makefile
976 vfs/Makefile:vfs/Make-mc.in
977 vfs/extfs/Makefile
978 lib/Makefile
979 gnome/Makefile 
980 gnome/mc.keys.in
981 idl/Makefile
982 src/Makefile
983 slang/Makefile 
984 edit/Makefile 
985 gtkedit/Makefile 
986 syntax/Makefile
987 new_icons/Makefile 
988 pc/Makefile
990 lib/mc.ext
991 lib/mc.sh
992 lib/mc.csh
994 mcfn_install
996 vfs/extfs/deb
997 vfs/extfs/ftplist
998 vfs/extfs/lslR
999 vfs/extfs/uar
1000 vfs/extfs/ucpio
1001 vfs/extfs/ulha 
1002 vfs/extfs/uha
1003 vfs/extfs/urar
1004 vfs/extfs/uzoo
1006 doc/mc.1 doc/mcedit.1 doc/mcserv.8
1008 intl/Makefile po/Makefile.in
1009 ],[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
1011 if echo "$screen_manager" | grep -q "SLang" ; then
1012     screen_manager="${screen_manager}${slang_term}"
1015 echo "
1016 Configuration:
1018   Source code location:       ${srcdir}
1019   Compiler:                   ${CC}
1020   Compiler flags:             ${CFLAGS}
1021   File system:                ${vfs_type}
1022                               ${vfs_flags}
1023   Text mode screen manager:   ${screen_manager}
1024   Install console saver:      ${install_saver}
1025   Text mode mouse library:    ${mouse_lib}
1026   Text mode X11 support:      ${textmode_x11_support}
1027   Debugger code:              ${mem_debug}
1028   With subshell support:      ${subshell}
1029   X11 versions:               ${xvers}
1030   Internal editor:            ${EDIT_msg}
1031   Install path:               ${prefix}/bin, ${prefix}/lib/mc