git: 821aa63a0940 - main - ncurses: only keep the version with widechar support
Baptiste Daroussin
bapt at FreeBSD.org
Thu Jan 7 13:59:14 UTC 2021
On Thu, Jan 07, 2021 at 07:53:47AM -0600, Kyle Evans wrote:
> On Tue, Jan 5, 2021 at 7:02 AM Baptiste Daroussin <bapt at freebsd.org> wrote:
> >
> > The branch main has been updated by bapt:
> >
> > URL: https://cgit.FreeBSD.org/src/commit/?id=821aa63a09402935da0a73abf20ba0441562aa07
> >
> > commit 821aa63a09402935da0a73abf20ba0441562aa07
> > Author: Baptiste Daroussin <bapt at FreeBSD.org>
> > AuthorDate: 2021-01-04 16:29:40 +0000
> > Commit: Baptiste Daroussin <bapt at 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} ${_jevents}
> > +.for _dir in lib/ncurses/ncurses lib/ncurses/ncurses ${_libmagic} ${_jevents}
> > .for _t in ${_obj} build-tools
> > ${_+_}cd ${.CURDIR}/${_dir}; \
> > WORLDTMP=${WORLDTMP} \
>
> The second occurence of lib/ncurses/ncurses should probably just go away?
>
> > 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
>
> Based on this we should really just nuke the entire ncurses dir for
> older WITHOUT_CLEAN builds, because any objects in this objdir will
> have been built without -DENABLE_WIDEC. Maybe just key it off of an
> ncursesw directory existing in the objdir hierarchy and nuke it all in
> depend-cleanup.
>
Yes to everything you said ;)
Best regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/dev-commits-src-all/attachments/20210107/bbcf0f07/attachment.sig>
More information about the dev-commits-src-all
mailing list