Commit graph

117 commits

Author SHA1 Message Date
jlam
45373af245 Modify code to produce fake libtool archives to check whether the libraries
named using the shell pattern actually exist.
2003-01-25 07:57:21 +00:00
jlam
69fbe893c6 Strip bare "-L${BUILDLINK_DIR}" (note there is no trailing "/lib") from
dependency_libs definitions in *.lai files.  This should remove another
instance that can cause "buildlink2 leakage" into installed files under
${LOCALBASE}.
2003-01-24 12:09:16 +00:00
jlam
b9a5491738 Add RCS Id. 2003-01-15 09:26:14 +00:00
jlam
1ced74ea7f Bump build dependency on x11-links to 0.12 after teaching x11-links about
Xrender.
2003-01-14 09:32:12 +00:00
grant
ce61865a53 bump BUILD_DEPENDS on x11-links (Darwin fixes). 2003-01-13 09:49:22 +00:00
jlam
29347ddf13 Alphabetize _BLNK_CACHE_ALL list. 2003-01-10 20:09:38 +00:00
thorpej
0470555b2c Don't add rpath statements to _BLNK_LDFLAGS if _USE_RPATH != "yes". 2003-01-10 18:44:02 +00:00
mycroft
d296aa91c5 Protect some substitutions with slashes -- i.e. so that /usr/pkgsrc/.../work
doesn't get the /usr/pkg part expanded accidentally.
2003-01-10 14:25:22 +00:00
jlam
10b6718d6c Protect ${WRKDIR} from transformation. We only want to transform paths
from outside of the work directory.
2003-01-10 09:59:25 +00:00
jlam
a6486220cb Fix indentation for case statement. 2003-01-10 09:41:53 +00:00
jlam
1abdd450fe Install a ${PREFIX}/bin/shlibtool as part of the devel/libtool-base
package.  shlibtool will not build static libraries.  Add handling in
bsd.pkg.mk for a variable named "SHLIBTOOL_OVERRIDE" that is analogous to
LIBTOOL_OVERRIDE and causes any listed libtool scripts to be replaced with
a symlink to shlibtool, and teach buildlink2 about shlibtool.  Bump
PKGREVISION of devel/libtool* packages to 11.
2003-01-10 08:44:18 +00:00
jlam
27d0cedb05 Teach buildlink2 about ${_OPSYS_RPATH_NAME} instead of just using -Wl,-R
everywhere.
2003-01-08 08:33:54 +00:00
jlam
23c71bd134 Also substitute for @BUILDLINK_X11_DIR@ in the wrapper scripts. This was
a harmless bug, and the scripts will now run a little faster.
2003-01-07 21:56:10 +00:00
jlam
ec198db7a5 Output warnings to stderr, not to stdout (duh!) 2003-01-07 07:34:39 +00:00
jlam
722f6a3d3d Don't complain about (correct) .buildlink leakage in the fake libtool
archive case.  Also output errors to stderr, not stdout (duh!).
2003-01-07 07:34:08 +00:00
jlam
d852427494 Catch buildlink2 leakage as soon as it happens during the build process.
This will hopefully prevent leakage from ever happening unnoticed.
2003-01-06 09:06:09 +00:00
jlam
5adb04fe9b Fix buildlink2 leakage into installed libtool archives that has been going
on since 2002-10-30.  This mostly affects KDE packages.
2003-01-06 09:04:29 +00:00
jlam
0e29f29c69 Some changes for Bourne shells that don't match NetBSD's feature-set:
if ! test ...; then ...; fi

becomes:

	if test ! ...; then ...; fi

and

	if ! command; then ...; fi

becomes:

	if command; then :; else ...; fi

