Re: buildworld without libncursesw

2015-03-04 Thread Brooks Davis
On Wed, Mar 04, 2015 at 10:47:44AM +1100, Dewayne Geraghty wrote:
 
 On 4/03/2015 8:13 AM, Brooks Davis wrote:
  On Tue, Mar 03, 2015 at 08:20:57PM +1100, Dewayne Geraghty wrote:
  Is there a preferred way to buildworld without libncursesw?
 
  When I add to /etc/src.conf
  WITHOUT_NCURSESW=yes
 
  I find that a buildworld fails due to missing libncursesw.*.
  So what uses libncurses?  These guys do
  /usr/bin/dialog
  /usr/bin/dpv
   
  /usr/sbin/sade - /usr/libexec/bsdinstall/partedit
  /usr/sbin/tzsetup
 
  Getting a little frustrated I modifed the Makefile:, so for example
  dialog (/usr/src/contrib/dialog)
 
  +.include bsd.own.mk
  +
  +.if ${MK_NCURSESW} == no
  +DPADD= ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSES}
  ${LIBUTIL} ${LIBM}
  +LDADD= -ldpv -ldialog -lfigpar -lncurses -lutil -lm
  +.else
   DPADD= ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSESW}
  ${LIBUTIL} ${LIBM}
   LDADD= -ldpv -ldialog -lfigpar -lncursesw -lutil -lm
  +.endif
 
  And checking
  # make -VMK_NCURSESW
  no
 
  I'm at a bit of a loss as to why these are proving difficult to build,
  or what I can do to get the desired outcome, ie no libncursesw.so*
  I tried to make this work a while ago and it's not practical.  Instead,
  we need to remove libncurses (or more likely replace it with a linker
  script to cause libncursesw to be used.)
 
  It should be the case that nothing in the base system uses libncurses,
  but it's all too likely that someone has broken that since I switched
  the remaining bits over.
 
  -- Brooks
 Unfortunately I can't say which ones use libncurses as I've sprinkled
 things like this over anything that uses libncursesw
 
 -DPADD= ${LIBDEVSTAT} ${LIBKVM} ${LIBGEOM} ${LIBBSDXML} ${LIBSBUF}
 ${LIBEDIT} ${LIBNCURSESW}
 -LDADD= -ldevstat -lkvm -lgeom -lbsdxml -lsbuf -ledit -lncursesw
 +DPADD= ${LIBDEVSTAT} ${LIBKVM} ${LIBGEOM} ${LIBBSDXML} ${LIBSBUF}
 ${LIBEDIT}
 +LDADD= -ldevstat -lkvm -lgeom -lbsdxml -lsbuf -ledit
 
 +.include bsd.own.mk
 +
 +.if ${MK_NCURSESW} == no
 +DPADD+= ${LIBNCURSES}
 +LDADD+= -lncurses
 +.else
 +DPADD+= ${LIBNCURSESW}
 +LDADD+= -lncursesw
 +.endif
 +
 
 and only the above 4 programs are more of a challenge.
 
 Any consistency is a good thing, so honouring WITHOUT_NCURSESW should be
 the trigger.  This situation arose because I needed some things in
 /rescue and there was a conflict stuffing both libncurses and
 libncursesw into the /usr/src/rescue build, as you'd expect. :)

I'd forgotten I'd merged WITHOUT_NCURSESW to 10.  That was a mistake as
it turns out to be unmaintainable.  I removed it from head long ago and
it will not return.  Unless you want to fix it and keep fixing it as
things are merged from head we should either remove it or document it as
broken.

-- Brooks


pgpFsfYzIEBlL.pgp
Description: PGP signature


buildworld without libncursesw

2015-03-03 Thread Dewayne Geraghty
Is there a preferred way to buildworld without libncursesw?

When I add to /etc/src.conf
WITHOUT_NCURSESW=yes

I find that a buildworld fails due to missing libncursesw.*.
So what uses libncurses?  These guys do
/usr/bin/dialog
/usr/bin/dpv
 
/usr/sbin/sade - /usr/libexec/bsdinstall/partedit
/usr/sbin/tzsetup

Getting a little frustrated I modifed the Makefile:, so for example
dialog (/usr/src/contrib/dialog)

+.include bsd.own.mk
+
+.if ${MK_NCURSESW} == no
+DPADD= ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSES}
${LIBUTIL} ${LIBM}
+LDADD= -ldpv -ldialog -lfigpar -lncurses -lutil -lm
+.else
 DPADD= ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSESW}
${LIBUTIL} ${LIBM}
 LDADD= -ldpv -ldialog -lfigpar -lncursesw -lutil -lm
+.endif

And checking
# make -VMK_NCURSESW
no

I'm at a bit of a loss as to why these are proving difficult to build,
or what I can do to get the desired outcome, ie no libncursesw.so*
Dewayne.
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: buildworld without libncursesw

