some shells can set MAIL to be the mailbox of the user, and
environment variables will override assignments in make when using
conditional assignments.
${TOOLS_DIR}/bin/make. If a package wants GNU make, then it should
set:
USE_GNU_TOOLS+= make
in the package Makefile. Allow for USE_GMAKE to continue to work
until we get a chance to sweep through pkgsrc and remove the usage
of this now-redundant variable.
This change allows us to avoid patching makefiles that use a bare
"make" command to invoke sub-make processes. Idea suggested by
salo@netbsd.org in pkg/22509.
to ${LOCALBASE}/bin/gmake. Patch by Soren Jacobsen in PR pkg/22506.
(Not closing that PR, as we should determine a procedure to bootstrap
on a system without any make.)
to the linker to (not) extract all symbols from static archives and
export these variables to packages as {,NO_}WHOLE_ARCHIVE_FLAG.
these are not currently set for IRIX.
order to simplify man-page handling across platforms:
If your application installs man pages on NetBSD into
man/cat1/foo.0
but in
man/man1/foo.1x
on Linux, simply use
${IMAKE_MAN_DIR}/foo.${IMAKE_MANNEWSUFFIX}
Definitions for Darwin provided by grant, others from
/usr/X11R6/lib/X11/config/*
This allows us to put away with having multiple PLISTs just for the different
man page locations.
PKGREVISION bumps of `grep -l USE_IMAKE pkgsrc/*/*/Makefile` coming up after
revision and adjusting.
of relying on the shell's builtin pwd. This makes BUILD_DIR consistently
point to the correct directory regardless of the definition of SHELL. This
fixes elusive some buildlink2 errors due to the fact that BUILDLINK_DIR is
derived from BUILD_DIR and some paths were incorrectly being translated.
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.
path to the java home directory depending upon whether the operating
system includes Java by default. Use the operating system-dependent
definitions files to set this value.
more generic, way - use an abstraction called ${_OPSYS_RPATH_NAME} which
takes the value "-rpath," or "-R", set appropriately in the opsys-dependent
defs files.
was only able to check the paths for NetBSD and Linux...Solaris and Darwin
pkgsrc developers should change the path to expr in the right defs.*.mk
file.
generalise the linker flags used to export symbols by setting them on
a per-OS basis.
> many packages force -Wl,-export-dynamic which is not portable outside GNU ld
> and cause problems e.g. on Solaris. some of these packages use if
> conditionals either only for NetBSD or except SunOS, but the state is not
> coherent and it may complicate later when support for new OS is added to
> pkgsrc (e.g. ongoing work on HP-UX support).
>
> jlam proposed the following framework in discussion on tech-pkg:
>
> http://mail-index.netbsd.org/tech-pkg/2002/06/21/0009.html
>
> now, ${EXPORT_SYMBOLS_LDFLAGS} is used instead of directly defining
> -Wl,-export-dynamic which is set in appropriate defs.*.mk to reasonable
> values. packages should be converted to this framework by:
>
> 1) replacing LDFLAGS+= -Wl,-export-dynamic and LIBS+= -export-dynamic with:
>
> LDFLAGS+= ${EXPORT_SYMBOLS_LDFLAGS}
>
> 2) for use in patchfiles, add this variable to MAKE_ENV if needed:
>
> MAKE_ENV+= EXPORT_SYMBOLS_LDFLAGS=${EXPORT_SYMBOLS_LDFLAGS}
>
> 3) replace occurances of -Wl,-export-dynamic and -export-dynamic in patch
> files with:
>
> $(EXPORT_SYMBOLS_LDFLAGS)
Each word of UNLIMIT_RESOURCES is supposed to be a knob on
ULIMIT_CMD_<word> variable which value if defined is added to _ULIMIT_CMD.
The ULIMIT_CMD_* variables are set per $OPSYS in defs.*.mk and are overridable
by the user.
Solaris' default value of ULIMIT_CMD_memorysize adjusted as suggested in PR
pkg/18087 by Jonathan Perkin <sketch@rd.bbc.co.uk>.
Darwin (meaning "don't use the OS X cpp that groks precompiled
headers", which gets us the more compatible GNU cpp instead), and
blank on other systems.
Approved by agc and yyamano.
up version of the bare-bones code in PR 7590, from David Maxwell.
The definition governing the type of locking used is PKGSRC_LOCKTYPE,
which can take any of the values "none", "sleep", and "once". The
default is "none". If "sleep" locking is used, and process A is
building a package, when process B attempts to build the same package,
process B will sleep for PKGSRC_SLEEPSECS seconds, and attempt to grab
the lock again.
Coarse-grained locking uses the OBJHOSTNAME definition to ensure that
the PID space is regular for shlock(1) to do its work. The
pkgsrc/pkgtools/shlock package has been provided for environments
where shlock is not standard.
as standard.
Hoist the default definition of ${GMAKE} from bsd.pkg.mk into the different
defs.${OPSYS}.mk files.
A non-standard location or name for GMAKE can still be specified in
/etc/mk.conf.
individual defs.${OPSYS}.mk files, and use them in bsd.pkg.mk.
+ _OPSYS_HAS_MANZ defines whether or not the OS does MANZ handling as standard
+ _PREFORMATTED_MAN_DIR is the name of directory (cat or man) where
preformatted manual pages go.
Rename the internal definitions used in the generation of PLIST files to
start with '_'.
This completes the "generic" changes to bsd.pkg.mk.