mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2025-03-07 16:16:53 +08:00
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:
parent
f44733b760
commit
c976a90788
8
INSTALL
8
INSTALL
@ -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
12
NEWS
@ -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
|
||||
|
178
aclocal.m4
vendored
178
aclocal.m4
vendored
@ -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
|
||||
|
@ -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, "");
|
||||
|
||||
|
36
configure.in
36
configure.in
@ -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,
|
||||
|
4
dist.mk
4
dist.mk
@ -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)
|
||||
|
@ -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 */
|
||||
|
27
mk-1st.awk
27
mk-1st.awk
@ -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
|
||||
|
@ -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 ""
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user