[MacPorts] #56041: Update compiler selection for 10.6-10.8 with libc++

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[MacPorts] #56041: Update compiler selection for 10.6-10.8 with libc++

MacPorts
#56041: Update compiler selection for 10.6-10.8 with libc++
-------------------------+----------------------------
 Reporter:  jmroot       |      Owner:
     Type:  enhancement  |     Status:  new
 Priority:  Normal       |  Milestone:  MacPorts 2.5.0
Component:  base         |    Version:  2.4.2
 Keywords:               |       Port:
-------------------------+----------------------------
 For this configuration on these systems, we need to at least default
 configure.cxx to a compiler that can use libc++. We probably also need
 some bootstrap (libstdc++ using) versions of toolchain ports so that the
 manual intervention described in LibcxxOnOlderSystems is not required.

--
Ticket URL: <https://trac.macports.org/ticket/56041>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #56041: Update compiler selection for 10.6-10.8 with libc++

MacPorts
#56041: Update compiler selection for 10.6-10.8 with libc++
--------------------------+----------------------------
  Reporter:  jmroot       |      Owner:
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:  MacPorts 2.5.0
 Component:  base         |    Version:  2.4.2
Resolution:               |   Keywords:
      Port:               |
--------------------------+----------------------------

Comment (by ryandesign):

 Possibly related to #55444 and/or #56042.

--
Ticket URL: <https://trac.macports.org/ticket/56041#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #56041: Update compiler selection for 10.6-10.8 with libc++

MacPorts
In reply to this post by MacPorts
#56041: Update compiler selection for 10.6-10.8 with libc++
--------------------------+----------------------------
  Reporter:  jmroot       |      Owner:
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:  MacPorts 2.5.0
 Component:  base         |    Version:  2.4.2
Resolution:               |   Keywords:
      Port:               |
--------------------------+----------------------------

Comment (by kencu):

 how about something like this in `portconfigure.tcl`:

 {{{
     # Determine which versions of clang we prefer
     if {${configure.cxx_stdlib} eq "libc++"} {
         # clang-3.5+ require libc++
         lappend compilers macports-clang-5.0 macports-clang-4.0

         if {${os.major} < 17} {
             # The High Sierra SDK requires a toolchain that can apply
 nullability to uuid_t
             lappend compilers macports-clang-3.9
         }

         if {${os.major} < 16} {
             # The Sierra SDK requires a toolchain that supports class
 properties
             lappend compilers macports-clang-3.7
         }

 +        if {${os.major} < 13} {
 +            # for older systems configured to libc++, return a current
 clang version
 +            return clang-5.0 clang-4.0 clang-3.9
 +        }


     }
 }}}

--
Ticket URL: <https://trac.macports.org/ticket/56041#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #56041: Update compiler selection for 10.6-10.8 with libc++

MacPorts
In reply to this post by MacPorts
#56041: Update compiler selection for 10.6-10.8 with libc++
--------------------------+----------------------------
  Reporter:  jmroot       |      Owner:
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:  MacPorts 2.5.0
 Component:  base         |    Version:  2.4.2
Resolution:               |   Keywords:
      Port:               |
--------------------------+----------------------------

Comment (by kencu):

 So - you'll notice that this forces all these systems 10.6 through 10.8 to
 basically build everything with clang-5.0. I just can't help but think
 this makes a lot of sense, removes our need to set up complicated compiler
 floors with certain c++ or C standard support available, and makes all
 these systems build with basically the same compiler that newer systems
 use (and are tested against, etc).

 I realize that means that clang-5.0 will need to be called in for every
 build on these systems. But I submit that is a better option than the
 alternative of seeing builds fail with older builds of clang, and forcing
 them all up to something newer.

 All these systems will end up with clang-5.0 anyway, for some port or
 another.

 And it allow the default -stdlib to be set to libc++ on clang-5.0, and
 have this carry through to all these older systems.

--
Ticket URL: <https://trac.macports.org/ticket/56041#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #56041: Update compiler selection for 10.6-10.8 with libc++

MacPorts
In reply to this post by MacPorts
#56041: Update compiler selection for 10.6-10.8 with libc++
--------------------------+----------------------------
  Reporter:  jmroot       |      Owner:
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:  MacPorts 2.5.0
 Component:  base         |    Version:  2.4.2
Resolution:               |   Keywords:
      Port:               |
--------------------------+----------------------------

Comment (by mojca):

 I assume that the list should still contain default compilers at the end,
 for bootstrapping reasons.

--
Ticket URL: <https://trac.macports.org/ticket/56041#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #56041: Update compiler selection for 10.6-10.8 with libc++

MacPorts
In reply to this post by MacPorts
#56041: Update compiler selection for 10.6-10.8 with libc++
--------------------------+----------------------------
  Reporter:  jmroot       |      Owner:  (none)
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:  MacPorts 2.6.0
 Component:  base         |    Version:  2.4.2
Resolution:               |   Keywords:
      Port:               |
--------------------------+----------------------------
Changes (by neverpanic):

 * milestone:  MacPorts 2.5.0 => MacPorts 2.6.0


--
Ticket URL: <https://trac.macports.org/ticket/56041#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: [MacPorts] #56041: Update compiler selection for 10.6-10.8 with libc++

MacPorts
In reply to this post by MacPorts
#56041: Update compiler selection for 10.6-10.8 with libc++
--------------------------+----------------------------
  Reporter:  jmroot       |      Owner:  (none)
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:  MacPorts 2.6.0
 Component:  base         |    Version:  2.4.2
Resolution:               |   Keywords:
      Port:               |
--------------------------+----------------------------

Comment (by jmroot):

 Replying to [comment:5 mojca]:
 > I assume that the list should still contain default compilers at the
 end, for bootstrapping reasons.
 Not needed if the bootstrap compilers set their own whitelist.

--
Ticket URL: <https://trac.macports.org/ticket/56041#comment:8>
MacPorts <https://www.macports.org/>
Ports system for macOS