ncurses 6.2 - patch 20200404

+ modify -fvisibility check to work with g++
> fixes for building with Visual Studio C++ and msys2 (patches by
  "Maarten Anonymous"):
+ add configure option and check for gcc -fvisibility=hidden feature
+ define NCURSES_NOMACROS in lib_gen.c to work around Visual Studio
  C++ preprocessor limitations.
+ modify some of the configure-macros, as well as mk-1st.awk to work
  with Visual Studio C++ default filenaming.
This commit is contained in:
Thomas E. Dickey 2020-04-05 00:59:09 +00:00
parent f44733b760
commit c976a90788
18 changed files with 2996 additions and 2371 deletions

View File

@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: INSTALL,v 1.221 2020/03/08 14:27:08 tom Exp $
-- $Id: INSTALL,v 1.222 2020/04/05 00:05:52 tom Exp $
---------------------------------------------------------------------
How to install Ncurses/Terminfo on your system
---------------------------------------------------------------------
@ -604,6 +604,12 @@ SUMMARY OF CONFIGURE OPTIONS:
ncurses. This does not change the ABI (the binary interface seen by
calling applications).
--enable-fvisibility
Use the gcc "-fvisibility=hidden" option to make symbols which are not
explicitly exported, "hidden". Doing this may reduce the number of
symbols exported in the C++ binding; it should have less effect on the
C libraries when symbol-versioning is used.
--enable-getcap
Use the 4.4BSD getcap code if available, or a bundled version of it to
fetch termcap entries. Entries read in this way cannot use (make

12
NEWS
View File

@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.3469 2020/03/28 23:33:04 tom Exp $
-- $Id: NEWS,v 1.3471 2020/04/04 21:07:47 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -46,6 +46,16 @@ See the AUTHORS file for the corresponding full names.
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
20200404
+ modify -fvisibility check to work with g++
> fixes for building with Visual Studio C++ and msys2 (patches by
"Maarten Anonymous"):
+ add configure option and check for gcc -fvisibility=hidden feature
+ define NCURSES_NOMACROS in lib_gen.c to work around Visual Studio
C++ preprocessor limitations.
+ modify some of the configure-macros, as well as mk-1st.awk to work
with Visual Studio C++ default filenaming.
20200328
+ correct length of buffer copied in dup_field().
+ remove "$(srcdir)/" from path of library.gpr, needed for out-of-tree

View File

@ -1 +1 @@
5:0:10 6.2 20200328
5:0:10 6.2 20200404

178
aclocal.m4 vendored
View File

@ -29,7 +29,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: aclocal.m4,v 1.904 2020/03/20 00:46:13 tom Exp $
dnl $Id: aclocal.m4,v 1.912 2020/04/04 20:16:13 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
@ -158,10 +158,28 @@ AC_DEFUN([CF_ADD_ADAFLAGS],[
AC_SUBST(ADAFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_ADD_CFLAGS version: 13 updated: 2017/02/25 18:57:40
dnl CF_ADD_CXXFLAGS version: 1 updated: 2020/04/04 16:16:13
dnl ---------------
dnl Copy non-preprocessor flags to $CXXFLAGS, preprocessor flags to $CPPFLAGS
dnl The second parameter if given makes this macro verbose.
dnl
dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
dnl confused by the quotes (which require backslashes to keep them usable).
AC_DEFUN([CF_ADD_CXXFLAGS],
[
cf_save_CXXFLAGS="$CFLAGS"
CFLAGS="$CXXFLAGS"
CF_ADD_CFLAGS($1 ifelse($2,,,[,$2]))
CXXFLAGS="$CFLAGS"
CFLAGS="$cf_save_CXXFLAGS"
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_ADD_CFLAGS version: 14 updated: 2020/04/04 16:16:13
dnl -------------
dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
dnl The second parameter if given makes this macro verbose.
dnl $1 = flags to add
dnl $2 = if given makes this macro verbose.
dnl
dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
@ -442,7 +460,7 @@ ifelse([$3],,[ :]dnl
])dnl
])])dnl
dnl ---------------------------------------------------------------------------
dnl CF_AR_FLAGS version: 6 updated: 2015/10/10 15:25:05
dnl CF_AR_FLAGS version: 7 updated: 2020/04/04 11:37:29
dnl -----------
dnl Check for suitable "ar" (archiver) options for updating an archive.
dnl
@ -453,39 +471,55 @@ AC_DEFUN([CF_AR_FLAGS],[
AC_REQUIRE([CF_PROG_AR])
AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
cf_cv_ar_flags=unknown
for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv
do
case $cf_cv_system_name in
(*-msvc*)
cf_cv_ar_flags=''
cat >mk_static_lib.sh <<-EOF
#!$SHELL
MSVC_BIN="[$]AR"
out="\[$]1"
shift
exec \[$]MSVC_BIN -out:"\[$]out" \[$]@
EOF
chmod +x mk_static_lib.sh
AR=`pwd`/mk_static_lib.sh
;;
(*)
cf_cv_ar_flags=unknown
for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv
do
# check if $ARFLAGS already contains this choice
if test "x$ARFLAGS" != "x" ; then
cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"`
if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then
cf_cv_ar_flags=
break
# check if $ARFLAGS already contains this choice
if test "x$ARFLAGS" != "x" ; then
cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"`
if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then
cf_cv_ar_flags=
break
fi
fi
fi
rm -f conftest.$ac_cv_objext
rm -f conftest.a
rm -f conftest.$ac_cv_objext
rm -f conftest.a
cat >conftest.$ac_ext <<EOF
cat >conftest.$ac_ext <<EOF
#line __oline__ "configure"
int testdata[[3]] = { 123, 456, 789 };
EOF
if AC_TRY_EVAL(ac_compile) ; then
echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC
$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
if test -f conftest.a ; then
cf_cv_ar_flags=$cf_ar_flags
if AC_TRY_EVAL(ac_compile) ; then
echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC
$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
if test -f conftest.a ; then
cf_cv_ar_flags=$cf_ar_flags
break
fi
else
CF_VERBOSE(cannot compile test-program)
break
fi
else
CF_VERBOSE(cannot compile test-program)
break
fi
done
rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
done
rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
;;
esac
])
if test -n "$ARFLAGS" ; then
@ -1012,6 +1046,28 @@ if test "$cf_cv_have_$1" = yes ; then
AC_DEFINE_UNQUOTED($cf_result)
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CHECK_FVISIBILITY version: 2 updated: 2020/04/04 16:16:13
dnl --------------------
dnl Check whether the compiler understands -fvisibility=hidden
dnl
dnl $1 = compiler
dnl $2 = compiler-flags variable name
dnl $3 = cache variable to set
AC_DEFUN([CF_CHECK_FVISIBILITY],[
AC_CACHE_CHECK(if $1 -fvisibility=hidden option works,$3,[
cf_save_cflags="[$]$2"
$2="[$]$2 -fvisibility=hidden"
AC_TRY_LINK([
__attribute__ ((visibility("default"))) int somefunc() {return 42;}
],[
if (somefunc()) return 1;
],
[$3=yes],
[$3=no])
$2=$cf_save_cflags
])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CHECK_GETENV version: 1 updated: 2019/06/23 15:28:15
@ -3995,7 +4051,7 @@ fi
test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_LIB_PREFIX version: 12 updated: 2015/10/17 19:03:33
dnl CF_LIB_PREFIX version: 13 updated: 2020/04/04 10:11:47
dnl -------------
dnl Compute the library-prefix for the given host system
dnl $1 = variable to set
@ -4009,6 +4065,9 @@ define([CF_LIB_PREFIX],
LIB_PREFIX=''
fi
;;
(*-msvc*)
LIB_PREFIX=''
;;
(*) LIB_PREFIX='lib'
;;
esac
@ -4016,7 +4075,7 @@ ifelse($1,,,[$1=$LIB_PREFIX])
AC_SUBST(LIB_PREFIX)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_LIB_RULES version: 89 updated: 2020/03/07 20:05:14
dnl CF_LIB_RULES version: 90 updated: 2020/04/04 10:11:47
dnl ------------
dnl Append definitions and rules for the given models to the subdirectory
dnl Makefiles, and the recursion rule for the top-level Makefile. If the
@ -4037,7 +4096,7 @@ cf_prefix=$LIB_PREFIX
AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
case $cf_cv_shlib_version in
(cygdll|msysdll|mingw)
(cygdll|msysdll|mingw|msvcdll)
TINFO_NAME=$TINFO_ARG_SUFFIX
TINFO_SUFFIX=.dll
;;
@ -4165,6 +4224,10 @@ CF_EOF
cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
cf_add_lib="../lib/lib${cf_libname}${cf_cygsuf}"
;;
(msvcdll)
cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
cf_add_lib="../lib/${cf_libname}${cf_cygsuf}"
;;
(*)
cf_add_lib=
;;
@ -4260,7 +4323,7 @@ CF_EOF
CXX_MODEL=$cf_ITEM
if test "$CXX_MODEL" = SHARED; then
case $cf_cv_shlib_version in
(cygdll|msysdll|mingw)
(cygdll|msysdll|mingw|msvcdll)
test "x$with_shared_cxx" = xno && CF_VERBOSE(overriding CXX_MODEL to SHARED)
with_shared_cxx=yes
;;
@ -4642,7 +4705,7 @@ fi
])
])
dnl ---------------------------------------------------------------------------
dnl CF_LIB_SUFFIX version: 25 updated: 2015/04/17 21:13:04
dnl CF_LIB_SUFFIX version: 26 updated: 2020/04/04 10:11:47
dnl -------------
dnl Compute the library file-suffix from the given model name
dnl $1 = model name
@ -4657,11 +4720,25 @@ AC_DEFUN([CF_LIB_SUFFIX],
$3=[$]$2
;;
(Xdebug)
$2='_g.a'
case $cf_cv_system_name in
(*-msvc*)
$2='_g.lib'
;;
(*)
$2='_g.a'
;;
esac
$3=[$]$2
;;
(Xprofile)
$2='_p.a'
case $cf_cv_system_name in
(*-msvc*)
$2='_p.lib'
;;
(*)
$2='_p.a'
;;
esac
$3=[$]$2
;;
(Xshared)
@ -4670,6 +4747,10 @@ AC_DEFUN([CF_LIB_SUFFIX],
$2='.so'
$3=[$]$2
;;
(*-msvc*)
$2='.dll'
$3='.dll.lib'
;;
(cygwin*|msys*|mingw*)
$2='.dll'
$3='.dll.a'
@ -4697,7 +4778,14 @@ AC_DEFUN([CF_LIB_SUFFIX],
esac
;;
(*)
$2='.a'
case $target in
(*-msvc*)
$2='.lib'
;;
(*)
$2='.a'
;;
esac
$3=[$]$2
;;
esac
@ -6556,7 +6644,7 @@ do
done
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_SHARED_OPTS version: 94 updated: 2020/02/29 16:09:19
dnl CF_SHARED_OPTS version: 95 updated: 2020/04/04 10:11:47
dnl --------------
dnl --------------
dnl Attempt to determine the appropriate CC/LD options for creating a shared
@ -6783,8 +6871,8 @@ CF_EOF
MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
;;
(mingw*msvc*)
cf_cv_shlib_version=mingw
cf_cv_shlib_version_infix=mingw
cf_cv_shlib_version=msvcdll
cf_cv_shlib_version_infix=msvcdll
shlibdir=$bindir
MAKE_DLLS=
if test "$DFT_LWR_MODEL" = "shared" ; then
@ -6793,21 +6881,21 @@ CF_EOF
EXTRA_LDFLAGS="-link -dll $EXTRA_LDFLAGS"
fi
CC_SHARED_OPTS=
MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${LD} ${CFLAGS}'
RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ ${LD} [$]{CFLAGS}'
RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.lib"
cat >mk_shared_lib.sh <<-CF_EOF
#!$SHELL
SHARED_LIB=\$1
IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$\.dll.a/'\`
SHARED_LIB=\[$]1
IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.lib/'\`
shift
my_ld=\$1
my_ld=\[$]1
shift
cat <<-EOF
Linking shared library
** SHARED LIB \$SHARED_LIB
** IMPORT_LIB \$IMPORT_LIB
EOF
args=\$(echo \$* | sed -E "s#-l(\w*)#lib\1.a#g" | sed -E "s#-L(\w*)#-LIBPATH:\1#g")
args=\$(echo \[$]* | sed -E "s#-l(\w*)#\1.dll.lib#g" | sed -E "s#-L(\w*)#-LIBPATH:\1#g")
exec \$my_ld -DLL -IMPLIB:"\${IMPORT_LIB}" -OUT:"\${SHARED_LIB}" ${LDFLAGS} \$args
mv "\${IMPORT_LIB}" "\${IMPORT_LIB}"
CF_EOF

View File

@ -44,7 +44,7 @@
#define CPP_HAS_TRY_CATCH 0
#endif
MODULE_ID("$Id: cursesmain.cc,v 1.17 2020/02/02 23:34:34 tom Exp $")
MODULE_ID("$Id: cursesmain.cc,v 1.18 2020/04/04 23:25:34 tom Exp $")
#if HAVE_LOCALE_H
#include <locale.h>
@ -60,7 +60,7 @@ MODULE_ID("$Id: cursesmain.cc,v 1.17 2020/02/02 23:34:34 tom Exp $")
* You only have to instantiate a static NCursesApplication object in your
* main application source file and link this module with your application.
*/
int main(int argc, char* argv[])
NCURSES_EXPORT(int) main(int argc, char* argv[])
{
setlocale(LC_ALL, "");

5049
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: configure.in,v 1.700 2020/03/08 00:53:28 tom Exp $
dnl $Id: configure.in,v 1.705 2020/04/04 23:33:09 tom Exp $
dnl Process this file with autoconf to produce a configure script.
dnl
dnl For additional information, see
@ -38,7 +38,7 @@ dnl https://invisible-island.net/autoconf/my-autoconf.html
dnl
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.52.20200111)
AC_REVISION($Revision: 1.700 $)
AC_REVISION($Revision: 1.705 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
@ -1447,6 +1447,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,

View File

@ -26,7 +26,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.1343 2020/03/28 10:37:50 tom Exp $
# $Id: dist.mk,v 1.1344 2020/04/04 09:17:00 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@ -38,7 +38,7 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 2
NCURSES_PATCH = 20200328
NCURSES_PATCH = 20200404
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -26,7 +26,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/* $Id: ncurses_dll.h.in,v 1.13 2020/02/29 21:53:14 tom Exp $ */
/* $Id: ncurses_dll.h.in,v 1.15 2020/04/04 23:37:36 tom Exp $ */
#ifndef NCURSES_DLL_H_incl
#define NCURSES_DLL_H_incl 1
@ -75,16 +75,21 @@
#undef NCURSES_DLL
#define NCURSES_STATIC
/*
* These are configurable:
*/
#undef NCURSES_API
#undef NCURSES_CXX_IMPEXP
#undef NCURSES_EXPORT
#undef NCURSES_EXPORT_VAR
#undef NCURSES_IMPEXP
#if defined(__CYGWIN__) || defined(_WIN32)
# if defined(NCURSES_DLL)
# if defined(NCURSES_STATIC)
# undef NCURSES_STATIC
# endif
# endif
# undef NCURSES_IMPEXP
# undef NCURSES_API
# undef NCURSES_EXPORT
# undef NCURSES_EXPORT_VAR
# if defined(NCURSES_DLL)
/* building a DLL */
# define NCURSES_IMPEXP __declspec(dllexport)
@ -100,9 +105,12 @@
# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
#endif
/* Take care of non-cygwin platforms */
/* Take care of non-Windows platforms */
#if !defined(NCURSES_IMPEXP)
# define NCURSES_IMPEXP /* nothing */
# define NCURSES_IMPEXP @NCURSES_IMPEXP@
#endif
#if !defined(NCURSES_CXX_IMPEXP)
# define NCURSES_CXX_IMPEXP @NCURSES_CXX_IMPEXP@
#endif
#if !defined(NCURSES_API)
# define NCURSES_API /* nothing */

View File

@ -1,4 +1,4 @@
# $Id: mk-1st.awk,v 1.106 2020/02/02 23:34:34 tom Exp $
# $Id: mk-1st.awk,v 1.107 2020/04/04 14:07:40 anonymous.maarten Exp $
##############################################################################
# Copyright 2018,2020 Thomas E. Dickey #
# Copyright 1998-2016,2017 Free Software Foundation, Inc. #
@ -75,7 +75,9 @@ function lib_name_of(a_name) {
function imp_name_of(a_name) {
if (ShlibVerInfix == "cygdll" || ShlibVerInfix == "msysdll" || ShlibVerInfix == "mingw") {
result = sprintf("%s%s%s.a", prefix, a_name, suffix);
} else {
} else if (ShlibVerInfix == "msvcdll") {
result = sprintf("%s%s%s.lib", prefix, a_name, suffix);
} else{
result = "";
}
return result;
@ -86,7 +88,7 @@ function abi_name_of(a_name) {
result = sprintf("%s%s$(ABI_VERSION)%s", "cyg", a_name, suffix);
} else if (ShlibVerInfix == "msysdll") {
result = sprintf("%s%s$(ABI_VERSION)%s", "msys-", a_name, suffix);
} else if (ShlibVerInfix == "mingw") {
} else if (ShlibVerInfix == "mingw" || ShlibVerInfix == "msvcdll") {
result = sprintf("%s%s$(ABI_VERSION)%s", prefix, a_name, suffix);
} else if (ShlibVerInfix == "yes") {
result = sprintf("%s%s.$(ABI_VERSION)%s", prefix, a_name, suffix);
@ -101,7 +103,7 @@ function rel_name_of(a_name) {
result = sprintf("%s%s$(REL_VERSION)%s", "cyg", a_name, suffix);
} else if (ShlibVerInfix == "msysdll") {
result = sprintf("%s%s$(ABI_VERSION)%s", "msys-", a_name, suffix);
} else if (ShlibVerInfix == "mingw") {
} else if (ShlibVerInfix == "mingw" || ShlibVerInfix == "msvcdll") {
result = sprintf("%s%s$(REL_VERSION)%s", prefix, a_name, suffix);
} else if (ShlibVerInfix == "yes") {
result = sprintf("%s%s.$(REL_VERSION)%s", prefix, a_name, suffix);
@ -119,7 +121,7 @@ function end_name_of(a_name) {
} else {
if ( ShlibVer == "rel" ) {
result = rel_name_of(a_name);
} else if ( ShlibVer == "abi" || ShlibVer == "cygdll" || ShlibVer == "msysdll" || ShlibVer == "mingw" ) {
} else if ( ShlibVer == "abi" || ShlibVer == "cygdll" || ShlibVer == "msysdll" || ShlibVer == "mingw" || ShlibVer == "msvcdll" ) {
result = abi_name_of(a_name);
} else {
result = lib_name_of(a_name);
@ -175,7 +177,7 @@ function make_shlib(objs, shlib_list) {
printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(%s)\n", objs, shlib_list
}
function sharedlinks(directory) {
if ( ShlibVer != "auto" && ShlibVer != "cygdll" && ShlibVer != "msysdll" && ShlibVer != "mingw" ) {
if ( ShlibVer != "auto" && ShlibVer != "cygdll" && ShlibVer != "msysdll" && ShlibVer != "mingw" && ShlibVer != "msvcdll" ) {
printf "\tcd %s && (", directory
if ( DoLinks == "reverse" ) {
if ( ShlibVer == "rel" ) {
@ -375,7 +377,7 @@ END {
print "install \\"
print "install.libs \\"
if ( ShlibVer == "cygdll" || ShlibVer == "msysdll" || ShlibVer == "mingw") {
if ( ShlibVer == "cygdll" || ShlibVer == "msysdll" || ShlibVer == "mingw" || ShlibVer == "msvcdll") {
dst_dirs = "$(DESTDIR)$(bindir) $(DESTDIR)$(libdir)";
printf "install.%s :: %s $(LIBRARIES)\n", name, dst_dirs
@ -396,8 +398,13 @@ END {
if ( overwrite == "yes" && name == "ncurses" )
{
if ( ShlibVer == "cygdll" || ShlibVer == "msysdll" || ShlibVer == "mingw") {
ovr_name = sprintf("libcurses%s.a", suffix)
if ( ShlibVer == "cygdll" || ShlibVer == "msysdll" || ShlibVer == "mingw" || SlibVer == "msvcdll") {
if (ShlibVer == "msvcdll") {
curses_prefix = ""
} else {
curses_prefix = "lib"
}
ovr_name = sprintf("%scurses%s.a", curses_prefix, suffix)
printf "\t@echo linking %s to %s\n", imp_name, ovr_name
printf "\tcd $(DESTDIR)$(libdir) && ("
symlink(imp_name, ovr_name)
@ -417,7 +424,7 @@ END {
print "uninstall \\"
print "uninstall.libs \\"
printf "uninstall.%s ::\n", name
if ( ShlibVer == "cygdll" || ShlibVer == "msysdll" || ShlibVer == "mingw") {
if ( ShlibVer == "cygdll" || ShlibVer == "msysdll" || ShlibVer == "mingw" || ShlibVer == "msvcdll") {
printf "\t@echo uninstalling $(DESTDIR)$(bindir)/%s\n", end_name
printf "\t-@rm -f $(DESTDIR)$(bindir)/%s\n", end_name

View File

@ -2,7 +2,7 @@
#
# MKlib_gen.sh -- generate sources from curses.h macro definitions
#
# ($Id: MKlib_gen.sh,v 1.64 2020/02/15 14:58:02 tom Exp $)
# ($Id: MKlib_gen.sh,v 1.65 2020/04/04 20:56:30 tom Exp $)
#
##############################################################################
# Copyright 2018,2020 Thomas E. Dickey #
@ -433,6 +433,7 @@ BEGIN {
print "#include <ncurses_cfg.h>"
print ""
print "#undef NCURSES_NOMACROS /* _this_ file uses macros */"
print "#define NCURSES_NOMACROS 1"
print ""
print "#include <curses.priv.h>"
print ""

View File

@ -1,8 +1,8 @@
ncurses6 (6.2+20200328) unstable; urgency=low
ncurses6 (6.2+20200404) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 28 Mar 2020 06:37:50 -0400
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 Apr 2020 05:17:00 -0400
ncurses6 (5.9-20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6 (6.2+20200328) unstable; urgency=low
ncurses6 (6.2+20200404) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 28 Mar 2020 06:37:50 -0400
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 Apr 2020 05:17:00 -0400
ncurses6 (5.9-20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6 (6.2+20200328) unstable; urgency=low
ncurses6 (6.2+20200404) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 28 Mar 2020 06:37:50 -0400
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 Apr 2020 05:17:00 -0400
ncurses6 (5.9-20120608) unstable; urgency=low

View File

@ -1,4 +1,4 @@
; $Id: mingw-ncurses.nsi,v 1.387 2020/03/28 10:37:50 tom Exp $
; $Id: mingw-ncurses.nsi,v 1.388 2020/04/04 09:17:00 tom Exp $
; TODO add examples
; TODO bump ABI to 6
@ -10,7 +10,7 @@
!define VERSION_MAJOR "6"
!define VERSION_MINOR "2"
!define VERSION_YYYY "2020"
!define VERSION_MMDD "0328"
!define VERSION_MMDD "0404"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"

View File

@ -3,7 +3,7 @@
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.2
Release: 20200328
Release: 20200404
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz

View File

@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.2
Release: 20200328
Release: 20200404
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz

View File

@ -1,7 +1,7 @@
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.2
Release: 20200328
Release: 20200404
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz