mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-18 19:49:40 +00:00
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
This commit is contained in:
parent
104700fa67
commit
a0eac7f8c4
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=432888
11
UPDATING
11
UPDATING
@ -5,6 +5,17 @@ they are unavoidable.
|
||||
You should get into the habit of checking this file for changes each time
|
||||
you update your ports collection, before attempting any port upgrades.
|
||||
|
||||
20170130:
|
||||
AFFECTS: users of devel/ice, devel/py-ice, devel/php5-ice
|
||||
AUTHOR: grembo@FreeBSD.org
|
||||
|
||||
Since __WORDSIZE as defined by <stdint.h> always reports 32 when using
|
||||
C++98/03 (unless __STDC_LIMIT_MACROS is set explictly), Ice 3.6.3 used
|
||||
"long long" for Int64 instead of "long" on 64-bit platforms by mistake.
|
||||
A workaround has been added in version 3.6.3_2 of these three ports,
|
||||
requiring to upgrade all of them at the same time and to rebuild all
|
||||
custom code that links against them.
|
||||
|
||||
20170129:
|
||||
AFFECTS: users of multimedia/motion
|
||||
AUTHOR: jhale@FreeBSD.org
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= Ice
|
||||
PORTVERSION= 3.6.3
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
DISTVERSIONPREFIX= v
|
||||
CATEGORIES= devel
|
||||
|
||||
|
@ -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
|
||||
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user