svn commit: r383631 - in head/graphics/OpenEXR: . files
Dmitry Marakasov
amdmi3 at FreeBSD.org
Thu Apr 9 09:59:41 UTC 2015
Author: amdmi3
Date: Thu Apr 9 09:59:39 2015
New Revision: 383631
URL: https://svnweb.freebsd.org/changeset/ports/383631
Log:
- Fix build with base gcc on 8.x and 9.x, remove USE_GCC
PR: 196712
Approved by: mandree (maintainer)
Added:
head/graphics/OpenEXR/files/patch-IlmImf_ImfFastHuf.cpp (contents, props changed)
Modified:
head/graphics/OpenEXR/Makefile
head/graphics/OpenEXR/files/patch-IlmImf__ImfSystemSpecific.cpp
Modified: head/graphics/OpenEXR/Makefile
==============================================================================
--- head/graphics/OpenEXR/Makefile Thu Apr 9 09:45:34 2015 (r383630)
+++ head/graphics/OpenEXR/Makefile Thu Apr 9 09:59:39 2015 (r383631)
@@ -3,7 +3,7 @@
PORTNAME= OpenEXR
PORTVERSION= 2.2.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics devel
MASTER_SITES= SAVANNAH/openexr/:dist \
LOCAL/mandree/:test
@@ -49,13 +49,6 @@ LARGE_STACK_CONFIGURE_ENABLE= large-stac
.include <bsd.port.pre.mk>
-# If default compiler is GCC, upgrade it because
-# g++ 4.2 is too old to auto-upgrade 0xffffffffffffffffl to
-# a long long integer constant - and has likely more issues.
-.if ${COMPILER_TYPE} == gcc
-USE_GCC= yes
-.endif
-
MAJORVER= 2_2
VER= 22
Added: head/graphics/OpenEXR/files/patch-IlmImf_ImfFastHuf.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/OpenEXR/files/patch-IlmImf_ImfFastHuf.cpp Thu Apr 9 09:59:39 2015 (r383631)
@@ -0,0 +1,47 @@
+--- IlmImf/ImfFastHuf.cpp.orig 2014-08-10 08:23:56.000000000 +0400
++++ IlmImf/ImfFastHuf.cpp 2015-04-08 00:10:07.536640000 +0300
+@@ -107,7 +107,7 @@
+ for (int i = 0; i <= MAX_CODE_LEN; ++i)
+ {
+ codeCount[i] = 0;
+- base[i] = 0xffffffffffffffffL;
++ base[i] = 0xffffffffffffffffULL;
+ offset[i] = 0;
+ }
+
+@@ -352,7 +352,7 @@
+
+ for (int i = 0; i <= MAX_CODE_LEN; ++i)
+ {
+- if (base[i] != 0xffffffffffffffffL)
++ if (base[i] != 0xffffffffffffffffULL)
+ {
+ _ljBase[i] = base[i] << (64 - i);
+ }
+@@ -362,7 +362,7 @@
+ // Unused code length - insert dummy values
+ //
+
+- _ljBase[i] = 0xffffffffffffffffL;
++ _ljBase[i] = 0xffffffffffffffffULL;
+ }
+ }
+
+@@ -417,7 +417,7 @@
+
+ int minIdx = TABLE_LOOKUP_BITS;
+
+- while (minIdx > 0 && _ljBase[minIdx] == 0xffffffffffffffffL)
++ while (minIdx > 0 && _ljBase[minIdx] == 0xffffffffffffffffULL)
+ minIdx--;
+
+ if (minIdx < 0)
+@@ -427,7 +427,7 @@
+ // Set the min value such that the table is never tested.
+ //
+
+- _tableMin = 0xffffffffffffffffL;
++ _tableMin = 0xffffffffffffffffULL;
+ }
+ else
+ {
Modified: head/graphics/OpenEXR/files/patch-IlmImf__ImfSystemSpecific.cpp
==============================================================================
--- head/graphics/OpenEXR/files/patch-IlmImf__ImfSystemSpecific.cpp Thu Apr 9 09:45:34 2015 (r383630)
+++ head/graphics/OpenEXR/files/patch-IlmImf__ImfSystemSpecific.cpp Thu Apr 9 09:59:39 2015 (r383631)
@@ -1,25 +1,29 @@
---- IlmImf/ImfSystemSpecific.cpp.orig 2014-08-10 04:23:57 UTC
-+++ IlmImf/ImfSystemSpecific.cpp
-@@ -35,6 +35,9 @@
- #include "ImfSystemSpecific.h"
- #include "ImfNamespace.h"
- #include "OpenEXRConfig.h"
-+#if defined(IMF_HAVE_SSE2) && defined(__GNUC__)
-+#include <cpuid.h>
-+#endif
-
- OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER
-
-@@ -44,11 +47,7 @@ namespace {
+--- IlmImf/ImfSystemSpecific.cpp.orig 2014-08-10 08:23:57.000000000 +0400
++++ IlmImf/ImfSystemSpecific.cpp 2015-04-09 00:08:50.100958000 +0300
+@@ -44,11 +44,23 @@
// Helper functions for gcc + SSE enabled
void cpuid(int n, int &eax, int &ebx, int &ecx, int &edx)
{
-- __asm__ __volatile__ (
++#if __i386__
+ __asm__ __volatile__ (
- "cpuid"
- : /* Output */ "=a"(eax), "=b"(ebx), "=c"(ecx), "=d"(edx)
- : /* Input */ "a"(n)
-- : /* Clobber */);
-+ __cpuid(n, eax, ebx, ecx, edx);
++ "xchgl %%ebx,%k1\n"
++ "cpuid\n"
++ "xchgl %%ebx,%k1" \
++ : /* Output */ "=a"(eax), "=&r"(ebx), "=c"(ecx), "=d"(edx)
++ : /* Input */ "0"(n)
+ : /* Clobber */);
++#else
++ __asm__ __volatile__ (
++ "xchgq %%rbx,%q1\n"
++ "cpuid\n"
++ "xchgq %%rbx,%q1" \
++ : /* Output */ "=a"(eax), "=&r"(ebx), "=c"(ecx), "=d"(edx)
++ : /* Input */ "0"(n)
++ : /* Clobber */);
++#endif
}
#else // IMF_HAVE_SSE2 && __GNUC__
More information about the svn-ports-all
mailing list