[MacPorts] #71669: macports-libcxx: uses older c++ headers on newer macports-clang compilers

MacPorts noreply at macports.org
Sat Dec 28 16:40:12 UTC 2024


#71669: macports-libcxx: uses older c++ headers on newer macports-clang compilers
--------------------+-----------------------------
 Reporter:  kencu   |      Owner:  (none)
     Type:  defect  |     Status:  new
 Priority:  Normal  |  Milestone:
Component:  ports   |    Version:
 Keywords:          |       Port:  macports-libcxx
--------------------+-----------------------------
 currently, the macports-libcxx port copies the headers from clang11 thst
 match the libcxx being used, modifies them slightly to override Apple’s
 availabilty tests that are based on system version, and installs them.

 https://github.com/macports/macports-
 ports/blob/f9cde8c670027940c9b222eba81ccdc99d587f52/lang/macports-
 libcxx/Portfile#L51

 legacysupport then forces these modified headers to be used:

 https://github.com/macports/macports-
 ports/blob/f9cde8c670027940c9b222eba81ccdc99d587f52/_resources/port1.0/group/legacysupport-1.1.tcl#L183

 (Ignore for the moment these are mistakenly being added to the cppflags
 instead of the cxxflags).


 The end effect of this is that the headers being used by compilers newer
 than clang-11 are in fact older headers. This is not ideal.

 Also, llvm and Apple have changed the way certain things are being done
 with respect to c++ hesders, and these c++ headers are now being shipped
 with the system SDKs rather than with the llvm / clang compiler
 installation, so we’ll also need to ponder that fact too, if we decide to
 change something aboutbhow we do the header overrides in the future.

-- 
Ticket URL: <https://trac.macports.org/ticket/71669>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list