From owner-freebsd-current@FreeBSD.ORG Sun Nov 26 11:52:55 2006 Return-Path: X-Original-To: current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 92D9B16A412; Sun, 26 Nov 2006 11:52:55 +0000 (UTC) (envelope-from ru@rambler-co.ru) Received: from relay0.rambler.ru (relay0.rambler.ru [81.19.66.187]) by mx1.FreeBSD.org (Postfix) with ESMTP id 50FA243D55; Sun, 26 Nov 2006 11:52:00 +0000 (GMT) (envelope-from ru@rambler-co.ru) Received: from relay0.rambler.ru (localhost [127.0.0.1]) by relay0.rambler.ru (Postfix) with ESMTP id 0CF2561DE; Sun, 26 Nov 2006 14:52:53 +0300 (MSK) Received: from edoofus.park.rambler.ru (unknown [81.19.65.108]) by relay0.rambler.ru (Postfix) with ESMTP id DB6EA5FC9; Sun, 26 Nov 2006 14:52:52 +0300 (MSK) Received: (from ru@localhost) by edoofus.park.rambler.ru (8.13.8/8.13.8) id kAQBr8G7027003; Sun, 26 Nov 2006 14:53:08 +0300 (MSK) (envelope-from ru) Date: Sun, 26 Nov 2006 14:53:08 +0300 From: Ruslan Ermilov To: Norikatsu Shigemura Message-ID: <20061126115308.GB26446@rambler-co.ru> References: <20061110151247.GA64530@zone3000.net> <20061110173526.GA22441@rambler-co.ru> <20061126115311.37d0aa08.nork@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="n2Pv11Ogg/Ox8ay5" Content-Disposition: inline In-Reply-To: <20061126115311.37d0aa08.nork@FreeBSD.org> User-Agent: Mutt/1.5.13 (2006-08-11) X-Virus-Scanned: No virus found Cc: current@FreeBSD.org, David Xu Subject: Re: PTHREAD_CFLAGS/PTHREAD_LIBS clean test (Re: libpthread vs libthr.) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Nov 2006 11:52:55 -0000 --n2Pv11Ogg/Ox8ay5 Content-Type: multipart/mixed; boundary="oTHb8nViIGeoXxdp" Content-Disposition: inline --oTHb8nViIGeoXxdp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 26, 2006 at 11:53:11AM +0900, Norikatsu Shigemura wrote: > On Fri, 10 Nov 2006 20:35:26 +0300 > Ruslan Ermilov wrote: > > To make user's life easier, I suggest the following simple patch. > > Its effect on platforms where libpthread is available is to (sym)link > > libthr to libpthread if WITHOUT_LIBPTHREAD is set in /etc/src.conf. > > This would allow more people interested in libthr testing to more > > easily do it. (Of course already linked applications wouldn't > > magically start using libthr without also patching /etc/libmap.conf.) > > %%% > > Index: Makefile > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > RCS file: /home/ncvs/src/lib/libthr/Makefile,v > > retrieving revision 1.20 > > diff -u -p -r1.20 Makefile > > --- Makefile 22 Aug 2006 07:51:06 -0000 1.20 > > +++ Makefile 10 Nov 2006 17:27:40 -0000 > > @@ -42,7 +42,7 @@ PRECIOUSLIB=3D > > .include "${.CURDIR}/sys/Makefile.inc" > > .include "${.CURDIR}/thread/Makefile.inc" > > =20 > > -.if ${MACHINE_ARCH} =3D=3D "sparc64" > > +.if ${MACHINE_ARCH} =3D=3D "sparc64" || ${MK_LIBPTHREAD} =3D=3D "no" > > SYMLINKS+=3Dlib${LIB}.a ${LIBDIR}/libpthread.a > > .if !defined(NO_PIC) > > SYMLINKS+=3Dlib${LIB}.so ${LIBDIR}/libpthread.so > > %%% >=20 > In the case you said (echo WITHOUT_LIBPTHREAD=3Dyes >> /etc/src.conf), > we cannot get libkse.*. Because lib/libpthread is omitted in > lib/Makefile:-(. >=20 On sparc64, yes. On other arches, there's no libkse at all. Why is it a problem? We don't want to hear about libkse. > I'm trying to test PTHREAD_CFLAGS/PTHREAD_LIBS. So I prepared > following environment. >=20 > x libpthread.* (removed as passible as) > o libkse.* > o libthr.* >=20 > But WITHOUT_LIBPTHREAD (MK_LIBPTHREAD=3Dno) option is too danger. >=20 > $ cd /usr/src > $ fgrep -r MK_LIBPTHREAD . > ./lib/Makefile:.if ${MK_LIBPTHREAD} !=3D "no" > ./sbin/ggate/Makefile:.elif ${MK_LIBPTHREAD} !=3D "no" > ./share/man/man3/Makefile:.if ${MK_LIBPTHREAD} !=3D "no" || ${MK_LIBTHR} = !=3D "no" > ./tools/build/mk/OptionalObsoleteFiles.inc:#.if ${MK_LIBPTHREAD} =3D=3D no > ./usr.bin/Makefile:.elif ${MK_LIBPTHREAD} !=3D "no" > ./usr.sbin/Makefile:.if ${MK_LIBPTHREAD} !=3D "no" > ./usr.sbin/Makefile:.if ${MK_LIBPTHREAD} !=3D "no" > ./usr.sbin/Makefile:.if ${MK_LIBPTHREAD} !=3D "no" >=20 [...] > ng In case of sbin/ggate/Makefile, ggatec and ggated will not be > installed. >=20 The conditional should be changed to =2Eelif ${MK_LIBPTHREAD} !=3D "no" || ${MK_LIBTHR} !=3D "no" so it benefits from my patch to libthr/Makefile. > ng In case of usr.bin/Makefile, csup will not be installed. > ng In case of usr.sbin/Makefile, pppctl will not be installed. >=20 The same change here. > And usr.sbin/cached/Makefile and usr.sbin/ngctl/Makefile is not > good WITHOUT_LIBPTHREAD. I couldn't compile them. I think that > these should be omitted in usr.sbin/Makefile like pppctl case. >=20 You mean without my patch and with WITHOUT_LIBPTHREAD, and with my patch and wit both WITHOUT_LIBPTHREAD and WITHOUT_LIBTHR? Yes, these need to be fixed (see the patch). > And FreeBSD src tree don't have PTHREAD_CFLAGS/PTHREAD_LIBS clean > mechanism. I think that there are some way to adopt PTHREAD_CFLAGS/ > PTHREAD_LIBS to src tree, maybe. But I don't know how do I do > anyway. >=20 Why? Just using ${LIBPTHREAD} in DPADD and -lpthread in LDADD should work. If it doesn't work, we will fix it. > 1. force lib/libpthread install libkse.* to /usr/lib, and symlink > to /lib/libpthread.*. I don't know KEYWORD to symlink to /lib/ > libpthread.* from libkse.*/libthr.*. >=20 I don't see a reason for this; yet, this is a bad idea because binaries will record libkse.so.X in them. > 2. Fix like following in usr.bin/Makefile and usr.sbin/Makefile: > .if ${MK_LIBPTHREAD} !=3D "no" > ..... > : >=20 > to >=20 > .if ${MK_LIBPTHREAD} !=3D "no" || ${MK_LIBTHR} !=3D "no" >=20 Yes. > ..... > : > And compile force lib/libpthread. >=20 Like I said, I fail to see a reason for this. > And in case of > MK_LIBPTHREAD=3Dno, symlink libthr.* to libpthread.*. >=20 This is what my patch to libthr/Makefile does. BTW, I'm testing the attached patch now that should fix issues you mentioned. Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --oTHb8nViIGeoXxdp Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=p Content-Transfer-Encoding: quoted-printable Index: lib/libthr/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/lib/libthr/Makefile,v retrieving revision 1.20 diff -u -r1.20 Makefile --- lib/libthr/Makefile 22 Aug 2006 07:51:06 -0000 1.20 +++ lib/libthr/Makefile 26 Nov 2006 11:22:17 -0000 @@ -42,7 +42,7 @@ .include "${.CURDIR}/sys/Makefile.inc" .include "${.CURDIR}/thread/Makefile.inc" =20 -.if ${MACHINE_ARCH} =3D=3D "sparc64" +.if ${MACHINE_ARCH} =3D=3D "sparc64" || ${MK_LIBPTHREAD} =3D=3D "no" SYMLINKS+=3Dlib${LIB}.a ${LIBDIR}/libpthread.a .if !defined(NO_PIC) SYMLINKS+=3Dlib${LIB}.so ${LIBDIR}/libpthread.so Index: sbin/ggate/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/sbin/ggate/Makefile,v retrieving revision 1.6 diff -u -r1.6 Makefile --- sbin/ggate/Makefile 22 Aug 2006 07:51:09 -0000 1.6 +++ sbin/ggate/Makefile 26 Nov 2006 11:41:15 -0000 @@ -6,12 +6,8 @@ ${_ggated} \ ggatel =20 -.if ${MACHINE_ARCH} =3D=3D "sparc64" -.if ${MK_LIBTHR} !=3D "no" -_ggatec=3D ggatec -_ggated=3D ggated -.endif -.elif ${MK_LIBPTHREAD} !=3D "no" +.if ${MK_LIBTHR} !=3D "no" || \ + (${MACHINE_ARCH} !=3D "sparc64" && ${MK_LIBPTHREAD} !=3D "no") =20 _ggatec=3D ggatec _ggated=3D ggated .endif Index: usr.bin/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/usr.bin/Makefile,v retrieving revision 1.296 diff -u -r1.296 Makefile --- usr.bin/Makefile 22 Aug 2006 03:22:17 -0000 1.296 +++ usr.bin/Makefile 26 Nov 2006 11:41:25 -0000 @@ -262,11 +262,8 @@ .if ${MK_OPENSSL} !=3D "no" _chkey=3D chkey _newkey=3D newkey -.if ${MACHINE_ARCH} =3D=3D "sparc64" -.if ${MK_LIBTHR} !=3D "no" -_csup=3D csup -.endif -.elif ${MK_LIBPTHREAD} !=3D "no" +.if ${MK_LIBTHR} !=3D "no" || \ + (${MACHINE_ARCH} !=3D "sparc64" && ${MK_LIBPTHREAD} !=3D "no") =20 _csup=3D csup .endif .endif Index: usr.sbin/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/usr.sbin/Makefile,v retrieving revision 1.364 diff -u -r1.364 Makefile --- usr.sbin/Makefile 15 Nov 2006 14:57:05 -0000 1.364 +++ usr.sbin/Makefile 26 Nov 2006 11:41:46 -0000 @@ -105,7 +105,7 @@ ${_ndp} \ newsyslog \ nfsd \ - ngctl \ + ${_ngctl} \ nghook \ nologin \ ntp \ @@ -226,10 +226,6 @@ _bluetooth=3D bluetooth .endif =20 -.if ${MK_NS_CACHING} !=3D "no" -_cached=3D cached -.endif - .if ${MK_OPENSSL} !=3D "no" _keyserv=3D keyserv .endif @@ -267,10 +263,22 @@ _authpf=3D authpf .endif =20 +.if ${MK_LIBTHR} !=3D "no" || \ + (${MACHINE_ARCH} !=3D "sparc64" && ${MK_LIBPTHREAD} !=3D "no") +_ngctl=3D ngctl +.endif + .if ${MK_LPR} !=3D "no" _lpr=3D lpr .endif =20 +.if ${MK_NS_CACHING} !=3D "no" +.if ${MK_LIBTHR} !=3D "no" || \ + (${MACHINE_ARCH} !=3D "sparc64" && ${MK_LIBPTHREAD} !=3D "no") +_cached=3D cached +.endif +.endif + .if ${MK_SENDMAIL} !=3D "no" _editmap=3D editmap _mailstats=3D mailstats @@ -305,7 +313,7 @@ _mptable=3D mptable _ndiscvt=3D ndiscvt _pnpinfo=3D pnpinfo -.if ${MK_LIBPTHREAD} !=3D "no" +.if ${MK_LIBPTHREAD} !=3D "no" || ${MK_LIBTHR} !=3D "no" _pppctl=3D pppctl .endif _sicontrol=3D sicontrol @@ -341,7 +349,7 @@ _mount_smbfs=3D mount_smbfs _mptable=3D mptable _ndiscvt=3D ndiscvt -.if ${MK_LIBPTHREAD} !=3D "no" +.if ${MK_LIBPTHREAD} !=3D "no" || ${MK_LIBTHR} !=3D "no" _pppctl=3D pppctl .endif _sicontrol=3D sicontrol @@ -355,7 +363,7 @@ .endif _kgmon=3D kgmon _mount_smbfs=3D mount_smbfs -.if ${MK_LIBPTHREAD} !=3D "no" +.if ${MK_LIBPTHREAD} !=3D "no" || ${MK_LIBTHR} !=3D "no" _pppctl=3D pppctl .endif _zzz=3D zzz Index: usr.sbin/cached/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/usr.sbin/cached/Makefile,v retrieving revision 1.1 diff -u -r1.1 Makefile --- usr.sbin/cached/Makefile 28 Apr 2006 12:03:37 -0000 1.1 +++ usr.sbin/cached/Makefile 26 Nov 2006 11:12:41 -0000 @@ -1,19 +1,17 @@ # $FreeBSD: src/usr.sbin/cached/Makefile,v 1.1 2006/04/28 12:03:37 ume Exp= $ =20 -PROG=3Dcached -PROGNAME=3Dcached -MAN=3Dcached.conf.5 cached.8 +PROG=3D cached +MAN=3D cached.conf.5 cached.8 =20 -WARNS?=3D2 -SRCS=3D agent.c cached.c cachedcli.c cachelib.c cacheplcs.c debug.c log.c \ +WARNS?=3D 2 +SRCS=3D agent.c cached.c cachedcli.c cachelib.c cacheplcs.c debug.c log.c \ config.c query.c mp_ws_query.c mp_rs_query.c singletons.c protocol.c \ parser.c CFLAGS+=3D -DCONFIG_PATH=3D"\"${PREFIX}/etc/cached.conf\"" -DPADD+=3D${LIBM} ${LIBPTHREAD} ${LIBUTIL} -LDADD+=3D${LIBM} ${LIBPTHREAD} ${LIBUTIL} -LDFLAGS+=3D -Xlinker --export-dynamic +DPADD=3D ${LIBM} ${LIBPTHREAD} ${LIBUTIL} +LDADD=3D -lm -lpthread -lutil +#LDFLAGS+=3D -Xlinker --export-dynamic =20 -.PATH: ${.CURDIR}/agents -.include "agents/Makefile.inc" -.include "../Makefile.inc" +.PATH: ${.CURDIR}/agents +.include "${.CURDIR}/agents/Makefile.inc" .include --oTHb8nViIGeoXxdp-- --n2Pv11Ogg/Ox8ay5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFaYAkqRfpzJluFF4RAr8zAJ4t33yRy/XU4S3B9eT3WIJ8CoURTgCfXCkU kB8lZXjWi2iZiSswxaGeUsM= =ZMrz -----END PGP SIGNATURE----- --n2Pv11Ogg/Ox8ay5--