diff options
author | fhajny <fhajny@pkgsrc.org> | 2012-07-29 11:26:54 +0000 |
---|---|---|
committer | fhajny <fhajny@pkgsrc.org> | 2012-07-29 11:26:54 +0000 |
commit | 61dae3812f264d97b5a5acbb382ca74c3304cbb5 (patch) | |
tree | aa0ab2cc56b017114c41e7e49831917df18e1076 /devel/poco | |
parent | 383c4fef3da670995ca0c440a00984de592c0a3e (diff) | |
download | pkgsrc-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.
Diffstat (limited to 'devel/poco')
-rw-r--r-- | devel/poco/Makefile.common | 10 | ||||
-rw-r--r-- | devel/poco/distinfo | 6 | ||||
-rw-r--r-- | devel/poco/patches/patch-Foundation_src_SharedMemory.cpp | 18 | ||||
-rw-r--r-- | devel/poco/patches/patch-build_config_SunOS-GCC | 21 |
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 |