Age | Commit message (Collapse) | Author | Files | Lines |
|
Prepending caused everything in ${BUILDLINK_DIR} to be found first, which
was bad when you built something like MesaLib where the X11R6 headers
conflict with the ones provided in the source.
|
|
need to protect the full path after "-o" from being transformed from
"/srcdir/shlib" to "-L/srcdir -lshlib". This fixes building
graphics/freetype2, which uses lots of full paths to sources and objects.
|
|
buffer script.
|
|
interpret the libtool mode as "compile".
|
|
|
|
Changes include supporting XFree86-4.3.99.14 aka XFree86-current.
Added some new library versions and some freetype2 include files.
And bump the required version number in the bsd.buildlink mk's.
|
|
know read the arguments by first placing them in a buffer and taking
the argument in the first non-empty buffer as the argument to process.
The buffer is there to allow "splitting" an argument into multiple
arguments (currently up to five arguments), e.g. "-Wl,-R/path1:/path2"
is split into "-Wl,-R/path1" and "-Wl,-R/path2". Each split argument
is placed into a buffer. Using a buffer lets us read and process all
of the arguments in a single pass despite "pushing" more arguments
onto the front of the argument array.
|
|
|
|
|
|
respect to \1, \2, etc. subexpression replacement.
|
|
|
|
|
|
the final installed location for the named shared library, and we
need to protect the full path from "/path/shlib" -> "-L/path -lshlib"
transformation.
|
|
their own files: buildcmd and quotearg, which are used to build up the
command line and to quote arguments. Also add the ability to skip
processing the next few arguments and add them directly to the command
line. Now, either the marshall script or the cache scripts can
request skipping the N arguments by setting skipargs=N.
|
|
strong cup of coffee. This now works the way it was intended: the
buildlink3.mk file sets a variable that can be checked within itself to
see whether it's already been included or not.
|
|
buildlink3.mk writers.
|
|
non-recursive dependencies. We now use the check:
.if !defined(BUILDLINK_PACKAGES) || empty(BUILDLINK_PACKAGES:Mfoo)
...
.endif
to replace the FOO_BUILDLINK3_MK guards.
|
|
BUILDLINK_{DEPENDS,PACKAGES} and use them throughout bsd.buildlink3.mk.
A lot of processing iterates over these variables and assumes that there
are no repeated items in those lists.
|
|
wrappers, and ensure that they're only defined once. Also add some more
targets to create the sunpro-* helper scripts.
|
|
buildlink2/buildlink3 world. We "buildlink" libtool archives into
${BUILDLINK_DIR} and instruct libtool to find those *.la files before
any other ones.
|
|
|
|
to the cache since we do lots of custom post-processing in that case.
|
|
common cache.
|
|
|
|
buildlink-<pkg> targets created by this file are executed before any
buildlink3.mk-provided targets.
|
|
the value of BUILDLINK_PREFIX.<pkg>.
|
|
|
|
avoiding a call to pkg_info(1).
|
|
This fixes problems where .buildlink assumes the mode of
${LOCALBASE}/share/x11-links, which may be read-only.
|
|
building using buildlink3 on systems that have never seen pkgsrc before
work properly.
|
|
them.
|
|
main difference in philosophy between package views and these other
software management systems.
|
|
repeated options as is done in in revision 1.3 of wrapper.sh.
|
|
we've already seen:
-[DILR]*|-Wl,-R*|-Wl,-*,/*
These are all only useful the first time we see them. All other
instances are redundant.
-l*
Extra libraries are suppressed if they're repeated, e.g.,
"-lm -lm -lm -lX11 -lX11 -lm -lm" -> "-lm -lX11 -lm".
The screen output is still likely to be very verbose, but you can check
in work/.work.log to see the actual commands executed.
|
|
|
|
do it for rpath specifications, e.g. -Wl,-R/dir, -Wl,-rpath,/dir, etc.
This lets the depot directory for a package, in addition to the usual
/usr/pkg/lib, to be added to the rpath of a program or shared library
of an "overwrite" package. Now, if the package instance in the
default view is forcibly removed, then shared library references will
still resolve to the existing shared libraries in the depot directory.
In the following example, I've built jpeg as a pkgviews package, and
tiff as an "overwrite" package:
% ldd /usr/pkg/lib/libtiff.so
/usr/pkg/lib/libtiff.so:
-ljpeg.62 => /usr/pkg/lib/libjpeg.so.62
-lz.0 => /usr/lib/libz.so.0
-lm.0 => /usr/lib/libm387.so.0
-lm.0 => /usr/lib/libm.so.0
% pkg_delete -f jpeg-6b
pkg_delete: package `jpeg-6b' is required by other packages:
tiff-3.5.7nb1
% ldd /usr/pkg/lib/libtiff.so
/usr/pkg/lib/libtiff.so:
-ljpeg.62 => /usr/pkg/packages/jpeg-6b/lib/libjpeg.so.62
-lz.0 => /usr/lib/libz.so.0
-lm.0 => /usr/lib/libm387.so.0
-lm.0 => /usr/lib/libm.so.0
The benefit here is that if the jpeg package is updated and also has
a bump in the major number of the shared lib, e.g. libjpeg.so.63.0,
then you can remove the old jpeg instance from the default view and
add the new jpeg package into the default view, and
/usr/pkg/lib/libtiff.so will _still_ resolve its libjpeg.so.62
reference.
Welcome to the power of Package Views!
|
|
implementation variable.
|
|
|
|
automatically added to CFLAGS and CXXFLAGS. Note that -D... and -I...
settings should go into BUILDLINK_CPPFLAGS.<pkg> instead. BUILDLINK_CFLAGS
is reserved for stuff like "-pthread" or other compiler-specific flags.
Also note why we add BUILDLINK_CPPFLAGS.<pkg> to both CFLAGS and CXXFLAGS
(because a lot of software just uses CFLAGS and ignores any CPPFLAGS value
that we pass to it).
|
|
depending on whether or not the <pkg> is provided in the base system. Also
tighten the BUILDLINK_PKG_DBDIR.<pkg> definition.
|
|
|
|
cd pkgsrc/mk
cvs update -Pd -A
cvs update -Pd -j pkgviews-mk-base -j pkgviews-mk
|