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>
