summaryrefslogtreecommitdiff
path: root/mk/buildlink3
AgeCommit message (Collapse)AuthorFilesLines
2003-11-26Do as buildlink2 and _append_ extra flags instead of prepending them.jlam2-5/+6
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.
2003-11-25If we're linking a shared library by "cc -shared -o /srcdir/shlib", wejlam1-1/+9
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.
2003-11-25libtool.sh should also supply a definition for "$expr", used by thejlam1-1/+2
buffer script.
2003-11-23Don't be fooled into thinking that the "-c" in "install -c" means tojlam1-2/+2
interpret the libtool mode as "compile".
2003-10-18Bump minimum required version of "x11-links" package.tron1-2/+2
2003-10-13Update pkgtools/x11-links to 0.16.veego1-2/+2
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.
2003-10-09Change the way in which arguments are processed by the wrappers. Wejlam4-16/+102
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.
2003-10-09It's "skipargs", not "skip".jlam1-2/+2
2003-10-08Use sed instead of requiring gawk (for gensub) for portability.jlam1-30/+16
2003-10-07Revert previous change as gsub() doesn't quite work like gensub() withjlam1-14/+16
respect to \1, \2, etc. subexpression replacement.
2003-10-06Simplify by using gsub() instead of gensub() in awk script.jlam1-16/+14
2003-10-04Add some documentation.jlam3-5/+13
2003-10-03Darwin's special GCC uses "-install_name /path/shlib" to indicatejlam1-2/+12
the final installed location for the named shared library, and we need to protect the full path from "/path/shlib" -> "-L/path -lshlib" transformation.
2003-10-03Factor out some more commonly used bits of the wrapper system intojlam7-111/+116
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.
2003-09-30Set the final form of the template buildlink3.mk file, after I've had ajlam1-5/+4
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.
2003-09-30Set the final form of the template buildlink3.mk file as a guideline forjlam1-6/+14
buildlink3.mk writers.
2003-09-28Update the template buildlink3.mk file so that it may be used forjlam1-6/+6
non-recursive dependencies. We now use the check: .if !defined(BUILDLINK_PACKAGES) || empty(BUILDLINK_PACKAGES:Mfoo) ... .endif to replace the FOO_BUILDLINK3_MK guards.
2003-09-28Create _BLNK_{DEPENDS,PACKAGES} that are "uniq"ed versions ofjlam1-7/+23
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.
2003-09-28Rearrange order of the targets for the various helper scripts for thejlam1-35/+85
wrappers, and ensure that they're only defined once. Also add some more targets to create the sunpro-* helper scripts.
2003-09-23Do a better job of hiding unwanted libtool archives in a mixedjlam2-60/+121
buildlink2/buildlink3 world. We "buildlink" libtool archives into ${BUILDLINK_DIR} and instruct libtool to find those *.la files before any other ones.
2003-09-22Fix buildlinking of files if BUILDLINK_TRANSFORM.<pkg> is specified.jlam1-2/+3
2003-09-19Don't have the libtool wrapper add -L<dir> where <dir> is a path in srcdirjlam1-1/+2
to the cache since we do lots of custom post-processing in that case.
2003-09-19Add some debugging info to determine which wrapper added which lines to thejlam1-2/+2
common cache.
2003-09-19Remove spurious }.jlam1-2/+2
2003-09-19Make BUILDLINK_TARGETS an add-on variable to _BLNK_TARGETS so that thejlam1-4/+9
buildlink-<pkg> targets created by this file are executed before any buildlink3.mk-provided targets.
2003-09-14Document that a buildlink3.mk file must either directly or indirectly setjlam1-1/+9
the value of BUILDLINK_PREFIX.<pkg>.
2003-09-14Document that the correct "pop" action uses :C and not :Sjlam1-2/+2
2003-09-13Correct an error message to be more meaningful, and optimize slightly byjlam1-5/+4
avoiding a call to pkg_info(1).
2003-09-10There's no need to preserve mode bits when copying the x11-links tree.jlam1-2/+2
This fixes problems where .buildlink assumes the mode of ${LOCALBASE}/share/x11-links, which may be read-only.
2003-09-10Check that ${_PKG_DBDIR} exists before cd'ing into it. This makesjlam1-2/+5
building using buildlink3 on systems that have never seen pkgsrc before work properly.
2003-09-09Use pax(1) instead of "cp -R" so we preserve symlinks instead of followingjlam1-2/+2
them.
2003-09-09Note how package views is also similar to GNU Stow, but state clearly thejlam1-6/+12
main difference in philosophy between package views and these other software management systems.
2003-09-09Document this file, and do the command length reduction by suppressingjlam1-2/+48
repeated options as is done in in revision 1.3 of wrapper.sh.
2003-09-08Reduce length of command lines executed by not appending some options thatjlam1-2/+30
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.
2003-09-08Provide URL for CMU depot.jlam1-3/+6
2003-09-08Instead of canonicalizing all ${DEPOTBASE}/* into ${LOCALBASE}, don'tjlam1-29/+43
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!
2003-09-08Rename BUILDLINK_PKG_DBDIR into _BLNK_PKG_DBDIR. This really is a privatejlam1-10/+10
implementation variable.
2003-09-05Move BUILDLINK_CHECK_BUILTIN.<pkg> documentation into bsd.buildlink3.mk.jlam1-2/+6
2003-09-04Allow buildlink3.mk file to specify BUILDLINK_CFLAGS.<pkg> that arejlam1-6/+27
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).
2003-09-04Provide a default definition for BUILDLINK_IS_BUILTIN.<pkg> that is yes/nojlam1-3/+8
depending on whether or not the <pkg> is provided in the base system. Also tighten the BUILDLINK_PKG_DBDIR.<pkg> definition.
2003-09-03Fix typo ;; -> :;jlam1-2/+2
2003-09-02Merge pkgviews-mk branch into the HEAD by running:jlam18-0/+2406
cd pkgsrc/mk cvs update -Pd -A cvs update -Pd -j pkgviews-mk-base -j pkgviews-mk