aboutsummaryrefslogtreecommitdiff
path: root/devel/ice
diff options
context:
space:
mode:
authorMichael Gmelin <grembo@FreeBSD.org>2017-01-30 22:29:23 +0000
committerMichael Gmelin <grembo@FreeBSD.org>2017-01-30 22:29:23 +0000
commita0eac7f8c4aacffa89598ad571c8ab23480b8116 (patch)
treec91b9ef356282af4394b33792d960a4e00919852 /devel/ice
parent104700fa67fdf4e736a5ecd178ada004e394e418 (diff)
downloadports-a0eac7f8c4aacffa89598ad571c8ab23480b8116.tar.gz
ports-a0eac7f8c4aacffa89598ad571c8ab23480b8116.zip
Fix 64-bit platform detection for pre C++11 compilers.
In version 3.6.3, Ice started detecting 64 bit platforms by checking __WORDSIZE. When using C++98/03, __STDC_LIMIT_MACROS isn't set by default and __WORDSIZE is always set to 32, even if the required headers weren't included beforehand. Until a proper fix is available in base (e.g. not setting __WORDSIZE at all if __STDC_LIMIT_MACROS isn't defined), we detect if C++11 or newer is used and only rely on __WORDSIZE in this case, otherwise we fall back to detecting the platform using other macros. PR: 216609 Reported by: jbeich
Notes
Notes: svn path=/head/; revision=432888
Diffstat (limited to 'devel/ice')
-rw-r--r--devel/ice/Makefile2
-rw-r--r--devel/ice/files/patch-cpp-include-IceUtil-Config.h24
2 files changed, 22 insertions, 4 deletions
diff --git a/devel/ice/Makefile b/devel/ice/Makefile
index 878e55509b6e..aa8a5d423a65 100644
--- a/devel/ice/Makefile
+++ b/devel/ice/Makefile
@@ -3,7 +3,7 @@
PORTNAME= Ice
PORTVERSION= 3.6.3
-PORTREVISION= 1
+PORTREVISION= 2
DISTVERSIONPREFIX= v
CATEGORIES= devel
diff --git a/devel/ice/files/patch-cpp-include-IceUtil-Config.h b/devel/ice/files/patch-cpp-include-IceUtil-Config.h
index 79047cf87788..677e339779ae 100644
--- a/devel/ice/files/patch-cpp-include-IceUtil-Config.h
+++ b/devel/ice/files/patch-cpp-include-IceUtil-Config.h
@@ -1,6 +1,24 @@
---- cpp/include/IceUtil/Config.h.orig 2015-06-27 15:37:32.688102665 +0000
-+++ cpp/include/IceUtil/Config.h 2015-06-27 15:37:34.926179135 +0000
-@@ -49,6 +49,16 @@
+--- cpp/include/IceUtil/Config.h.orig 2016-10-05 16:59:08.000000000 +0200
++++ cpp/include/IceUtil/Config.h 2017-01-30 22:11:08.235308977 +0100
+@@ -80,13 +80,15 @@
+ //
+ # include <stdint.h>
+
+-# if defined(__WORDSIZE) && (__WORDSIZE == 64)
++# if (__cplusplus >= 201103L) && defined(__WORDSIZE) && (__WORDSIZE == 64)
+ # define ICE_64
+-# elif defined(__WORDSIZE) && (__WORDSIZE == 32)
++# elif (__cplusplus >= 201103L) && defined(__WORDSIZE) && (__WORDSIZE == 32)
+ # define ICE_32
+ # elif defined(__sun) && (defined(__sparcv9) || defined(__x86_64)) || \
+ defined(__linux) && defined(__x86_64) || \
+ defined(__APPLE__) && defined(__x86_64) || \
++ defined(__FreeBSD__) && defined(__x86_64) || \
++ defined(__FreeBSD__) && defined(__LP64__) || \
+ defined(__hppa) && defined(__LP64__) || \
+ defined(_ARCH_COM) && defined(__64BIT__) || \
+ defined(__alpha__) || \
+@@ -98,6 +100,16 @@
#endif
//