summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfhajny <fhajny@pkgsrc.org>2012-07-29 11:26:54 +0000
committerfhajny <fhajny@pkgsrc.org>2012-07-29 11:26:54 +0000
commit61dae3812f264d97b5a5acbb382ca74c3304cbb5 (patch)
treeaa0ab2cc56b017114c41e7e49831917df18e1076
parent383c4fef3da670995ca0c440a00984de592c0a3e (diff)
downloadpkgsrc-61dae3812f264d97b5a5acbb382ca74c3304cbb5.tar.gz
Fix the C99 problem on SunOS properly.
GCC 4.6 and newer on SunOS will force C99 with C++, which requires _XOPEN_SOURCE=600 to be set. On the other hand, GCC 4.5 and earlier will require C99 for _XOPEN_SOURCE=600, but reject C99 for C++ code. Set _XOPEN_SOURCE to 500 or 600 accordingly.
-rw-r--r--devel/poco/Makefile.common10
-rw-r--r--devel/poco/distinfo6
-rw-r--r--devel/poco/patches/patch-Foundation_src_SharedMemory.cpp18
-rw-r--r--devel/poco/patches/patch-build_config_SunOS-GCC21
4 files changed, 35 insertions, 20 deletions
diff --git a/devel/poco/Makefile.common b/devel/poco/Makefile.common
index 7937be54692..34de0458ec4 100644
--- a/devel/poco/Makefile.common
+++ b/devel/poco/Makefile.common
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.6 2012/06/11 12:40:31 fhajny Exp $
+# $NetBSD: Makefile.common,v 1.7 2012/07/29 11:26:54 fhajny Exp $
#
# used by devel/poco/Makefile
# used by databases/poco-data/Makefile
@@ -46,9 +46,11 @@ CONFIGURE_ARGS+= --no-sharedmemory
CONFIGURE_ARGS+= --config=SunOS-SunStudio
. elif ${PKGSRC_COMPILER} == "gcc"
CONFIGURE_ARGS+= --config=SunOS-GCC
-. if !empty(MACHINE_PLATFORM:MSunOS-5.1[0-9]-*) && \
- !empty(CC_VERSION:Mgcc-4.[6-9].*)
-USE_LANGUAGES= c c++ c99
+# GCC 4.6 and newer forces c99 for C++, need _XOPEN_SOURCE=600
+. if !empty(CC_VERSION:Mgcc-4.[6-9].*)
+MAKE_ENV+= XOPEN_SOURCE=600
+. else
+MAKE_ENV+= XOPEN_SOURCE=500
. endif
. else
CONFIGURE_ARGS+= --config=SunOS
diff --git a/devel/poco/distinfo b/devel/poco/distinfo
index 50a1e5bba24..1ca22ace941 100644
--- a/devel/poco/distinfo
+++ b/devel/poco/distinfo
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.7 2012/06/26 12:33:43 fhajny Exp $
+$NetBSD: distinfo,v 1.8 2012/07/29 11:26:54 fhajny Exp $
SHA1 (poco-1.4.2p1-all.tar.gz) = ef1bc69812179b7856c88aa4b5c157747c0a0e48
RMD160 (poco-1.4.2p1-all.tar.gz) = 8288c10e3e96de26f56296da0bbbebff58b8b424
Size (poco-1.4.2p1-all.tar.gz) = 3922854 bytes
SHA1 (patch-Foundation_include_Poco_Platform.h) = a7d81c20902af7e23ce8a10eb90fc1a98d7cc412
-SHA1 (patch-Foundation_src_SharedMemory.cpp) = fa73fa21d79934319b87ad980b0000a1efd873f0
+SHA1 (patch-Foundation_src_SharedMemory.cpp) = d0821acd31888369cb2d58cc78f02b061515a8da
SHA1 (patch-aa) = be1c72c9c63b65e8d4211abab9dd036255ed6233
SHA1 (patch-ab) = 0709ba35fe938f7efc94650dde4afd84c427de0f
SHA1 (patch-ac) = e3ee4b43e458f1ab1227aa029a00fcebf5f53541
@@ -15,4 +15,4 @@ SHA1 (patch-ag) = 945a594376393462e1cc0f881532d2294adf5816
SHA1 (patch-ah) = f8debbf7b416fc562f5af321be739e0d4481a130
SHA1 (patch-ai) = 9feef00a05372578d957c68b53657e6468f65f6a
SHA1 (patch-build_config_Linux) = ba79d12efeea09e0e24e0d95a457dcbce265cd75
-SHA1 (patch-build_config_SunOS-GCC) = 3ac6708099fb7a51d57fa443f5b94580a0c87a45
+SHA1 (patch-build_config_SunOS-GCC) = f9d7ecc44db9335882814c0a072af29fb4c8fd1d
diff --git a/devel/poco/patches/patch-Foundation_src_SharedMemory.cpp b/devel/poco/patches/patch-Foundation_src_SharedMemory.cpp
index 9a9a49a10fb..734904ef802 100644
--- a/devel/poco/patches/patch-Foundation_src_SharedMemory.cpp
+++ b/devel/poco/patches/patch-Foundation_src_SharedMemory.cpp
@@ -1,14 +1,14 @@
-$NetBSD: patch-Foundation_src_SharedMemory.cpp,v 1.1 2012/06/11 12:40:32 fhajny Exp $
+$NetBSD: patch-Foundation_src_SharedMemory.cpp,v 1.2 2012/07/29 11:26:54 fhajny Exp $
-_XOPEN_SOURCE=600 or higher is needed on SunOS and GCC>=4.6.
---- Foundation/src/SharedMemory.cpp.orig 2011-10-20 06:59:15.850534958 +0000
+Do not mangle _XOPEN_SOURCE when GCC is used, rely on CXXFLAGS instead.
+--- Foundation/src/SharedMemory.cpp.orig 2011-09-24 08:07:00.000000000 +0000
+++ Foundation/src/SharedMemory.cpp
-@@ -36,7 +36,7 @@
+@@ -34,7 +34,7 @@
+ //
- #if defined(__sun)
+
+-#if defined(__sun)
++#if defined(__sun) && !defined(__GNUC__)
#undef _XOPEN_SOURCE
--#define _XOPEN_SOURCE 500
-+#define _XOPEN_SOURCE 600
+ #define _XOPEN_SOURCE 500
#endif
-
-
diff --git a/devel/poco/patches/patch-build_config_SunOS-GCC b/devel/poco/patches/patch-build_config_SunOS-GCC
index ebe3a4cd432..1238d94945e 100644
--- a/devel/poco/patches/patch-build_config_SunOS-GCC
+++ b/devel/poco/patches/patch-build_config_SunOS-GCC
@@ -1,7 +1,7 @@
-$NetBSD: patch-build_config_SunOS-GCC,v 1.2 2012/06/26 12:33:43 fhajny Exp $
+$NetBSD: patch-build_config_SunOS-GCC,v 1.3 2012/07/29 11:26:54 fhajny Exp $
-_XOPEN_SOURCE=600 or higher is needed on SunOS and GCC>=4.6.
-Fix missing rpath on SunOS.
+Resolve a conflict on SunOS, where GCC>=4.6 will force C99 with C++
+and require _XOPEN_SOURCE=600, whereas GCC<4.6 will reject C99 with C++.
--- build/config/SunOS-GCC.orig 2011-09-24 08:06:59.000000000 +0000
+++ build/config/SunOS-GCC
@@ -21,6 +21,8 @@ LINK = $(CXX)
@@ -13,6 +13,19 @@ Fix missing rpath on SunOS.
SHLIBLN = $(POCO_BASE)/build/script/shlibln
STRIP = strip
DEP = $(POCO_BASE)/build/script/makedepend.gcc
+@@ -38,10 +40,10 @@ SHAREDLIBLINKEXT = .so
+ #
+ # Compiler and Linker Flags
+ #
+-CFLAGS =
++CFLAGS = -D_XOPEN_SOURCE=500
+ CFLAGS32 =
+ CFLAGS64 =
+-CXXFLAGS = -Wall -Wno-sign-compare
++CXXFLAGS = -Wall -Wno-sign-compare -D_XOPEN_SOURCE=$(XOPEN_SOURCE)
+ CXXFLAGS32 =
+ CXXFLAGS64 =
+ LINKFLAGS =
@@ -52,7 +54,7 @@ STATICOPT_CXX =
STATICOPT_LINK = -static
SHAREDOPT_CC = -fPIC
@@ -27,7 +40,7 @@ Fix missing rpath on SunOS.
# System Specific Flags
#
-SYSFLAGS = -D_XOPEN_SOURCE=500 -D_REENTRANT -D_THREAD_SAFE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
-+SYSFLAGS = -D_XOPEN_SOURCE=600 -D_REENTRANT -D_THREAD_SAFE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
++SYSFLAGS = -D_REENTRANT -D_THREAD_SAFE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
#
# System Specific Libraries