summaryrefslogtreecommitdiff
path: root/mk/buildlink3
AgeCommit message (Collapse)AuthorFilesLines
2004-03-30There is no "heimdal-libs" package.jlam1-2/+1
2004-03-30Extend the capabilities of buildlink3's libtool wrapper a bit comparedjlam5-40/+76
to the stock libtool: you can now copy or symlink an uninstalled libtool archive file somewhere else than its build directory, and you can still link against it. This allows us to more easily bolt libtool build machinery onto packages that have unusual(ly crappy) build systems that rely on installing libraries to some common build directory after they're built. We do this by adding a "buildlibdir" variable to the uninstalled libtool archive that points to the build directory of the archive. Whenever we link against this archive, we rewrite the path to archive on the libtool command line so that it points to the true archive. This allows the real libtool to find the files under $buildlibdir/.libs.
2004-03-29Allow setting BUILDLINK_WRAPPER_LOG in /etc/mk.conf and using that as thejlam1-1/+5
log file used by all of the wrapper scripts.
2004-03-29Handle "-Xlinker" being equivalent to "-Wl," when passing argumentsjlam1-11/+30
to the linker. This fixes a bug building Emacs on Linux.
2004-03-29Look at the list of run-time dependencies for the package (gleanedjlam1-8/+115
from BUILDLINK_PACKAGES, which is built up by including buildlink[23].mk files in the package's Makefile), and for each dependency, if it's already installed, then automatically include the buildlink[23].mk file for that dependency. This means that for any package, the dependencies are taken to be the union of the dependency information as laid out in /usr/pkgsrc and the dependency information of installed packages stored in /var/db/pkg. This handle situations where an installed package has _more_ dependencies than the package as it exists in pkgsrc. This can occur, e.g., if you build databases/gnome-libs with BDB_DEFAULT=db4, and then you decide that you'd rather build other packages using the native Berkeley DB, so you remove that setting from your environment. You'd still like for your packages that depend on gnome-libs to also depend on db4, but the pkgsrc Makefiles no longer reflect that dependency.
2004-03-29Make the list of files "buildlinked" be unique for cleanliness' sake.jlam1-1/+2
2004-03-29Instead of saving all of the buildlink3 variables into the command-linejlam1-4/+30
environment, it creates a Makefile fragment that is included within bsd.buildlink3.mk that contains all of the buildlink3 variable definitions that we want to pass to make(1) invocations on the same package Makefile. Change the make variables that are only relevant for the current package to use BUILDLINK_VARS instead of MAKEFLAGS. This avoids overflowing the command line with lots of extra arguments.
2004-03-28Enable X11_TYPE=XFree86.xtraeme1-3/+3
2004-03-26Ensure that ${LOCALBASE}/lib is always in the runtime library search path,jlam1-1/+8
even for packages that have no dependencies.
2004-03-21Move the code that includes the package builtin.mk files into a separatejlam2-39/+116
file, bsd.builtin.mk. Document the requirements and the recommended structure of a builtin.mk file in the comments at the top of bsd.builtin.mk.
2004-03-19Don't match "bin/libtool" and symlink into the buildlink directory ifjlam1-2/+2
libtool/buildlink3.mk is included by a package Makefile, as that symlink overwrites the libtool wrapper script. This fixes pkg/24851.
2004-03-19add another darwin linker option that needs to be protected fromdanw1-4/+5
path munging
2004-03-18Back out part of previous that was an unrelated change accidentallyjlam1-107/+2
committed.
2004-03-18Fix serious bug where BUILDLINK_PACKAGES wasn't being ordered properlyjlam1-4/+108
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-16If the ${PKGBASE} of a package doesn't match the token passed tojlam1-1/+2
BUILDLINK_PACKAGES, then set BUILDLINK_PKGBASE.<pkg> explicitly so that we can map from <pkg> to BUILDLINK_PKGBASE.<pkg>.
2004-03-16Be more permissive in finding libraries to symlink into the buildlinkjlam1-2/+2
directory as libraries may be found outside of ${PREFIX}/lib. We now match anything that looks like "/lib[^/]*$".
2004-03-16Some of the builtin.mk files append more values to BUILDLINK_PACKAGES, sojlam1-3/+4
make a separate loop to set the default value of USE_BUILTIN.<pkg>.
2004-03-15Add -L${X11BASE}/lib for the benefit of any *-config scripts onjlam1-5/+10
use-xpkgwedge systems. Not needed when building within pkgsrc, but useful if you want to link outside 3rd-party software against pkgsrc-controlled libraries.
2004-03-14Back out previous and remove an extra ")" that was causing "malformedjlam1-3/+2
conditional" problems.
2004-03-14Apparently, some pre-conditions aren't true, so set a default USE_BUILTINjlam1-1/+2
value before checking it.
2004-03-14Don't bother checking whether a package is actually built-in or notjlam1-4/+10
in the fall-through code for setting a default value for USE_BUILTIN.<pkg>. This provides ensures that USE_BUILTIN.<pkg> is always set for every package listed in BUILDLINK_PACKAGES. Back out previous as it's now unneeded.
2004-03-14Fix a 'malformed conditional' error.jmmv1-2/+2
2004-03-13Indent.uebayasi5-26/+26
2004-03-13During the "extract" phase (which is when "install-depends" is invoked),jlam1-1/+15
add all of the direct _and_ indirect dependencies to the DEPENDS list. This causes "install-depends" to check that every dependency, whether it be direct or indirect, is up-to-date. This fixes PR 24721 by Jeremy Reed.
2004-03-12Ensure that _BLNK_DEPENDS is a subset of _BLNK_PACKAGES. Also rearrangejlam1-48/+53
some code to more easily allow other having different dependency lists for different phases.
2004-03-12Move a code snippet for easier readability.jlam1-6/+7
2004-03-12Put comments in order that make sense.jlam1-2/+2
2004-03-11Check that a variable is defined before using it.jlam1-3/+5
BUILDLINK_PKGSRCDIR.<pkg> may not be defined since <pkg> may refer to a dummy package, e.g. "db-native" as set by bdb.buildlink3.mk.
2004-03-11X11_TYPE is a user-settable variable that can take the values:jlam1-2/+12
native use the native, non-pkgsrc-managed X11R6 XFree86 use x11/XFree86-libs (not yet implemented) xlibs use freedesktop.org xlibs (not yet implemented) It is used to set the X11 implementation used to build X11 packages.
2004-03-11We can garbage collect USE_X11_LINKS which was used solely to avoidjlam1-5/+2
build loops, which are now handled in a more general way using IGNORE_PKG.<pkg>.
2004-03-11Avoid build loops by ensuring that a package can never inadvertantly bejlam1-6/+19
a dependency for itself. This is done by setting IGNORE_PKG.<pkg> if <pkg> is the current package and then appropriately checking its value.
2004-03-11Instead of doing a special step to copy the contents ofjlam1-22/+4
/usr/pkg/share/x11-links into the buildlink directory, just rely on the regular buildlink3 infrastructure to do it for us. This simplifies the handling of X11 in buildlink3. The only caveat is that "x11-links" should appear at the head of BUILDLINK_PACKAGES, and this detail is handled by x11-links/buildlink3.mk.
2004-03-11Along with BUILDLINK_INCDIRS.<pkg> and BUILDLINK_LIBDIRS.<pkg>, also havejlam1-14/+24
BUILDLINK_RPATHDIRS.<pkg> which is a list of directories relative to BUILDLINK_PREFIX.<pkg> to add to the library runtime search path. For packages that are a full dependency, this defaults to BUILDLINK_LIBDIRS.<pkg>, but for packages that are a build dependency, this defaults to an empty list (on the theory that a build dependency doesn't have any shared libraries required by the package at runtime).
2004-03-10The libtool archive filter was incorrectly eating the closing quote onjlam1-12/+13
the dependency_libs line if it ended in a "-Ldir" option. Fix by not eating shell word separators [ \`\"':;,]. This should fix PR 24639 by Matthias Scheler.
2004-03-10Get rid of BUILDLINK_USE_BUILTIN and BUILDLINK_IS_BUILTIN, as they'rejlam1-40/+19
renamed to {USE,IS}_BUILTIN and are handled separately by the builtin.mk files. Create a new variable PREFER.<pkg> that lets <pkg>/builtin.mk determine what the preference is in a simple way.
2004-03-06Do previous in a different way by providing a default value forjlam1-3/+3
USE_BUILTIN.<pkg> before it is checked. _BLNK_PACKAGES isn't strictly a superset of _BLNK_DEPENDS due to the special x11-links handling which should eventually be removed altogether.
2004-03-06Make sure USE_BUILTIN.<pkg> is defined before checking its value. jlam@xtraeme1-3/+4
seems dead again... so I'll commit this.
2004-03-05Reorder location and setting of BUILDLINK_PACKAGES to match templatejlam1-7/+38
buildlink3.mk file in revision 1.101 of bsd.buildlink3.mk.
2004-03-05Update template bsd.buildlink3.mk file to work with to-be-committedjlam1-4/+7
changes to the buildlink3 framework. The changes ensure that BUILDLINK_PACKAGES orders packages so that for any element in the list, the packages to the right do not depend on any packages to the left of that element.
2004-02-23sjg recommends escaping the bare left curly brace in the make variablejlam1-2/+2
modifer expression.
2004-02-23Back out previous because that brace is not supposed to be there.jlam1-2/+2
2004-02-23add a missing } to the end of the line; fixes PR/24525.dogcow1-2/+2
2004-02-19According to the documentation on version numbering of shared libraries at:jlam1-7/+1
http://fink.sourceforge.net/doc/porting/shared.php It's okay to link against a name like "libqt.2.3.0.dylib" using "-lqt.2.3.0", which means we never need to do anything more than just strip the trailing ".dylib" from shared library names when converting from a full path to "-L... -l...". This should fix PR 24402.
2004-02-19Use the mipspro-ucode bits if we're using the mipspro-ucode compiler.jlam1-1/+30
2004-02-19Resolve ${LOCALBASE} to its phyiscal path and mangle it back intojlam1-15/+25
${LOCALBASE}. Some packages' configure scripts resolve all paths to physical paths, and since buildlink3 suppresses references outside of ${LOCALBASE}, it can break the build of those packages. This should fix the problem noted by Nathan Williams in the thread titled "x11/tk build failure" at: http://mail-index.netbsd.org/tech-pkg/2004/02/17/0004.html
2004-02-19Don't spew files in the package directory if the BUILDLINK_DEPENDS.<pkg>jlam1-4/+9
uses {} to list several "or" dependencies.
2004-02-18Output a more informative/desriptive error than:jlam1-1/+8
cd: cd BUILDLINK_PREFIX.foo_not_found We now say that the package wasn't installed at the time that we were trying to buildlink its files.
2004-02-18Remove some checks for PREPEND_PATH as we don't need them.jlam1-3/+1
2004-02-18* Move pkgsrc/mk/compiler/bsd.compiler.mk to pkgsrc/mk/compiler.mk.jlam1-6/+1
Package Makefiles may now directly include compiler.mk. * Don't include compiler.mk within bsd.prefs.mk any longer. It was only included for the purposes of defining CC_VERSION. Packages that want to test the value of CC_VERSION should now first include "../../mk/compiler.mk". Any GCC_REQD statements in package Makefiles should be set before compiler.mk is included. * Simpllfy pkgsrc/mk/compiler/*.mk files as a result of not needing to be included indirectly by bsd.prefs.mk. We remove the special handling associated with detecting whether the file was included from within bsd.prefs.mk. These files are now much more straightforward to write and understand. * G/C the BSD_PREFS_MK stack mechanism as the only users (compiler/*) no longer need it. * Ensure that directories are prepended to the PATH only from within bsd.pkg.mk.
2004-02-18Initial support for the MIPSpro ucode compilers found on IRIX 5.3. Thejlam2-0/+53
ucode compilers only support building the "o32" ABI.