ncurses 5.6 - patch 20080203
[ncurses.git] / configure.in
index 6cc9591d1588359bdf28e663096af875bf2590e4..50892dd7032086dce4fa85e9dbbdeeda89775285 100644 (file)
@@ -28,14 +28,14 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: configure.in,v 1.412 2007/04/07 21:15:23 tom Exp $
+dnl $Id: configure.in,v 1.429 2007/11/24 22:42:43 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.412 $)
+AC_REVISION($Revision: 1.429 $)
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
@@ -150,13 +150,28 @@ CF_PROG_INSTALL
 CF_PROG_LINT
 AC_PROG_LN_S
 
+AC_SYS_LONG_FILE_NAMES
+
+AC_MSG_CHECKING(if we should assume mixed-case filenames)
+AC_ARG_ENABLE(mixed-case,
+       [  --enable-mixed-case     tic should assume mixed-case filenames],
+       [enable_mixedcase=$enableval],
+       [enable_mixedcase=auto])
+AC_MSG_RESULT($enable_mixedcase)
+if test "$enable_mixedcase" = "auto" ; then
+    CF_MIXEDCASE_FILENAMES
+else
+    cf_cv_mixedcase=$enable_mixedcase
+    if test "$enable_mixedcase" = "yes" ; then
+        AC_DEFINE(MIXEDCASE_FILENAMES)
+    fi
+fi
+
+# do this after mixed-case option (tags/TAGS is not as important as tic).
 AC_PROG_MAKE_SET
 CF_MAKE_TAGS
 CF_MAKEFLAGS
 
-AC_SYS_LONG_FILE_NAMES
-CF_MIXEDCASE_FILENAMES
-
 dnl These are standard among *NIX systems, but not when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, ':')
 AC_CHECK_TOOL(LD, ld, ld)
@@ -314,9 +329,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
@@ -355,7 +368,7 @@ AC_ARG_ENABLE(rpath,
 [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,
+AC_ARG_ENABLE(relink,
 [  --disable-relink        relink shared libraries during install],
 [cf_cv_do_relink=$enableval],
 [cf_cv_do_relink=yes])
@@ -490,6 +503,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,
@@ -1012,6 +1038,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)
@@ -1023,9 +1050,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
@@ -1139,14 +1166,8 @@ 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
@@ -1223,7 +1244,7 @@ CF_FUNC_POLL
 
 if test "$with_hashed_db" != no ; then
        AC_DEFINE(USE_HASHED_DB)
-       CF_HASHED_DB
+       CF_HASHED_DB($with_hashed_db)
 fi
 
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
@@ -1336,9 +1357,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)
@@ -1421,6 +1455,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:
@@ -1436,7 +1472,7 @@ fi
 AC_MSG_CHECKING(for library subsets)
 LIB_SUBSETS=
 
-if test "$cf_with_progs" = yes || test "$with_ticlib" != no; then
+if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termcap" != no; then
        LIB_SUBSETS="${LIB_SUBSETS}ticlib"
        if test "$with_ticlib" != no ; then
                LIB_SUBSETS="${LIB_SUBSETS} "
@@ -1471,10 +1507,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
@@ -1539,12 +1577,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_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_DEP_SUFFIX}
+               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}"
@@ -1566,12 +1604,22 @@ if test "$with_termlib" != no ; then
 else
        # the next lines are needed for linking libtic over libncurses
        TINFO_NAME=${LIB_NAME}
-       TINFO_SUFFIX=${DFT_DEP_SUFFIX}
+       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)
@@ -1585,6 +1633,12 @@ fi
 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' && \
@@ -1630,6 +1684,11 @@ AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${
 ### Now that we're done running tests, add the compiler-warnings, if any
 CF_ADD_CFLAGS($EXTRA_CFLAGS)
 
+### If we're building with rpath, try to link non-standard libs that way too.
+if test "$DFT_LWR_MODEL" = "shared"; then
+  CF_RPATH_HACK
+fi
+
 ### Define substitutions for header files to avoid name-pollution
 CF_SUBST_IF(["$cf_cv_have_tcgetattr" = yes], HAVE_TCGETATTR, 1, 0)
 CF_SUBST_IF(["$ac_cv_header_termio_h" = yes], HAVE_TERMIO_H, 1, 0)