Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 05 Jan 2021 06:40:41 -0800
From:      Cy Schubert <Cy.Schubert@cschubert.com>
To:        Baptiste Daroussin <bapt@FreeBSD.org>
Cc:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: 821aa63a0940 - main - ncurses: only keep the version with  widechar support
Message-ID:  <202101051440.105EefY4071731@slippy.cwsent.com>
In-Reply-To: <202101051302.105D24lW041218@gitrepo.freebsd.org>
References:  <202101051302.105D24lW041218@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message <202101051302.105D24lW041218@gitrepo.freebsd.org>, Baptiste 
Daroussi
n writes:
> The branch main has been updated by bapt:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=821aa63a09402935da0a73abf20ba044
> 1562aa07
>
> commit 821aa63a09402935da0a73abf20ba0441562aa07
> Author:     Baptiste Daroussin <bapt@FreeBSD.org>
> AuthorDate: 2021-01-04 16:29:40 +0000
> Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
> CommitDate: 2021-01-05 13:01:32 +0000
>
>     ncurses: only keep the version with widechar support
>     
>     Only keep the widechar version of ncurses as libncursesw.so.9
>     
>     Keep the old name to avoid breaking the ABI compatibility (the non
>     widechar version libncurses.so.9 is not binary compatible with
>     libncursesw.so.9) since all ports and base are already only linking
>     against the widechar version we can simply remove libncurses.so.9
>     
>     Since the .9 version only lived in the dev branch and never ended in a
>     release, it is simply removed and not added to any binary compat
>     package.
>     
>     Add symlinks to keep build time compatibility for anyone linking against
>     -lncurses
> ---
>  Makefile.inc1                         |  5 +--
>  Makefile.libcompat                    |  4 +-
>  ObsoleteFiles.inc                     |  2 +
>  lib/ncurses/Makefile                  |  6 +--
>  lib/ncurses/config.mk                 | 11 +-----
>  lib/ncurses/form/Makefile             | 18 ++++++---
>  lib/ncurses/formw/Makefile            |  5 ---
>  lib/ncurses/formw/Makefile.depend     | 17 ---------
>  lib/ncurses/menu/Makefile             | 18 ++++++---
>  lib/ncurses/menuw/Makefile            |  5 ---
>  lib/ncurses/menuw/Makefile.depend     | 17 ---------
>  lib/ncurses/ncurses/Makefile          | 71 +++++++++++++++------------------
> --
>  lib/ncurses/ncursesw/Makefile         |  7 ----
>  lib/ncurses/ncursesw/Makefile.depend  | 16 --------
>  lib/ncurses/panel/Makefile            | 23 ++++++++----
>  lib/ncurses/panelw/Makefile           |  5 ---
>  lib/ncurses/panelw/Makefile.depend    | 17 ---------
>  share/mk/src.libnames.mk              | 16 ++------
>  tools/bsdbox/Makefile.base            |  2 +-
>  tools/tools/ath/athratestats/Makefile |  2 +-
>  20 files changed, 87 insertions(+), 180 deletions(-)
>
> diff --git a/Makefile.inc1 b/Makefile.inc1
> index fecdc1bdca71..a19fde9195cf 100644
> --- a/Makefile.inc1
> +++ b/Makefile.inc1
> @@ -2524,7 +2524,6 @@ _bt_clean=	${CLEANDIR}
>      ${LOCAL_TOOL_DIRS} \
>      ${_jevents} \
>      lib/ncurses/ncurses \
> -    lib/ncurses/ncursesw \
>      ${_rescue} \
>      ${_share} \
>      usr.bin/awk \
> @@ -2870,7 +2869,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1} \
>  		lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \
>  		lib/libzstd \
>  		${_lib_casper} \
> -		lib/ncurses/ncurses lib/ncurses/ncursesw \
> +		lib/ncurses/ncurses \
>  		lib/libopie lib/libpam/libpam ${_lib_libthr} \
>  		${_lib_libradius} lib/libsbuf lib/libtacplus \
>  		lib/libgeom \
> @@ -2891,7 +2890,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1} \
>  
>  .if ${MK_DIALOG} != "no"
>  _prebuild_libs+= gnu/lib/libdialog
> -gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncursesw__L
> +gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncurses__L
>  .endif
>  
>  .if ${MK_GOOGLETEST} != "no"
> diff --git a/Makefile.libcompat b/Makefile.libcompat
> index 3f23a33aa19b..85859a960d81 100644
> --- a/Makefile.libcompat
> +++ b/Makefile.libcompat
> @@ -45,7 +45,7 @@ _LC_LIBDIRS.${MK_KERBEROS:tl}+=	kerberos5/lib
>  
>  _LC_INCDIRS=	\
>  		include \
> -		lib/ncurses/ncursesw \
> +		lib/ncurses/ncurses \
>  		${_LC_LIBDIRS.yes}
>  
>  .if ${MK_FILE} != "no"
> @@ -94,7 +94,7 @@ build${libcompat}: .PHONY
>  	    DIRPRFX=${_dir}/ ${_t}
>  .endfor
>  .endfor
> -.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw ${_libmagic} ${_jevent
> s}
> +.for _dir in lib/ncurses/ncurses lib/ncurses/ncurses ${_libmagic} ${_jevents
> }
>  .for _t in ${_obj} build-tools
>  	${_+_}cd ${.CURDIR}/${_dir}; \
>  	    WORLDTMP=${WORLDTMP} \
> diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
> index e6da2abd5e5c..638b27b530f0 100644
> --- a/ObsoleteFiles.inc
> +++ b/ObsoleteFiles.inc
> @@ -36,6 +36,8 @@
>  #   xargs -n1 | sort | uniq -d;
>  # done
>  
> +# 20210105: remove non widechar version of clang
> +OLD_LIBS+=lib/libncurses.so.9
>  # 20210103: new clang import which bumps version from 11.0.0 to 11.0.1.
>  OLD_FILES+=usr/lib/clang/11.0.0/include/cuda_wrappers/algorithm
>  OLD_FILES+=usr/lib/clang/11.0.0/include/cuda_wrappers/complex
> diff --git a/lib/ncurses/Makefile b/lib/ncurses/Makefile
> index a5a19deafafd..be8697fbc609 100644
> --- a/lib/ncurses/Makefile
> +++ b/lib/ncurses/Makefile
> @@ -1,13 +1,11 @@
>  # $FreeBSD$
>  
> -SUBDIR=	ncurses form menu panel \
> -	ncursesw formw menuw panelw
> +SUBDIR=	ncurses form menu panel
>  
>  SUBDIR_PARALLEL=
>  
> -.for subdir in ${SUBDIR:Nncurses*:N*w}
> +.for subdir in ${SUBDIR:Nncurses*}
>  SUBDIR_DEPEND_${subdir}=	ncurses
> -SUBDIR_DEPEND_${subdir}w=	ncursesw
>  .endfor
>  
>  .include <bsd.subdir.mk>
> diff --git a/lib/ncurses/config.mk b/lib/ncurses/config.mk
> index d15be8601136..f199c5829b65 100644
> --- a/lib/ncurses/config.mk
> +++ b/lib/ncurses/config.mk
> @@ -4,20 +4,11 @@
>  
>  NCURSES_DIR=	${SRCTOP}/contrib/ncurses
>  
> -.if defined(ENABLE_WIDEC)
> -LIB_SUFFIX=	w
>  CFLAGS+=	-D_XOPEN_SOURCE_EXTENDED -DENABLE_WIDEC
> -NCURSES_CFG_H=	${.CURDIR:H}/ncurses/ncurses_cfg.h
> -.else
> -LIB_SUFFIX=
>  NCURSES_CFG_H=	${.CURDIR}/ncurses_cfg.h
> -.endif
>  
>  CFLAGS+=	-I.
> -.if exists(${.OBJDIR:H}/ncurses${LIB_SUFFIX})
> -CFLAGS+=	-I${.OBJDIR:H}/ncurses${LIB_SUFFIX}
> -.endif
> -CFLAGS+=	-I${.CURDIR:H}/ncurses${LIB_SUFFIX}
> +CFLAGS+=	-I${.CURDIR:H}/ncurses
>  
>  # for ${NCURSES_CFG_H}
>  CFLAGS+=	-I${.CURDIR:H}/ncurses
> diff --git a/lib/ncurses/form/Makefile b/lib/ncurses/form/Makefile
> index eab5bbb63c09..a8e636d6ce1b 100644
> --- a/lib/ncurses/form/Makefile
> +++ b/lib/ncurses/form/Makefile
> @@ -1,10 +1,11 @@
>  # $FreeBSD$
>  
> +.include <src.opts.mk>
>  .include "${.CURDIR:H}/config.mk"
>  
>  SRCDIR=	${NCURSES_DIR}/form
>  
> -LIB=	form${LIB_SUFFIX}
> +LIB=	formw
>  
>  .PATH: ${SRCDIR}
>  SRCS=	\
> @@ -54,9 +55,8 @@ CLEANFILES=	ncurses_def.h
>  CFLAGS+=	-I${SRCDIR}
>  CFLAGS+=	-I${NCURSES_DIR}/menu
>  
> -LIBADD+=	ncurses${LIB_SUFFIX}
> +LIBADD+=	ncursesw
>  
> -.if defined(ENABLE_WIDEC)
>  INCS=	form.h
>  
>  .PATH: ${NCURSES_DIR}/man
> @@ -156,8 +156,16 @@ MLINKS=	form_cursor.3 pos_form_cursor.3 \
>  	form_win.3 scale_form.3 \
>  	form_win.3 set_form_sub.3 \
>  	form_win.3 set_form_win.3
> -.else
> -MAN=
> +
> +# backward compat
> +.if ${MK_INSTALLLIB} != "no"
> +SYMLINKS+=	libformw.a ${LIBDIR}/libform.a
> +.endif
> +.if !defined(NO_PIC)
> +SYMLINKS+=	libformw.so ${LIBDIR}/libform.so
> +.endif
> +.if ${MK_PROFILE} != "no"
> +SYMLINKS+=	libformw_p.a ${LIBDIR}/libform_p.a
>  .endif
>  
>  .include <bsd.lib.mk>
> diff --git a/lib/ncurses/formw/Makefile b/lib/ncurses/formw/Makefile
> deleted file mode 100644
> index 3ec7637373be..000000000000
> --- a/lib/ncurses/formw/Makefile
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -# $FreeBSD$
> -
> -ENABLE_WIDEC=
> -
> -.include "${.CURDIR:H}/form/Makefile"
> diff --git a/lib/ncurses/formw/Makefile.depend b/lib/ncurses/formw/Makefile.d
> epend
> deleted file mode 100644
> index 3d9451023bec..000000000000
> --- a/lib/ncurses/formw/Makefile.depend
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -# $FreeBSD$
> -# Autogenerated - do NOT edit!
> -
> -DIRDEPS = \
> -	include \
> -	include/xlocale \
> -	lib/${CSU_DIR} \
> -	lib/libc \
> -	lib/libcompiler_rt \
> -	lib/ncurses/ncursesw \
> -
> -
> -.include <dirdeps.mk>
> -
> -.if ${DEP_RELDIR} == ${_DEP_RELDIR}
> -# local dependencies - needed for -jN in clean tree
> -.endif
> diff --git a/lib/ncurses/menu/Makefile b/lib/ncurses/menu/Makefile
> index 653619638fbc..7844cd4d936c 100644
> --- a/lib/ncurses/menu/Makefile
> +++ b/lib/ncurses/menu/Makefile
> @@ -1,10 +1,11 @@
>  # $FreeBSD$
>  
> +.include <src.opts.mk>
>  .include "${.CURDIR:H}/config.mk"
>  
>  SRCDIR=	${NCURSES_DIR}/menu
>  
> -LIB=	menu${LIB_SUFFIX}
> +LIB=	menuw
>  
>  .PATH: ${SRCDIR}
>  SRCS=	\
> @@ -40,9 +41,8 @@ CLEANFILES=	ncurses_def.h
>  
>  CFLAGS+=	-I${SRCDIR}
>  
> -LIBADD+=	ncurses${LIB_SUFFIX}
> +LIBADD+=	ncursesw
>  
> -.if defined(ENABLE_WIDEC)
>  INCS=	menu.h eti.h
>  
>  .PATH: ${NCURSES_DIR}/man
> @@ -128,8 +128,16 @@ MLINKS=	menu_attributes.3 menu_back.3 \
>  	mitem_value.3 item_value.3 \
>  	mitem_value.3 set_item_value.3 \
>  	mitem_visible.3 item_visible.3
> -.else
> -MAN=
> +
> +# backward compat
> +.if ${MK_INSTALLLIB} != "no"
> +SYMLINKS+=	libmenuw.a ${LIBDIR}/libmenu.a
> +.endif
> +.if !defined(NO_PIC)
> +SYMLINKS+=	libmenuw.so ${LIBDIR}/libmenu.so
> +.endif
> +.if ${MK_PROFILE} != "no"
> +SYMLINKS+=	libmenuw_p.a ${LIBDIR}/libmenu_p.a
>  .endif
>  
>  .include <bsd.lib.mk>
> diff --git a/lib/ncurses/menuw/Makefile b/lib/ncurses/menuw/Makefile
> deleted file mode 100644
> index d6df56332826..000000000000
> --- a/lib/ncurses/menuw/Makefile
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -# $FreeBSD$
> -
> -ENABLE_WIDEC=
> -
> -.include "${.CURDIR:H}/menu/Makefile"
> diff --git a/lib/ncurses/menuw/Makefile.depend b/lib/ncurses/menuw/Makefile.d
> epend
> deleted file mode 100644
> index 3d9451023bec..000000000000
> --- a/lib/ncurses/menuw/Makefile.depend
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -# $FreeBSD$
> -# Autogenerated - do NOT edit!
> -
> -DIRDEPS = \
> -	include \
> -	include/xlocale \
> -	lib/${CSU_DIR} \
> -	lib/libc \
> -	lib/libcompiler_rt \
> -	lib/ncurses/ncursesw \
> -
> -
> -.include <dirdeps.mk>
> -
> -.if ${DEP_RELDIR} == ${_DEP_RELDIR}
> -# local dependencies - needed for -jN in clean tree
> -.endif
> diff --git a/lib/ncurses/ncurses/Makefile b/lib/ncurses/ncurses/Makefile
> index efa38691115e..6f03d93a9ac6 100644
> --- a/lib/ncurses/ncurses/Makefile
> +++ b/lib/ncurses/ncurses/Makefile
> @@ -3,16 +3,11 @@
>  PACKAGE=	clibs
>  SHLIBDIR?=	/lib
>  
> -.if !defined(ENABLE_WIDEC)
> -# Override any MAN= setting below..
> -MK_MAN=no
> -.endif
> -
>  .include <src.opts.mk>
>  
>  .include "${.CURDIR:H}/config.mk"
>  
> -LIB=		ncurses${LIB_SUFFIX}
> +LIB=		ncursesw
>  SHLIB_MAJOR=	9
>  
>  NO_LINT=
> @@ -22,17 +17,10 @@ NCURSES_MINOR!=	egrep 'NCURSES_MINOR[ 	]*=' ${NCURSES_
> DIR}/dist.mk | sed -e 's%^
>  NCURSES_PATCH!=	egrep 'NCURSES_PATCH[ 	]*=' ${NCURSES_DIR}/dist.mk | s
> ed -e 's%^[^0-9]*%%'
>  
>  # From autoconf (!)
> -.if defined(ENABLE_WIDEC)
>  NCURSES_CH_T=		cchar_t
>  NCURSES_OK_WCHAR_T=	1
>  NEED_WCHAR_H=		1
>  NCURSES_EXT_COLORS=	1
> -.else
> -NCURSES_CH_T=		chtype
> -NCURSES_OK_WCHAR_T=
> -NEED_WCHAR_H=		0
> -NCURSES_EXT_COLORS=	0
> -.endif
>  NCURSES_EXT_FUNCS=	1
>  NCURSES_CONST=		const
>  NCURSES_INLINE=		inline
> @@ -242,7 +230,6 @@ SRCS+=	\
>  	lib_vidattr.c \
>  	tty_update.c
>  
> -.if defined(ENABLE_WIDEC)
>  .PATH: ${NCURSES_DIR}/ncurses/widechar
>  SRCS+=	\
>  	charable.c \
> @@ -265,7 +252,6 @@ SRCS+=	\
>  	lib_vline_set.c \
>  	lib_wacs.c \
>  	lib_wunctrl.c
> -.endif
>  
>  .PATH: ${NCURSES_DIR}/ncurses/trace
>  SRCS+=	\
> @@ -298,42 +284,54 @@ HEADERS=	curses.h term.h termcap.h unctrl.h
>  SRCHDRS=	ncurses_dll.h
>  CLEANFILES+=	ncurses_dll.h
>  
> -.if defined(ENABLE_WIDEC)
>  INCS=		${HEADERS} ${SRCHDRS}
>  INCSLINKS=	curses.h ${INCLUDEDIR}/ncurses.h
> -.endif
>  
>  .if ${MK_INSTALLLIB} != "no"
> -SYMLINKS+=	libncurses${LIB_SUFFIX}.a ${LIBDIR}/libcurses${LIB_SUFFIX}.a
> -SYMLINKS+=	libncurses${LIB_SUFFIX}.a ${LIBDIR}/libtermcap${LIB_SUFFIX}.a
> -SYMLINKS+=	libncurses${LIB_SUFFIX}.a ${LIBDIR}/libtermlib${LIB_SUFFIX}.a
> -SYMLINKS+=	libncurses${LIB_SUFFIX}.a ${LIBDIR}/libtinfo${LIB_SUFFIX}.a
> +SYMLINKS+=	libncursesw.a ${LIBDIR}/libcursesw.a
> +SYMLINKS+=	libncursesw.a ${LIBDIR}/libtermcapw.a
> +SYMLINKS+=	libncursesw.a ${LIBDIR}/libtermlibw.a
> +SYMLINKS+=	libncursesw.a ${LIBDIR}/libtinfow.a
> +# backward compat
> +SYMLINKS+=	libncursesw.a ${LIBDIR}/libncurses.a
> +SYMLINKS+=	libncursesw.a ${LIBDIR}/libcurses.a
> +SYMLINKS+=	libncursesw.a ${LIBDIR}/libtermcap.a
> +SYMLINKS+=	libncursesw.a ${LIBDIR}/libtermlib.a
> +SYMLINKS+=	libncursesw.a ${LIBDIR}/libtinfo.a
>  .endif
>  .if !defined(NO_PIC)
>  # no need for major at all, it's an ld-time redirection only
> -SYMLINKS+=	libncurses${LIB_SUFFIX}.so ${LIBDIR}/libcurses${LIB_SUFFIX}.so
> -SYMLINKS+=	libncurses${LIB_SUFFIX}.so ${LIBDIR}/libtermcap${LIB_SUFFIX}.so
> -SYMLINKS+=	libncurses${LIB_SUFFIX}.so ${LIBDIR}/libtermlib${LIB_SUFFIX}.so
> -SYMLINKS+=	libncurses${LIB_SUFFIX}.so ${LIBDIR}/libtinfo${LIB_SUFFIX}.so
> +SYMLINKS+=	libncursesw.so ${LIBDIR}/libcursesw.so
> +SYMLINKS+=	libncursesw.so ${LIBDIR}/libtermcapw.so
> +SYMLINKS+=	libncursesw.so ${LIBDIR}/libtermlibw.so
> +SYMLINKS+=	libncursesw.so ${LIBDIR}/libtinfow.so
> +# backward compat
> +SYMLINKS+=	libncursesw.so ${LIBDIR}/libncurses.so
> +SYMLINKS+=	libncursesw.so ${LIBDIR}/libcurses.so
> +SYMLINKS+=	libncursesw.so ${LIBDIR}/libtermcap.so
> +SYMLINKS+=	libncursesw.so ${LIBDIR}/libtermlib.so
> +SYMLINKS+=	libncursesw.so ${LIBDIR}/libtinfo.so
>  .endif
>  .if ${MK_PROFILE} != "no"
> -SYMLINKS+=	libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libcurses${LIB_SUFFIX}_p.
> a
> -SYMLINKS+=	libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libtermcap${LIB_SUFFIX}_p
> .a
> -SYMLINKS+=	libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libtermlib${LIB_SUFFIX}_p
> .a
> -SYMLINKS+=	libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libtinfo${LIB_SUFFIX}_p.a
> +SYMLINKS+=	libncursesw_p.a ${LIBDIR}/libcursesw_p.a
> +SYMLINKS+=	libncursesw_p.a ${LIBDIR}/libtermcapw_p.a
> +SYMLINKS+=	libncursesw_p.a ${LIBDIR}/libtermlibw_p.a
> +SYMLINKS+=	libncursesw_p.a ${LIBDIR}/libtinfow_p.a
> +# backward compat
> +SYMLINKS+=	libncursesw_p.a ${LIBDIR}/libncurses_p.a
> +SYMLINKS+=	libncursesw_p.a ${LIBDIR}/libcurses_p.a
> +SYMLINKS+=	libncursesw_p.a ${LIBDIR}/libtermcap_p.a
> +SYMLINKS+=	libncursesw_p.a ${LIBDIR}/libtermlib_p.a
> +SYMLINKS+=	libncursesw_p.a ${LIBDIR}/libtinfo_p.a
>  .endif
>  
> -.if ${.CURDIR:T} == "ncursesw"
> -.if defined(ENABLE_WIDEC)
>  DOCSDIR=	${SHAREDIR}/doc/ncurses
>  DOCS=		ncurses-intro.html hackguide.html
> -.endif
>  
>  .if ${MK_HTML} != "no"
>  .PATH: ${NCURSES_DIR}/doc/html
>  FILESGROUPS=	DOCS
>  .endif
> -.endif
>  
>  # Generated source
>  .ORDER: names.c codes.c
> @@ -394,9 +392,7 @@ curses.h: curses.head MKkey_defs.sh Caps Caps-ncurses
>  	cat curses.head > $@.new
>  	AWK=${AWK} _POSIX2_VERSION=199209 sh ${NCURSES_DIR}/include/MKkey_defs.
> sh \
>  	    ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses >> 
> $@.new
> -.if defined(ENABLE_WIDEC)
>  	cat ${NCURSES_DIR}/include/curses.wide >> $@.new
> -.endif
>  	cat ${NCURSES_DIR}/include/curses.tail >> $@.new
>  	mv -f $@.new $@
>  
> @@ -505,7 +501,6 @@ terminfo.5: MKterminfo.sh terminfo.head Caps
>  
>  CLEANFILES+=	terminfo.5
>  
> -.if defined(ENABLE_WIDEC)
>  .PATH: ${NCURSES_DIR}/man
>  MAN=	\
>  	curs_addch.3 \
> @@ -585,7 +580,6 @@ MAN+=	\
>  
>  MAN+=	term.5 terminfo.5 scr_dump.5 user_caps.5
>  MAN+=	term.7
> -.endif
>  
>  CLEANFILES+=	${MAN:M*.3}
>  
> @@ -1065,7 +1059,6 @@ MLINKS=	ncurses.3 curses.3 \
>  	resizeterm.3 is_term_resized.3 \
>  	resizeterm.3 resize_term.3
>  
> -.if defined(ENABLE_WIDEC)
>  MLINKS+=curs_add_wch.3 add_wch.3 \
>  	curs_add_wch.3 echo_wchar.3 \
>  	curs_add_wch.3 mvadd_wch.3 \
> @@ -1145,8 +1138,6 @@ MLINKS+=curs_add_wch.3 add_wch.3 \
>  	curs_scanw.3 vw_scanw.3 \
>  	curs_scanw.3 vwscanw.3 \
>  	curs_scanw.3 wscanw.3
> -.endif
> -
>  
>  .include <bsd.lib.mk>
>  
> diff --git a/lib/ncurses/ncursesw/Makefile b/lib/ncurses/ncursesw/Makefile
> deleted file mode 100644
> index 5f6040e7119c..000000000000
> --- a/lib/ncurses/ncursesw/Makefile
> +++ /dev/null
> @@ -1,7 +0,0 @@
> -# $FreeBSD$
> -
> -ENABLE_WIDEC=
> -
> -.PATH: ${.CURDIR:H}/ncurses
> -
> -.include "${.CURDIR:H}/ncurses/Makefile"
> diff --git a/lib/ncurses/ncursesw/Makefile.depend b/lib/ncurses/ncursesw/Make
> file.depend
> deleted file mode 100644
> index 8d409f5263ac..000000000000
> --- a/lib/ncurses/ncursesw/Makefile.depend
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -# $FreeBSD$
> -# Autogenerated - do NOT edit!
> -
> -DIRDEPS = \
> -	include \
> -	include/xlocale \
> -	lib/${CSU_DIR} \
> -	lib/libc \
> -	lib/libcompiler_rt \
> -
> -
> -.include <dirdeps.mk>
> -
> -.if ${DEP_RELDIR} == ${_DEP_RELDIR}
> -# local dependencies - needed for -jN in clean tree
> -.endif
> diff --git a/lib/ncurses/panel/Makefile b/lib/ncurses/panel/Makefile
> index 1993f5e76ac2..a22df4d89570 100644
> --- a/lib/ncurses/panel/Makefile
> +++ b/lib/ncurses/panel/Makefile
> @@ -1,10 +1,11 @@
>  # $FreeBSD$
>  
> +.include <src.opts.mk>
>  .include "${.CURDIR:H}/config.mk"
>  
>  SRCDIR=	${NCURSES_DIR}/panel
>  
> -LIB=	panel${LIB_SUFFIX}
> +LIB=	panelw
>  
>  .PATH: ${SRCDIR}
>  SRCS=	\
> @@ -29,10 +30,7 @@ CLEANFILES=	ncurses_def.h
>  
>  CFLAGS+=	-I${SRCDIR}
>  
> -LIBADD+=	ncurses${LIB_SUFFIX}
> -
> -.if defined(ENABLE_WIDEC)
> -INCS=	panel.h
> +LIBADD+=	ncursesw
>  
>  # generate MAN
>  .PATH: ${NCURSES_DIR}/man
> @@ -56,10 +54,19 @@ MLINKS=	panel.3 bottom_panel.3 \
>  	panel.3 show_panel.3 \
>  	panel.3 top_panel.3 \
>  	panel.3 update_panels.3
> -.else
> -MAN=
> +
> +# backward compat
> +.if ${MK_INSTALLLIB} != "no"
> +SYMLINKS+=	libpanelw.a ${LIBDIR}/libpanel.a
> +.endif
> +.if !defined(NO_PIC)
> +SYMLINKS+=	libpanelw.so ${LIBDIR}/libpanel.so
>  .endif
> -	
> +.if ${MK_PROFILE} != "no"
> +SYMLINKS+=	libpanelw_p.a ${LIBDIR}/libpanel_p.a
> +.endif
> +
> +INCS=	panel.h
>  .include <bsd.lib.mk>
>  
>  # Keep the .SUFFIXES line after the include of bsd.lib.mk
> diff --git a/lib/ncurses/panelw/Makefile b/lib/ncurses/panelw/Makefile
> deleted file mode 100644
> index 2585738a5e60..000000000000
> --- a/lib/ncurses/panelw/Makefile
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -# $FreeBSD$
> -
> -ENABLE_WIDEC=
> -
> -.include "${.CURDIR:H}/panel/Makefile"
> diff --git a/lib/ncurses/panelw/Makefile.depend b/lib/ncurses/panelw/Makefile
> .depend
> deleted file mode 100644
> index 3d9451023bec..000000000000
> --- a/lib/ncurses/panelw/Makefile.depend
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -# $FreeBSD$
> -# Autogenerated - do NOT edit!
> -
> -DIRDEPS = \
> -	include \
> -	include/xlocale \
> -	lib/${CSU_DIR} \
> -	lib/libc \
> -	lib/libcompiler_rt \
> -	lib/ncurses/ncursesw \
> -
> -
> -.include <dirdeps.mk>
> -
> -.if ${DEP_RELDIR} == ${_DEP_RELDIR}
> -# local dependencies - needed for -jN in clean tree
> -.endif
> diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
> index ee94279e0cca..32cd1677bcd4 100644
> --- a/share/mk/src.libnames.mk
> +++ b/share/mk/src.libnames.mk
> @@ -144,7 +144,6 @@ _LIBRARIES=	\
>  		memstat \
>  		mp \
>  		mt \
> -		ncurses \
>  		ncursesw \
>  		netgraph \
>  		netmap \
> @@ -182,7 +181,6 @@ _LIBRARIES=	\
>  		supcplusplus \
>  		sysdecode \
>  		tacplus \
> -		termcap \
>  		termcapw \
>  		tpool \
>  		ufs \
> @@ -376,7 +374,6 @@ _DP_c+=		ssp_nonshared
>  _DP_stats=	sbuf pthread
>  _DP_stdthreads=	pthread
>  _DP_tacplus=	md
> -_DP_panel=	ncurses
>  _DP_panelw=	ncursesw
>  _DP_rpcsec_gss=	gssapi
>  _DP_smb=	kiconv
> @@ -663,14 +660,10 @@ LIBBSDXMLDIR=	${OBJTOP}/lib/libexpat
>  LIBKVMDIR=	${OBJTOP}/lib/libkvm
>  LIBPTHREADDIR=	${OBJTOP}/lib/libthr
>  LIBMDIR=	${OBJTOP}/lib/msun
> -LIBFORMDIR=	${OBJTOP}/lib/ncurses/form
> -LIBFORMLIBWDIR=	${OBJTOP}/lib/ncurses/formw
> -LIBMENUDIR=	${OBJTOP}/lib/ncurses/menu
> -LIBMENULIBWDIR=	${OBJTOP}/lib/ncurses/menuw
> -LIBNCURSESDIR=	${OBJTOP}/lib/ncurses/ncurses
> -LIBNCURSESWDIR=	${OBJTOP}/lib/ncurses/ncursesw
> -LIBPANELDIR=	${OBJTOP}/lib/ncurses/panel
> -LIBPANELWDIR=	${OBJTOP}/lib/ncurses/panelw
> +LIBFORMWDIR=	${OBJTOP}/lib/ncurses/form
> +LIBMENUWDIR=	${OBJTOP}/lib/ncurses/menu
> +LIBNCURSESWDIR=	${OBJTOP}/lib/ncurses/ncurses
> +LIBPANELWDIR=	${OBJTOP}/lib/ncurses/panel
>  LIBCRYPTODIR=	${OBJTOP}/secure/lib/libcrypto
>  LIBSPLDIR=	${OBJTOP}/cddl/lib/libspl
>  LIBSSHDIR=	${OBJTOP}/secure/lib/libssh
> @@ -679,7 +672,6 @@ LIBTEKENDIR=	${OBJTOP}/sys/teken/libteken
>  LIBEGACYDIR=	${OBJTOP}/tools/build
>  LIBLNDIR=	${OBJTOP}/usr.bin/lex/lib
>  
> -LIBTERMCAPDIR=	${LIBNCURSESDIR}
>  LIBTERMCAPWDIR=	${LIBNCURSESWDIR}
>  
>  # Default other library directories to lib/libNAME.
> diff --git a/tools/bsdbox/Makefile.base b/tools/bsdbox/Makefile.base
> index aac44480e2ca..f2ffc2e49f70 100644
> --- a/tools/bsdbox/Makefile.base
> +++ b/tools/bsdbox/Makefile.base
> @@ -14,7 +14,7 @@ CRUNCH_ALIAS_tset=	reset
>  
>  CRUNCH_PROGS_usr.bin+=	vmstat
>  #CRUNCH_PROGS_user.bin+=	systat
> -CRUNCH_LIBS+=		-ldevstat -lncursesw -lncurses -lmemstat -lkvm 
> -lelf
> +CRUNCH_LIBS+=		-ldevstat -lncursesw -lmemstat -lkvm -lelf
>  
>  # CRUNCH_PROGS_usr.bin+=	tar
>  CRUNCH_PROGS_usr.bin+=	cpio
> diff --git a/tools/tools/ath/athratestats/Makefile b/tools/tools/ath/athrates
> tats/Makefile
> index 7a51392a9a7e..ccf04ebd8da0 100644
> --- a/tools/tools/ath/athratestats/Makefile
> +++ b/tools/tools/ath/athratestats/Makefile
> @@ -7,7 +7,7 @@ PROG=	athratestats
>  
>  SRCS=	main.c opt_ah.h ah_osdep.h
>  
> -LIBADD+=	ncurses
> +LIBADD+=	ncursesw
>  
>  CLEANFILES+=	opt_ah.h ah_osdep.h
>  
>

