Date: Mon, 30 Jan 2017 22:29:24 +0000 (UTC) From: Michael Gmelin <grembo@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r432888 - in head: . devel/ice devel/ice/files Message-ID: <201701302229.v0UMTOad002306@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: grembo Date: Mon Jan 30 22:29:23 2017 New Revision: 432888 URL: https://svnweb.freebsd.org/changeset/ports/432888 Log: 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 Modified: head/UPDATING head/devel/ice/Makefile head/devel/ice/files/patch-cpp-include-IceUtil-Config.h Modified: head/UPDATING ============================================================================== --- head/UPDATING Mon Jan 30 22:09:49 2017 (r432887) +++ head/UPDATING Mon Jan 30 22:29:23 2017 (r432888) @@ -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 Modified: head/devel/ice/Makefile ============================================================================== --- head/devel/ice/Makefile Mon Jan 30 22:09:49 2017 (r432887) +++ head/devel/ice/Makefile Mon Jan 30 22:29:23 2017 (r432888) @@ -3,7 +3,7 @@ PORTNAME= Ice PORTVERSION= 3.6.3 -PORTREVISION= 1 +PORTREVISION= 2 DISTVERSIONPREFIX= v CATEGORIES= devel Modified: head/devel/ice/files/patch-cpp-include-IceUtil-Config.h ============================================================================== --- head/devel/ice/files/patch-cpp-include-IceUtil-Config.h Mon Jan 30 22:09:49 2017 (r432887) +++ head/devel/ice/files/patch-cpp-include-IceUtil-Config.h Mon Jan 30 22:29:23 2017 (r432888) @@ -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 //
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701302229.v0UMTOad002306>