dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: configure.in,v 1.393 2007/02/03 19:26:12 tom Exp $
+dnl $Id: configure.in,v 1.419 2007/05/05 15:45:26 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.393 $)
+AC_REVISION($Revision: 1.419 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
SHLIB_LIST="-lgpm $SHLIB_LIST"
fi
AC_DEFINE(HAVE_LIBGPM)
- AC_CHECK_LIB(gpm,Gpm_Wgetch,[
- AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
- ])
+ CF_CHECK_GPM_WGETCH
fi
CF_WITH_SYSMOUSE
[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
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)
NCURSES_EXT_COLORS=0
if test "$with_ext_colors" = yes ; then
if test "$with_widec" != yes ; then
- AC_MSG_WARN(This option applies only to wide-character library)
+ AC_MSG_ERROR(This option applies only to wide-character library)
else
# cannot be ABI 5 since it changes sizeof(cchar_t)
CF_NCURSES_ABI_6
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],
### checks for compiler characteristics
AC_LANG_C
AC_C_CONST
-AC_C_INLINE
-
-NCURSES_INLINE=
-if test "$ac_cv_c_inline" != no ; then
- AC_DEFINE(CC_HAS_INLINE_FUNCS)
- NCURSES_INLINE=inline
-fi
-AC_SUBST(NCURSES_INLINE)
+CF_C_INLINE(NCURSES_INLINE,1200)
+CF_SIG_ATOMIC_T
if test $NCURSES_CHTYPE = auto ; then
CF_TYPEOF_CHTYPE
else
cf_cv_typeof_chtype=$NCURSES_CHTYPE
fi
+test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
AC_SUBST(cf_cv_typeof_chtype)
CF_UNSIGNED_LITERALS
cf_cv_1UL="1"
-test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U"
-test "$cf_cv_typeof_chtype" = long && cf_cv_1UL="${cf_cv_1UL}L"
+test ".$cf_cv_unsigned_literals" = .yes && cf_cv_1UL="${cf_cv_1UL}U"
+test ".$cf_cv_typeof_chtype" = .long && cf_cv_1UL="${cf_cv_1UL}L"
AC_SUBST(cf_cv_1UL)
if test $NCURSES_MMASK_T = auto ; then
else
cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
fi
+test "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t=""
AC_SUBST(cf_cv_typeof_mmask_t)
### Checks for external-data
;;
esac
- AC_CHECK_HEADERS(typeinfo)
+ AC_CHECK_HEADERS(iostream typeinfo)
CF_BOOL_DECL
CF_BOOL_SIZE
fi
fi
+else
+ cf_with_ada=no
fi
### Construct the ncurses library-subsets, if any, from this set of keywords:
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_MSG_CHECKING(default library-dependency suffix)
CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
+DFT_LIB_SUFFIX=$DFT_DEP_SUFFIX
if test $DFT_LWR_MODEL = shared ; then
case $cf_cv_system_name in #(vi
cygwin*)
DFT_DEP_SUFFIX=".dll.a"
+ DFT_LIB_SUFFIX=".dll"
;;
esac
fi
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_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
if test "$with_termlib" != yes ; then
TINFO_NAME=$with_termlib
+ TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
TINFO_LIB_SUFFIX="${with_termlib}"
else
+ TINFO_SUFFIX=${DFT_LIB_SUFFIX}
TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}"
TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}"
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_NAME=${LIB_NAME}
+ TINFO_SUFFIX=${DFT_LIB_SUFFIX}
+ 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
+
+if test "$DFT_LWR_MODEL" = shared ; then
+ case $cf_cv_system_name in #(vi
+ cygwin*)
+ # "lib" files have ".dll.a" suffix, "cyg" files have ".dll"
+ TINFO_SUFFIX=.dll
+ ;;
+ esac
+fi
+
AC_SUBST(TINFO_ARG_SUFFIX)
AC_SUBST(TINFO_DEP_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)
+case $DFT_LWR_MODEL in
+normal|debug|profile)
+ CF_LDFLAGS_STATIC
+ ;;
+esac
+
AC_MSG_CHECKING(where we will install curses.h)
test "$with_overwrite" = no && \
test "x$includedir" = 'x${prefix}/include' && \
fi
AC_SUBST(WITH_OVERWRITE)
+AC_SUBST(TICS_LIST)
AC_SUBST(TINFO_LIST)
AC_SUBST(SHLIB_LIST)
### with the appropriate compile-rules.
CF_SRC_MODULES($modules_to_build)
+
+if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
+ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses-config"
+fi
+
CF_DIRS_TO_MAKE
AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
TINFO_NAME="$TINFO_NAME"
+TINFO_SUFFIX="$TINFO_SUFFIX"
TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
TICS_NAME="$TICS_NAME"
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"