mirror of https://github.com/MidnightCommander/mc
1024 lines
23 KiB
Plaintext
1024 lines
23 KiB
Plaintext
dnl
|
|
dnl Configure.in file for the Midnight Commander
|
|
dnl
|
|
AC_INIT(src/main.c)
|
|
AC_PREREQ(2.13)
|
|
AC_CANONICAL_HOST
|
|
|
|
AM_INIT_AUTOMAKE(mc, 4.5.54a)
|
|
AM_CONFIG_HEADER(config.h)
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_CPP
|
|
AC_PROG_RANLIB
|
|
AC_PROG_LN_S
|
|
AC_PROG_AWK
|
|
|
|
AC_AIX
|
|
AC_MINIX
|
|
AC_ISC_POSIX
|
|
dnl It's a hack to accomodate both Autoconf 2.13 and the 2.49x series,
|
|
dnl It's needed until Autoconf 2.50 is released.
|
|
ifdef([AC_PROG_CC_STDC], [AC_PROG_CC_STDC], [AM_PROG_CC_STDC])
|
|
AC_HEADER_MAJOR
|
|
AC_C_CONST
|
|
|
|
dnl AC_SYS_LARGEFILE is missing in Autoconf-2.13
|
|
ifelse(AC_ACVERSION, [2.13], [],
|
|
[dnl Only enable large file support if --enable-largefile was given
|
|
if test "x$enable_largefile" = xyes; then
|
|
AC_SYS_LARGEFILE
|
|
fi
|
|
])
|
|
|
|
AC_CHECK_TOOL(AR, ar, ar)
|
|
|
|
AC_CHECK_PROGS(X11_WWW,netscape arena Mosaic chimera)
|
|
if test x"$X11_WWW" = x; then
|
|
X11_WWW=lynx
|
|
fi
|
|
|
|
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"
|
|
|
|
dnl
|
|
dnl Internationalization
|
|
dnl
|
|
AM_GNU_GETTEXT
|
|
INTLDEPS=
|
|
LINTL=
|
|
if test "x$USE_INCLUDED_LIBINTL" = xyes; then
|
|
CPPFLAGS="$CPPFLAGS -I\$(top_srcdir)/intl"
|
|
LINTL='-L$(top_builddir)/intl -lintl'
|
|
INTLDEPS='$(top_builddir)/intl/libintl.a'
|
|
fi
|
|
AC_SUBST(LINTL)
|
|
AC_SUBST(INTLDEPS)
|
|
|
|
dnl
|
|
dnl Hack to make extraconf.h visible even if compiling outside srcdir.
|
|
dnl
|
|
CPPFLAGS="$CPPFLAGS -I\$(top_srcdir)"
|
|
|
|
dnl
|
|
dnl Enforce coding standards
|
|
dnl
|
|
if test "x$GCC" = xyes; then
|
|
CFLAGS="$CFLAGS -Wall"
|
|
fi
|
|
|
|
dnl
|
|
dnl We now use glib
|
|
dnl
|
|
AM_PATH_GLIB(1.2.0,,[AC_MSG_ERROR([Test for GLIB failed. MC requires GLIB.])])
|
|
LIBS="$LIBS $GLIB_LIBS"
|
|
|
|
dnl
|
|
dnl OS specific flags.
|
|
dnl
|
|
|
|
posix_libs=""
|
|
case $host_os in
|
|
aux*)
|
|
# A/UX
|
|
posix_libs="-lposix"
|
|
AC_DEFINE(_POSIX_SOURCE)
|
|
;;
|
|
sco*)
|
|
AC_DEFINE(SCO_FLAVOR, 1, [Define if you want to turn on SCO-specific code])
|
|
AC_DEFINE(_SVID3, 1, [Needs to be defined on SCO])
|
|
;;
|
|
esac
|
|
|
|
AC_PROG_INSTALL
|
|
AC_CHECK_HEADERS([unistd.h string.h memory.h crypt.h grp.h limits.h \
|
|
malloc.h stdlib.h termios.h utime.h fcntl.h sys/statfs.h \
|
|
sys/time.h sys/timeb.h stropts.h])
|
|
|
|
AC_HEADER_TIME
|
|
AC_HEADER_SYS_WAIT
|
|
AC_HEADER_DIRENT
|
|
AC_SHORT_D_NAME_LEN
|
|
AC_HEADER_STDC
|
|
|
|
dnl Missing structure components
|
|
AC_STRUCT_ST_BLKSIZE
|
|
AC_STRUCT_ST_BLOCKS
|
|
AC_STRUCT_ST_RDEV
|
|
|
|
dnl
|
|
dnl Check availability of some functions
|
|
dnl
|
|
|
|
AC_CHECK_FUNCS([strerror statfs strcasecmp strncasecmp strcoll strftime \
|
|
strdup memmove pwdauth truncate initgroups putenv \
|
|
memset memcpy tcsetattr tcgetattr cfgetospeed \
|
|
sigaction sigemptyset sigprocmask sigaddset \
|
|
sysconf setuid setreuid \
|
|
telldir seekdir])
|
|
|
|
dnl
|
|
dnl getpt is a GNU Extension (glibc 2.1.x)
|
|
dnl
|
|
AC_CHECK_FUNCS(getpt)
|
|
|
|
SHADOWLIB=
|
|
case $host_os in
|
|
linux*)
|
|
AC_CHECK_LIB(shadow,pw_encrypt,
|
|
[shadow_header=yes
|
|
AC_CHECK_HEADERS(shadow.h,,
|
|
[AC_CHECK_HEADERS(shadow/shadow.h,,
|
|
[shadow_header=no])])
|
|
if test $shadow_header = yes; then
|
|
AC_DEFINE(LINUX_SHADOW)
|
|
SHADOWLIB=-lshadow
|
|
fi])
|
|
;;
|
|
esac
|
|
AC_SUBST(SHADOWLIB)
|
|
|
|
NEED_CRYPT_PROTOTYPE=yes
|
|
if test x$ac_cv_header_crypt_h = xyes; then
|
|
AC_TRY_WARNINGS([#include <crypt.h>], [char *p = crypt("xxx", "yyy");
|
|
if (p)
|
|
return 0;],[
|
|
NEED_CRYPT_PROTOTYPE=no])
|
|
else
|
|
if test x$ac_cv_header_unistd_h = xyes; then
|
|
AC_TRY_WARNINGS([#include <unistd.h>], [char *p = crypt("xxx", "yyy");
|
|
if (p)
|
|
return 0;],[
|
|
NEED_CRYPT_PROTOTYPE=no])
|
|
fi
|
|
fi
|
|
if test x$NEED_CRYPT_PROTOTYPE = xyes; then
|
|
AC_DEFINE(NEED_CRYPT_PROTOTYPE)
|
|
fi
|
|
|
|
dnl
|
|
dnl AIX and Sequent need <sys/select.h> for fd_set
|
|
dnl
|
|
AC_CHECK_HEADERS(sys/select.h)
|
|
|
|
dnl
|
|
dnl On SCO and some SVR4, crypt is on libcrypt.a
|
|
dnl grantpt in libpt.a
|
|
dnl
|
|
LCRYPT=""
|
|
AC_CHECK_FUNCS(crypt, , [
|
|
AC_CHECK_LIB(crypt, crypt, LCRYPT="-lcrypt",[
|
|
AC_CHECK_LIB(crypt_i, crypt, LCRYPT="-lcrypt_i")])])
|
|
AC_SUBST(LCRYPT)
|
|
|
|
AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
|
|
|
|
dnl replacing lstat with statlstat on sco makes it more portable between
|
|
dnl sco clones
|
|
AC_CHECK_FUNCS(statlstat)
|
|
|
|
dnl
|
|
dnl If running under AIX, AC_AIX does not tell us that
|
|
dnl
|
|
AC_MSG_CHECKING([for AIX defines])
|
|
AC_EGREP_CPP(yes,
|
|
[#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
|
|
yes
|
|
#endif
|
|
], [
|
|
AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
|
|
AC_MSG_RESULT(yes)
|
|
], [AC_MSG_RESULT(no)])
|
|
|
|
dnl
|
|
dnl This hack is here until autoconf adds it
|
|
dnl Needed for Unixware: getmntent is on libgen.a
|
|
dnl
|
|
AC_CHECK_LIB(gen, getmntent, [LIBS="-lgen $LIBS"])
|
|
|
|
dnl
|
|
dnl This is from GNU fileutils, check aclocal.m4 for more information
|
|
dnl
|
|
AC_GET_FS_INFO
|
|
|
|
dnl
|
|
dnl Missing typedefs and replacements
|
|
dnl
|
|
|
|
AC_TYPE_MODE_T
|
|
AC_CHECK_TYPE(umode_t, int)
|
|
AC_CHECK_TYPE(off_t, long)
|
|
AC_TYPE_PID_T
|
|
AC_TYPE_UID_T
|
|
AC_CHECK_TYPE(nlink_t, unsigned int)
|
|
|
|
AC_FUNC_MMAP
|
|
AC_FUNC_ALLOCA
|
|
|
|
AC_PATH_XTRA
|
|
|
|
dnl
|
|
dnl X11 support in the textmode edition.
|
|
dnl
|
|
|
|
dnl These variables are only used when building the text edition MC binary
|
|
MCCFLAGS=""
|
|
MCLIBS=""
|
|
AC_SUBST(MCCFLAGS)
|
|
AC_SUBST(MCLIBS)
|
|
|
|
textmode_x11_support="no"
|
|
AC_ARG_WITH(tm-x-support,
|
|
[--with-tm-x-support Add X Window System support to the text edition],
|
|
[if test x$withval = xyes; then
|
|
MCCFLAGS="$X_CFLAGS"
|
|
MCLIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
|
AC_DEFINE(HAVE_TEXTMODE_X11_SUPPORT)
|
|
textmode_x11_support="yes"
|
|
fi
|
|
])
|
|
|
|
dnl
|
|
dnl Network related functions
|
|
dnl
|
|
|
|
AC_CHECK_LIB(nsl, t_accept)
|
|
AC_CHECK_LIB(socket, socket)
|
|
|
|
have_socket=no
|
|
AC_CHECK_FUNCS(socket, have_socket=yes)
|
|
if test $have_socket = no; then
|
|
# socket is not in the default libraries. See if it's in some other.
|
|
for lib in bsd socket inet; do
|
|
AC_CHECK_LIB($lib, socket, [
|
|
LIBS="$LIBS -l$lib"
|
|
have_socket=yes
|
|
AC_DEFINE(HAVE_SOCKET)
|
|
break])
|
|
done
|
|
fi
|
|
|
|
have_gethostbyname=no
|
|
AC_CHECK_FUNC(gethostbyname, [have_gethostbyname=yes])
|
|
if test $have_gethostbyname = no; then
|
|
# gethostbyname is not in the default libraries. See if it's in some other.
|
|
for lib in bsd socket inet; do
|
|
AC_CHECK_LIB($lib, gethostbyname, [LIBS="$LIBS -l$lib"; have_gethostbyname=yes; break])
|
|
done
|
|
fi
|
|
|
|
AC_CHECK_FUNCS(socketpair)
|
|
|
|
dnl
|
|
dnl Sequent wants getprocessstats
|
|
dnl
|
|
AC_CHECK_LIB(seq, get_process_stats, [
|
|
LIBS="$LIBS -lseq"
|
|
AC_DEFINE(HAVE_GET_PROCESS_STATS)])
|
|
|
|
GNOME_VFS_CHECKS
|
|
|
|
dnl
|
|
dnl Install mcserv only if explicitly enabled
|
|
dnl
|
|
AC_ARG_ENABLE([mcserv-install],
|
|
[--enable-mcserv-install Install mcserv - Midnight Commander file server])
|
|
|
|
AM_CONDITIONAL(MCSERV_INSTALL,
|
|
[test "x$enable_mcserv_install$mcserv" = xyesmcserv])
|
|
|
|
NETFILES=
|
|
if test $have_socket = yes; then
|
|
NETFILES="\$(NETFILES)"
|
|
fi
|
|
AC_SUBST(NETFILES)
|
|
|
|
LIBVFS=""
|
|
LVFS=""
|
|
vfs_type="normal"
|
|
if test $use_vfs = yes
|
|
then
|
|
LIBVFS="libvfs-mc.a"
|
|
LVFS="-lvfs-mc"
|
|
MCCPPFLAGS="$MCCPPFLAGS -I\$(vfsdir)"
|
|
AC_MSG_RESULT([Using the VFS switch code])
|
|
vfs_type="Midnight Commander Virtual File System"
|
|
fi
|
|
AC_SUBST(LIBVFS)
|
|
AC_SUBST(LVFS)
|
|
|
|
screen_manager=unknown
|
|
search_ncurses=false
|
|
|
|
XCURSES=""
|
|
AC_SUBST(XCURSES)
|
|
|
|
dnl AC_ARG_WITH(bsd-curses,
|
|
dnl [--with-bsd-curses Used to compile with bsd curses, not very fancy],
|
|
dnl [search_ncurses=false
|
|
dnl screen_manager="Ultrix/cursesX"
|
|
dnl case $host_os in
|
|
dnl ultrix*)
|
|
dnl THIS_CURSES=cursesX
|
|
dnl ;;
|
|
dnl *)
|
|
dnl THIS_CURSES=curses
|
|
dnl ;;
|
|
dnl esac
|
|
dnl
|
|
dnl LIBS="$LIBS -l$THIS_CURSES -ltermcap"
|
|
dnl AC_DEFINE(USE_BSD_CURSES)
|
|
dnl XCURSES="xcurses.o"
|
|
dnl AC_MSG_RESULT([Please note that some screen refreshs may fail])
|
|
dnl AC_MSG_WARN([Use of the bsdcurses extension has some])
|
|
dnl AC_MSG_WARN([display/input problems.])
|
|
dnl AC_MSG_WARN([Reconsider using xcurses])
|
|
dnl])
|
|
|
|
AC_ARG_WITH(sunos-curses,
|
|
[--with-sunos-curses Used to force SunOS 4.x curses],[
|
|
if test x$withval = xyes; then
|
|
AC_USE_SUNOS_CURSES
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(osf1-curses,
|
|
[--with-osf1-curses Used to force OSF/1 curses],[
|
|
if test x$withval = xyes; then
|
|
AC_USE_OSF1_CURSES
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(vcurses,
|
|
[--with-vcurses[=incdir] Used to force SysV curses],
|
|
[if test x$withval = xyes; then :
|
|
else
|
|
CPPFLAGS="$CPPFLAGS -I$withval"
|
|
fi
|
|
AC_USE_SYSV_CURSES
|
|
])
|
|
|
|
mouse_lib="xterm only"
|
|
LGPM=""
|
|
case $host_os in
|
|
linux*)
|
|
AC_ARG_WITH(gpm-mouse,
|
|
[--with-gpm-mouse[=base-dir] Compile with gpm mouse support (Linux only)],
|
|
[if test x$withval != xno
|
|
then
|
|
if test x$withval != xyes
|
|
then
|
|
LIBS="$LIBS -L$withval/lib"
|
|
CPPFLAGS="$CPPFLAGS -I$withval/include"
|
|
fi
|
|
AC_DEFINE(HAVE_LIBGPM)
|
|
mouse_lib="GPM and xterm"
|
|
LGPM="-lgpm"
|
|
fi],
|
|
[AC_CHECK_LIB(gpm, Gpm_Repeat,
|
|
[AC_DEFINE(HAVE_LIBGPM)
|
|
mouse_lib="GPM and xterm"
|
|
LGPM="-lgpm"],
|
|
[AC_MSG_WARN([libgpm is missing or older than 0.18])],
|
|
$LIBS)
|
|
])
|
|
;;
|
|
esac
|
|
AC_SUBST(LGPM)
|
|
|
|
AC_ARG_WITH(ncurses,
|
|
[--with-ncurses[=base-dir] Compile with ncurses/locate base dir],
|
|
[if test x$withval = xyes
|
|
then
|
|
search_ncurses=true
|
|
else
|
|
LIBS="$LIBS -L$withval/lib -lncurses"
|
|
CPPFLAGS="$CPPFLAGS -I$withval/include"
|
|
search_ncurses=false
|
|
screen_manager="ncurses"
|
|
AC_DEFINE(USE_NCURSES)
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(hsc,
|
|
[--with-hsc Compile with support for the HSC firewall],
|
|
[if test x$withval = xyes; then
|
|
AC_DEFINE(HSC_PROXY, 1,
|
|
[Define if you want to use the HSC firewall])
|
|
fi
|
|
])
|
|
|
|
dnl
|
|
dnl Check for Gnome
|
|
dnl
|
|
mx=""
|
|
libgtkedit=""
|
|
xvers="none"
|
|
|
|
GNOME_INIT_HOOK([
|
|
mx=mx
|
|
libgtkedit="libgtkedit.a"
|
|
if test x"$xvers" = xnone; then
|
|
xvers="Gnome"
|
|
else
|
|
xvers="Gnome+$xvers"
|
|
fi
|
|
gnomeicondir=`gnome-config --datadir`/pixmaps
|
|
|
|
dnl Check for new enough gnome-libs
|
|
CFLAGS_save=$CFLAGS
|
|
LIBS_save=$LIBS
|
|
CFLAGS=`gnome-config --cflags gnomeui`
|
|
LIBS=`gnome-config --libs gnomeui`
|
|
|
|
AC_CHECK_LIB(gnomeui, gnome_window_icon_set_default_from_file,
|
|
[AC_DEFINE(HAVE_GNOME_WINDOW_ICON)])
|
|
|
|
CFLAGS=$CFLAGS_save
|
|
LIBS=$LIBS_save
|
|
])
|
|
AC_SUBST(gnomeicondir)
|
|
AC_SUBST(mx)
|
|
AC_SUBST(libgtkedit)
|
|
AC_SUBST(GNOMEGNORBA_LIBS)
|
|
AM_CONDITIONAL(GNOME, [test x"$mx" = xmx])
|
|
|
|
dnl
|
|
dnl Check for the -mandoc package
|
|
dnl
|
|
AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
|
|
if $HAVE_nroff; then
|
|
AC_MSG_CHECKING([for manual formatting macros])
|
|
AC_CACHE_VAL(ac_cv_mandoc, [
|
|
nroff -mandoc < /dev/null > /dev/null 2>&1 /dev/null
|
|
if test $? = 0
|
|
then
|
|
ac_cv_mandoc=-mandoc
|
|
else
|
|
ac_cv_mandoc=-man
|
|
fi
|
|
])
|
|
MANDOC=$ac_cv_mandoc
|
|
AC_MSG_RESULT($MANDOC)
|
|
else
|
|
MANDOC=-man
|
|
fi
|
|
AC_SUBST(MANDOC)
|
|
|
|
dnl
|
|
dnl Check if nroff accepts -Tlatin1 or -Tascii
|
|
dnl
|
|
if $HAVE_nroff; then
|
|
AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
|
|
AC_CACHE_VAL(ac_cv_nroff_tascii, [
|
|
nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
|
|
if test $? = 0
|
|
then
|
|
ac_cv_nroff_tascii=" -Tlatin1"
|
|
else
|
|
nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
|
|
if test $? = 0
|
|
then
|
|
ac_cv_nroff_tascii=" -Tascii"
|
|
else
|
|
ac_cv_nroff_tascii=""
|
|
fi
|
|
fi
|
|
])
|
|
if test "x$ac_cv_nroff_tascii" = x; then
|
|
AC_MSG_RESULT(no)
|
|
else
|
|
AC_MSG_RESULT([yes,$ac_cv_nroff_tascii])
|
|
fi
|
|
fi
|
|
TROFFASCII="$ac_cv_nroff_tascii"
|
|
AC_SUBST(TROFFASCII)
|
|
|
|
dnl
|
|
dnl Check for - option to file
|
|
dnl
|
|
AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
|
|
if $HAVE_FILECMD; then
|
|
AC_MSG_CHECKING([for - option to file command])
|
|
AC_CACHE_VAL(ac_cv_filestdin, [[
|
|
cat > conftest.c <<\EOF
|
|
/* A comment */
|
|
#if 0
|
|
#endif
|
|
void main(void)
|
|
{ return; }
|
|
EOF
|
|
cat > conftest.sed <<\EOF
|
|
s/^[^:]*:[ ]*//
|
|
s/[ ]*$//
|
|
EOF
|
|
filehyphen_1=`file conftest.c 2>/dev/null | sed -f conftest.sed`
|
|
filehyphen_2=`cat conftest.c | file - 2>/dev/null | sed -f conftest.sed`
|
|
if test "x$filehyphen_1" = "x$filehyphen_2"; then
|
|
ac_cv_filestdin=yes
|
|
else
|
|
ac_cv_filestdin=no
|
|
fi
|
|
rm conftest.c conftest.sed
|
|
]])
|
|
|
|
if test x$ac_cv_filestdin = xyes; then
|
|
AC_DEFINE(FILE_STDIN, 1,
|
|
[Define if the file command accepts - for stdin])
|
|
fi
|
|
filestdin=$ac_cv_filestdin
|
|
AC_MSG_RESULT([$filestdin])
|
|
|
|
dnl
|
|
dnl Check for -L option to file
|
|
dnl
|
|
|
|
AC_MSG_CHECKING([for -L option to file command])
|
|
AC_CACHE_VAL(ac_cv_filel, [
|
|
file -L . > /dev/null 2>&1
|
|
if test $? = 0
|
|
then
|
|
ac_cv_filel=yes
|
|
else
|
|
ac_cv_filel=no
|
|
fi
|
|
])
|
|
if test x$ac_cv_filel = xyes; then
|
|
AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
|
|
fi
|
|
filel=$ac_cv_filel
|
|
AC_MSG_RESULT([$filel])
|
|
fi
|
|
|
|
dnl
|
|
dnl Check to see if grep program allowes dash to denote stdin
|
|
dnl
|
|
AC_MSG_CHECKING([for - option to grep command])
|
|
AC_CACHE_VAL(ac_cv_grep_stdin, [
|
|
echo "grep_test" | grep grep_test - >/dev/null 2>&1
|
|
if test $? = 0; then
|
|
ac_cv_grep_stdin=yes
|
|
else
|
|
ac_cv_grep_stdin=no
|
|
fi
|
|
])
|
|
if test x$ac_cv_grep_stdin = xyes; then
|
|
AC_DEFINE(GREP_STDIN, 1, [Define if the grep command accepts - for stdin])
|
|
fi
|
|
AC_MSG_RESULT([$ac_cv_grep_stdin])
|
|
|
|
dnl
|
|
dnl The subshell support
|
|
dnl
|
|
|
|
AC_MSG_CHECKING([for subshell support])
|
|
AC_ARG_WITH(subshell,
|
|
[--with-subshell If you want to use a concurrent shell],
|
|
[result=no
|
|
if test x$withval = xoptional
|
|
then
|
|
AC_DEFINE(SUBSHELL_OPTIONAL)
|
|
AC_DEFINE(HAVE_SUBSHELL_SUPPORT)
|
|
result="optional"
|
|
fi
|
|
if test x$withval = xyes
|
|
then
|
|
AC_DEFINE(HAVE_SUBSHELL_SUPPORT)
|
|
result="yes"
|
|
fi],
|
|
[dnl Default: provide the subshell support on non-ultrix machines
|
|
case $host_os in
|
|
ultrix*)
|
|
result=no
|
|
;;
|
|
*)
|
|
AC_DEFINE(HAVE_SUBSHELL_SUPPORT)
|
|
result=yes
|
|
;;
|
|
esac
|
|
])
|
|
AC_MSG_RESULT([$result])
|
|
subshell="$result"
|
|
|
|
dnl
|
|
dnl Memory Allocation Debugger
|
|
dnl
|
|
mem_debug="none"
|
|
AC_ARG_WITH(mad,
|
|
[--with-mad Developers only: activates MAD (memory debugger)],
|
|
[if test x$withval = xyes; then
|
|
mem_debug="Janne's MAD library"
|
|
AC_DEFINE(HAVE_MAD)
|
|
AC_MSG_RESULT([compiling with memory leak detector])
|
|
fi])
|
|
|
|
dnl
|
|
dnl Electric Fence - another memory debugger
|
|
dnl
|
|
AC_ARG_WITH(efence,
|
|
[--with-efence Developers only: activates Electric Fence],
|
|
[if test x$withval = xyes; then
|
|
LIBS="$LIBS -lefence"
|
|
AC_MSG_RESULT([compiling with Electric fence])
|
|
mem_debug="Electric Fence"
|
|
fi])
|
|
|
|
dnl
|
|
dnl To force mmap support
|
|
dnl We use only part of the functionality of mmap, so on AIX,
|
|
dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
|
|
dnl
|
|
AC_ARG_WITH(mmap,
|
|
[--with-mmap To force using the mmap call (AIX)],
|
|
[if test x$withval = xyes; then
|
|
AC_DEFINE(HAVE_MMAP)
|
|
AC_MSG_RESULT([forcing MMAP support])
|
|
fi])
|
|
|
|
slang_check_lib=true
|
|
slang_term=""
|
|
slang_use_system_installed_lib=false
|
|
AC_CHECK_LIB(slang,SLang_init_tty,
|
|
[AC_CHECK_HEADERS(slang.h)
|
|
if test x$ac_cv_header_slang_h = xyes
|
|
then
|
|
slang_use_system_installed_lib=true
|
|
slang_check_lib=false
|
|
else
|
|
AC_CHECK_HEADERS(slang/slang.h)
|
|
if test x$ac_cv_header_slang_slang_h = xyes
|
|
then
|
|
slang_use_system_installed_lib=true
|
|
slang_check_lib=false
|
|
fi
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(terminfo,
|
|
[--with-terminfo SLANG: Force usage of terminfo],[
|
|
if test x$withval = xyes; then
|
|
AC_USE_TERMINFO
|
|
slang_check_lib=false
|
|
slang_use_system_installed_lib=false
|
|
fi]
|
|
)
|
|
|
|
AC_ARG_WITH(termcap,
|
|
[--with-termcap SLANG: Force usage of termcap],[
|
|
if test x$withval = xyes; then
|
|
AC_USE_TERMCAP
|
|
slang_check_lib=false
|
|
slang_use_system_installed_lib=false
|
|
fi]
|
|
)
|
|
|
|
AC_ARG_WITH(included-slang,
|
|
[--with-included-slang SLANG: use the SLang library included here],[
|
|
if test x$withval = xyes; then
|
|
slang_use_system_installed_lib=false
|
|
slang_check_lib=true
|
|
fi]
|
|
)
|
|
|
|
LIBSLANG=""
|
|
LSLANG=""
|
|
AC_ARG_WITH(slang,
|
|
[--with-slang Compile with the slang screen manager],[
|
|
if test x$withval = xyes; then
|
|
AC_WITH_SLANG
|
|
fi
|
|
])
|
|
|
|
AC_SUBST(LIBSLANG)
|
|
AC_SUBST(LSLANG)
|
|
|
|
LIBEDIT_A=""
|
|
MCEDIT=""
|
|
LEDIT=""
|
|
EDIT_msg=""
|
|
AC_ARG_WITH(edit,
|
|
[--with-edit Define INTERNAL_EDIT],
|
|
[if test x$withval = xyes
|
|
then
|
|
AC_WITH_EDIT
|
|
else
|
|
EDIT_msg="no"
|
|
fi],
|
|
[dnl Default: provide the internal editor
|
|
AC_WITH_EDIT
|
|
])
|
|
AC_SUBST(LIBEDIT_A)
|
|
AC_SUBST(MCEDIT)
|
|
AC_SUBST(LEDIT)
|
|
|
|
AC_ARG_WITH(netrc,
|
|
[--with-netrc Compile with ftp .netrc support],[
|
|
if test x$withval = xyes; then
|
|
AC_DEFINE(USE_NETRC, 1,
|
|
[Define to use .netrc for FTP connections])
|
|
AC_MSG_RESULT([ftpfs will have .netrc parsing code])
|
|
fi
|
|
])
|
|
|
|
undelfs_o=""
|
|
|
|
if test $use_vfs = yes; then
|
|
AC_ARG_WITH(ext2undel,
|
|
[--with-ext2undel Compile with ext2 undelete code],[
|
|
if test x$withval != xno;
|
|
then
|
|
if test x$withval != xyes
|
|
then
|
|
LIBS="$LIBS -L$withval/lib"
|
|
CPPFLAGS="$CPPFLAGS -I$withval/include"
|
|
fi
|
|
AC_EXT2_UNDEL
|
|
fi],[
|
|
dnl Default: detect
|
|
AC_CHECK_LIB(ext2fs, ext2fs_close, [AC_EXT2_UNDEL],,-lcom_err)
|
|
])
|
|
fi
|
|
|
|
AC_SUBST(undelfs_o)
|
|
|
|
if $search_ncurses
|
|
then
|
|
AC_CHECKING([location of ncurses.h file])
|
|
|
|
AC_NCURSES(/usr/include, ncurses.h, -lncurses,, "ncurses on /usr/include")
|
|
AC_NCURSES(/usr/include/ncurses, ncurses.h, -lncurses, -I/usr/include/ncurses, "ncurses on /usr/include/ncurses")
|
|
AC_NCURSES(/usr/local/include, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include, "ncurses on /usr/local")
|
|
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")
|
|
|
|
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")
|
|
|
|
AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/include/ncurses")
|
|
|
|
dnl
|
|
dnl We couldn't find ncurses, try SysV curses
|
|
dnl
|
|
if $search_ncurses
|
|
then
|
|
AC_EGREP_HEADER(init_color, /usr/include/curses.h,
|
|
AC_USE_SYSV_CURSES)
|
|
AC_EGREP_CPP(USE_NCURSES,[
|
|
#include <curses.h>
|
|
#ifdef __NCURSES_H
|
|
#undef USE_NCURSES
|
|
USE_NCURSES
|
|
#endif
|
|
],[
|
|
CPPFLAGS="$CPPFLAGS -DRENAMED_NCURSES"
|
|
AC_DEFINE(USE_NCURSES)
|
|
search_ncurses=false
|
|
screen_manager="ncurses installed as curses"
|
|
])
|
|
fi
|
|
|
|
dnl
|
|
dnl Try SunOS 4.x /usr/5{lib,include} ncurses
|
|
dnl The flags USE_SUNOS_CURSES, USE_BSD_CURSES and BUGGY_CURSES
|
|
dnl should be replaced by a more fine grained selection routine
|
|
dnl
|
|
if $search_ncurses
|
|
then
|
|
if test -f /usr/5include/curses.h
|
|
then
|
|
AC_USE_SUNOS_CURSES
|
|
fi
|
|
else
|
|
# check for ncurses version, to properly ifdef mouse-fix
|
|
AC_MSG_CHECKING([for ncurses version])
|
|
ncurses_version=unknown
|
|
cat > conftest.$ac_ext <<EOF
|
|
[#]line __oline__ "configure"
|
|
#include "confdefs.h"
|
|
#ifdef RENAMED_NCURSES
|
|
#include <curses.h>
|
|
#else
|
|
#include <ncurses.h>
|
|
#endif
|
|
#undef VERSION
|
|
VERSION:NCURSES_VERSION
|
|
EOF
|
|
if (eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC |
|
|
egrep "VERSION:" >conftest.out 2>&1; then
|
|
ncurses_version=`cat conftest.out|sed -e 's/^[[^"]]*"//' -e 's/".*//'`
|
|
fi
|
|
rm -rf conftext*
|
|
AC_MSG_RESULT([$ncurses_version])
|
|
case "$ncurses_version" in
|
|
4.[[01]])
|
|
AC_DEFINE(NCURSES_970530,2)
|
|
;;
|
|
1.9.9g)
|
|
AC_DEFINE(NCURSES_970530,1)
|
|
;;
|
|
1*)
|
|
AC_DEFINE(NCURSES_970530,0)
|
|
;;
|
|
esac
|
|
fi
|
|
fi
|
|
|
|
|
|
dnl If ncurses exports the ESCDELAY variable it should be set to 0
|
|
dnl or you'll have to press Esc three times to dismiss a dialog box.
|
|
dnl
|
|
if test -n "$ncurses_version"; then
|
|
AC_CACHE_CHECK([for ESCDELAY variable],
|
|
[mc_cv_ncurses_escdelay],
|
|
[AC_TRY_COMPILE([], [
|
|
extern int ESCDELAY;
|
|
int main ()
|
|
{
|
|
ESCDELAY = 0;
|
|
}
|
|
],
|
|
[mc_cv_ncurses_escdelay=yes],
|
|
[mc_cv_ncurses_escdelay=no]
|
|
)
|
|
])
|
|
if test "$mc_cv_ncurses_escdelay" = yes; then
|
|
AC_DEFINE(HAVE_ESCDELAY, 1,
|
|
[Define if ncurses has ESCDELAY variable])
|
|
fi
|
|
fi
|
|
|
|
|
|
dnl Ncurses may be linked against libgpm. Change LIBS temporary for
|
|
dnl check for resizeterm and keyok.
|
|
dnl
|
|
SAVED_LIBS="$LIBS"
|
|
LIBS="$LIBS $LGPM"
|
|
AC_CHECK_FUNCS(resizeterm keyok)
|
|
LIBS="$SAVED_LIBS"
|
|
|
|
if test "x$screen_manager" = "xunknown"; then
|
|
AC_WITH_SLANG
|
|
fi
|
|
|
|
dnl
|
|
dnl The variables used for expanding the auto saver.
|
|
dnl
|
|
cons_saver=""
|
|
install_saver="no"
|
|
PAMLIBS=""
|
|
case $host_os in
|
|
linux*)
|
|
cons_saver="cons.saver"
|
|
install_saver="yes"
|
|
|
|
dnl
|
|
dnl On Linux, check for PAM authentication available
|
|
dnl
|
|
AC_CHECK_LIB(pam, pam_start, [
|
|
AC_DEFINE(HAVE_PAM)
|
|
PAMLIBS="-lpam -ldl"
|
|
],[],[-ldl])
|
|
;;
|
|
esac
|
|
AC_SUBST(cons_saver)
|
|
AC_SUBST(PAMLIBS)
|
|
|
|
dnl
|
|
dnl User visible support for charset conversion.
|
|
dnl
|
|
AC_ARG_ENABLE([charset],
|
|
[--enable-charset Support for charset selection and conversion])
|
|
have_charset=
|
|
if test "x$enable_charset" = xyes; then
|
|
if test -z "$am_cv_func_iconv"; then
|
|
AC_MSG_WARN([Cannot enable charset support because iconv function is missing])
|
|
else
|
|
AC_DEFINE(HAVE_CHARSET, 1,
|
|
[Define to enable charset selection and conversion])
|
|
have_charset=yes
|
|
fi
|
|
fi
|
|
|
|
AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
|
|
|
|
|
|
dnl
|
|
dnl This code should be moved to the ac_WITH_SLANG
|
|
dnl
|
|
dnl We check for the existance of setupterm on curses library
|
|
dnl this is required to load certain definitions on some termcaps
|
|
dnl editions (AIX and OSF/1 I seem to remember).
|
|
dnl Note that we avoid using setupterm
|
|
case $screen_manager in
|
|
SLang*)
|
|
case $host_os in
|
|
linux*)
|
|
;;
|
|
*)
|
|
AC_CHECK_LIB(curses,setupterm,
|
|
[AC_TRY_COMPILE([
|
|
#include <curses.h>
|
|
#include <term.h>],[
|
|
if (key_end == parm_insert_line)
|
|
return 1;
|
|
return 0;
|
|
],
|
|
[LIBS="$LIBS -lcurses"
|
|
AC_DEFINE(USE_SETUPTERM)])
|
|
])
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
LIBS="$LIBS $posix_libs"
|
|
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(CPPFLAGS)
|
|
AC_SUBST(MCCPPFLAGS)
|
|
AC_SUBST(LDFLAGS)
|
|
AC_SUBST(LIBS)
|
|
|
|
MCF=./Make.common
|
|
AC_SUBST_FILE(MCF)
|
|
|
|
dnl
|
|
dnl Output configuration files
|
|
dnl
|
|
dnl It's a hack to accomodate both Autoconf 2.13 and the 2.49x series,
|
|
dnl It's needed until Autoconf 2.50 is released.
|
|
ifelse(AC_ACVERSION, [2.13],
|
|
[mc_subdirs=
|
|
if test "x$SAMBAFILES" != x; then
|
|
mc_subdirs=vfs/samba
|
|
AC_CONFIG_SUBDIRS([$mc_subdirs])
|
|
fi],
|
|
[if test "x$SAMBAFILES" != x; then
|
|
AC_CONFIG_SUBDIRS([vfs/samba])
|
|
fi])
|
|
|
|
AM_CONDITIONAL(USE_SAMBA_FS, [test "x$SAMBAFILES" != x])
|
|
|
|
AC_OUTPUT([
|
|
Make.common
|
|
Makefile
|
|
mc.spec
|
|
doc/Makefile
|
|
doc-gnome/Makefile
|
|
doc-gnome/C/Makefile
|
|
doc-gnome/C/figs/Makefile
|
|
vfs/Makefile:vfs/Make-mc.in
|
|
vfs/extfs/Makefile
|
|
lib/Makefile
|
|
gnome/Makefile
|
|
gnome/mc.keys.in
|
|
idl/Makefile
|
|
src/Makefile
|
|
slang/Makefile
|
|
edit/Makefile
|
|
gtkedit/Makefile
|
|
syntax/Makefile
|
|
new_icons/Makefile
|
|
pc/Makefile
|
|
|
|
lib/mc.ext
|
|
lib/mc.sh
|
|
lib/mc.csh
|
|
|
|
mcfn_install
|
|
|
|
vfs/extfs/deb
|
|
vfs/extfs/ftplist
|
|
vfs/extfs/lslR
|
|
vfs/extfs/uar
|
|
vfs/extfs/ucpio
|
|
vfs/extfs/ulha
|
|
vfs/extfs/uha
|
|
vfs/extfs/urar
|
|
vfs/extfs/uzoo
|
|
|
|
doc/mc.1 doc/mcedit.1 doc/mcserv.8
|
|
|
|
intl/Makefile po/Makefile.in
|
|
],[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
|
|
|
|
if echo "$screen_manager" | grep -q "SLang" ; then
|
|
screen_manager="${screen_manager}${slang_term}"
|
|
fi
|
|
|
|
echo "
|
|
Configuration:
|
|
|
|
Source code location: ${srcdir}
|
|
Compiler: ${CC}
|
|
Compiler flags: ${CFLAGS}
|
|
File system: ${vfs_type}
|
|
${vfs_flags}
|
|
Text mode screen manager: ${screen_manager}
|
|
Install console saver: ${install_saver}
|
|
Text mode mouse library: ${mouse_lib}
|
|
Text mode X11 support: ${textmode_x11_support}
|
|
Debugger code: ${mem_debug}
|
|
With subshell support: ${subshell}
|
|
X11 versions: ${xvers}
|
|
Internal editor: ${EDIT_msg}
|
|
Install path: ${prefix}/bin, ${prefix}/lib/mc
|
|
"
|