This fails to build in compat32.

--- lib/libthr__L ---
install -U  -s -o root -g wheel -m 444   -S  libthr.so.3 
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/lib32/
--- lib/ncurses/ncurses__L ---
/opt/src/git-src/contrib/ncurses/ncurses/curses.priv.h:2322:61: error: 
unknown type name 'mbstate_t'; did you mean '__mbstate_t'?
extern NCURSES_EXPORT(size_t) _nc_wcrtomb (char *, wchar_t, mbstate_t *);
                                                            ^~~~~~~~~
                                                            __mbstate_t
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/include/sys/_types
.h:124:3: note: '__mbstate_t' declared here
} __mbstate_t;
  ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:42:15: error: 
implicit declaration of function 'wctob' is invalid in C99 
[-Werror,-Wimplicit-function-declaration]
    result = (wctob((wint_t) ch) == (int) ch);
              ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:42:15: note: 
did you mean 'wctomb'?
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/include/stdlib.h:1
23:6: note: 'wctomb' declared here
int      wctomb(char *, wchar_t);
         ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:42:22: error: 
use of undeclared identifier 'wint_t'
    result = (wctob((wint_t) ch) == (int) ch);
                     ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:49:33: error: 
unknown type name 'wint_t'
NCURSES_EXPORT(int) _nc_to_char(wint_t ch)
                                ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:53:14: error: 