This fixes PR 19690 by Frank Cusack <fcusack@fcusack.com>.
2003-01-06 04:30:12 +00:00
tron
862cfe7068 Require at least version 0.10 of the "x11-links" package because
version 0.9 causes build failures in e.g. the "enlightenment" package.
2003-01-03 10:23:25 +00:00
jlam
909a7770f1 Add the buildlink2 warnings to the wrapper log as well as outputting to
stdout.
2003-01-03 04:44:48 +00:00
jlam
f161acbf13 Use a while loop instead of a for loop to iterate over the arguments. This
potentially allows for manipulating sequences of arguments instead of just
one argument at a time.
2003-01-01 07:16:57 +00:00
schmonz
5301f05651 Darwin 5.5 has finished the grueling recertification process: still
works, but not with full caching.
2002-12-28 23:01:25 +00:00
jlam
a36d340678 As a refinement on the previous commit, we shouldn't even add .../.libs
directories to the search list for libtool archives.  Also make it clear
that the warning comes from the libtool wrapper.
2002-12-28 18:58:09 +00:00
jlam
ebe087d42d Break out of loop as soon after the first time we find a libfoo.la libtool
archive that matches "-lfoo".  This prevents breakage when someone does:

	-L../src -L../src/.libs -lfoo

because libtool puts a .la file into both ../src and ../src/.libs.  This
fixes PR 19583 by Julio Merino <jmmv@netbsd.org>.
2002-12-28 18:49:57 +00:00
schmonz
8c4d798daf More ideas: _STRIPFLAG_CC, _STRIPFLAG_INSTALL, compiler optimization flags. 2002-12-27 20:34:53 +00:00
grant
2e18bd5caf Both buildlink caching methods work on Solaris 8 and Darwin 6.2.
Enable full caching for any SunOS arch and Darwin 6*.
2002-12-27 07:00:51 +00:00
jschauma
a6012250a1 Full caching still works on Irix. Yay. :) 2002-12-26 17:53:48 +00:00
jlam
d8c9789a55 Add some libtool workarounds for software authors that don't follow the
libtool documentation.  Specifically, many authors now link against an
uninstalled libtool archive with:

	-L../package/source/dir -lfoo

instead of the correct (according to the libtool documentation):

	../package/source/dir/libfoo.la

The workarounds convert the former into the latter.  Changes originally
suggested by Rene Hexel <rh@netbsd.org> in private e-mail.
2002-12-26 17:17:32 +00:00
jlam
e287e42e02 Rewrite wrapper scripts so that it is possible to add wrapper-specific
logic and caching in a more natural way.
2002-12-26 17:08:55 +00:00
schmonz
80035235a9 buildlink1 is dead. Long live buildlink2! (Perhaps Q2 should be removed.) 2002-12-26 04:12:49 +00:00
jlam
f971bdb801 Let p:path convert both:
path/subpath/libfoo.so => -Lpath/subpath -lfoo
and
	path/libfoo.so => -Lpath -lfoo

This fixes converting /usr/lib/libintl.so into "-L/usr/lib -lintl", which
wasn't happening before.
2002-12-25 06:00:41 +00:00
schmonz
0ca78d8fed Add a to-do item:
(*) Since buildlink2 is a layer of abstraction atop the toolchain,
        it's a logical place to deal with the vagaries of unusual
        toolchains. For example, on Darwin we could reliably pass
        the "-no-cpp-precomp" switch to every compiler invocation
        by emitting it from the compiler wrapper. Likewise, the
        use of _USE_RPATH in bsd.pkg.mk might be better handled in
        the linker wrapper.
2002-12-25 05:16:12 +00:00
jschauma
945bcf8e9d Let's be consistent:
Always check for ${OPSYS} == "IRIX" (and not once for != and once for ==)
Always use "-Wl,-rpath,/path" rather than sometimes "-Wl,-rpath -Wl,/path"
and sometimes "-Wl,-rpath,/path".
2002-12-23 22:33:14 +00:00
jlam
7fcfeb7629 Note that buildlink2 and full caching both work on IRIX (thanks, jschauma!) 2002-12-23 17:31:15 +00:00
jlam
06e0805659 Note that to test buildlink2, we need to build & install, but to test
caching, only building is needed.
2002-12-23 17:17:32 +00:00
jlam
d9c2c12997 Note that Solaris 8 & 9 work with full caching enabled (thanks grant, salo!).
Also change _BLNK_CACHE_ALL to take wildcard lists of MACHINE_PLATFORMs so
that specific operating system versions can be nailed down.
2002-12-23 17:09:17 +00:00
grant
d2d6576c3b - full caching works on Solaris 8.
- only building pkgs is required.
- update platforms.
2002-12-23 16:21:10 +00:00
jlam
1566cdd893 Convert the lists into a capability matrix for ease of maintainence, and
change "MacOS X" versions into their "Darwin" equivalents.
2002-12-23 15:10:05 +00:00
jlam
dbbb22cec3 buildlink2 works on NetBSD-1.5.x (thanks gendalia!). Also note that we
can test using gettext-lib instead of gettext, now that gettext-lib has
been converted to use buildlink2.
2002-12-23 03:42:39 +00:00
jlam
cfaa1ad9ff The buildlink2 problems on non-NetBSD platform seem to be related to
correct manipulation of variables containing values with escaped
metacharacters by the shell.  The new code only does partial caching, which
doesn't cache "special" arguments that contain escaped metacharacters or
other oddly quoted values.  On certain platforms listed in _BLNK_CACHE_ALL
in bsd.buildlink2.mk, we do full caching, which has enormous speed benefits
since it avoids an extra sed invocation per "special" argument.