2015-03-03 Thread Brooks Davis
On Tue, Mar 03, 2015 at 08:20:57PM +1100, Dewayne Geraghty wrote:
 Is there a preferred way to buildworld without libncursesw?
 
 When I add to /etc/src.conf
 WITHOUT_NCURSESW=yes
 
 I find that a buildworld fails due to missing libncursesw.*.
 So what uses libncurses?  These guys do
 /usr/bin/dialog
 /usr/bin/dpv
  
 /usr/sbin/sade - /usr/libexec/bsdinstall/partedit
 /usr/sbin/tzsetup
 
 Getting a little frustrated I modifed the Makefile:, so for example
 dialog (/usr/src/contrib/dialog)
 
 +.include bsd.own.mk
 +
 +.if ${MK_NCURSESW} == no
 +DPADD= ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSES}
 ${LIBUTIL} ${LIBM}
 +LDADD= -ldpv -ldialog -lfigpar -lncurses -lutil -lm
 +.else
  DPADD= ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSESW}
 ${LIBUTIL} ${LIBM}
  LDADD= -ldpv -ldialog -lfigpar -lncursesw -lutil -lm
 +.endif
 
 And checking
 # make -VMK_NCURSESW
 no
 
 I'm at a bit of a loss as to why these are proving difficult to build,
 or what I can do to get the desired outcome, ie no libncursesw.so*

I tried to make this work a while ago and it's not practical.  Instead,
we need to remove libncurses (or more likely replace it with a linker
script to cause libncursesw to be used.)

It should be the case that nothing in the base system uses libncurses,
but it's all too likely that someone has broken that since I switched
the remaining bits over.

-- Brooks


pgptqg5lvAXt2.pgp
Description: PGP signature


Re: buildworld without libncursesw

2015-03-03 Thread Dewayne Geraghty

On 4/03/2015 8:13 AM, Brooks Davis wrote:
 On Tue, Mar 03, 2015 at 08:20:57PM +1100, Dewayne Geraghty wrote:
 Is there a preferred way to buildworld without libncursesw?

 When I add to /etc/src.conf
 WITHOUT_NCURSESW=yes

 I find that a buildworld fails due to missing libncursesw.*.
 So what uses libncurses?  These guys do
 /usr/bin/dialog
 /usr/bin/dpv
  
 /usr/sbin/sade - /usr/libexec/bsdinstall/partedit
 /usr/sbin/tzsetup

 Getting a little frustrated I modifed the Makefile:, so for example
 dialog (/usr/src/contrib/dialog)

 +.include bsd.own.mk
 +
 +.if ${MK_NCURSESW} == no
 +DPADD= ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSES}
 ${LIBUTIL} ${LIBM}
 +LDADD= -ldpv -ldialog -lfigpar -lncurses -lutil -lm
 +.else
  DPADD= ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSESW}
 ${LIBUTIL} ${LIBM}
  LDADD= -ldpv -ldialog -lfigpar -lncursesw -lutil -lm
 +.endif

 And checking
 # make -VMK_NCURSESW
 no

 I'm at a bit of a loss as to why these are proving difficult to build,
 or what I can do to get the desired outcome, ie no libncursesw.so*
 I tried to make this work a while ago and it's not practical.  Instead,
 we need to remove libncurses (or more likely replace it with a linker
 script to cause libncursesw to be used.)

 It should be the case that nothing in the base system uses libncurses,
 but it's all too likely that someone has broken that since I switched
 the remaining bits over.

 -- Brooks
Unfortunately I can't say which ones use libncurses as I've sprinkled
things like this over anything that uses libncursesw

-DPADD= ${LIBDEVSTAT} ${LIBKVM} ${LIBGEOM} ${LIBBSDXML} ${LIBSBUF}
${LIBEDIT} ${LIBNCURSESW}
-LDADD= -ldevstat -lkvm -lgeom -lbsdxml -lsbuf -ledit -lncursesw
+DPADD= ${LIBDEVSTAT} ${LIBKVM} ${LIBGEOM} ${LIBBSDXML} ${LIBSBUF}
${LIBEDIT}
+LDADD= -ldevstat -lkvm -lgeom -lbsdxml -lsbuf -ledit

+.include bsd.own.mk
+
+.if ${MK_NCURSESW} == no
+DPADD+= ${LIBNCURSES}
+LDADD+= -lncurses
+.else
+DPADD+= ${LIBNCURSESW}
+LDADD+= -lncursesw
+.endif
+

and only the above 4 programs are more of a challenge.

Any consistency is a good thing, so honouring WITHOUT_NCURSESW should be
the trigger.  This situation arose because I needed some things in
/rescue and there was a conflict stuffing both libncurses and
libncursesw into the /usr/src/rescue build, as you'd expect. :)

Regards, Dewayne.

-- 
For the talkers: “The superior man acts before he speaks, and afterwards speaks 
according to his action.”
For everyone else: “Life is really simple, but we insist on making it 
complicated.”

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org