[MacPorts] #24112: Add clang, checker and lto to llvm
#24112: Add clang, checker and lto to llvm ------------------------------------+--------------------------------------- Reporter: macports@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.2 Keywords: llvm lto clang checker | Port: llvm ------------------------------------+--------------------------------------- The attached patches add a macports-clang option to portconfigure.tcl and introduce [http://clang.llvm.org/ clang], [http://clang-analyzer.llvm.org/ checker], and lto as variants to llvm. The lto variant is a workaround for missing link time optimization support in odcctools. This workaround enables -flto and -O4 in clang and in the llvm-gcc42 port on darwin9 and darwin10. See #19679 and #23580 for a discussion of this issue. I'd continue to maintain this port. -- Ticket URL: <http://trac.macports.org/ticket/24112> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24112: Add clang, checker and lto to llvm -------------------------------+-------------------------------------------- Reporter: macports@… | Owner: erickt@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.2 Keywords: haspatch | Port: llvm -------------------------------+-------------------------------------------- Changes (by macsforever2000@…): * owner: macports-tickets@… => erickt@… * keywords: llvm lto clang checker => haspatch * cc: erickt@… (removed) -- Ticket URL: <http://trac.macports.org/ticket/24112#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24112: Add clang, checker and lto to llvm -------------------------------+-------------------------------------------- Reporter: macports@… | Owner: erickt@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.2 Keywords: haspatch | Port: llvm -------------------------------+-------------------------------------------- Changes (by ryandesign@…): * cc: ryandesign@… (added) Comment: I'm a little concerned about the lto variant you added, which installs a file outside the destroot, thus violating the mtree. If this is the best way to do it, then at least "destroot.violate_mtree yes" should be used in the variant. Since this patch changes what files the port installs (since it adds clang and checker variants and makes them default variants), the port revision should be increased. Doesn't your patch unfix #15726? -- Ticket URL: <http://trac.macports.org/ticket/24112#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24112: Add clang, checker and lto to llvm -------------------------------+-------------------------------------------- Reporter: macports@… | Owner: erickt@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.2 Keywords: haspatch | Port: llvm -------------------------------+-------------------------------------------- Comment(by macports@…): I have changed this port quite a bit since I first submitted these patches. The version/revision was upgraded to 2.7_0. The clang and checker variants were moved to a standalone clang port. The lto variant was deleted and instead compilers now have to depend on a new standalone port of ld64, which in turn depends on llvm, to get support for LTO. This seems to be the cleanest solution. See #23580 for more information. No files are installed outside of destroot using this approach. The latest versions of these ports can be found at https://macports.feiri.eu. This is a subversion repo which can be added to sources.conf. I didnt know about #15726. Interesting. I do see two .dir files in subdirectories of ${destroot}/lib/llvm/obj. But I dont see how this could be problematic. Of course I can restore the removal these files. Although I wonder if it would be better to just remove the obj directory entirely and instead rebuild llvm inside llvm-gcc42. -- Ticket URL: <http://trac.macports.org/ticket/24112#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24112: Add clang, checker and lto to llvm -------------------------------+-------------------------------------------- Reporter: macports@… | Owner: erickt@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.2 Keywords: haspatch | Port: llvm -------------------------------+-------------------------------------------- Comment(by macports@…): All ".dir" files get removed now. Additionally a fix for #24807 is included. And I decided to make llvm-mc accessible in ${prefix}/bin. My patchset has grown considerably, so I dont create diffs anymore. The latest version is available from https://macports.feiri.eu/ -- Ticket URL: <http://trac.macports.org/ticket/24112#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24112: Add clang, checker and lto to llvm -------------------------------+-------------------------------------------- Reporter: macports@… | Owner: erickt@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.2 Keywords: haspatch | Port: llvm -------------------------------+-------------------------------------------- Comment(by macports@…): The repository at https://macports.feiri.eu/ now includes fixes for #20889, #16367, #19262, #19679, #20890, #24046, #24112, #24807, #24978, #21059. Some notable enhancements are LTO, ld64, clang, clang++, clang- analyzer, llvm-mc, llvm-gfortran, a libgcc_s variant, and version 2.7 of all llvm components. Additionally the following reports dont seem to apply anymore: #15496, #19087, #20453, #21174, #23580. This should close all tickets related to llvm. Here is a short guide how to use https://macports.feiri.eu/ as an external repo (assuming you installed macports in /opt/local, which is the default): * sudo svn co https://macports.feiri.eu /opt/local/var/macports.feiri.eu * echo file:///opt/local/var/macports.feiri.eu/ | cat - /opt/local/etc/macports/sources.conf > /tmp/sources.conf.bak * sudo mv /tmp/sources.conf.bak /opt/local/etc/macports/sources.conf * sudo port selfupdate * sudo port install clang llvm-gcc42 -- Ticket URL: <http://trac.macports.org/ticket/24112#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24112: Add clang, checker and lto to llvm --------------------------------+------------------------------------------- Reporter: macports@… | Owner: erickt@… Type: enhancement | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.8.2 Resolution: fixed | Keywords: haspatch Port: llvm | --------------------------------+------------------------------------------- Changes (by mfeiri@…): * status: new => closed * resolution: => fixed -- Ticket URL: <https://trac.macports.org/ticket/24112#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts