summaryrefslogtreecommitdiff
path: root/mk/buildlink2
AgeCommit message (Collapse)AuthorFilesLines
2002-10-23Remove comment about filtering out libtool archives that applied tojlam1-4/+2
buildlink1 but is no longer true with buildlink2.
2002-10-22Have USE_IMAKE imply USE_X11BASE imply USE_X11. Now we can just check ifjlam1-6/+6
USE_X11 is defined instead of USE_X11 || USE_X11BASE || USE_IMAKE.
2002-10-18Make fake-la work on a.out machines. Fix based on patch in pkg/18694jlam2-3/+18
by itohy@netbsd.org.
2002-10-13Create BUILDLINK_FILE_CMD.<pkg>, which is a shell pipeline that outputs tojlam1-13/+49
stdout a list of files relative to ${BUILDLINK_PREFIX.<pkg>}. The shell variable $${pkg_prefix} may be used and is the subdirectory (ending in /) of ${BUILDLINK_PREFIX.<pkg>} to which the PLIST is relative, e.g. if `pkg_info -qp foo' returns "/usr/pkg/java/kaffe", then $${pkg_prefix} is "java/kaffe/".
2002-10-09* Modify example buildlink2.mk: we now also want a variable calledjlam1-5/+15
BUILDLINK_PKGBASE.<pkg> that is the ${PKGBASE} for that package and can be used as "pkg_info ${BUILDLINK_PKGBASE.<pkg>}". This variable is currently only used if the buildlink2.mk file uses BUILDILNK_PLIST_CMD.<pkg> (described below). * Create readable variable BUILDLINK_PLIST_CMD.<pkg> that is a pipeline of shell commands that outputs to stdout a list of the files installed the <pkg>, relative to its installation prefix.
2002-10-09Rearrange _BUILDLINK_USE target code a bit to allow for BUILDLINK_FILESjlam1-4/+5
to be a shell command, e.g.: BUILDLINK_FILES= `cd ${LOCALBASE}; ${LS} -1 lib/libfoo.*`
2002-10-09* Create variables BUILDLINK_CPPFLAGS and BUILDLINK_LDFLAGS that arejlam1-7/+24
readable through CONFIGURE_ENV and MAKE_ENV. These may be used to fix up packages that use imake to check the appropriate locations for headers and libraries. * Don't be so aggressive in prepending _BLNK_{CPP,LD}FLAGS to {C,CPP,CXX,LD}FLAGS. The buildlink2 wrapper scripts will automatically filter out bad -[IL] paths, even if their added inadvertantly by package Makefiles, so we can simply append them to the existing {C,CPP,CXX,LD}FLAGS. We try to be smarter about appending them to avoid needless duplication.
2002-10-09Allow BUILDLINK_ENV to override shell environment settings injlam1-1/+8
${CONFIGURE_ENV} and in ${MAKE_ENV} for the configure and build processes, respectively. This allows overriding the value of "CC" passed to the build, e.g.: BUILDLINK_ENV+= CC="/usr/pkg/pthread/bin/pgcc"
2002-10-08Fix error messages to display if the compiler tools aren't in the PATH whenjlam1-2/+2
creating the buildlink2 wrapper scripts. Based on patch in pkg/18425 by grant@netbsd.org.
2002-10-05Mention buildlink2.txt. Closes PR 18542 by Greg Woods.wiz1-1/+4
2002-10-01Really, really fix the problem I was trying to fix with rev 1.6. I wantjlam1-7/+29
to only add -Ldir/.libs for *.la files that are not named with absolute paths or named with an absolute path starting with ${WRKSRC}. This should fix the problem with converting kdebase3 to buildlink2.
2002-09-28* Split _BLNK_TRANSFORM_SED into 4 variables, as even with 3 it wasjlam5-23/+40
overflowing the make variable size limit. * Rename _BLNK_WRAP_ENV to _BLNK_WRAP_SETENV, and use _BLNK_WRAP_ENV to set the shell environment for the wrappee. Allow BUILDLINK_WRAPPER_ENV to add to the shell environment.
2002-09-27Provide a way for buildlink2.mk files to convert a build dependency tojlam1-5/+6
a full dependency. BUILDLINK_DEPMETHOD.<pkg> is now a space-separated list of the words "full" and/or "build", and if any of them is "full", then a full dependency on <pkg> is used. buildlink2.mk files may now do: BUILDLINK_DEPMETHOD.<pkg>+= full to convert from a build to a full dependency. Previously, if a package Makefile set BUILDLINK_DEPMETHOD.<pkg>=build, there was no way to override its value consistently.
2002-09-27Create a new variable USE_X11_LINKS that controls whether packages thatjlam1-3/+12
use buildlink2 and set USE_X11 will use x11-links, or if they will simply symlink the X11 files directly into ${BUILDLINK_DIR}. If USE_X11_LINKS is "YES" (the default), then x11-links is used. If USE_X11_LINKS is "NO", then the X11 files are symlinked directly. There is a choice here between speed and flexibility. Using x11-links is faster since you don't need to spend time symlinking all of the X11 files into ${BUILDLINK_DIR}. However, if you update your X11 installation, then the x11-links package will likely be out-of-date. Conversely, directly symlinking the X11 files will protect you from changes in your X11 installation when you update, but there is a (small) time penalty to have to do it for every package that uses X11.
2002-09-27Change /usr/lib/*.la to ${BUILDLINK_DIR}/lib/*.la in libtool archives whenjlam1-1/+2
buildlinking them into ${BUILDLINK_DIR}. This should allow cases where a /usr/lib/libintl.la escaped into an installed libtool archive (during the time when buildlink2 was broken for about 4 days) to be handled properly.
2002-09-24Don't create the fake libtool archives unless USE_LIBTOOL is defined. Thisjlam1-1/+6
fixes building gmake without libtool installed.
2002-09-24Allow passing multiple items to BUILDLINK_DEPENDS.<pkg>. So, if we havejlam1-2/+4
BUILDLINK_DEPENDS.foo= foo>=1.0 foo<1.5 then this is converted to: DEPENDS+= foo>=1.0:../../category/foo DEPENDS+= foo<1.5:../../category/foo We can use this to record upper bounds on dependency versions.
2002-09-24Use |, not : to separate case conditions.jlam1-2/+2
2002-09-23For completeness, also allow for ./* when naming uninstalled libtooljlam1-3/+3
archives, and also do the special handling for dependency_libs.
2002-09-23Also add -L*/.libs for *.la that start with "../", which is also quitejlam1-2/+2
common when referring to an uninstalled libtool archive.
2002-09-23The previous commit of libtool-fix-la let a lot of references to the buildjlam2-14/+29
directory escape into the installed *.la files. Fix this by only adding -L*/.libs if the *.la file is uninstalled, and by filtering out references to ${WRKSRC}.
2002-09-23Allow for wrapper-specific transformations of arguments that occur afterjlam5-7/+46
the main transformations have been performed. The ld wrapper can now accept "-Wl,*" arguments and transform them appropriately by stripping of the -Wl and the commas. This will obiviate the need for logic in pkgsrc that strips away the "-Wl," depending on whether the platform was a.out or ELF, and whether the individual package chose to link using "cc" or "ld".
2002-09-21Don't strip past non-whitespace characters.jlam1-3/+7
2002-09-21Handle removing the rpath flags in the wrappers if USE_BUILDLINK2 is set.jlam1-1/+10
2002-09-21Clarify comment for BUILDLINK_TRANSFORM.jlam1-2/+2
2002-09-20Fix problem with linking against uninstalled libtool archives that in turnjlam1-8/+47
depend on other uninstalled libtool archives. During the relinking process the newly installed libraries weren't being found. We now insert the appropriate -Ldir flags to allow them to be found in the uninstalled locations.
2002-09-20Protect against -Wl,-rpath,/usr/local/lib if LOCALBASE != /usr/local.jlam1-1/+2
2002-09-18Split up the UNTRANSFORM variables into *.{1,2,3} so that they won'tjlam2-6/+15
exceed any maximum length on values stored in a variable.
2002-09-18Modifications and additions to create a dummy libtool archive to representjlam3-24/+115
a system library so that we can prefer a system library to a pkgsrc one when building with pkgsrc.
2002-09-17Ensure that the PROTECT and UNPROTECT variables are clobbered by properlyjlam1-3/+6
ordering them and using += instead of an accidental = . This should fix pkg/18324 by John Kohl <jtk@kolvir.arlington.ma.us>.
2002-09-17Add REPLACE_BUILDLINK, REPLACE_BUILDLINK_PATTERNS, REPLACE_BUILDLINK_SED tojlam1-13/+95
bsd.buildlink2.mk. This allows packages that use buildlink2 to fix up *-config and other shell scripts that hardcode wrong library names as a side-effect of how buildlink2 works, e.g., the package thinks "-laa" works because the wrapper silently converts it to "-laa-x11. REPLACE_BUILDLINK files relative to ${WRKSRC} REPLACE_BUIDLINK_PATTERNS shell glob REPLACE_BUILDLINK_SED sed expression to run over the files named above
2002-09-16Change the way that we note when a libtool file has been fixed byjlam2-6/+12
buildlink2. We used to create a timestamp file in the .libs directory. Now, we add a line to the *.la and *.lai file that directly notes that it has been "modified by buildlink2". This makes it easier to debug problems caused by using the wrong libtool during either a build or install by checking if the *.la or *.lai files have the "modified by buildlink2" line.
2002-09-16Add a missing shell wildcard which was causing the expression to notjlam1-2/+2
catch arguments with symbols that are special to the shell.
2002-09-07Filter out -R and -Wl.-R arguments that point to /usr/local as well asjlam2-3/+5
just -I and -L (modulo if LOCALBASE == /usr/local).
2002-09-06* Use a for loop to consolidate identical logic for removing paths in thejlam1-16/+12
argument transform filter. * Remove special ZOULARISBASE hack and use the new _BLNK_*PROTECT_SED variables to accomplish the same thing.
2002-09-06Create _BLNK_PROTECT_SED and _BLNK_UNPROTECT_SED variables to protectjlam1-1/+18
${_PKGSRCDIR} and ${BUILDLINK_DIR} from any filtering, as they may be subdirectories of ${LOCALBASE}, /usr/pkg, or /usr/local. This should fix pkg/18142 and other puzzling problems reported on the tech-pkg mailing list where it was necessary to revert back to buildlink1 versions of packages in order to build when the pkgsrc tree or the work directories are kept under /usr/local.
2002-09-06Minor whitespace nit.jlam1-2/+2
2002-09-06Move the l:lib1:lib2 transformation to _BLNK_TRANSFORM_SED.3, which nowjlam1-2/+13
contains all of the transformations that we may want to use to fix up any *-config scripts that have incorrect paths or library names. Also add some _BLNK_UNTRANSFORM_SED.* variables that do the opposite of the corresponding _BLNK_TRANSFORM_SED.* variables, and that are used to clean up libtool archives.
2002-09-03Also protect -L${ZOULARISBASE}* from being transformed.jlam1-2/+2
2002-09-03Invert test in buildlink-${OPSYS}-wrappers that was causing the OPSYSjlam1-2/+2
wrappers to not be generated. I forgot to flip this back after testing on my NetBSD box.
2002-09-03Fix botch in previous commit which caused the sanitized PATH to not bejlam1-4/+4
inserted into the wrapper scripts.
2002-09-03Add a missing shell wildcard which was causing the expression to notjlam1-2/+2
catch arguments with symbols that are special to the shell. This should fix pkg/18156 by Matthias Scheler.
2002-09-03Don't munge references to directories in ${ZOULARISBASE} ifjlam1-1/+7
${ZOULARISBASE} != ${LOCALBASE}. This should fix problems compiling pkgtools/digest with zoularis where ${ZOULARISBASE} != ${LOCALBASE}.
2002-09-02Add OPSYS-specific section for overriding the generic wrapper scripts, andjlam1-18/+50
add one section for SunOS to possibly allow using the SUNWspro compilers when building X11 packages that use imake. Many thanks to Matthias Scheler for his help on this. Also use _BLNK_OPSYS instead of OPSYS in bsd.buildlink2.mk so that's it's easier to pretend I'm using a different OS when doing buildlink2 work.
2002-09-01Don't protect the creation of ${_BLNK_LIBTOOL_FIX_LA} with USE_LIBTOOL.jlam1-3/+1
This script is part of the buildlink2 infrastructure and is harmless if not used. This allows devel/zlib to build on Solaris. Problem noted by Stoned Elipot.
2002-08-29Rename _BLNK_X11PKG_DIR to BUILDLINK_X11PKG_DIR and make it publiclyjlam2-11/+13
usable.
2002-08-29Number questions and answers to make referring to specific Q&As easier.jlam1-32/+32
2002-08-29Remove superfluous 'be'. pkg/18104 by Julio Merino.wiz1-2/+2
2002-08-28Don't try to multiply define the same target for generating buildlink2jlam1-1/+3
wrapper script. This can occur if you set something like LD=cc where the cc wrapper is already generated from CC=cc.
2002-08-27FC and F77 point to the same thing, so no need to create wrappers forjlam1-2/+7
both of them -- just create wrappers for one, then set the appropriate env vars to handle the other one.