diff options
author | rakuco <rakuco@FreeBSD.org> | 2013-05-12 01:31:45 +0800 |
---|---|---|
committer | rakuco <rakuco@FreeBSD.org> | 2013-05-12 01:31:45 +0800 |
commit | cf3531ebb2fa3f8246cfbbe5ad530da619f62b90 (patch) | |
tree | d12a25f3b87a5b802b5f262e8a61ca7379b033e9 /devel/qt4-corelib | |
parent | 5628835b6f4fe27fa005f4932f6c17e7957cb862 (diff) | |
download | freebsd-ports-gnome-cf3531ebb2fa3f8246cfbbe5ad530da619f62b90.tar.gz freebsd-ports-gnome-cf3531ebb2fa3f8246cfbbe5ad530da619f62b90.tar.zst freebsd-ports-gnome-cf3531ebb2fa3f8246cfbbe5ad530da619f62b90.zip |
Import my upstream commit to fix the detection of 3dNOW! support.
The patch was originally written by dim@ and fixes the way Qt includes the
<mm3dnow.h> header. See the upstream commits' message for more information.
Practically speaking, this should make the Qt ports build with clang on i386
again, and allows us to revert commits r316233, r316348 and r316341: miwi
was very laconic in his commit messages, but the changes all point to the
issue being fixed here.
Submitted by: dim
Diffstat (limited to 'devel/qt4-corelib')
-rw-r--r-- | devel/qt4-corelib/Makefile | 3 | ||||
-rw-r--r-- | devel/qt4-corelib/files/patch-git_ccd1b2ee | 35 |
2 files changed, 36 insertions, 2 deletions
diff --git a/devel/qt4-corelib/Makefile b/devel/qt4-corelib/Makefile index 997f6a35df01..20d25aa7324b 100644 --- a/devel/qt4-corelib/Makefile +++ b/devel/qt4-corelib/Makefile @@ -3,7 +3,7 @@ PORTNAME= corelib DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES?= devel PKGNAMEPREFIX= qt4- @@ -14,7 +14,6 @@ LIB_DEPENDS= icui18n:${PORTSDIR}/devel/icu USES= pkgconfig USE_GNOME= _glib20 -USE_GCC= any USE_QT4= qmake_build moc_build QT_NONSTANDARD= yes QT_DIST= yes diff --git a/devel/qt4-corelib/files/patch-git_ccd1b2ee b/devel/qt4-corelib/files/patch-git_ccd1b2ee new file mode 100644 index 000000000000..a545ee951984 --- /dev/null +++ b/devel/qt4-corelib/files/patch-git_ccd1b2ee @@ -0,0 +1,35 @@ +commit ccd1b2ee01c193cd157978c1f9f08f87d0f9c94b +Author: Raphael Kubo da Costa <rakuco@FreeBSD.org> +Date: Fri May 10 01:40:23 2013 +0300 + + Check that 3DNow! instructions are supported before including mm3dnow.h. + + Include mm3dnow.h the way we already include the (S)SSE{3,4} and AVX + instruction headers: by checking that the compiler is set to support those + instructions besides verifying that QT_HAVE_3DNOW evalues to true (which + only means the compiler supported them when the build was being configured). + + This has not caused a problem in most cases so far because GCC protects its + mm3dnow.h header with an #ifdef __3dNOW__ (contrary to what it does on, say, + pmmintrin.h). clang's mm3dnow.h, on the other hand, does not have that check + and can fail if -march is set to, for example, i386 or i486. + + Not backported from qt5 because qtbase because qsimd_p.h does not include + the 3DNow! headers after commit a1b30b49ef09bef2e97b9a0622bf7ad622678fee. + + Change-Id: I15ab5e936c71c55f89c3f25777ab27fbd262e9cd + Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> + +diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h +index 87e26e1..6a32e8f 100644 +--- ./src/corelib/tools/qsimd_p.h ++++ ./src/corelib/tools/qsimd_p.h +@@ -199,7 +199,7 @@ QT_BEGIN_HEADER + #endif + + // 3D now intrinsics +-#if defined(QT_HAVE_3DNOW) ++#if defined(QT_HAVE_3DNOW) && (defined(__3dNOW__) || defined(Q_CC_MSVC)) + #include <mm3dnow.h> + #endif + |