implicit declaration of function 'wctob' is invalid in C99 
[-Werror,-Wimplicit-function-declaration]
    result = wctob(ch);
             ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:67:16: error: 
unknown type name 'wint_t'
NCURSES_EXPORT(wint_t) _nc_to_widechar(int ch)
--- cddl/lib/libspl__L ---
install -U  -s -o root -g wheel -m 444   -S  libspl.so.2 
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/lib32/
--- lib/ncurses/ncurses__L ---
               ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:69:11: error: 
expected ';' after expression
    wint_t result;
          ^
          ;
--- cddl/lib/libnvpair__L ---
install -U  -o root -g wheel -m 444    libnvpair.so.2.debug 
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/lib/debug/usr/lib3
2/
--- lib/ncurses/ncurses__L ---
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:69:5: error: 
use of undeclared identifier 'wint_t'
    wint_t result;
    ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:69:12: error: 
use of undeclared identifier 'result'
    wint_t result;
           ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:71:5: error: 
use of undeclared identifier 'result'
    result = btowc(ch);
    ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:71:14: error: 
implicit declaration of function 'btowc' is invalid in C99 
[-Werror,-Wimplicit-function-declaration]
    result = btowc(ch);
             ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:71:14: note: 
did you mean 'mbtowc'?
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/include/stdlib.h:1
09:6: note: 'mbtowc' declared here
int      mbtowc(wchar_t * __restrict, const char * __restrict, size_t);
         ^
