Date: Thu, 9 Apr 2015 09:59:40 +0000 (UTC) From: Dmitry Marakasov <amdmi3@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r383631 - in head/graphics/OpenEXR: . files Message-ID: <201504090959.t399xeIw006224@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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__
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504090959.t399xeIw006224>