]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - configure.in
ncurses 5.6 - patch 20070407
[ncurses.git] / configure.in
index 4696d24d3579db13a5ed28b3c499547dd0d1c96d..6cc9591d1588359bdf28e663096af875bf2590e4 100644 (file)
@@ -28,14 +28,14 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: configure.in,v 1.395 2007/02/10 22:47:04 tom Exp $
+dnl $Id: configure.in,v 1.412 2007/04/07 21:15:23 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.395 $)
+AC_REVISION($Revision: 1.412 $)
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
@@ -354,6 +354,12 @@ AC_ARG_ENABLE(rpath,
 [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
 
@@ -820,7 +826,7 @@ else
 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)
@@ -913,7 +919,7 @@ AC_MSG_RESULT($with_ext_colors)
 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
@@ -937,6 +943,33 @@ if test "$with_ext_mouse" = yes ; then
 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],
@@ -1120,12 +1153,13 @@ if test $NCURSES_CHTYPE = auto ; then
 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
@@ -1133,6 +1167,7 @@ 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
@@ -1218,7 +1253,7 @@ if test -n "$CXX" ; then
                ;;
        esac
 
-       AC_CHECK_HEADERS(typeinfo)
+       AC_CHECK_HEADERS(iostream typeinfo)
 
        CF_BOOL_DECL
        CF_BOOL_SIZE
@@ -1463,11 +1498,21 @@ AC_MSG_RESULT($CXX_LIB_SUFFIX)
 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=`echo "$SHLIB_LIST" | sed -e 's/-ldl//'`
+# 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
 
@@ -1494,10 +1539,12 @@ if test "$with_termlib" != no ; then
 
        if test "$with_termlib" != yes ; then
                TINFO_NAME=$with_termlib
+               TINFO_SUFFIX="`echo ${DFT_DEP_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_DEP_SUFFIX}
                TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}"
                TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
                TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}"
@@ -1512,10 +1559,17 @@ if test "$with_termlib" != no ; 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_NAME=${LIB_NAME}
+       TINFO_SUFFIX=${DFT_DEP_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
 AC_SUBST(TINFO_ARG_SUFFIX)
@@ -1523,6 +1577,10 @@ 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)
@@ -1543,6 +1601,7 @@ fi
 fi
 
 AC_SUBST(WITH_OVERWRITE)
+AC_SUBST(TICS_LIST)
 AC_SUBST(TINFO_LIST)
 AC_SUBST(SHLIB_LIST)
 
@@ -1557,6 +1616,11 @@ AC_DEFINE(HAVE_SLK_COLOR)
 ### 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')
@@ -1606,6 +1670,7 @@ TERMINFO="$TERMINFO"
 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"
@@ -1614,8 +1679,10 @@ WITH_ECHO="$with_echo"
 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"