summaryrefslogtreecommitdiff
path: root/mk/buildlink3
AgeCommit message (Collapse)AuthorFilesLines
2004-01-21Most of this file only applies if we're in some phase after buildlink, sojlam1-1/+19
enforce that using PHASES_AFTER_BUILDLINK. Also, transform the physical path to ${WRKDIR} into the value ${WRKDIR} in the wrapper scripts. This allows ${WRKDIR} to be a path that traverses a symlink. In particular, it allows users to set WRKOBJDIR to point to a symlink.
2004-01-21Put more debugging information in .work.log: first output the command thejlam2-4/+10
wrapper script will transform, then output the transformed command. Prefix the original command with [*] and the transformed command with <.> to ease scanning of .work.log.
2004-01-21Add a new command "sub-rpath" that does the same thing as "rpath" but onlyjlam2-2/+17
protects subdirectories of the named paths in rpath options to the linker. Use sub-rpath to protect /usr/lib/* in rpath options to the linker.
2004-01-21Rename 'submangle' to 'sub-mangle'jlam2-9/+9
2004-01-21Allow -L/usr/lib/* as NetBSD-current actually has shared libraries there,jlam1-3/+6
and we should allow these to pass untouched through the wrapper scripts.
2004-01-20s/it's/its/snj1-2/+2
2004-01-19* Create two new package-settable variables: BUILDLINK_PASSTHRU_DIRS isjlam1-76/+98
an extra list of paths denoting entire directory trees that will be unchanged by the wrapper scripts in options passed to the toolchain. BUILDLINK_PASSTHRU_RPATHDIRS is the same as BUILDLINK_PASSTHRU_DIRS but the the listed paths are only unchanged if used in an rpath option. * Garbage-collect _BLNK_BUILTIN_DIRS, which is superseded by _BLNK_PASSTHRU_DIRS. * Ensure that the correct set of directories is passed to the linker for the runtime library search path in the pkgviews case. * Allow -I/usr/include/* to be unchanged by the wrapper scripts. This allows building LKMs in pkgsrc, which need -I/usr/include/sys, using the buildlink3 wrapper scripts.
2004-01-19* Make the mangle and depot commands a bit more conservative in findingjlam1-5/+39
instances of directory paths to mangle. We now check that the path is either a word by itself, or else part of likely compiler/linker options (-[ILR]). * Add a new "submangle" command that does the same thing as mangle but restricts itself to only the directory tree below the named src directory.
2004-01-19Create a word separator $_sep variable and use throughout.jlam1-34/+36
2004-01-17Be even less aggressive and just remove relative paths that start with "."jlam1-7/+7
in abs-rpath.
2004-01-17Fix overly aggressive substitution pattern in abs-rpath to allow thingsjlam1-7/+7
like "-Wl,-R${exec_prefix}/lib". This fixes any breakage in *-config scripts where the above example was being stripped out.
2004-01-15Also merge -Wl,-R -Wl,/path/to/dir into a single argument so that we canjlam1-3/+9
look it up in the cache.
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.
2004-01-13Add a new command "abs-rpath" to the gen-transform.sh script that removesjlam2-13/+29
rpath options that try to add relative paths to the runtime library search path. This basically partly cleans up after lazy programmers.
2004-01-11Use egrep instead of relying on GNU grep features. Fixes populating thejlam1-2/+2
buildlink directory on Solaris, which doesn't use GNU grep.
2004-01-11Back out the changes in revision 1.41 which were much more complex thanjlam1-21/+15
they needed to be. Now, when we're emitting untransform rules, we: (1) change everything back from ${BUILDLINK_DIR} and ${BUILDLINK_X11_DIR} back into ${LOCALBASE} and ${X11BASE}, (2) protect ${LOCALBASE} and ${X11BASE} from changes, (3) nuke all other compiler/linker options that have absolute paths that we haven't blessed, and (4) unmangle all of the protected directory names back into the right names. This should correctly fix the problem where "gtk-config --cflags" didn't emit any directories for glib headers.
2004-01-11"for arg; do" -> "for arg do", as the latter is more portable. fixesgrant2-4/+4
buildlink3's wrappers on Solaris.
2004-01-10If BUILDLINK_PREFIX.<pkg> is "/usr" and BUILDLINK_{INCDIRS,LIBDIRS}.<pkg>jlam1-1/+27
lists values other "include" or "lib", then protect those directories from being eaten by the wrapper scripts. This allows -I/usr/include/krb5 to be passed safely through to the real compiler when heimdal/buildlink3.mk is included.
2004-01-10Only match the first result of "pkg_info -qp" in case there are weirdjlam1-2/+2
+CONTENT files out there with multiple @cwd lines.
2004-01-10Don't stop if the file listed in BUILDLINK_FILES.<pkg> doesn't exist.jlam1-2/+2
2004-01-07Add bits to make buildlink3 use the MIPSpro compiler if USE_MIPSPRO isjlam3-4/+87
defined.
2004-01-07Make the wrapper exit with error code 2 to signify a buffer overflow tojlam1-1/+3
avoid infinite loops.
2004-01-07Suppress duplicates when splitting -Wl,-R/dir1:/dir2:... into separatejlam1-7/+15
arguments. This avoids overfilling the circular buffer (length 5) used by the buildlink3 wrappers.
2004-01-07Be more precise about when rules are emitted in the tranform andjlam1-5/+11
untransform cases. This should fix the problem noted on tech-pkg@: "Re: graphics/gdk-pixbuf can't find <gdk/gdk.h> build problem" where the CFLAGS for glib were being eaten by the unbuildlink step.
2004-01-07Remove "$" at the end of rules in the [IL] commands that mistakenly creptjlam1-4/+4
in when creating this file based on the one in buildlink2. This should fix the problem noted on tech-pkg@: "Re: graphics/gdk-pixbuf can't find <gdk/gdk.h> build problem" where the CFLAGS for glib were being eaten by the unbuildlink step.
2004-01-07whitespacejlam1-2/+2
2004-01-06Back out revision 1.6 which was wrong. It failed to matchjlam1-3/+5
-I/usr/pkg/include given I:/usr/pkg:...
2004-01-06Allow l:foo: to remove -lfoo. Also remove an incorrect rule in the "l"jlam1-4/+10
case.
2004-01-06Reduce the number of lines emitted by the I and L rules.jlam1-5/+3
2004-01-06Missing trailing $ to only match whole words.jlam1-2/+2
2004-01-06Add FreeBSD to _BLNK_CACHE_ALL (matches bsd.buildlink2.mk).jlam1-1/+2
2004-01-06Try to convert GCC's optimization flags to SunPro optimization flags.jlam2-3/+18
From Jonathan Perkin in private email.
2004-01-06Fix bug where "!empty" was missing from a .if test.jlam1-2/+2
2004-01-05Do the right thing for pkgviews if we do binary package upgrades ofjlam1-6/+14
package dependencies by inserting the right default view directories into the run-time library search path as well.
2004-01-05Use S/+$// instead of C/\+$// to save a backslash. Very highlyjlam1-4/+4
recommended by seb :)
2004-01-05When checking the value of yes/no variables using the thejlam1-6/+6
!empty(...:M[yY][eE][sS]) construct, always use !empty(...) instead of empty(...) just for some consistency.
2004-01-05Of course I really meant buildlink*3*.mk.jlam1-2/+2
2004-01-04We don't need to escape "+" if we're using the :M variable operator.jlam1-3/+3
2004-01-04Rearrange some of the lines in the buildlink3.mk example so that it's a bitjlam1-6/+3
shorter to write.
2004-01-04BUG FIXES:jlam1-59/+85
* Don't add any dependencies (via BUILDLINK_DEPENDS) unless buildlink3.mk files add them. This fixes case where the software existed both in the base system and in /usr/pkg, we used only the built-in software, but we still recorded a dependency on the one in /usr/pkg. * Re-structure the code that populates ${BUILDLINK_DIR} so that we don't bump into ARG_MAX limits in the shell. This should fix the problem present in the buildlink2 framework noted in: http://mail-index.netbsd.org/tech-pkg/2004/01/03/0005.html CHANGES: * Define a new yes/no variable BUILDLINK_USE_BUILTIN.<pkg> that determines if we should use the built-in software or not. This should probably replace the various USE_NCURSES, USE_GNU_READLINE, USE_GNU_GETTEXT, etc. variables with something whose naming is a bit more consistent and is integrated directly into the buildlink3 framework. * Garbage-collect "$$pkg_prefix", which was used exclusively in BUILDLINK_FILES_CMD.<pkg>. It no longer exists in the buildlink3/pkgviews world. Packages _should_ _no_ _longer_ directly set the PREFIX variable in the package Makefile. As a consequence, the various Java VM packages will need some changes when they're converted to use buildlink3.
2004-01-03Extend the "l" command by allowing changing "-lfoo" into "-lbar -lbaz" byjlam1-5/+12
saying "l:foo:bar:baz".
2003-12-19Update for the latest x11-links 0.19.veego1-2/+2
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