pkgsrc/mk/platform
khorben 03a56367ef Re-arrange support for FORTIFY/MKPIE/RELRO/SSP
- No _GCC_* anything in mk/bsd.prefs.mk;
- No compiler flags in platform files.

Tested again on NetBSD/amd64, with and without cwrappers, with the same
outcome.

With feedback from jperkin@
2016-03-11 23:54:08 +00:00
..
AIX.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
Bitrig.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
BSDOS.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
Cygwin.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
Darwin.mk Strip --enable-new-dtags GNU ld arg on Darwin and SunOS. 2016-03-11 22:04:34 +00:00
DragonFly.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
FreeBSD.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
FreeMiNT.mk Introduce _OPSYS_LIB_DIRS and _OPSYS_INCLUDE_DIRS varables. 2013-04-28 12:53:56 +00:00
GNUkFreeBSD.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
Haiku.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
HPUX.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
Interix.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
IRIX.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
Linux.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
Minix.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
MirBSD.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
NetBSD.mk Re-arrange support for FORTIFY/MKPIE/RELRO/SSP 2016-03-11 23:54:08 +00:00
OpenBSD.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
OSF1.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
QNX.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
README Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
SCO_SV.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00
SunOS.mk Re-arrange support for FORTIFY/MKPIE/RELRO/SSP 2016-03-11 23:54:08 +00:00
UnixWare.mk Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these 2016-03-10 16:58:19 +00:00

$NetBSD: README,v 1.5 2016/03/10 16:58:19 jperkin Exp $

These files contain platform-specific definitions that are used by the
pkgsrc infrastructure.

TODO: Document all these variables.

    CPP

    ECHO_N is full command line of BSD `echo -n' compatible.

    IMAKE_MAKE is make(1) program which gets invoked by imake(1).

    IMAKEOPTS is additional arguments for imake(1)

    PKGLOCALEDIR is the directory where locale data directory is put.

    PS is fullpath to ps(1) command.

    SU is fullpath to su(1) command.

    TYPE is fullpath to type(1) command, or just `type' for shell builtin one.

    USERADD is fullpath to useradd(8) command.

    GROUPADD is fullpath to groupadd(8) command.

    _PKG_USER_HOME is home directory for system accounts to match other system
	accounts.

    _USER_DEPENDS is dependency pattern which USERADD/GROUPADD to be available.

    CPP_PRECOMP_FLAGS

    DEF_UMASK

    EXPORT_SYMBOLS_LDFLAGS is for adding symbols to the dynamic symbol table.

    MOTIF_TYPE_DEFAULT is default motif-2.0 compatible libs type.

    NOLOGIN is user's login shell to refuse a login.

    PKG_TOOLS_BIN is fullpath to pkg_info(8) command.

    ROOT_CMD is full command line prefix to invoke subsequent command will be
	invoked with privileged user.

    ROOT_USER is system privileged user name.

    ROOT_GROUP is system privileged group name.

    ULIMIT_CMD_datasize is command line to unlimit data segment size of a
	process.

    ULIMIT_CMD_stacksize is command line to unlimit stack size of a process.

    ULIMIT_CMD_memorysize is command line to unlimit total physical memory
	that can be in use by a process.

    X11_TYPE is X11 implementation used to build X11 packages.

	"native" means that platform native X11 is used.
	"modular" means that modular X11 from pkgsrc is used.

    _OPSYS_EMULDIR.${OPSYS} is sub directory in LOCALBASE where ${OPSYS}
	emulation files is put.

    _OPSYS_SYSTEM_RPATH is colon separated list of system rpath.

    _OPSYS_LIB_DIRS is list of system library directories.

    _OPSYS_INCLUDE_DIRS is list of system header file directories.

    _OPSYS_HAS_INET6 is "yes" if IPv6 is standard, otherwise "no".

    _OPSYS_HAS_JAVA is "yes" if Java is standard, otherwise "no".

    _OPSYS_HAS_MANZ is "yes" if MANZ controles gzipping of man pages, or "no".

    _OPSYS_HAS_OSSAUDIO is "yes" if libossadio is available

    _OPSYS_PERL_REQD is base version of perl required, or empty if not required.

    _OPSYS_PTHREAD_AUTO is "yes" if -lpthread is needed for pthreads, or "no".

    _OPSYS_SHLIB_TYPE is platform shared lib type.

    _PATCH_CAN_BACKUP is "yes if native patch(1) can make backups.

    _PATCH_BACKUP_ARG is switch to patch(1) for backup suffix.

    _USE_RPATH is "yes" to add rpath to LDFLAGS, otherwise "no"

    LINK_ALL_LIBGCC_HACK

    _STRIPFLAG_CC is cc(1) option to strip.

    _STRIPFLAG_INSTALL is install(1) option to strip.

    DEFAULT_SERIAL_DEVICE is platform default serial device

    SERIAL_DEVICES is list of supported serial devices

    PKG_HAVE_KQUEUE is defined if kqueue(2) is supported.

    _OPSYS_CAN_CHECK_SHLIBS is "yes" if "check-shlibs" in check/check-shlibs.mk
	can be performed.

    _OPSYS_MAX_CMDLEN_CMD is used to check maximum command line length and
	set it in configure's environment, to avoid a test required by the
	libtool script that takes forever.

    _OPSYS_PREFER.<pkg> is builtin defaults which make sense for this platform.
	see also: mk/buildlink3/bsd.builtin.mk.

=== Implementation notes ===

Do not try to extract the definitions that are common to all files into
another file (maybe common.mk). The code duplication is intentional
here.