dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: configure.in,v 1.388 2007/01/14 00:23:57 tom Exp $
+dnl $Id: configure.in,v 1.406 2007/03/10 18:06:55 tom Exp $
dnl Process this file with autoconf to produce a configure script.
dnl
dnl See http://invisible-island.net/autoconf/ for additional information.
dnl
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.13.20020210)
-AC_REVISION($Revision: 1.388 $)
+AC_REVISION($Revision: 1.406 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
AC_SUBST(LD_MODEL)dnl the type of link (e.g., -g or -pg)
AC_MSG_RESULT($LD_MODEL)
+case $DFT_LWR_MODEL in
+shared)
AC_MSG_CHECKING(if rpath option should be used)
AC_ARG_ENABLE(rpath,
[ --enable-rpath use rpath option when generating shared libraries],
[cf_cv_ld_rpath=$enableval],
[cf_cv_ld_rpath=no])
AC_MSG_RESULT($cf_cv_ld_rpath)
+AC_MSG_CHECKING(if shared libraries should be relinked during install)
+AC_ARG_ENABLE(rpath,
+[ --disable-relink relink shared libraries during install],
+[cf_cv_do_relink=$enableval],
+[cf_cv_do_relink=yes])
+AC_MSG_RESULT($cf_cv_do_relink)
+ ;;
+esac
CF_SHARED_OPTS
if test "$CC_SHARED_OPTS" = "unknown"; then
AC_DEFINE(PURE_TERMINFO)
else
+if test "$with_ticlib" != no ; then
+ AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
+fi
+
AC_DEFINE(USE_TERMCAP)
AC_MSG_CHECKING(for list of termcap files)
CF_WITH_PATHLIST(termpath,
CF_LARGEFILE
-### use option --disable-tparm-varargs to make tparm() conform to X/Open
+### use option --disable-tparm-varargs to make tparm() conform to X/Open
AC_MSG_CHECKING(if you want tparm not to use X/Open fixed-parameter list)
AC_ARG_ENABLE(tparm-varargs,
[ --disable-tparm-varargs compile tparm() without varargs interface],
fi
AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
AC_ARG_ENABLE(signed-char,
- [ --enable-signed-char compile with SIGWINCH handler],
+ [ --enable-signed-char compile using signed Boolean's in term.h],
[with_signed_char=$enableval],
[with_signed_char=no])
AC_MSG_RESULT($with_signed_char)
fi
AC_SUBST(NCURSES_MOUSE_VERSION)
+# Reentrant code has to be opaque; there's little advantage to making ncurses
+# opaque outside of that, so there is no --enable-opaque option.
+AC_MSG_CHECKING(if you want experimental reentrant code)
+AC_ARG_ENABLE(reentrant,
+ [ --enable-reentrant compile with experimental reentrant code],
+ [with_reentrant=$enableval],
+ [with_reentrant=no])
+AC_MSG_RESULT($with_reentrant)
+if test "$with_reentrant" = yes ; then
+ cf_cv_enable_reentrant=1
+ cf_cv_enable_opaque="NCURSES_INTERNALS"
+ NCURSES_OPAQUE=1
+ NCURSES_SIZE_T=int
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ AC_DEFINE(USE_REENTRANT)
+ CF_NCURSES_ABI_6
+else
+ cf_cv_enable_reentrant=0
+ cf_cv_enable_opaque="NCURSES_OPAQUE"
+ NCURSES_OPAQUE=0
+ NCURSES_SIZE_T=short
+fi
+AC_SUBST(cf_cv_enable_reentrant)
+AC_SUBST(cf_cv_enable_opaque)
+AC_SUBST(NCURSES_OPAQUE)
+AC_SUBST(NCURSES_SIZE_T)
+
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
AC_ARG_ENABLE(safe-sprintf,
[ --enable-safe-sprintf compile with experimental safe-sprintf code],
CF_ETIP_DEFINES
CF_CPP_PARAM_INIT
CF_CPP_STATIC_CAST
- CF_CPP_VSCAN_FUNC
CXX_AR='$(AR)'
CXX_AR_OPTS='$(AR_OPTS)'
AC_MSG_CHECKING(for library subsets)
LIB_SUBSETS=
-test "$cf_with_progs" = yes && LIB_SUBSETS="${LIB_SUBSETS}ticlib"
-if test "$with_ticlib" != no ; then
- LIB_SUBSETS="${LIB_SUBSETS} "
-else
- LIB_SUBSETS="${LIB_SUBSETS}+"
+if test "$cf_with_progs" = yes || test "$with_ticlib" != no; then
+ LIB_SUBSETS="${LIB_SUBSETS}ticlib"
+ if test "$with_ticlib" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS} "
+ else
+ LIB_SUBSETS="${LIB_SUBSETS}+"
+ fi
fi
LIB_SUBSETS="${LIB_SUBSETS}termlib"
AC_SUBST(CXX_LIB_SUFFIX)
fi
+# do not want -ldl in build except as needed for -lncurses dependency
+if test "$with_dlsym" = yes ; then
+if test $DFT_LWR_MODEL = shared || \
+ test $DFT_LWR_MODEL = libtool ; then
+ CF_REMOVE_LIB(LIBS,$LIBS,dl)
+fi
+fi
### Set up low-level terminfo dependencies for makefiles.
-# TICS_LIST and TINFO_LIST are needed to build the libtic.so and libterm.so
-TICS_LIST="$SHLIB_LIST"
-TINFO_LIST="$SHLIB_LIST"
-
-TICS_LEAKS=
+# TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
+# do not need libdl
+TICS_LIST=
+if test "$with_dlsym" = yes ; then
+ CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
+fi
if test "$with_ticlib" != no ; then
TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
fi
-
- TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TICS_DEP_SUFFIX}"
- TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${TICS_DEP_SUFFIX}"
- if test "$DFT_LWR_MODEL" = "libtool"; then
- TEST_ARGS="${TEST_DEPS}"
- TEST_ARG2="${TEST_DEP2}"
- TICS_ARGS="-L${LIB_DIR} $TEST_ARGS"
- else
- TEST_ARGS="-l${TICS_ARG_SUFFIX}"
- TEST_ARG2="-l${TICS_ARG_SUFFIX}"
- TICS_ARGS="-L${LIB_DIR} $TEST_ARGS"
- # SHLIB_LIST="$SHLIB_LIST -l${TICS_LIB_SUFFIX}"
- fi
- test "$with_no_leaks" != no && TICS_LEAKS="-l${TICS_NAME}"
+ TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}"
else
TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
fi
AC_SUBST(TICS_LIB_SUFFIX)
AC_SUBST(TICS_ARGS)
-AC_SUBST(TICS_LEAKS)
-
if test "$with_termlib" != no ; then
if test "$with_termlib" != yes ; then
else
TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
+ TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
fi
else
+ # the next lines are needed for linking libtic over libncurses
+ TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
+ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+
TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
fi
AC_SUBST(TINFO_ARG_SUFFIX)
AC_SUBST(TINFO_LIB_SUFFIX)
AC_SUBST(TINFO_ARGS)
+if test "$with_dlsym" = yes ; then
+ CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
+fi
+
# needed for Ada95
TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
AC_SUBST(TINFO_ARGS2)
fi
AC_SUBST(WITH_OVERWRITE)
+AC_SUBST(TICS_LIST)
AC_SUBST(TINFO_LIST)
AC_SUBST(SHLIB_LIST)
WITH_OVERWRITE="$with_overwrite"
cf_LIST_MODELS="$cf_list_models"
cf_cv_abi_version="$cf_cv_abi_version"
+cf_cv_do_relink="$cf_cv_do_relink"
cf_cv_do_symlinks="$cf_cv_do_symlinks"
cf_cv_enable_lp64="$cf_cv_enable_lp64"
+cf_cv_enable_opaque="$cf_cv_enable_opaque"
cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
cf_cv_rel_version="$cf_cv_rel_version"