Commit graph

34 commits

Author SHA1 Message Date
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
tnn
a6cfdc47c5 Fix redundant BUILDLINK_ABI_DEPENDS 2008-04-24 11:57:35 +00:00
bjs
3527d68c0d Welcome to Mesa-7.0.3.
Changes from 6.4.2 are (obviously) far too numerous to mention!  This
package brings with it support for the Direct Rendering Infrastructure
(DRI) on NetBSD-current; the kernel DRM was committed approximately
one year ago.  Patches for NetBSD 4.0 are available in the mailing list
archives (I think), but are _not supported_.

Developers and other interested parties are encouraged to read the TODO
file, as well as my remarks in options.mk.  There is still a significant
amount of work to be done.  Users of NetBSD/i386 (-current) shouldn't
have much trouble getting mainstream cards (Intel i915 and Radeon 9600-
R430 are by far the most tested) to work.

I have taken great pains to ensure that this works properly, but inevitably
there will be problems--especially on heretofore untested (read: non-x86)
hardware.  Your questions, comments, problem reports, and of course
bug fixes are welcome.

NOTE: There are currently problems (on NetBSD, at least) linking some
executables, e.g. compiz, due to unresolved symbols for libpthread
functions.  This is due to libX11's thread stubs, which should not
be enabled on NetBSD >= 2.0; see the TODO For more information
and the URL of an interim patch.
2008-04-24 07:40:23 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
joerg
5911def816 Recursive revision bump / recommended bump for gettext ABI change. 2006-02-05 23:08:03 +00:00
tv
a62d3fb0e1 Extra PKGREVISION bump to cover the libtool/compiler-wrapper problems.
Since dependencies were actually failing to build, they fortunately don't
require PKGREVISION bumps themselves.
2004-10-07 16:36:47 +00:00
tv
c487cb967a Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10
in the process.  (More information on tech-pkg.)

Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.

Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
2004-10-03 00:12:51 +00:00
jlam
7db11b582a Fix serious bug where BUILDLINK_PACKAGES wasn't being ordered properly
by moving the inclusion of buildlink3.mk files outside of the protected
region.  This bug would be seen by users that have set PREFER_PKGSRC
or PREFER_NATIVE to non-default values.

BUILDLINK_PACKAGES should be ordered so that for any package in the
list, that package doesn't depend on any packages to the left of it
in the list.  This ordering property is used to check for builtin
packages in the correct order.  The problem was that including a
buildlink3.mk file for <pkg> correctly ensured that <pkg> was removed
from BUILDLINK_PACKAGES and appended to the end.  However, since the
inclusion of any other buildlink3.mk files within that buildlink3.mk
was in a region that was protected against multiple inclusion, those
dependencies weren't also moved to the end of BUILDLINK_PACKAGES.
2004-03-18 09:12:08 +00:00
jlam
f63d66e56a Move the definitions of MESA_REQD and _MESA_REQD to Mesa/version.mk and
modify {MesaLib,glu}/{buildlink3,builtin}.mk accordingly.  Also add the
dependency on {MesaLib,glu}>=${_MESA_REQD} to the builtin.mk files so
that we correctly check the built-in Mesa version against the dependency
requirements.
2004-03-15 17:38:10 +00:00
jlam
d0b4c54eb6 Split out the code that deals with checking whether the software is
built-in or not into a separate builtin.mk file.  The code to deal
checking for built-in software is much simpler to deal with in pkgsrc.

The buildlink3.mk file for a package will be of the usual format
regardless of the package, which makes it simpler for packagers to
update a package.

