${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.
is "-Wl,--whole-archive -lgcc -Wl,--no-whole-archive" on
NetBSD-1.5* and empty otherwise.
This is needed on build of programs which dlopen() extension
libraries.
(Some pkgs do the libgcc linking already, but independantly
of the OS version.)
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.
This will pass -mieee to those package which obey CFLAGS and FFLAGS.
paraphrasing an email from Ross:
The executive summary is: if i386 uses it (and
it does) then alpha should also, or some programs will SIGFPE out
on alpha when they don't on i386.
If anyone asks, the details are as follows:
The actual effect of -mieee is to put a software completion code
bit into every floating point instruction, and to put trap barrier
instructions in the code as necessary to ensure that traps are
delivered before branches or other instructions make it impossible
to trace backwards to the trapping op.
The code bits have little effect on the hardware, mainly what
happens is that when the hardware and palcode deliver a trap, they
tell the trap handler whether the faulting op had a completion
code. If it did, the kernel is suppose to trace backwards, find
the op, and interpret it in SW, doing all the wacky ieee stuff that
most chips don't do, stuff like denormal arithmetic and the generation
of magic values (infinity, NaN) and the sticky flags. We do all
that now except for a couple of truly obscure things that SoftFloat
didn't support and which I haven't yet added. (And these are things
that happen ONLY when you are taking overflow and underflow traps,
which no one has every really done AFAICT. If you have the default
behavior of gradual underflow and nontrapping infinity generation,
we do everything.)
This brings up the question of -mieee libraries, but that's not a
pkgsrc problem. (Except to the extent that I recommend that libraries
from pkgsrc, like everything else, also be compiled with -mieee.
And in the case of libraries, it might be worth individually
modifying the Makefile for the "not easy" case.)
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.
groups. These commands follow the basic interface of the NetBSD/Solaris
useradd and groupadd programs. For platforms on which these commands don't
exist, either sysutils/user is added as a dependency, or these are set to
${FALSE}, and the package admin is responsible for creating them himself
prior to the installation of a package.