summaryrefslogtreecommitdiff
path: root/mk/platform
AgeCommit message (Collapse)AuthorFilesLines
2016-06-29DragonFly BSD ships with GCC 5.x as the compiler, add its library location ↵sevan1-2/+2
to _OPSYS_SYSTEM_RPATH
2016-03-17Since the MACHINE_ARCH cleanup, the bootstrap for i386-on-x86_64 Linux hasjperkin1-2/+2
been broken due to NATIVE_MACHINE_ARCH no longer being set to x86_64. Fix this by introducing HOST_MACHINE_ARCH which refers to the underlying host architecture rather than bmake's native architecture, thus differentiating between cross-compiling and multilib. This is currently only set on Linux as the only OPSYS which currently requires such a test, but can be expanded to other OPSYS as necessary.
2016-03-11Re-arrange support for FORTIFY/MKPIE/RELRO/SSPkhorben2-13/+3
- 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-11Add support for a number of security featureskhorben2-13/+37
- Revisit (and rename) support for FORTIFY as PKGSRC_USE_FORTIFY (instead of PKGSRC_USE_FORT) for easier support outside NetBSD/gcc; - PKGSRC_USE_SSP is no longer enabled by default when PKGSRC_USE_FORTIFY is enabled; - PKGSRC_MKPIE builds executables as PIE (to leverage userland ASLR) - PKGSRC_USE_RELRO builds with a read-only GOT to prevent some exploits from functioning. Tested on NetBSD/amd64 by myself, in every combination, with and without pkgtools/cwrappers. MKPIE is not supported at the moment with cwrappers. Also, MKPIE is known to still break a number of packages when enabled (and actually supported). Tested on SunOS by jperkin@, thank you! As discussed on tech-pkg@, the default behavior is not changed, except where noted above. ok bsiegert@
2016-03-11Strip --enable-new-dtags GNU ld arg on Darwin and SunOS.fhajny2-2/+6
2016-03-10Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, thesejperkin23-148/+22
variables are unused and in at least one case were completely wrong anyway.
2016-03-04pass correct ABI via OBJECT_MODE environment variable on AIXtnn1-1/+9
It turns out a handful of AIX binutil-like utilities are particular about type of object files they should examine. Instead of piping through flags for each utility everywhere, it is easier to just export 'OBJECT_MODE=[32|64]' instead. From Eric N. Vander Weele.
2016-02-29Remove a commonly used set of GNU ld arguments which are incompatiblejperkin1-1/+13
with the Darwin linker. Fixes various packages.
2016-02-24Default to the system libuuid. The system headers assume that the libuuidjperkin1-1/+2
header provides the uuid_string_t typedef, which is not the case with the version coming from pkgsrc.
2016-02-22Export OSX_VERSION (renamed from OSX_VERS) to the environment regardless ofjperkin1-9/+10
whether we're using the SDK path or /usr/include, as it is useful for other contexts than simply determining the SDK directory.
2015-12-14Extend the El Capitan HFS+ bug workaround to 15.1.0 but no further, I canjperkin1-2/+2
confirm that Apple fixed the bug in the recent 15.2.0 (10.11.2) update.
2015-12-13Define MACOSX_DEPLOYMENT_TARGET for Tiger to allow current releasessevan1-1/+8
of software such as Ruby to build on Tiger/PowerPC. Tested with & without on a G4 with Tiger & Leopard. It was not needed on Leopard as the linker defaults to a target of 10.5 & setting it back broke the bootstrap process. Reviewed by wiz@ long ago.
2015-11-18Ensure building 32-bit on 64-bit is supported when using cwrappers too.jperkin1-1/+2
2015-11-16Always set _OPSYS_CAN_CHECK_SHLIBS to "yes" regardless of whetherjperkin1-6/+2
TOOLS_PATH.readelf is set. This is a PKG_DEVELOPER feature and it's likely the developer is smart enough to either have it already available in $PATH or be able to install it (e.g. via devel/binutils) if required.
2015-11-07MACHINE_ARCH for Bitrig/amd64 is now set to x86_64sevan1-2/+2
Ammend if statement
2015-10-26GCC on SunOS supports a non-standard -mimpure-text argument which clangjperkin1-1/+6
does not have, so remove it unconditionally in the latter case. Fixes various packages.
2015-10-10Set PKG_FAIL_REASON with a useful failure message if we cannot find an SDK.jperkin1-5/+7
2015-10-08OSX El Capitan has an interesting file system bug which allows a deepjperkin1-1/+8
directory hierarchy to be created but not removed. This is triggered by the GNU getcwd-path-max.m4 configure test used in lots of GNU software, and causes the builds to fail in pbulk as 'make clean' cannot complete. For now we provide a cached result for the test to avoid running it, using a 'no' value as the test is for a specific glibc bug. This bug has been brought to Apple's attention by the NixOS developers, raised as https://openradar.appspot.com/radar?id=6160634819379200. For now we mark only 10.11.0 (15.0.0) as having the bug - it remains to be seen whether Apple will fix it in the upcoming .1 release.
2015-10-05Re-order the way _OPSYS_INCLUDE_DIRS is calculated, and only perform checks forjperkin1-11/+15
the SDK path if we need to. This avoids issues on Yosemite and Xcode 7, which drops support for the 10.10 SDK. Trying to determine the SDK path fails, but the failure is not cached in the xcrun database, so each call to a compiler tool is unecessarily delayed (by around 3 seconds on my build hosts). For users still on Yosemite who have upgraded to Xcode 7, the solution is to install the Command Line Tools so that /usr/include is populated and used.
2015-09-10_OPSYS_LIB_DIRS entries must be space-separated, not colon.jperkin1-2/+2
2015-09-07Disable the strip flag for install(1) by default on Darwin. When calledjperkin1-2/+6
without arguments, strip(1) will attempt to strip all symbols by default, and when it is unable to do this will fail with a non-zero exit status. Passing '-u -r' to strip(1) would in theory resolve the issue, but there is no simple of way of doing this due to the way strip is called by the native install program through XCode. We would need to build a patched bsdinstall for Darwin, so for now we just disable stripping on install, as many packages have had to do individually up until now.
2015-09-01Default to pkgsrc openssl from OSX Lion / 10.7 onwards, where the nativejperkin1-1/+4
openssl is marked as deprecated. This causes failures in pkg_install now that WARNS works correctly (-Werror,-Wdeprecated-declarations).
2015-08-17Introduce support for checking Mach-O dynamic libraries.jperkin1-2/+2
This works in a similar way to the ELF checks, but uses otool(1) to list the library name and its dependencies, and the checks fail if there are WRKDIR references or if the -install_name of the library does not match $PREFIX, as well as ensuring that any libraries from pkgsrc are correctly registered as full dependencies. Removes support for the user to set USE_CHECK_SHLIBS_ELF, but there were no reasonable reasons for doing so in the past anyway, and it may be masking issues in platform files we should fix.
2015-08-10Add support for building with fortifykhorben1-1/+6
This is pretty much the same change as with SSP, and completes it with support for fortify (like USE_FORT in NetBSD's base system). Like SSP, this is disabled by default for the moment. Like in NetBSD's base system, enabling fortify explicitly also enables SSP by default - but SSP can still be disabled explicitly in this situation. All four combinations tested on NetBSD/amd64.
2015-07-27More efficient check if SSP is enabledkhorben1-3/+3
With this change, the check if the current architecture is supported is only performed if SSP is enabled in the first place. This should not change the current behavior; tested on NetBSD/amd64. Suggested by wiz@
2015-07-26Add support for compiling with stack-smashing protectionkhorben1-1/+11
This is enabled with PKGSRC_USE_SSP in mk.conf(5), as documented there. Most NetBSD platforms are supported (when compiling with gcc). After consensus on tech-pkg@.
2015-07-18Detect arm-linux-gnueabihf correctlywiedi1-1/+6
2015-07-04Fix QNX bootstrap.ryoon1-1/+0
From Jan Danielsson.
2015-07-01Don't use "/bin/ksh" as wrapper shell under Mac OS X Mavericks. It wastron1-2/+3
previously excluded for a good reason.
2015-06-26Always use current system version SDK avoiding future SDKs, because this ↵adam1-3/+9
makes unuable binaries; use ksh as wrapper script on newer systems as well
2015-06-04Introduce preliminary support for Bitrig to pkgsrcsevan1-0/+75
Initial patchset to add support by rodent@ Further adjustments made based on feedback by joerg@ Tested by myself with numerous bulkbuilds thanks to Patrick Wildt @ Bitrig Reviewed by bsiegert@ joerg@ wiz@
2015-05-26Let's unconditionally depend on useradd on NetBSD. It has been in basejoerg1-7/+1
since 1.4 at least.
2015-05-21The path to SU is correctsevan1-3/+1
type is a shell builtin on the bundled OpenBSD pdksh Remove comment as instructed by comment. Checks performed on OpenBSD 5.7-current
2015-05-08For 64bit little endian PowerPC hosts running Linuxsevan1-1/+6
Set the ABI to 64 bit Define the suffix appended to the locations in the library search path Reviewed by bsiegert@
2015-04-21Add a new ulimit modifier for cputime. Support raising limits forjoerg7-7/+14
package creation. There are very few things in pkgsrc that needs more than one hour per process on decently fast hardware, so setting that as (soft) limit for bulk builds avoids the infinite loops seen in some other packages. There are a few select exceptions, i.e. flightgear-data needs more than one hour for pkg_create when using xz. This flag allows selectively giving those places more time without wasting resources in the broken cases.
2015-04-19NOLOGIN needs to be /usr/bin/false here. Probably copy-pasto from OSF1.mk.tnn1-2/+2
2015-04-18fix comment about pkgtools/compat_headerstnn2-4/+4
2015-04-17Default to the native getopt when available.jperkin1-1/+2
2015-04-17Stop defaulting to the builtin mit-krb5, it's an old copy which isjperkin1-2/+1
unlikely to be updated any time soon, and is preventing some Samba Kerberos features from working correctly.
2015-03-19Report that SunOS 5.10 and older don't have "err.h".tron1-1/+4
Change during freeze approved by Jonathan Perkin.
2015-02-16Remove obsolete bulk build variables.jperkin1-8/+1
2015-02-01Revert "Drop obsolated old bulk build related variable settings."obache1-1/+8
proposed/discussed is required for such changes.
2015-01-0310.9 also has Xcode 6.gdt1-2/+5
Note that older os versions sometimes get xcode updates and that pkgsrc generally expects xcode that is up-to-date relative to the base os.
2015-01-03My OS X Yosemite machine says Xcode is version 6.1.1.ryoon1-2/+2
2014-11-22Do not use gcc-specific compiler flags on Mac OS versions that come withbsiegert1-1/+6
clang. Update version for bootstrap-mk-files. Patch provided by Todd Kover in PR pkg/48966.
2014-11-21Drop obsolated old bulk build related variable settings.obache1-8/+1
2014-09-10Expand --version-script removals for SunOS back out into package Makefilesjperkin1-2/+1
rather than trying to consolidate into a single fnmatch. There aren't that many of them, and it will aid the integration of cwrappers which doesn't support globs.
2014-09-02Default to X11_TYPE=modular on netbsd-5.gdt1-2/+4
Base xsrc on netbsd-5 has not really worked with pkgsrc for a while, because various programs need newer versions of various X pieces. The 2014Q2 official bulk builds are missing about 1500 packages as a result of this. Therefore, switch to modular on netbsd-5 (as netbsd-4 has been for a very long time), which should result in more useful binary packages for netbsd-5 for 2014Q3. (There is a notion of updating netbsd-5 base xsrc to more modern xorg. If that happens, and there's a 5.x formal release, and builds show that pkgsrc with native succeeds on it, this can perhaps be flipped back. Odds are that's not going to happen, and it's overwhelmingly unlikely to happen soon.) Anyone who prefers to stay with native can set X11_TYPE=native in mk.conf. Note that this is about pkgsrc and specifically the default dependencies for pkgsrc programs that use X11, so the native servers are unaffected and can be run from /usr/X11R7, the same as they are now, without any changes being necessary. (This message is in fact being typed on a system with a native server, native xterm and modular libs for pkgsrc.) Discussed on tech-pkg, tech-x11 multiple times over the last 6 months or so, and specifically encouraged by wiz@.
2014-08-28Expand out the list of GNU ld flags we want to remove, rather than applyingjperkin1-2/+11
a blanket removal of any long options, richard@ is concerned this may affect packages which use the long options now available in newer SunOS ld. Whilst here, transform --rpath to -R, used by a few packages.
2014-08-28Remove any -Wl,--* arguments, they are guaranteed to be GNU ld specificjperkin1-2/+2
and unsupported by the SunOS linker. Tested to only have positive results in a bulk build.