The builtin.mk file for a package must define a single yes/no variable
USE_BUILTIN.<pkg> that is used by bsd.buildlink3.mk to decide whether
to use the built-in software or to use the pkgsrc software.
2004-03-10 17:57:14 +00:00
jlam
bf6e059da4 Reorder some lines so that BUILDLINK_USE_BUILTIN.<pkg> set in the
environment overrides all other settings.
2004-02-18 16:35:27 +00:00
jlam
d2b62c66fb Create a new variable PREFER_NATIVE that has the opposite semantics
as PREFER_PKGSRC.  Preferences are determined by the most specific
instance of the package in either PREFER_PKGSRC or PREFER_NATIVE.  If
a package is specified in neither or in both variables, then PREFER_PKGSRC
has precedence over PREFER_NATIVE.
2004-02-12 02:35:06 +00:00
jlam
1edfa505ed Reorganize code so that any dependencies are checked as part of deciding
whether the software is built-in or not.  This facilitates implementing
the forthcoming PKGSRC_NATIVE variable.
2004-02-12 01:59:37 +00:00
jlam
7657096bbc Turn MESA_REQD back into a public variable, and make it take a list of
values that MesaLib/buildlink3.mk converts into a single _MESA_REQD that
is the highest version required.  If including the Mesa/buildlink3.mk
file, then require the same version of Mesa as required by glut.
2004-02-11 02:03:41 +00:00
jlam
5697154046 Require at least the version of Mesa that's installed by the base system
if it's used.
2004-02-10 22:42:56 +00:00
jlam
aed6de5e1f Privatise MESA_REQD. 2004-02-10 22:23:40 +00:00
jlam
ef43d2cdf0 The pkgsrc version of Mesa that last bumped shlib majors was 6.0. 2004-02-10 22:22:05 +00:00
jlam
7699290f10 If we're passing through MAKEFLAGS variables whose values may contain
spaces, use the :Q modifier instead of double-quoting the value.  This
avoids breakage when executing the just-in-time su targets.
2004-02-06 19:04:24 +00:00
jlam
317cc72791 Make PREFER_PKGSRC just yes/no or a list of packages. This makes it
simpler to understand.
2004-02-05 07:17:14 +00:00
jlam
e7133cac25 Rename BUILDLINK_PREFER_PKGSRC to PREFER_PKGSRC so that we can use its
value outside of buildlink-related files.
2004-02-05 07:06:15 +00:00
jlam
07a9d8dfb2 Support a new global variable:
BUILDLINK_PREFER_PKGSRC
	This variable determines whether or not to prefer the pkgsrc
	versions of software that is also present in the base system.

	This variable is multi-state:
		defined, or "yes"	always prefer the pkgsrc versions
		not defined, or "no"	only use the pkgsrc versions if
					needed by dependency requirements

	This can also take a list of packages for which to prefer the
	pkgsrc-installed software.  The package names may be found by
	consulting the value added to BUILDLINK_PACKAGES in the
	buildlink[23].mk files for that package.
2004-02-05 06:58:02 +00:00
jlam
01a5abff01 Support BUILDLINK_DEPENDS.<pkg> being a list of values. 2004-01-24 03:12:31 +00:00
jlam
42567b9fa4 If we use the XFree86-supplied GL and GLU libraries, then we are using X11. 2004-01-24 01:53:00 +00:00
jlam
d279e6f535 Use S/+$// instead of C/\+$// to save a backslash. Very highly
recommended by seb :)
2004-01-05 11:05:44 +00:00
jlam
c9ff27d270 Sow BUILDLINK_USE_BUILTIN.<pkg> and reap _NEED_<PKG> variables. 2004-01-05 09:31:31 +00:00
jlam
47bb2aae5f Re-arrange to match example buildlink3.mk file in bsd.buildlink3.mk. 2004-01-04 23:34:04 +00:00
jlam
57635c2e5d Match the buildlink3.mk guidelines set out in revision 1.22 of
bsd.buildlink3.mk.
2003-09-30 10:18:57 +00:00
jlam
f339438669 Conform to latest buildlink3.mk guidelines using *_BUILDLINK3_MK guards
to protect more parts of buildlink3.mk files against multiple inclusion.
2003-09-30 00:42:32 +00:00
jlam
aaa25bfe59 Rewrite buildlink3.mk files to match the updated buildlink3.mk template
in bsd.buildlink3.mk: the *_BUILDLINK3_MK multiple inclusion guards are
removed and we ensure that things that should be defined only once really
are defined only once by using section-specific or variable-specific
guards.
2003-09-28 12:54:52 +00:00
jlam
0aa210c78e Provide definitions for BUILDLINK_PREFIX.<pkg> when the dependency may be
satisfied by a base system (X11R6) component.
2003-09-14 01:47:51 +00:00
jlam
c74a02ee07 Need to use :C instead of :S to get the "pop" action to work properly. 2003-09-13 23:21:19 +00:00
jlam
dd3216b3ca buildlink3.mk file needed by x11-links. 2003-09-07 19:43:36 +00:00