summaryrefslogtreecommitdiff
path: root/mk/buildlink2
AgeCommit message (Collapse)AuthorFilesLines
2004-02-21Pass LDFLAGS (minus any libraries) to the compiler when creating thejlam2-4/+5
trivial libtool archive.
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-2/+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-17Require x11-links-0.23 for the correct set of links with XFree86-4.3.x.jlam1-2/+2
2004-02-15Create wrappers for the compilers for every language supported by thejlam1-7/+1
compiler set. This will cause the libtool configuration found in several packages to use the correct C++ compiler even though the package doesn't use C++. This was causing bugs when CXXFLAGS contained flags not understood by the system gcc-2.95.3.
2004-02-09Don't generate wrapper scripts if we can't find the wrappee.jlam1-24/+27
2004-02-09We need the full path to the libtool that needs to be invoked when wejlam1-1/+5
use LIBTOOL_OVERRIDE. In the buildlink[23] case, that is supposed to be the one in ${BUILDLINK_DIR}. Create new private variables _LIBTOOL and _SHLIBTOOL to hold these paths.
2004-02-08* Let CC/CXX/CPP/FC always point to the compiler used in the actualjlam1-38/+11
building of software. For packages that use either buildlink2 or buildlink3, this would be the wrapper script in ${BUILDLINK_DIR}. * Garbage-collect _BLNK_WRAP_SETENV.* as those are not needed after the above changes. Configure and make processes will automatically find the right compilers in the PATH. * PKGLIBTOOL and PKGSHLIBTOOL are no longer needed since LIBTOOL and SHLIBTOOL point to the correct libtools regardless of any USE_BUILDLINK[23] definitions.
2004-02-06Hiding the PATH from certain phases of the build only accidentally workedjlam1-3/+2
due to a type on gcc.mk that causes the ${_GCC_PREFIX}/bin to always be prepended to the PATH. The problem that was hiding was "make" resolving to ${TOOLS_DIR}/bin/make if the package used GNU make, which broke building since the package Makefile is a BSD Makefile and we passed PATH to some phases of the build. Fix this by expanding MAKE to the full path to ${MAKE} in bsd.prefs.mk. We also garbage collect the now useless checks for PHASES_AFTER_BUILDLINK that cluttered the PREPEND_PATH code.
2004-02-06We only prepend a directory to the PATH if we haven't already done sojlam1-2/+6
(by checking PREPEND_PATH) and only for those phases of the build that care about the PATH (buildlink or later). We also pass the PATH to those same phases of the build so that executing ${CC} will work correctly from custom {pre,do,post}-* targets that occur at buildlink time or later.
2004-02-05Allow this to work with ccache by passing the full PATH through libtool.jlam2-2/+4
2004-02-05Use the new work log format used by buildlink3. Lines beginning withjlam2-4/+10
"[*]" are the untransformed command lines, and the ones beginning with "<.>" are the ones that are actually executed.
2004-02-04Instead of tedious validating every platform for full caching compliance,jlam1-12/+11
just assume they do unless they're known _not_ to work. So far, only Darwin-5.* suffers from this problem, apparently because they use some bizarre version of zsh for /bin/sh.
2004-02-02Only create wrapper scripts for compilers that we require support for asjlam1-3/+11
noted in USE_LANGUAGES.
2004-02-01use sanitize-rpath for SunPro again with the new compiler framework.grant1-6/+5
2004-01-31Bump the x11-links dependency to 0.20 to get the extensions/extutil.hrecht1-2/+2
header.
2004-01-14 Add *RECOMMENDED variables as discussed on tech-pkg@ to allow for a morerh1-1/+11
fine-grained distinction between required versions of pre-requisites (DEPENDS) and versions that are recommended for security or library ABI consistency reasons (RECOMMENDED). The contents of ${RECOMMENDED} are added to DEPENDS unless IGNORE_RECOMMENDED is set to YES, in which case a warning will be printed and IGNORE_RECOMMENDED will be added to BUILD_DEFS. Add a corresponding BUILDLINK_RECOMMENDED.<pkg> variable for use with buildlink2 and buildlink3.
2003-12-30Remove libraries from the output if they don't exist.gavan1-2/+15
ok'd by grant.
2003-12-19Update for the latest x11-links 0.19.veego1-2/+2
2003-12-12Escape any ':' characters when using ${FLAG} as a match pattern.erh1-2/+2
2003-12-12Enable _BLNK_CACHE_ALL in FreeBSD (approved by silence in tech-pkg@).xtraeme1-1/+2
2003-12-08Use BUILDLINK_SHELL, do not hardcode /bin/sh.salo1-2/+2
From PR pkg/23685 by Adam C. Migus. Addresses PR pkg/23691 by Rob Quinn.
2003-12-03fake-la also needs @AR@ replaced now.erh1-1/+2
2003-12-03Shared libraries on AIX have a ".a" extension. Handle those by either lookingerh1-2/+31
for an existing libtool ".la" library, or looking inside the archive for the .so file. Also, fail immediately if passed a library that isn't handled.
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-09-15Add a --mode== for libtool 1.5skrll1-2/+2
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-09Use pax(1) instead of "cp -R" so we preserve symlinks instead of followingjlam1-2/+2
them.
2003-09-02Merge pkgviews-mk branch into the HEAD by running:jlam6-14/+33
cd pkgsrc/mk cvs update -Pd -A cvs update -Pd -j pkgviews-mk-base -j pkgviews-mk
2003-08-31bsd.buildlink2.mk says that Solaris 9 works with full caching.jlam1-2/+2
2003-08-31Remove N/A from this file... it's much easier to read now.jlam1-7/+7
2003-08-31Don't allow -R* options in dependency_libs -- rpath info shouldn't be injlam1-1/+5
there.
2003-08-31Strip bare -L${BUILDLINK_DIR}, -L${BUILDLINK_X11_DIR} and -L${WRKSRC}, asjlam1-3/+5
well as stripping -L to subdirs of these directories from dependency_libs lines in *.lai files. This corrects the changes in revision 1.18 of this file and restores some functionality accidentally removed in version 1.19 of this file. Should fix the subversion buildlink/libtool problem reported on tech-pkg@.
2003-08-27Correct the glob so that we actually match -L${BUILDLINK_DIR}/* andjlam1-2/+2
-L${BUILDLINK_X11_DIR} and discard them. (from pkgviews-mk).
2003-08-27(*) Nuke the _BUILDLINK_SUBST_USE target now that subst.mk does the samejlam1-89/+7
thing. (*) Move the code to adjust Makefiles to refer to the correct PKGLOCALEDIR into bsd.pkg.mk and reimplement it using subst.mk so that it's non-USE_BUILDLINK2 packages can use it, too. (*) Reimplement the PKGCONFIG_OVERRIDE code in bsd.pkg.mk using subst.mk. (*) Reimplement the unbuildlink code in bsd.buildlink2.mk using subst.mk.
2003-08-16Move the hide-tools portion of bsd.buildlink2.mk into tools.mk, andjlam1-93/+2
put the tools in ${WRKDIR}/.tools/bin instead of in ${BUILDLINK_DIR}, and remove the need for buildlink2 to use USE_GNU_TOOLS. In the modified USE_GNU_TOOLS implementation, the following implementation- specific variables have the following meanings: _TOOLS_REPLACE.<tool> means that we want ${AWK}, ${SED}, etc. symlinked into ${TOOLS_DIR} as awk, sed, etc. _TOOLS_NEED_GNU.<tool> means that we want to use the pkgsrc version of <tool> symlinked info ${TOOLS_DIR} as awk, sed, etc. If this is "YES", then it always trumps _TOOLS_REPLACE.<tool>. And we want nothing to happen if we're building the pkgsrc GNU tool itself. The modified USE_GNU_TOOLS implementation should also hopefully fix the circular dependency problem. Create a new target "tools" that is run after "patch" and before "buildlink" that populates the ${TOOLS_DIR} directory. This ensures that it's always run at the right time, instead of relying on pre-buildlink or pre-configure, which may be cancelled by NO_BUILDLINK or NO_CONFIGURE. XXX There is some possible fallout in texinfo.mk with the MAKE_ENV and XXX CONFIGURE_ENV settings for INSTALL_INFO and MAKEINFO. It looks XXX like the MAKE_ENV and CONFIGURE_ENV settings should move from XXX tools.mk into texinfo.mk, and they no longer need to be XXX conditional on USE_BUILDLINK2. I'll leave it to the texinfo.mk XXX dude (Hi, Stoned!).
2003-08-16Teach the buildlink2 wrappers to respect an environment variablejlam2-4/+6
BUILDLINK_WRAPPER_LOG to specify the location of the wrapper log (which defaults to ${BUILDLINK_DIR}/.wrapper.log).
2003-08-09USE_NEW_TEXINFO is now ubiquitous. Remove conditionals on it.seb1-6/+4
Also remove the older texinfo.mk framework as well as the previous handling of INFO_FILES, all this is not used anymore.
2003-07-31Make it possible to have a package requiring makeinfo but not install-info.seb1-3/+1
INFO_FILES is now defined by default to the empty value. If it is not empty it means that install-info -or a suitable replacement like pkg_install-info- is required. USE_MAKEINFO is now defined by default to the 'no' value. If it has any other value it means that makeinfo is required. Note that as before simply defining USE_MAKEINFO in a package Makefile is enough to trigger the use of makeinfo. I.e. it is not required to be '[yY][eE][sS]'. As a side effect when using buildlink2 always create install-info and makeinfo wrappers in ${BUILDLINK_DIR}/bin. This could help package maintainer to catch spurious/hidden install-info and makeinfo usage. Note that for now this nice feature is not really enabled as the relevant part of bsd.buildlink2.mk is still conditional upon USE_NEW_TEXINFO. It will really be when USE_NEW_TEXINFO will be removed from pkgsrc.
2003-07-22Sync comments with reality wrt to USE_MAKEINFO == "no".seb1-2/+2
2003-07-09Use proper compiler test.salo1-2/+2
(the former was unreliable anyway, there could be GCC installed as cc == no *gcc* pattern in path)
2003-07-09More support bits for native Sun compilers (on Solaris).salo2-2/+19
Sun's C++ compiler (CC) doesn't support passing arguments to ld via -Wl flag, remove this flag from the buildlink2 environment.
2003-07-02Use "$@" when it matters.seb1-2/+2
2003-06-25Using GNU missing script as makeinfo seemed like a good ideaseb1-2/+4
when a package use the buildlink2 framework but does not define USE_MAKEINFO. Well it was not after all. This caused annoying messages because missing's commands emit annoying error messages when the script is invoked with only 'makeinfo' as argument (typically run this way by configure scripts). And more it does not handle makeinfo's '--output=...' argument. I first thought that it could be used as a nice way to get ride of the need for makeinfo when it was only dubiously run during build or installation of a package. But it also has the annoying behavior of creating empty files because of the typical automake generated Makefile target for info file build. Making the buildlink2's makeinfo hiding script only logging an error and doing 'exit 1' is actually a better tool to spot the need for makeinfo.
2003-06-19Introduce a new framework to handle info files, install-info andseb1-1/+52
makeinfo commands. The goal of the new framework is twofold: - reduce the number of '@exec' and '@unexec' in PLIST by using INSTALL/DEINSTALL scripts to handle entries addition/removal Info directory file. - achieve lighter dependencies by avoiding unnecessary run-time dependency on the gtexinfo package and if needed with the help of the standalone install-info command provided by the recently imported package pkgtools/pkg_install-info. A package must be sightly updated to use this new framework and must define the variable USE_NEW_TEXINFO. This variable will be removed from the pkgsrc tree when all package would have been updated. For details see section 10.24 of Packages.txt, comments in mk/{texinfo.mk,buildlink2/bsd.buildlink2.mk} and upcoming mail to <tech-pkg at netbsd dot org>.
2003-06-19Apply patch by Joachim Koenig-Baltes (joachim at handshake dot de) injschauma2-5/+23
followup to PR pkg/20529: Some libraries (in this example, a given Linux's native libpthread) don't come with a version number at all and/or are in fact symlinks. Test for this and act accordingly in fake-la. This allows packages that use pthread to buildlink under various Linuxen. Should close PR pkg/20529 and PR pkg/21854. Thanks, Joachim.
2003-05-06Drop trailing whitespace. Ok'ed by wiz.jmmv1-3/+3
2003-05-02Escape the wrappee name in an error message, since a user faced with anagc1-2/+2
error message of "Unable to create as wrapper script: no such file" could get confused.
2003-04-15typo in commentgrant1-2/+2