Date: Fri, 19 Jul 2002 10:45:04 +0300 From: Ruslan Ermilov <ru@freebsd.org> To: Mark Valentine <mark@thuvia.demon.co.uk> Cc: arch@freebsd.org Subject: Re: [POLL] need a good name for share/mk API versioning Message-ID: <20020719074504.GC39934@sunbay.com> In-Reply-To: <200207181943.g6IJhu5A016231@dotar.thuvia.org> References: <mailpost.1027015694.14024@thuvia.demon.co.uk> <200207181943.g6IJhu5A016231@dotar.thuvia.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--VywGB/WGlW4DM4P8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jul 18, 2002 at 08:43:56PM +0100, Mark Valentine wrote: > > From: ru@freebsd.org (Ruslan Ermilov) > > Date: Thu 18 Jul, 2002 > > Subject: [POLL] need a good name for share/mk API versioning >=20 > > Recently, some backwards incompatible changes were purposedly > > introduced to the share/mk API, particularly to bsd.lib.mk and > > bsd.incs.mk (include files). Everything is OK with src/, but > > some ports/ that rely on FreeBSD's share/mk API should be able > > to use both old (currently in -STABLE, soon to be upgraded to > > the new API) and new versions of the API, so we need to somehow > > differentiate these APIs. The solution is to add the FreeBSD > > specific make(1) variable that could be used to differentiate > > different API versions. >=20 > If this were only for ports, the existing OSVERSION in bsd.port.mk > would suffice, no? >=20 No, this is for third party software (well, some ports) that use bsd.lib.mk. > > So I would like to run a short pool as to what the name of this > > variable should be (the draft is _FREEBSD_MK_API_VERSION), and > > what should be its numbering scheme. I would like this numbering > > scheme to be a monotonically increasing natural number. This > > would be good because the same numbering scheme would be used in > > both -STABLE and -CURRENT, and would be bad because specific > > backwards incompatible API changes should be merged in the same > > order as they were applied to -CURRENT. >=20 > It sounds like you do want to have a version number visible beyond ports, > which is quite reasonable (third party software may choose to use the > "standard" bsd.*.mk rules, without using the ports infrastructure). >=20 Yes. > > The variable must be put into sys.mk (so that it's always > > defined), and one option it to use an already existing > > FreeBSD variable. >=20 > sys.mk is the wrong place for things specific to bsd.*.mk (all of the > includes at the end of sys.mk are bugs). sys.mk is for make(1) defaults; > bsd.*.mk comprises the FreeBSD build system built _on top of_ make(1), wh= ich > (should) know nothing about bsd.*.mk - currently make(1) pollutes all oth= er > build systems with stuff from make.conf and other FreeBSD build system > makefiles. >=20 > bsd.sys.mk is a better place; _FREEBSD_MK_VERSION is a better name; I don= 't > see any need for anything more complex than values of "1", "2", "3"... >=20 Yes, sys.mk is not the best place, but technically it's the only place sufficient for what I need, and I need some variable defined before we include bsd.lib.mk; this is only possible with sys.mk. I think a working example would be handy: %%% Index: src.wnb.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/ports/textproc/wordnet/files/src.wnb.Makefile,v retrieving revision 1.3 diff -u -r1.3 src.wnb.Makefile --- src.wnb.Makefile 31 Oct 2001 05:04:29 -0000 1.3 +++ src.wnb.Makefile 18 Jul 2002 17:47:12 -0000 @@ -10,12 +10,15 @@ =20 LDADD=3D -L../lib -lwn1 -L${PREFIX}/lib -ltcl${TCL_VER} -ltk${TCL_VER} =20 +.if defined(_CURRENT_) +SHLIB_NAME=3D libtclwn1.so.7 +.else LIB=3D tclwn1 SHLIB_MAJOR=3D 7 SHLIB_MINOR=3D 0 -SRCS=3D stubs.c - INTERNALLIB=3D True # To avoid building the useless static library +.endif +SRCS=3D stubs.c =20 all: ${SHLIB_NAME} pkgIndex.tcl =20 %%% Cheers, --=20 Ruslan Ermilov Sysadmin and DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age --VywGB/WGlW4DM4P8 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (FreeBSD) iD8DBQE9N8OAUkv4P6juNwoRAogQAJ9tVlN/QbW2AhqaQ50KUPU1ajA7VACggIVk xwJnodJkHEr3I8Hjlcd2Nb4= =O5u4 -----END PGP SIGNATURE----- --VywGB/WGlW4DM4P8-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020719074504.GC39934>