X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=configure.in;h=0c413b014e1e3b89094f3ff4ec2223423380d8fa;hp=5995506ee050c8c573820beab23e620456dee200;hb=9c9ca6d67ecb4d929b7239cadbd79db649bdf8c6;hpb=0c9774ef662e2137933ac0c79077eaa9c8981357 diff --git a/configure.in b/configure.in index 5995506e..0c413b01 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.402 2007/02/17 22:52:40 tom Exp $ +dnl $Id: configure.in,v 1.423 2007/08/25 19:15:51 Mike.Frysinger 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.402 $) +AC_REVISION($Revision: 1.423 $) 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 @@ -490,6 +488,19 @@ int main() { AC_MSG_RESULT($with_big_core) test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE) +### ISO C only guarantees 512-char strings, we have tables which load faster +### when constructed using "big" strings. +AC_MSG_CHECKING(if big-strings option selected) +AC_ARG_ENABLE(big-strings, + [ --disable-big-strings assume compiler has only standard-size strings], + [with_big_strings=no], + [with_big_strings=yes]) +AC_MSG_RESULT($with_big_strings) + +USE_BIG_STRINGS=0 +test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1 +AC_SUBST(USE_BIG_STRINGS) + ### use option --enable-termcap to compile in the termcap fallback support AC_MSG_CHECKING(if you want termcap-fallback support) AC_ARG_ENABLE(termcap, @@ -919,7 +930,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 @@ -943,6 +954,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], @@ -985,6 +1023,7 @@ if test "$with_echo" = yes; then else ECHO_LINK='@ echo linking $@ ... ;' test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent" + test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent" fi AC_MSG_RESULT($with_echo) AC_SUBST(ECHO_LINK) @@ -996,9 +1035,9 @@ AC_ARG_ENABLE(warnings, [with_warnings=$enableval]) AC_MSG_RESULT($with_warnings) -if test -n "$with_warnings"; then +if test "x$with_warnings" = "xyes"; then ADAFLAGS="$ADAFLAGS -gnatg" - CF_GCC_WARNINGS + CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum) if test "$cf_with_cxx" = yes ; then CF_GXX_WARNINGS(Wno-unused) fi @@ -1112,26 +1151,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,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 @@ -1139,6 +1173,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 @@ -1224,7 +1259,7 @@ if test -n "$CXX" ; then ;; esac - AC_CHECK_HEADERS(typeinfo) + AC_CHECK_HEADERS(iostream typeinfo) CF_BOOL_DECL CF_BOOL_SIZE @@ -1307,9 +1342,22 @@ AC_SUBST(USE_CXX_BOOL) CF_HELP_MESSAGE(Ada95 Binding Options:) +dnl If the Ada95 source-tree is present, add that to the build unless it will +dnl not work, or was not requested. +if test -f "${srcdir}/Ada95/Makefile.in" ; then + +dnl libtool does not know anything about GNAT, though a change made in 1998 +dnl provided for it "someday". Disable the ada subtree if we are using +dnl libtool -TD 20070714 +if test "$cf_with_ada" != "no" ; then + if test "$with_libtool" != "no"; then + AC_MSG_WARN(libtool does not support Ada - disabling feature) + cf_with_ada=no + fi +fi + dnl Check for availability of GNU Ada Translator (GNAT). dnl At the moment we support no other Ada95 compiler. -if test -f "${srcdir}/Ada95/Makefile.in" ; then if test "$cf_with_ada" != "no" ; then cf_ada_make=gnatmake AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no) @@ -1392,6 +1440,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: @@ -1442,10 +1492,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 @@ -1470,13 +1522,20 @@ AC_SUBST(CXX_LIB_SUFFIX) fi # do not want -ldl in build except as needed for -lncurses dependency -CF_REMOVE_LIB(LIBS,$LIBS,dl) +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 libtic.so and libterm.so, but # do not need libdl TICS_LIST= -CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl) +if test "$with_dlsym" = yes ; then + CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl) +fi if test "$with_ticlib" != no ; then @@ -1503,10 +1562,12 @@ 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}" @@ -1527,22 +1588,42 @@ if test "$with_termlib" != no ; then fi else # the next lines are needed for linking libtic over libncurses - TINFO_NAME=${LIB_NAME}${DFT_ARG_SUFFIX} + 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) -CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl) +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' && \ @@ -1574,6 +1655,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') @@ -1623,6 +1709,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" @@ -1634,6 +1721,7 @@ 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"