Skip site navigation (1)Skip section navigation (2)
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>