Quantcast

cxx11-1.1 & gcc

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

cxx11-1.1 & gcc

Mojca Miklavec-2
Dear Marcus,

After you did the changes in cmake 1.1 I discovered the following in your port:


# see https://lists.gnu.org/archive/html/octave-maintainers/2016-05/msg00286.html
#PortGroup           cxx11 1.0
# Octave requires c++-11 but can not use cxx11 PortGroup because Octave also
#    requires fortran from gcc
# Compilers supporting C++11 are GCC >= 4.6 and clang >= 3.3.
# See https://trac.macports.org/ticket/53044 for restricting clang
versions further
PortGroup compiler_blacklist_versions 1.0
compiler.blacklist-append   {*gcc-3*} {*gcc-4.[0-6]} {clang < 700} cc

... followed by some way more complex code.

Since the number of ports using the new cxx11-1.0 PG is still pretty
low and thus the changes would not affect too many ports (and
hopefully not break any of them), I was wondering if it would make
sense to try incorporating some of code from octave to that PortGroup,
so that ports that need Fortran could just include the PortGroup and
be done with it.

What I mean is adding a slightly less aggressive blacklisting of gcc
compilers and allow gcc >= 4.7 under some special circumstances.

I don't know if that's doable or reasonable, it's just a thought.

I'll keep testing your idea of linking against gcc's stdlib.

Mojca
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: cxx11-1.1 & gcc

Marcus Calhoun-Lopez-2
My current plan for octave is essentially:
    PortGroup           compilers  1.0
    PortGroup           cxx11 1.1
    compiler.blacklist-delete *gcc*
    compilers.setup ...

This seems reasonable for the probably small number of ports that are isolated enough
to use GCC even when configure.cxx_stdlib is libc++.

So far, I haven’t run into any problems, but the buildbots have not had a chance to prove
me wrong yet.

Thanks,
Marcus

> On Feb 23, 2017, at 3:26 AM, Mojca Miklavec <[hidden email]> wrote:
>
> Dear Marcus,
>
> After you did the changes in cmake 1.1 I discovered the following in your port:
>
>
> # see https://lists.gnu.org/archive/html/octave-maintainers/2016-05/msg00286.html
> #PortGroup           cxx11 1.0
> # Octave requires c++-11 but can not use cxx11 PortGroup because Octave also
> #    requires fortran from gcc
> # Compilers supporting C++11 are GCC >= 4.6 and clang >= 3.3.
> # See https://trac.macports.org/ticket/53044 for restricting clang
> versions further
> PortGroup compiler_blacklist_versions 1.0
> compiler.blacklist-append   {*gcc-3*} {*gcc-4.[0-6]} {clang < 700} cc
>
> ... followed by some way more complex code.
>
> Since the number of ports using the new cxx11-1.0 PG is still pretty
> low and thus the changes would not affect too many ports (and
> hopefully not break any of them), I was wondering if it would make
> sense to try incorporating some of code from octave to that PortGroup,
> so that ports that need Fortran could just include the PortGroup and
> be done with it.
>
> What I mean is adding a slightly less aggressive blacklisting of gcc
> compilers and allow gcc >= 4.7 under some special circumstances.
>
> I don't know if that's doable or reasonable, it's just a thought.
>
> I'll keep testing your idea of linking against gcc's stdlib.
>
> Mojca

Loading...