pkgsrc-Users archive

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

Re: USE_CXX_FEATURES



On 23/09/21 09:52AM, Patrick Welche wrote:
> Am I right in thinking that
> 
>   USE_CXX_FEATURES=	c++17
> 
> is "just" so that we pick a compiler that supports that variety of c++
> a la GCC_REQD, 

Yes, to my understanding, that's the case.

> but we still need a
> 
>   USE_LANGUAGES=	c++17
> to actually apply the -std=c++17 flag so it get used?

If the package doesn't append `-std=c++17' to CFLAGS on its own, but
requires it... yes this will allow it to build.
However, forcing a specific C/C++ standard through USE_LANGUAGES is
now deprecated in pkgsrc (and will likely become unsupported in future).
The proper way to do this in pkgsrc-trunk is:

FORCE_CXX_STD=  c++17

From mk/compiler.mk:

# FORCE_CXX_STD
#
#       Overrides the compiler's default C++ dialect to ensure that a
#       specific language variant is used.  This is useful if a package
#       uses features from a later or earlier C++ standard but doesn't set
#       -std=c++XX, since the default dialect choice of different compiler
#       versions is not consistent.  It is also useful if a package
#       wants to use GNU language extensions without setting -std=gnu++XX.
#
#       Valid values are: c++03, c++11, c++14, c++17, c++20, gnu++03,
#       gnu++11, gnu++17, gnu++20


I've already committed the change and tested the package on NetBSD
10.0_BETA. It builds fine. Thanks for reporting.

Kindest Regards,
PVO

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index