/opt/src/git-src/contrib/ncurses/ncurses/widechar/charable.c:84:12: error: 
use of undeclared identifier 'result'
    return result;
           ^
14 errors generated.
*** [charable.o] Error code 1

make[4]: stopped in /opt/src/git-src/lib/ncurses/ncurses
1 error

make[4]: stopped in /opt/src/git-src/lib/ncurses/ncurses
--- cddl/lib/libicp__L ---
--- cddl/lib/libicp_rescue__L ---
--- lib/libufs__L ---
install -U  -C -o root -g wheel -m 444   libufs_p.a 
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/lib32/
--- lib/libutil__L ---
--- lib/libthr__L ---
install -U  -o root -g wheel -m 444    libthr.so.3.debug 
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/lib/debug/usr/lib3
2/
--- cddl/lib/libspl__L ---
install -U  -o root -g wheel -m 444    libspl.so.2.debug 
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/lib/debug/usr/lib3
2/
--- lib/libthr__L ---
--- cddl/lib/libnvpair__L ---
install -U -l rs -o root -g wheel -m 755 -S   libnvpair.so.2 
/export/obj/opt/src/git-src/amd64.amd64/obj-lib32/tmp/usr/lib32/libnvpair.so
*** [build32] Error code 2

make[1]: stopped in /opt/src/git-src
1 error

make[1]: stopped in /opt/src/git-src
exiting RC=2: building amd64
slippy# 


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy@nwtime.org>    Web:  https://nwtime.org

	The need of the many outweighs the greed of the few.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101051440.105EefY4071731>