aboutsummaryrefslogtreecommitdiffstats
path: root/devel/qt4-corelib
diff options
context:
space:
mode:
authorrakuco <rakuco@FreeBSD.org>2013-05-12 01:31:45 +0800
committerrakuco <rakuco@FreeBSD.org>2013-05-12 01:31:45 +0800
commitcf3531ebb2fa3f8246cfbbe5ad530da619f62b90 (patch)
treed12a25f3b87a5b802b5f262e8a61ca7379b033e9 /devel/qt4-corelib
parent5628835b6f4fe27fa005f4932f6c17e7957cb862 (diff)
downloadfreebsd-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/Makefile3
-rw-r--r--devel/qt4-corelib/files/patch-git_ccd1b2ee35
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
+