Known working platforms:

	MacOS X 10.1.5 (schmonz)
	MacOS X 10.2 (grant)
	NetBSD 1.6 [full caching] (jlam)
	OpenBSD (cjep)
	Solaris 8 (grant)
	Solaris 9 (salo)
2002-12-22 19:02:43 +00:00
jlam
7eabdf1ddf Allow package Makefiles to define REPLACE_LOCALEDIR, which is a space-
separated list of files relative to ${WRKSRC} on which we do PKGLOCALEDIR
replacement.  This is in addition to the files on which we already do the
PKGLOCALEDIR replacement (Makefile.in* and Makefile*).
2002-12-03 08:31:41 +00:00
jschauma
ba81d6296d IRIX wants -rpath (missed in last commit) 2002-12-02 17:08:40 +00:00
jlam
b2aa3a580b Move the PKGLOCALDIR section a little lower so it isn't in the middle of
the logic for another section.  This is purely for readability.
2002-12-01 13:24:14 +00:00
salo
0f04684113 Conditionalize _PKGLOCALEDIR_FILES pattern for ${FIND}. Some packages need
patching Makefile not Makefile.in.  Depends on HAS_CONFIGURE || GNU_CONFIGURE.
2002-11-30 14:10:06 +00:00
salo
fd4ecd6aa4 Introduce new framework for handling packages' locale directories.
The logic is:
 - if package defines USE_PKGLOCALEDIR and PKGLOCALEDIR is not 'share' as GNU
   autotools expects then
 - fix variables 'localedir', 'gnulocaledir' and define coorect 'LOCALEDIR' in
   the Makefile.in.* files

From Packages.txt:

 10.29 Packages providing locale catalogues
 ==========================================

If the package provides its own locale catalogues, the variable
USE_PKGLOCALEDIR should be defined.  It will ensure that the package's
Makefile template files are fixed and point to the correct locale directories
(which may vary, depending on OS), if necessary.  See also section 5.1 for
details about ${PKGLOCALEDIR}.  This functionality is buildlink2-only.
2002-11-28 14:21:32 +00:00
jlam
8cf22817fd Move X11BASE transformations ahead of LOCALBASE transformations to handle
the case where X11BASE is a subdirectory of LOCALBASE, e.g. /usr/pkg/X11R6.
2002-11-26 22:46:59 +00:00
jlam
df1f4c5ddd Restore usual meaning for AUTOMAKE_OVERRIDE so that it works even if
USE_BUILDLINK2 is defined.  AUTOMAKE_OVERRIDE == "yes" is the default, and
means that pkgsrc will try to avoid executing the GNU autotools during the
build process.  Setting AUTOMAKE_OVERRIDE to "no" will avoid these extra
steps by pkgsrc, so that the GNU autotools will be automatically invoked
if they are found (though they may not necessarily invoke the correct ones
and the effects may be surprising...do this only if you know what you are
doing).
2002-11-26 08:59:04 +00:00
jlam
450af8676e Don't match common delimiters ['";:] when doing matches for substitutions.
Addresses PR 19159 by grant@netbsd.org.
2002-11-25 19:43:23 +00:00
jlam
5d04f81d5e In the _BUILDLINK_SUBST_USE target, save the original file from which we
generate the "sed-substituted" file with a ".blsav" suffix.  This is
primarily useful for debugging purposes.
2002-11-25 19:32:47 +00:00
jlam
da67e62bd4 Instead of inventing our own "missing" script, just use the GNU one. 2002-11-21 00:21:11 +00:00