X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=configure.in;h=ff7de3cc11d9e72ae3e2d63e241a9853fa40bbf3;hp=de343778dbd5be355aeec6577695b78f309ed591;hb=3faafb2efcc426a48649c12943d5006cae12cff1;hpb=53d4e8a9506b267d6758096a5e6b945a44432ef9 diff --git a/configure.in b/configure.in index de343778..ff7de3cc 100644 --- a/configure.in +++ b/configure.in @@ -28,14 +28,14 @@ dnl*************************************************************************** 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.418 2007/04/28 18:54:05 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.418 $) AC_INIT(ncurses/base/lib_initscr.c) AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin) @@ -314,9 +314,7 @@ if test "$with_gpm" != no ; then 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 @@ -346,12 +344,22 @@ esac 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 @@ -497,6 +505,10 @@ if test "$with_termcap" != "yes" ; 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, @@ -693,7 +705,7 @@ AC_SUBST(cf_cv_enable_lp64) 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], @@ -812,7 +824,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) @@ -905,7 +917,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 @@ -929,6 +941,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], @@ -1098,26 +1137,21 @@ CF_SYS_TIME_SELECT ### 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,500) +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 @@ -1125,6 +1159,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 @@ -1210,14 +1245,13 @@ if test -n "$CXX" ; then ;; esac - AC_CHECK_HEADERS(typeinfo) + AC_CHECK_HEADERS(iostream typeinfo) CF_BOOL_DECL CF_BOOL_SIZE CF_ETIP_DEFINES CF_CPP_PARAM_INIT CF_CPP_STATIC_CAST - CF_CPP_VSCAN_FUNC CXX_AR='$(AR)' CXX_AR_OPTS='$(AR_OPTS)' @@ -1379,6 +1413,8 @@ end conftest;],[cf_cv_pragma_unreferenced=yes],[cf_cv_pragma_unreferenced=no]) fi fi +else + cf_with_ada=no fi ### Construct the ncurses library-subsets, if any, from this set of keywords: @@ -1394,11 +1430,13 @@ fi 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" @@ -1427,10 +1465,12 @@ AC_MSG_RESULT($DFT_ARG_SUFFIX) 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 @@ -1454,13 +1494,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="$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 @@ -1474,20 +1522,7 @@ 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 @@ -1496,16 +1531,16 @@ AC_SUBST(TICS_DEP_SUFFIX) 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 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}" @@ -1520,21 +1555,48 @@ 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_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' && \ @@ -1551,6 +1613,7 @@ fi fi AC_SUBST(WITH_OVERWRITE) +AC_SUBST(TICS_LIST) AC_SUBST(TINFO_LIST) AC_SUBST(SHLIB_LIST) @@ -1565,6 +1628,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') @@ -1614,6 +1682,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" @@ -1622,8 +1691,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"