pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mk Try to fix Mac OS X Snow Leopard ABI issue (32-bit ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/fa9fca6b7c72
branches:  trunk
changeset: 565361:fa9fca6b7c72
user:      tron <tron%pkgsrc.org@localhost>
date:      Mon Sep 21 10:56:08 2009 +0000

description:
Try to fix Mac OS X Snow Leopard ABI issue (32-bit vs. 64-bit):
1.) Always set the "ABI" variable.
2.) Default to 64-bit mode if the machine is able to run 64-bit binaries.
    This seems to match the default behavior of Xcode (Apple's toolchain).
3.) Set "LOWER_ARCH" based on the ABI we are compiling for, not on
    based on the kernel the machine is running.

The "gnupg" package now builds for the 64-Bit API without extra tricks.

diffstat:

 mk/bsd.prefs.mk |  20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diffs (35 lines):

diff -r 7086aa1ad202 -r fa9fca6b7c72 mk/bsd.prefs.mk
--- a/mk/bsd.prefs.mk   Mon Sep 21 10:55:35 2009 +0000
+++ b/mk/bsd.prefs.mk   Mon Sep 21 10:56:08 2009 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.prefs.mk,v 1.295 2009/09/13 13:28:46 tron Exp $
+# $NetBSD: bsd.prefs.mk,v 1.296 2009/09/21 10:56:08 tron Exp $
 #
 # This file includes the mk.conf file, which contains the user settings.
 #
@@ -123,7 +123,25 @@
 
 .elif ${OPSYS} == "Darwin"
 LOWER_OPSYS?=          darwin
+.if empty(OS_VERSION:M[1-9].*.*)
+# Determine the ABI under Mac OS X Snow Leopard and adjust
+# the machine archicture accordingly.
+.  if !defined(ABI)
+_SYSCTL_HW_OPTIONAL_X86_64!=   /usr/sbin/sysctl -n hw.optional.x86_64
+.    if ${_SYSCTL_HW_OPTIONAL_X86_64} == "1"
+ABI=   64
+.else
+ABI=   32
+.    endif
+.  endif
+.if ${ABI} == "32"
+LOWER_ARCH=    i386
+.else
+LOWER_ARCH=    x86_64
+.endif
+.else
 LOWER_ARCH!=           ${UNAME} -p
+.endif
 MACHINE_ARCH=          ${LOWER_ARCH}
 MAKEFLAGS+=            LOWER_ARCH=${LOWER_ARCH:Q}
 LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/}



Home | Main Index | Thread Index | Old Index