Age | Commit message (Collapse) | Author | Files | Lines |
|
versions and was not fatal.
|
|
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.
|
|
finalised.
|
|
|
|
|
|
looked up is not a pkgconfig one, at the condition that the version
script is defined.
|
|
built-in package. That means pkgconfig-builtin.mk can be used in even
more situations now.
|
|
X.Org found in NetBSD-current.
Thanks a lot to all who helped, especially Matthias Scheler who did
repeated tests on Mac OS X and older versions of NetBSD to make sure the
support for those platforms wouldn't be broken (or at least, not fatally,
as I would still expect a few hiccups here and there, because there is
only so much one can test in such limited time).
On the infrastructure side, this branch brings pkgconfig-builtin.mk, in
order to write very easily new builtin.mk files. It can actually handle
more than just pkgconfig files, but it will provide a version if it finds
such a file. x11.builtin.mk has also been made more useful and now all
existing (and future!) native-X11-related builtin.mk files should include
it.
|
|
the full requirement rather than just the package name. This message
should never be seen (after all, the package we need is supposed to
*get* installed) but sometimes if things are screwed up in one way or
another it does show up. Since often what's wrong is that the package
that's installed is the wrong version, not that it's missing entirely,
this way the error message makes a lot more sense.
E.g. http://mail-index.netbsd.org/tech-pkg/2008/06/12/msg001126.html et seq.
ok dillo@
|
|
in bsd.buildlink3.mk was broken with pkg_install-20080309 was it
returned a relative path. It would have failed before e.g. with symbolic
links in the path. pkg_info -E is simpler and was added exactly for this
purpose. Fixes PR 38213 and PR 38211.
|
|
via !empty. This fixes a problem with gnome-panel and db1.
|
|
|
|
|
|
their existances in other variables. This avoids parsing errors if
e.g. "BUILDLINK_LDFLAGS.<pkg>" contains a colon.
|
|
|
|
close PR pkg/37071
reviewd by xtraeme@
|
|
|
|
- USE_CROSS_COMPILATION activates it, CROSS_DESTDIR specifies root of
the target filesystem
- derive _CROSS_DESTDIR from CROSS_DESTDIR or MAKEOBJDIR
- buildlink3.mk prefixes the files to symlink with _CROSS_DESTDIR
- compiler/gcc.mk knows about the target prefix (e.g. i386--netbsdelf)
- PKG_DBDIR is prefixed with _CROSS_DESTDIR
- package-install and bin-install are not called with su
- install and strip are redirected to the tool version
- links for the target specific ar, as, ld, nm, objdump, ranlib and
strip are added
- compiler wrapper detect if linking is requested or not
- special command sinks for CPP and CC/CXX add the cross-compile magic:
- modify include dirs to get the target /usr/include
- modify linker dirs and runpath to use target /usr/lib at link time,
but keep correct rpath entries
Supported-by: Google SoC 2007
Basic tests by he@ on Sparc. Review from jlam@.
|
|
We can't use our own imake to check for builtin packages so disable the
check and always report that no builtin implementation exists.
No objections on tech-pkg@
|
|
|
|
|
|
is left now and that is hidden by LOCALBASE=X11BASE for modular Xorg.
|
|
|
|
with current libtool version and breaks the build under Darwin 8.x and
NetBSD 4.0_BETA2.
|
|
necessary and doing so causes build problems.
This fixes PR pkg/35990.
|
|
back to this.
|
|
clear that these variables are completely unrelated to
BUILDLINK_TRANSFORM.
Added a legacy check that catches appearances of BUILDLINK_TRANSFORM.*.
XXX: Where should incompatible changes in pkgsrc be documented?
|
|
Don't add ${X11BASE}/bin to PATH, don't include mk/x11.buildlink3.mk
when USE_X11BASE is set and don't use BUILDLINK_X11_DIR and related
magic.
OKed by wiz@
|
|
|
|
|
|
message is
Syntax error: word unexpected (expecting ")")
which is not helpful at all.
|
|
|
|
the case of modular Xorg and the latter is more specific.
|
|
contains ${X11BASE} (e.g. ${LOCALBASE} being /usr/local and ${X11BASE} being
/usr)
|
|
Setting "WRAPPER_SKIP_TRANSFORM" to "yes" isn't enough because "imake"
will invoke the C compiler which might be a wrapper script which always
fails because the package didn't use "USE_LANGUAGES+= c".
The "imake-check" script now simply uses the original command path before
"bsd.pkg.mk" modified and will therefore avoid using any wrappers.
|
|
should not be transformed by wrapper. This fixes PR pkg/34139.
Reviewed by tron@.
|
|
|
|
|
|
when passing through the barrier. This ensures the PATH (passed via
PKGSRC_MAKE_ENV) is correctly set for all phases after the barrier.
This fixes a bug in "interactive" pkgsrc use, where if you have no
work directory and type "make build && make install", then the "install"
step does not have a PATH set to include all the wrapper and tools
directories.
|
|
|
|
are build dependencies. This should fix PR pkg/33940. Thanks to Joerg
for the debugging hint.
|
|
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
|
|
variables so there are no user-visible changes. This change just makes
it a little easier to write for loops.
|
|
introducing the concept of a "barrier". We separate the user-invokable
targets into ones that must happen before the barrier, and ones that
must happen after the barrier. The ones that happen after the barrier
are run in a sub-make process. In this case, the targets that must
be run after the barrier are from the "wrapper" step and beyond. We
rewrite the various "flow" targets, e.g. wrapper, configure, build,
etc., so that they of the right form to use the barrier target.
This now completely removes the concept of PKG_PHASE from pkgsrc. It
is replaced with the concept of "before" and "after" the barrier, and
this state can be checked by testing for the existence of the barrier
cookie file. Because we've removed most of the recursive makes, there
is now nowhere to hook the PKG_ERROR_HANDLER.* commands, so remove
them for now.
As part of this commit, put back the logic that conditionalized the
sources for the various cookie files. Because the sources are all
"phony" targets, they were always run, regardless of whether or not
the cookie file already existed. Now, if a cookie file exists, then
that entire phase associated with that cookie file is skipped.
Lastly, fix a thinko in configure/bsd.configure.mk where setting
NO_CONFIGURE in a package Makefile would manage to skip the "wrapper"
step altogether. Fix this by correctly noting "wrapper" and not
"patch" as the preceding step to "configure".
|
|
The code here only worked due to many conincidences: Let's assume a
variable has the value "a b" and is used with the :Q operator, which
results in "a\ b" (a, backslash, space, b). When used in double quotes,
the shell command looks like:
echo "a\ b"
which, depending on the shell, may output the backslash literally or
not. In the case of this file, the ":Q" string was not passed to
echo(1), but to sed(1). sed(1) in turn interprets (backslash, space) in
the replacement text as equivalent to (space), and that's where the
backslash finally disappears. So it's only to this coincident that the
code worked although it was not correct.
|
|
|
|
|
|
dependency cookie. We now want all dependencies in the default phase,
since depends is run before/outside real-extract. This can be seen
e.g. by textproc/troffcvt, which has a build dependency in a build
dependency. Discussed and tested with seb@.
|
|
to BUILD_DEPENDS. (I posted about this to pkgsrc-users on April 14.)
|
|
make the resulting error message more useful for debugging purposes
by including the name of the variable in a null statement that is part
of the command executed.
|