Skip site navigation (1)Skip section navigation (2)
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>