tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: GCC g++ 4.4.7 does not accept -std=c++03



Hi,

Jonathan Perkin <jperkin%joyent.com@localhost> writes:

> * On 2019-06-28 at 16:41 BST, Ryo ONODERA wrote:
>
>> +.for _version_ in ${_CXX_STD_VERSIONS}
>> +_CXX_STD_FLAG.${_version_}?=	-std=${_version_}
>> +.  if !empty(_GCC_VERSION:M[34].[1234].*)
>> +_CXX_STD_FLAG.c++03?=	-std=c++0x
>> +_CXX_STD_FLAG.gnu++03?=	-std=gnu++0x
>> +.  endif
>> +.endfor
>
> This won't work, the latter ?= will never be set as you already set
> the variable.

Exactly. It is my mistake and should not work.
However I could get intended value from _CXX_STD_FLAG.c++03 and .gnu++03.

Anyway I will test the following revised patch.

Index: mk/compiler.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/compiler.mk,v
retrieving revision 1.92
diff -u -r1.92 compiler.mk
--- mk/compiler.mk	26 Jun 2019 00:22:56 -0000	1.92
+++ mk/compiler.mk	28 Jun 2019 15:55:28 -0000
@@ -83,7 +83,8 @@
 USE_LANGUAGES+=	c
 .endif
 
-.for _version_ in gnu++14 c++14 gnu++11 c++11 gnu++0x c++0x gnu++03 c++03
+_CXX_STD_VERSIONS=	gnu++14 c++14 gnu++11 c++11 gnu++0x c++0x gnu++03 c++03
+.for _version_ in ${_CXX_STD_VERSIONS}
 .  if !empty(USE_LANGUAGES:M${_version_})
 USE_LANGUAGES+=		c++
 .  endif
@@ -177,11 +178,11 @@
 # the respective mk/compiler/*.mk files.
 #
 _CXX_VERSION_REQD=
-.for _version_ in gnu++14 c++14 gnu++11 c++11 gnu++0x c++0x gnu++03 c++03
+.for _version_ in ${_CXX_STD_VERSIONS}
 .  if empty(_CXX_VERSION_REQD) && !empty(USE_LANGUAGES:M${_version_})
 _CXX_VERSION_REQD=	${_version_}
-_WRAP_EXTRA_ARGS.CXX+=	-std=${_CXX_VERSION_REQD}
-CWRAPPERS_PREPEND.cxx+=	-std=${_CXX_VERSION_REQD}
+_WRAP_EXTRA_ARGS.CXX+=	${_CXX_STD_FLAG.${_CXX_VERSION_REQD}}
+CWRAPPERS_PREPEND.cxx+=	${_CXX_STD_FLAG.${_CXX_VERSION_REQD}}
 .  endif
 .endfor
 
Index: mk/compiler/clang.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/compiler/clang.mk,v
retrieving revision 1.20
diff -u -r1.20 clang.mk
--- mk/compiler/clang.mk	9 Jan 2019 13:19:03 -0000	1.20
+++ mk/compiler/clang.mk	28 Jun 2019 15:55:28 -0000
@@ -95,4 +95,8 @@
 _WRAP_EXTRA_ARGS.CXX+=	-Qunused-arguments
 CWRAPPERS_APPEND.cxx+=	-Qunused-arguments
 
+.for _version_ in ${_CXX_STD_VERSIONS}
+_CXX_STD_FLAG.${_version_}?=	-std=${_version_}
+.endfor
+
 .endif	# COMPILER_CLANG_MK
Index: mk/compiler/gcc.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/compiler/gcc.mk,v
retrieving revision 1.198
diff -u -r1.198 gcc.mk
--- mk/compiler/gcc.mk	12 Nov 2018 14:22:58 -0000	1.198
+++ mk/compiler/gcc.mk	28 Jun 2019 15:55:28 -0000
@@ -185,6 +185,14 @@
 .endif
 _GCC_PKG=	gcc-${_GCC_VERSION:C/-.*$//}
 
+.for _version_ in ${_CXX_STD_VERSIONS}
+_CXX_STD_FLAG.${_version_}?=	-std=${_version_}
+.  if !empty(_GCC_VERSION:M[34].[1234].*)
+_CXX_STD_FLAG.c++03=	-std=c++0x
+_CXX_STD_FLAG.gnu++03=	-std=gnu++0x
+.  endif
+.endfor
+
 .if !empty(_CC:M${LOCALBASE}/*)
 _IS_BUILTIN_GCC=	NO
 GCC_REQD+=		${_GCC_VERSION}


Thank you.

> -- 
> Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com

-- 
Ryo ONODERA // ryo%tetera.org@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


Home | Main Index | Thread Index | Old Index