Remove the 'macosx' arch

The new atomic implementation chooses which header to include based
on what #define's are set by the compiler (i.e. __x86_64__ or
__i386__). Because of this, the qatomic_macosx.h header isn't used
anymore. This also means that the configure script does not need to
use or look for this file anymore, it should just use the normal
uname -m detection.

Change-Id: Ibf275488735483268286196952299c0e496dfd1f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This commit is contained in:
Bradley T. Hughes 2012-01-25 16:12:53 +01:00 committed by Qt by Nokia
parent 61e8487e8e
commit 68e5fd9ebc
5 changed files with 11 additions and 256 deletions

32
configure vendored
View File

@ -191,6 +191,7 @@ BUILD_ON_MAC=no
PLATFORM_MAC=no
if [ -d /System/Library/Frameworks/Carbon.framework ]; then
BUILD_ON_MAC=yes
PLATFORM_MAC=maybe
fi
#-----------------------------------------------------------------------------
@ -2941,21 +2942,6 @@ if [ -z "${CFG_HOST_ARCH}" ]; then
esac
esac
;;
Darwin:*:*)
case "$UNAME_MACHINE" in
Power?Macintosh)
if [ "$OPT_VERBOSE" = "yes" ]; then
echo " 32-bit Apple PowerPC (powerpc)"
fi
;;
x86)
if [ "$OPT_VERBOSE" = "yes" ]; then
echo " 32-bit Intel 80x86 (i386)"
fi
;;
esac
CFG_HOST_ARCH=macosx
;;
AIX:*:00????????00)
if [ "$OPT_VERBOSE" = "yes" ]; then
echo " 64-bit IBM PowerPC (powerpc)"
@ -3119,7 +3105,7 @@ fi
# detect build style
if [ "$CFG_DEBUG" = "auto" ]; then
if [ "$CFG_ARCH" = "macosx" -o "$XPLATFORM_MINGW" = "yes" ]; then
if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
CFG_DEBUG_RELEASE=yes
CFG_DEBUG=yes
elif [ "$CFG_DEV" = "yes" ]; then
@ -3184,7 +3170,7 @@ if [ '!' -z "$CFG_SDK" ]; then
fi
# find the default framework value
if [ "$CFG_ARCH" = "macosx" ]; then
if [ "$PLATFORM_MAC" = "yes" ]; then
if [ "$CFG_FRAMEWORK" = "auto" ]; then
CFG_FRAMEWORK="$CFG_SHARED"
elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
@ -3306,7 +3292,7 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
fi
# find the default framework value
if [ "$CFG_ARCH" = "macosx" ]; then
if [ "$PLATFORM_MAC" = "yes" ]; then
if [ "$CFG_FRAMEWORK" = "auto" ]; then
CFG_FRAMEWORK="$CFG_SHARED"
elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
@ -5828,7 +5814,7 @@ fi
if [ "$PLATFORM_QPA" = "yes" ]; then
# auto-detect OpenGL support (es2 = OpenGL ES 2.x)
if [ "$CFG_ARCH" = "macosx" ]; then
if [ "$PLATFORM_MAC" = "yes" ]; then
CFG_OPENGL=desktop
elif [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
@ -6549,7 +6535,7 @@ if [ "$CFG_MAC_DWARF2" = "yes" ]; then
fi
# Set the default arch if there are no "-arch" arguments on the configure line
if [ "$CFG_ARCH" = "macosx" ] && [ "$CFG_MAC_ARCHS" = "" ]; then
if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" = "" ]; then
source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
[ "$OPT_VERBOSE" = "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
@ -6701,7 +6687,7 @@ fi
[ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
[ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
[ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
[ "$CFG_ARCH" = "macosx" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
[ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
QT_CONFIG="$QT_CONFIG clock-gettime"
fi
@ -6864,7 +6850,7 @@ fi
[ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
[ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
if [ "$CFG_ARCH" = "macosx" ]; then
if [ "$PLATFORM_MAC" = "yes" ]; then
if [ "$CFG_RPATH" = "yes" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
fi
@ -7172,7 +7158,7 @@ fi
case "$CFG_ARCH" in
i386|x86_64|arm|mips|macosx) ;;
i386|x86_64|arm|mips) ;;
*) canBuildV8="no";;
esac

View File

@ -4,7 +4,8 @@ win32:HEADERS += arch/qatomic_windows.h \
win32-g++*:HEADERS += arch/qatomic_i386.h \
arch/qatomic_x86_64.h
mac:HEADERS += arch/qatomic_macosx.h \
mac:HEADERS += arch/qatomic_i386.h \
arch/qatomic_x86_64.h \
arch/qatomic_generic.h
vxworks:HEADERS += arch/qatomic_vxworks.h

View File

@ -1,6 +0,0 @@
#
# Mac OS X architecture
#
# Left blank intentionally since all the current compilers that we support can
# handle in-line assembly.

View File

@ -1,169 +0,0 @@
;/****************************************************************************
;**
;** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
;** All rights reserved.
;** Contact: http://www.qt-project.org/
;**
;** This file is part of the QtGui module of the Qt Toolkit.
;**
;** $QT_BEGIN_LICENSE:LGPL$
;** GNU Lesser General Public License Usage
;** This file may be used under the terms of the GNU Lesser General Public
;** License version 2.1 as published by the Free Software Foundation and
;** appearing in the file LICENSE.LGPL included in the packaging of this
;** file. Please review the following information to ensure the GNU Lesser
;** General Public License version 2.1 requirements will be met:
;** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
;**
;** In addition, as a special exception, Nokia gives you certain additional
;** rights. These rights are described in the Nokia Qt LGPL Exception
;** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
;**
;** GNU General Public License Usage
;** Alternatively, this file may be used under the terms of the GNU General
;** Public License version 3.0 as published by the Free Software Foundation
;** and appearing in the file LICENSE.GPL included in the packaging of this
;** file. Please review the following information to ensure the GNU General
;** Public License version 3.0 requirements will be met:
;** http://www.gnu.org/copyleft/gpl.html.
;**
;** Other Usage
;** Alternatively, this file may be used in accordance with the terms and
;** conditions contained in a signed written agreement between you and Nokia.
;**
;**
;**
;**
;**
;** $QT_END_LICENSE$
;**
;****************************************************************************/
.section __TEXT,__text,regular,pure_instructions
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.section __TEXT,__text,regular,pure_instructions
.align 2
.align 2
.globl _q_atomic_test_and_set_int
.section __TEXT,__text,regular,pure_instructions
.align 2
_q_atomic_test_and_set_int:
lwarx r6,0,r3
cmpw r6,r4
bne- $+20
stwcx. r5,0,r3
bne- $-16
addi r3,0,1
blr
addi r3,0,0
blr
.align 2
.globl _q_atomic_test_and_set_acquire_int
.section __TEXT,__text,regular,pure_instructions
.align 2
_q_atomic_test_and_set_acquire_int:
lwarx r6,0,r3
cmpw r6,r4
bne- $+20
stwcx. r5,0,r3
bne- $-16
addi r3,0,1
b $+8
addi r3,0,0
eieio
blr
.align 2
.globl _q_atomic_test_and_set_release_int
.section __TEXT,__text,regular,pure_instructions
.align 2
_q_atomic_test_and_set_release_int:
eieio
lwarx r6,0,r3
cmpw r6,r4
bne- $+20
stwcx. r5,0,r3
bne- $-16
addi r3,0,1
blr
addi r3,0,0
blr
.align 2
.globl _q_atomic_test_and_set_ptr
.section __TEXT,__text,regular,pure_instructions
.align 2
_q_atomic_test_and_set_ptr:
lwarx r6,0,r3
cmpw r6,r4
bne- $+20
stwcx. r5,0,r3
bne- $-16
addi r3,0,1
blr
addi r3,0,0
blr
.align 2
.globl _q_atomic_increment
.section __TEXT,__text,regular,pure_instructions
.align 2
_q_atomic_increment:
lwarx r4,0,r3
addi r4,r4,1
stwcx. r4,0,r3
bne- $-12
mr r3,r4
blr
.align 2
.globl _q_atomic_decrement
.section __TEXT,__text,regular,pure_instructions
.align 2
_q_atomic_decrement:
lwarx r4,0,r3
subi r4,r4,1
stwcx. r4,0,r3
bne- $-12
mr r3,r4
blr
.align 2
.globl _q_atomic_set_int
.section __TEXT,__text,regular,pure_instructions
.align 2
_q_atomic_set_int:
lwarx r5,0,r3
stwcx. r4,0,r3
bne- $-8
mr r3,r5
blr
.align 2
.globl _q_atomic_set_ptr
.section __TEXT,__text,regular,pure_instructions
.align 2
_q_atomic_set_ptr:
lwarx r5,0,r3
stwcx. r4,0,r3
bne- $-8
mr r3,r5
blr
.globl q_atomic_test_and_set_int.eh
q_atomic_test_and_set_int.eh = 0
.globl q_atomic_test_and_set_ptr.eh
q_atomic_test_and_set_ptr.eh = 0
.globl q_atomic_increment.eh
q_atomic_increment.eh = 0
.globl q_atomic_decrement.eh
q_atomic_decrement.eh = 0
.globl q_atomic_set_int.eh
q_atomic_set_int.eh = 0
.globl q_atomic_set_ptr.eh
q_atomic_set_ptr.eh = 0
.data
.constructor
.data
.destructor
.align 1

View File

@ -1,57 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: http://www.qt-project.org/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef QATOMIC_MACOSX_H
#define QATOMIC_MACOSX_H
QT_BEGIN_HEADER
#if defined(__x86_64__)
# include <QtCore/qatomic_x86_64.h>
#elif defined(__i386__)
# include <QtCore/qatomic_i386.h>
#else // !__x86_64 && !__i386__
# include <QtCore/qatomic_powerpc.h>
#endif // !__x86_64__ && !__i386__
QT_END_HEADER
#endif // QATOMIC_MACOSX_H