X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=configure.in;h=7d8e69539bbda1ff09a3b7e675825392f5491ab2;hp=03b1c64a952dd0ff59a9ddf08c250f6bb62338c8;hb=a5fe3726f7d4374e9b1551b535c8617b423996f2;hpb=e656c0ca01fc196f0eb66972af7fc51cb83d9651 diff --git a/configure.in b/configure.in index 03b1c64a..7d8e6953 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,6 @@ dnl*************************************************************************** -dnl Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. * +dnl Copyright 2018-2020,2021 Thomas E. Dickey * +dnl Copyright 1998-2017,2018 Free Software Foundation, Inc. * dnl * dnl Permission is hereby granted, free of charge, to any person obtaining a * dnl copy of this software and associated documentation files (the * @@ -28,17 +29,21 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: configure.in,v 1.679 2019/03/30 21:44:53 tom Exp $ +dnl $Id: configure.in,v 1.730 2021/04/17 22:22:17 tom Exp $ dnl Process this file with autoconf to produce a configure script. dnl -dnl See https://invisible-island.net/autoconf/ for additional information. +dnl For additional information, see +dnl https://invisible-island.net/autoconf/ +dnl https://invisible-island.net/autoconf/my-autoconf.html dnl dnl --------------------------------------------------------------------------- -AC_PREREQ(2.52.20170501) -AC_REVISION($Revision: 1.679 $) +AC_PREREQ(2.52.20210101) +AC_REVISION($Revision: 1.730 $) AC_INIT(ncurses/base/lib_initscr.c) AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin) +AC_DEFUN([AC_PATH_XTRA],[])dnl ignore dependencies on this + CF_TOP_BUILDDIR CF_SUBST_NCURSES_VERSION CF_VERSION_INFO(NCURSES,ncurses) @@ -58,7 +63,7 @@ CF_ABI_DEFAULTS ### Checks for programs. AC_ARG_WITH(ada, - [ --without-ada suppress check for Ada95, don't build demo], + [ --without-ada suppress check for Ada compiler, don't build demo], [cf_with_ada=$withval], [cf_with_ada=yes]) @@ -139,10 +144,10 @@ else fi CF_GXX_VERSION -case $GXX_VERSION in -(1*|2.[[0-6]]*) - # GXX=""; CXX=""; ac_cv_prog_gxx=no - # cf_cxx_library=no +case "$GXX_VERSION" in +([[1-9]][[0-9]].*) + ;; +(1.*|2.[[0-6]]*) AC_MSG_WARN(templates do not work) ;; esac @@ -154,7 +159,7 @@ AC_ARG_WITH(cxx-binding, [cf_with_cxx_binding=$cf_with_cxx]) AC_MSG_RESULT($cf_with_cxx_binding) -AC_MSG_CHECKING(if you want to build with Ada95) +AC_MSG_CHECKING(if you want to build with Ada) AC_MSG_RESULT($cf_with_ada) AC_MSG_CHECKING(if you want to install terminal database) @@ -178,7 +183,7 @@ AC_ARG_WITH(progs, [cf_with_progs=yes]) AC_MSG_RESULT($cf_with_progs) -if test -f $srcdir/tack/tack.h; then +if test -f "$srcdir/tack/tack.h" ; then if test "x$cross_compiling" = xyes ; then CF_VERBOSE(ignoring tack because we are cross-compiling) cf_with_tack=no @@ -216,7 +221,6 @@ modules_to_build="$modules_to_build panel menu form" AC_ARG_PROGRAM CF_PROG_AWK -CF_PROG_EGREP CF_PROG_INSTALL CF_PROG_LINT CF_PROG_LN_S @@ -306,6 +310,14 @@ CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-c # If we're cross-compiling, allow the user to override the tools and their # options. The configure script is oriented toward identifying the host # compiler, etc., but we need a build compiler to generate parts of the source. + +case "$cf_cv_system_name" in +(*-msvc*) + LDFLAGS="$LDFLAGS user32.lib" + export LDFLAGS + ;; +esac + CF_BUILD_CC ############################################################################### @@ -438,7 +450,7 @@ fi AC_SUBST(CXX_G_OPT) AC_MSG_CHECKING(for default loader flags) -case $DFT_LWR_MODEL in +case "$DFT_LWR_MODEL" in (libtool) LD_MODEL='' ;; (normal) LD_MODEL='' ;; (debug) LD_MODEL=$CC_G_OPT ;; @@ -448,7 +460,7 @@ 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 +case "$DFT_LWR_MODEL" in (shared) CF_ENABLE_RPATH AC_MSG_CHECKING(if shared libraries should be relinked during install) @@ -463,8 +475,8 @@ esac # we will build libraries one-level down. rel_builddir=.. CF_SHARED_OPTS -for model in $cf_list_models; do - case $model in +for model in $cf_list_models ; do + case "$model" in (libtool) CF_WITH_LIBTOOL_OPTS CF_WITH_EXPORT_SYMS @@ -477,7 +489,7 @@ for model in $cf_list_models; do AC_MSG_CHECKING(if current CFLAGS link properly) AC_TRY_LINK( [#include ], - [printf("Hello work\n");], + [printf("Hello work\\n");], [cf_cflags_work=yes], [cf_cflags_work=no]) AC_MSG_RESULT($cf_cflags_work) @@ -538,6 +550,23 @@ if test "$DFT_LWR_MODEL" = "shared" && test "x$cf_cv_enable_rpath" != xno; then CF_DISABLE_RPATH_HACK fi +### Depending on the system, someone may use rpath to build ncurses but not +# want users of the package to rely upon that feature. Give those people an +# option to suppress that detail from EXTRA_LDFLAGS. +EXTRA_PKG_LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS" +if test -n "$EXTRA_PKG_LDFLAGS" +then + AC_MSG_CHECKING(if you want to disable extra LDFLAGS for package-scripts) + CF_ARG_DISABLE(pkg-ldflags, + [ --disable-pkg-ldflags disable extra LDFLAGS for package-scripts], + [disable_pkg_ldflags=yes], + [disable_pkg_ldflags=no], + no) + AC_MSG_RESULT($disable_pkg_ldflags) + test "$disable_pkg_ldflags" = yes && EXTRA_PKG_LDFLAGS= +fi +AC_SUBST(EXTRA_PKG_LDFLAGS) + ############################################################################### CF_HELP_MESSAGE(Fine-Tuning Your Configuration:) @@ -547,7 +576,7 @@ EXTRA_SUFFIX= AC_ARG_WITH(extra-suffix, [ --with-extra-suffix=X append extra suffix to header/library paths], [case x$withval in - (no) + (xno) ;; (xyes|x) EXTRA_SUFFIX=$cf_cv_abi_version @@ -575,7 +604,7 @@ AC_ARG_ENABLE(database, [use_database=yes]) AC_MSG_RESULT($use_database) -case $host_os in +case "$host_os" in (os2*) TERMINFO_SRC='${top_srcdir}/misc/emx.src' ;; @@ -624,6 +653,27 @@ case ".$with_fallback" in ;; esac +# The fallback feature in ncurses relies upon tic/infocmp outside the build +# tree for generating the terminal descriptions that will be compiled into the +# library. If your toolchain is old, it may not handle current terminal +# databases. Use configure-options to point to the tools which will be used, +# rather than the first ones found on the $PATH. +AC_CHECK_TOOL(TIC, tic) +AC_CHECK_TOOL(INFOCMP, infocmp) +if test -n "$FALLBACK_LIST" +then + CF_WITH_PATH_PROG(TIC, tic, [for fallbacks], $PATH:/usr/local/ncurses/bin) + CF_WITH_PATH_PROG(INFOCMP, infocmp, [for fallbacks], $PATH:/usr/local/ncurses/bin) + test -z "$TIC" && FALLBACK_LIST= + test -z "$INFOCMP" && FALLBACK_LIST= + if test -z "$FALLBACK_LIST" + then + AC_MSG_WARN(ignoring fallback option because tic/infocmp are not available) + fi +fi +AC_SUBST(TIC) +AC_SUBST(INFOCMP) + USE_FALLBACKS= test -z "$FALLBACK_LIST" && USE_FALLBACKS="#" AC_SUBST(FALLBACK_LIST) @@ -634,7 +684,7 @@ AC_ARG_WITH(xterm-new, [ --without-xterm-new specify if xterm terminfo should be old version], [with_xterm_new=$withval], [with_xterm_new=yes]) -case $with_xterm_new in +case "$with_xterm_new" in (no) with_xterm_new=xterm-old;; (*) with_xterm_new=xterm-new;; esac @@ -836,27 +886,7 @@ test "x$with_links" = xyes && AC_DEFINE(USE_LINKS,1,[Define to 1 if hardlinks sh test "x$with_symlinks" = xyes && AC_DEFINE(USE_SYMLINKS,1,[Define to 1 if symbolic links should be used in terminfo database]) ### use option --enable-broken-linker to force on use of broken-linker support -AC_MSG_CHECKING(if you want broken-linker support code) -AC_ARG_ENABLE(broken_linker, - [ --enable-broken_linker compile with broken-linker support code], - [with_broken_linker=$enableval], - [with_broken_linker=${BROKEN_LINKER:-no}]) -AC_MSG_RESULT($with_broken_linker) - -BROKEN_LINKER=0 -if test "x$with_broken_linker" = xyes ; then - AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules]) - BROKEN_LINKER=1 -elif test "$DFT_LWR_MODEL" = shared ; then - case $cf_cv_system_name in - (cygwin*) - AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules]) - BROKEN_LINKER=1 - CF_VERBOSE(cygwin linker is broken anyway) - ;; - esac -fi -AC_SUBST(BROKEN_LINKER) +CF_ENABLE_BROKEN_LINKER ### use option --enable-bsdpad to have tputs process BSD-style prefix padding AC_MSG_CHECKING(if tputs should process BSD-style prefix padding) @@ -1049,7 +1079,7 @@ AC_ARG_WITH(ccharw-max, AC_MSG_RESULT($NCURSES_CCHARW_MAX) AC_SUBST(NCURSES_CCHARW_MAX) -AC_CHECK_SIZEOF([signed char], 0) +AC_CHECK_SIZEOF([signed char]) if test "$ac_cv_sizeof_signed_char" = 1 ; then NCURSES_SBOOL="signed char" else @@ -1446,6 +1476,38 @@ AC_ARG_ENABLE(colorfgbg, AC_MSG_RESULT($with_colorfgbg) test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code]) +### use option --enable-fvisibility to turn on use of gcc-specific feature +AC_MSG_CHECKING(if you want to use gcc -fvisibility option) +AC_ARG_ENABLE(fvisibility, + [ --enable-fvisibility compile with -fvisibility=hidden], + [cf_with_fvisibility=$enableval], + [cf_with_fvisibility=no]) +AC_MSG_RESULT($cf_with_fvisibility) + +NCURSES_IMPEXP= +NCURSES_CXX_IMPEXP= +if test "x$cf_with_fvisibility" = xyes; then + CF_CHECK_FVISIBILITY($CC,CFLAGS,cf_cv_fvisibility_hidden) + if test "x$cf_cv_fvisibility_hidden" = xyes + then + CF_ADD_CFLAGS([-fvisibility=hidden]) + NCURSES_IMPEXP="__attribute__ ((visibility(\"default\")))" + fi + if test -n "$CXX" + then + AC_LANG_PUSH(C++) + CF_CHECK_FVISIBILITY($CXX,CXXFLAGS,cf_cv_fvisibility_hidden2) + if test "x$cf_cv_fvisibility_hidden2" = xyes + then + CF_ADD_CXXFLAGS([-fvisibility=hidden]) + NCURSES_CXX_IMPEXP="__attribute__ ((visibility(\"default\")))" + fi + AC_LANG_POP + fi +fi +AC_SUBST(NCURSES_IMPEXP) +AC_SUBST(NCURSES_CXX_IMPEXP) + ### use option --enable-interop to turn on use of bindings used for interop AC_MSG_CHECKING(if you want interop bindings) AC_ARG_ENABLE(interop, @@ -1484,7 +1546,39 @@ AC_ARG_ENABLE(wgetch-events, [with_wgetch_events=$enableval], [with_wgetch_events=no]) AC_MSG_RESULT($with_wgetch_events) -test "x$with_wgetch_events" = xyes && AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with wgetch-events code]) +if test "x$with_wgetch_events" = xyes ; then + AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with wgetch-events code]) + NCURSES_WGETCH_EVENTS=1 +else + NCURSES_WGETCH_EVENTS=0 +fi +AC_SUBST(NCURSES_WGETCH_EVENTS) + +case "$cf_cv_system_name" in +(*mingw32*|*mingw64*|*-msvc*) + AC_MSG_CHECKING(if you want experimental-Windows driver) + AC_ARG_ENABLE(exp-win32, + [ --enable-exp-win32 compile with experimental-Windows driver], + [with_exp_win32=$enableval], + [with_exp_win32=no]) + AC_MSG_RESULT($with_exp_win32) + if test "x$with_exp_win32" = xyes + then + AC_DEFINE(EXP_WIN32_DRIVER,1,[Define to 1 to compile with experimental win32 driver]) + EXP_WIN32_DRIVER=1 + INTERNALS_HDR='[$](INCDIR)/nc_win32.h' + else + INTERNALS_HDR='[$](INCDIR)/nc_mingw.h' + EXP_WIN32_DRIVER=0 + fi + ;; +(*) + EXP_WIN32_DRIVER=0 + INTERNALS_HDR= + ;; +esac +AC_SUBST(EXP_WIN32_DRIVER) +AC_SUBST(INTERNALS_HDR) ############################################################################### CF_HELP_MESSAGE(Testing/development Options:) @@ -1519,20 +1613,14 @@ fi AC_SUBST(INSTALL_OPT_P) ### use option --enable-warnings to turn on all gcc warnings -AC_MSG_CHECKING(if you want to see compiler warnings) -AC_ARG_ENABLE(warnings, - [ --enable-warnings build: turn on GCC compiler warnings], - [with_warnings=$enableval]) -AC_MSG_RESULT($with_warnings) +CF_ENABLE_WARNINGS(Wno-unknown-pragmas Wswitch-enum,yes) -if test "x$with_warnings" = "xyes"; then +if test "x$enable_warnings" = "xyes"; then CF_ADD_ADAFLAGS(-gnatg) - CF_GCC_WARNINGS(Wno-unknown-pragmas Wswitch-enum) if test "x$cf_with_cxx" = xyes ; then CF_GXX_WARNINGS(Wno-unused) fi fi -CF_GCC_ATTRIBUTES CF_ENABLE_STRING_HACKS ### use option --enable-assertions to turn on generation of assertion code @@ -1597,10 +1685,14 @@ AC_SUBST(ADA_TRACE) CF_DISABLE_GNAT_PROJECTS ### Checks for libraries. -case $cf_cv_system_name in +case "$cf_cv_system_name" in (*mingw32*|*mingw64*) + if test "x$with_exp_win32" = xyes ; then + CPPFLAGS="$CPPFLAGS -DWINVER=0x0600 -DWIN32_LEAN_AND_MEAN" + else CPPFLAGS="$CPPFLAGS -DWINVER=0x0501 -DWIN32_LEAN_AND_MEAN" - LIBS=" -lpsapi $LIBS" + fi + # Note: WINVER may be a problem with Windows 10 ;; (*) AC_CHECK_FUNC(gettimeofday, @@ -1629,7 +1721,6 @@ limits.h \ locale.h \ math.h \ poll.h \ -sys/bsdtypes.h \ sys/ioctl.h \ sys/param.h \ sys/poll.h \ @@ -1643,11 +1734,12 @@ wctype.h \ CF_GETOPT_HEADER -# check for ISC (this may also define _POSIX_SOURCE) -# Note: even non-Posix ISC needs to declare fd_set -if test "x$ISC" = xyes ; then - AC_CHECK_LIB(cposix,main) - AC_CHECK_LIB(inet,bzero,CF_ADD_LIB(inet))dnl also 'select()' +CF_CHECK_ENVIRON(environ) +CF_CHECK_GETENV +if test "x$cf_cv_consistent_getenv" = xno && \ + test "x$cf_with_trace" = xyes +then + AC_MSG_WARN(The NCURSES_TRACE environment variable is not supported with this configuration) fi CF_SYS_TIME_SELECT @@ -1658,7 +1750,7 @@ AC_C_CONST CF_C_INLINE(NCURSES_INLINE,1200) CF_SIG_ATOMIC_T -if test $NCURSES_CHTYPE = auto ; then +if test "$NCURSES_CHTYPE" = auto ; then CF_TYPEOF_CHTYPE else cf_cv_typeof_chtype=$NCURSES_CHTYPE @@ -1672,7 +1764,7 @@ 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 +if test "$NCURSES_MMASK_T" = auto ; then cf_cv_typeof_mmask_t=long else cf_cv_typeof_mmask_t=$NCURSES_MMASK_T @@ -1703,6 +1795,7 @@ setenv \ setvbuf \ sigaction \ sigvec \ +snprintf \ strdup \ strstr \ sysconf \ @@ -1775,7 +1868,7 @@ if test "$with_hashed_db" != no ; then fi dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS -if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then +if test -z "$cf_user_CFLAGS" && test "$enable_leaks" = yes ; then CF_STRIP_G_OPT(CFLAGS) CF_STRIP_G_OPT(CXXFLAGS) fi @@ -1789,8 +1882,8 @@ if test -n "$CXX" ; then CF_STDCPP_LIBRARY CF_PROG_CC_C_O(CXX,[$CXXFLAGS $CPPFLAGS]) - case $GXX_VERSION in - (1*|2.[0-6]*) + case "$GXX_VERSION" in + (1.*|2.[[0-6]]*|[[1-9]][[0-9]].*) cf_cxx_library=yes ;; (*-2.7*|2.7*) @@ -1846,11 +1939,11 @@ AC_SUBST(CXXLIBS) # specify the type of bool in a configure-script option and postpone # integration with the C++ compiler provided that the types are compatible. USE_CXX_BOOL=1 -if test $cf_cv_cc_bool_type = 1 +if test "$cf_cv_cc_bool_type" = 1 then # oops: C has a bool. Unlikely, but C++ could differ. USE_CXX_BOOL=0 -elif test $cf_cv_builtin_bool = 0 +elif test "$cf_cv_builtin_bool" = 0 then # C++ has no bool USE_CXX_BOOL=0 @@ -1860,7 +1953,7 @@ else fi AC_SUBST(USE_CXX_BOOL) -CF_HELP_MESSAGE(Ada95 Binding Options:) +CF_HELP_MESSAGE(Ada 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. @@ -1877,7 +1970,7 @@ dnl libtool -TD 20070714 fi dnl Check for availability of GNU Ada Translator (GNAT). -dnl At the moment we support no other Ada95 compiler. +dnl At the moment we support no other Ada compiler. if test "$cf_with_ada" != "no" ; then CF_PROG_GNAT if test "x$cf_cv_prog_gnat_correct" = xyes; then @@ -1898,6 +1991,9 @@ dnl At the moment we support no other Ada95 compiler. CF_WITH_ADA_INCLUDE CF_WITH_ADA_OBJECTS CF_WITH_ADA_SHAREDLIB + + # allow the Ada binding to be renamed + CF_WITH_ADA_LIBNAME(AdaCurses) fi fi else @@ -1907,6 +2003,16 @@ fi # do this "late" to avoid conflict with header-checks if test "x$with_widec" = xyes ; then AC_CHECK_SIZEOF(wchar_t) + # cross-compiling to mingw can run into the problem that attempting to + # link with the regex library fails, causing the test to not set this to + # a number. "recent" autoconf does not address this problem either -TD + if test -z "$ac_cv_sizeof_wchar_t" + then + CF_VERBOSE(test failed (assume 2)) + sed /SIZEOF_WCHAR_T/d confdefs.h >confdefs.tmp + mv confdefs.tmp confdefs.h + echo "#define SIZEOF_WCHAR_T 2" >>confdefs.h + fi fi ### Construct the ncurses library-subsets, if any, from this set of keywords: @@ -1946,15 +2052,27 @@ LIB_SUBSETS="${LIB_SUBSETS}base" # base library (so it resides in base). if test "$with_term_driver" != no ; then LIB_SUBSETS="${LIB_SUBSETS}+port_drivers" - case $cf_cv_system_name in + case "$cf_cv_system_name" in (*mingw32*|*mingw64*) - LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con" + if test "x$with_exp_win32" = xyes ; then + LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32" + else + LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con" + fi CPPFLAGS="$CPPFLAGS -DUSE_WIN32CON_DRIVER" ;; (*) LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo" ;; esac +elif test "x$with_exp_win32" = xyes ; then + case "$cf_cv_system_name" in + (*mingw32*|*mingw64*) + LIB_SUBSETS="${LIB_SUBSETS}+port_win32" + ;; + (*) + ;; + esac fi test "x$with_widec" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar" @@ -2000,8 +2118,8 @@ fi # do not want -ldl in build except as needed for -lncurses dependency if test "x$with_dlsym" = xyes ; then -if test $DFT_LWR_MODEL = shared || \ - test $DFT_LWR_MODEL = libtool ; then +if test "$DFT_LWR_MODEL" = shared || \ + test "$DFT_LWR_MODEL" = libtool ; then CF_REMOVE_LIB(LIBS,$LIBS,dl) fi fi @@ -2029,9 +2147,9 @@ if test "$with_ticlib" != no ; then if test "x$with_ticlib" != xyes ; then TICS_NAME=$with_ticlib - TICS_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${USE_LIB_SUFFIX}//"`" - TICS_ARG_SUFFIX="${with_ticlib}`echo ${USE_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" - TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" + TICS_SUFFIX="`echo "${DFT_LIB_SUFFIX}" |sed -e "s/^${USE_LIB_SUFFIX}//"`" + TICS_ARG_SUFFIX="${with_ticlib}`echo "${USE_ARG_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`" + TICS_DEP_SUFFIX="${with_ticlib}`echo "${DFT_DEP_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`" TICS_LIB_SUFFIX="${with_ticlib}" else TICS_SUFFIX=${DFT_LIB_SUFFIX} @@ -2056,9 +2174,9 @@ if test "$with_termlib" != no ; then if test "x$with_termlib" != xyes ; then TINFO_NAME=$with_termlib - TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${USE_LIB_SUFFIX}//"`" - TINFO_ARG_SUFFIX="${with_termlib}`echo ${USE_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" - TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" + TINFO_SUFFIX="`echo "${DFT_LIB_SUFFIX}" |sed -e "s/^${USE_LIB_SUFFIX}//"`" + TINFO_ARG_SUFFIX="${with_termlib}`echo "${USE_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} @@ -2106,7 +2224,7 @@ else fi if test "$DFT_LWR_MODEL" = shared ; then - case $cf_cv_system_name in + case "$cf_cv_system_name" in (cygwin*|msys*) # "lib" files have ".dll.a" suffix, "cyg"or "msys-" files have ".dll" TINFO_SUFFIX=.dll @@ -2132,7 +2250,7 @@ fi TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'` AC_SUBST(TINFO_LDFLAGS2) -case $DFT_LWR_MODEL in +case "$DFT_LWR_MODEL" in (normal|debug|profile) CF_LDFLAGS_STATIC ;; @@ -2142,8 +2260,8 @@ AC_MSG_CHECKING(where we will install curses.h) AC_SUBST(includesubdir) includesubdir= if test "$with_overwrite" = no && \ - ( test "x$includedir" = 'x${prefix}/include' || \ - test "x$includedir" = "x${prefix}/include" ) + { test "x$includedir" = 'x${prefix}/include' || \ + test "x$includedir" = "x${prefix}/include"; } then includesubdir="/ncurses${USE_LIB_SUFFIX}" fi @@ -2159,6 +2277,17 @@ fi fi WITH_OVERWRITE=$with_overwrite +### At least on MinGW a shared library build without libtool +### requires adding the additional libs to the link list. +case "$cf_cv_system_name" in +(*mingw32*|*mingw64*) + if test "$DFT_LWR_MODEL" != "libtool"; then + SHLIB_LIST="$SHLIB_LIST ${LIBS}" + fi + ;; +*) ;; +esac + AC_SUBST(WITH_OVERWRITE) AC_SUBST(TICS_LIST) AC_SUBST(TINFO_LIST) @@ -2171,12 +2300,19 @@ AC_SUBST(NCURSES_TREE) ### predefined stuff for the test programs AC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs]) +# pkgsrc uses these +CF_WITH_LIB_BASENAME(FORM_NAME,form) +CF_WITH_LIB_BASENAME(MENU_NAME,menu) +CF_WITH_LIB_BASENAME(PANEL_NAME,panel) +CF_WITH_LIB_BASENAME(CXX_NAME,cxx,ncurses++) + ### Construct the list of subdirectories for which we'll customize makefiles ### with the appropriate compile-rules. CF_SRC_MODULES($modules_to_build) if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then + SUB_MAKEFILES="$SUB_MAKEFILES Ada95/src/library.gpr:Ada95/src/library.gpr.in" SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${USE_CFG_SUFFIX}-config:Ada95/gen/adacurses-config.in" SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${USE_CFG_SUFFIX}-config.1:man/MKada_config.in" fi @@ -2192,9 +2328,6 @@ AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}",[Define to 1 if machine has ample memory for tic]) -### Now that we're done running tests, add the compiler-warnings, if any -CF_ADD_CFLAGS($EXTRA_CFLAGS) - ### Define substitutions for header files to avoid name-pollution CF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0) CF_SUBST_IF(["x$ac_cv_header_stdint_h" = xyes], HAVE_STDINT_H, 1, 0) @@ -2213,16 +2346,6 @@ SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in" fi AC_SUBST(cross_compiling) -AC_PATH_PROG(TIC_PATH,tic,unknown,$PATH:/usr/local/ncurses/bin) -if test -n "$FALLBACK_LIST" -then - if test "$TIC_PATH" = unknown - then - AC_MSG_WARN(no tic program found for fallbacks) - fi -fi -AC_SUBST(TIC_PATH) - if test "x$cf_with_tests" != xno ; then MAKE_TESTS= else @@ -2233,19 +2356,8 @@ AC_SUBST(MAKE_TESTS) ADAHTML_DIR=../../doc/html/ada AC_SUBST(ADAHTML_DIR) -# these could be configurable, but are not currently -PANEL_NAME=panel -MENU_NAME=menu -FORM_NAME=form -CXX_NAME=ncurses++ - -AC_SUBST(PANEL_NAME) -AC_SUBST(MENU_NAME) -AC_SUBST(FORM_NAME) -AC_SUBST(CXX_NAME) - # workaround for OS/2 (20151017) -case $cf_cv_system_name in +case "$cf_cv_system_name" in (os2*) LIBTOOL_OPTS_CXX="-os2dllname ncurs++" ;; @@ -2256,7 +2368,7 @@ esac AC_SUBST(LIBTOOL_OPTS_CXX) # workaround for g++ versus Solaris (20131116) -case $cf_cv_system_name in +case "$cf_cv_system_name" in (solaris2*) case "x$CPPFLAGS" in (*-D_XOPEN_SOURCE_EXTENDED*) @@ -2331,8 +2443,6 @@ else fi AC_SUBST(MAKE_DATABASE) -SUB_SCRIPTS= - dnl Override the package used for exported symbols if test -n "$PACKAGE" then @@ -2358,7 +2468,7 @@ fi test "x$cf_with_trace" = xyes && NCURSES_INLINE= UNALTERED_SYMS=`echo "$RESULTING_SYMS" | sed -e 's/\\$/\\\\$/g'` -if test $cf_filter_syms = yes +if test "$cf_filter_syms" = yes then RESULTING_SYMS=resulting.map fi @@ -2375,6 +2485,9 @@ AC_SUBST(ADAGEN_LDFLAGS) AC_SUBST(CHECK_BUILD) AC_SUBST(PRIVATE_LIBS) +# This is used for the *-config script and *.pc data files. +CF_LD_SEARCHPATH + AC_DEFINE(HAVE_CURSES_DATA_BOOLNAMES,1,[definition needed for in-tree build of tack]) AC_OUTPUT( \ @@ -2383,29 +2496,30 @@ AC_OUTPUT( \ include/ncurses_dll.h \ include/termcap.h \ include/unctrl.h \ - $SUB_SCRIPTS \ $SUB_MAKEFILES \ Makefile,[ if test "x$cf_with_tests" != xno ; then - CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LD"], test) + CF_PRG_RULES(["$srcdir/test/mk-test.awk" INSTALL=no ECHO_LINK="$ECHO_LD"], test) fi CF_LIB_RULES($SRC_SUBDIRS) if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then if test -z "$USE_OLD_MAKERULES" ; then - $AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile + $AWK -f "$srcdir/Ada95/mk-1st.awk" <"$srcdir/Ada95/src/modules" >>Ada95/src/Makefile fi fi ],[ ### Special initialization commands, used to pass information from the ### configuration-run into config.status -AWK="$AWK" ALTERNATE_SYMS="$ALTERNATE_SYMS" +AWK="$AWK" +CXX_NAME="$CXX_NAME" DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX" DFT_LWR_MODEL="$DFT_LWR_MODEL" ECHO_LD="$ECHO_LD" EXTRA_SUFFIX="$EXTRA_SUFFIX" +FORM_NAME="$FORM_NAME" LDCONFIG="$LDCONFIG" LIBTOOL_VERSION="$LIBTOOL_VERSION" LIB_NAME="$LIB_NAME" @@ -2415,10 +2529,12 @@ LIB_SUFFIX="$LIB_SUFFIX" LIB_TRACING="$LIB_TRACING" LN_S="$LN_S" MAKE_TERMINFO="$MAKE_TERMINFO" +MENU_NAME="$MENU_NAME" NCURSES_MAJOR="$NCURSES_MAJOR" NCURSES_MINOR="$NCURSES_MINOR" NCURSES_OSPEED="$NCURSES_OSPEED" NCURSES_PATCH="$NCURSES_PATCH" +PANEL_NAME="$PANEL_NAME" SRC_SUBDIRS="$SRC_SUBDIRS" TERMINFO="$TERMINFO" TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX" @@ -2440,6 +2556,8 @@ WITH_CURSES_H="$with_curses_h" WITH_ECHO="${enable_echo:=yes}" WITH_OVERWRITE="$with_overwrite" cf_LIST_MODELS="$cf_list_models" +cf_cv_VERSION_GNATMAKE=$cf_cv_VERSION_GNATMAKE +cf_cv_VERSION_GPRBUILD=$cf_cv_VERSION_GPRBUILD cf_cv_abi_version="$cf_cv_abi_version" cf_cv_do_relink="$cf_cv_do_relink" cf_cv_do_reranlib="$cf_cv_do_reranlib"