Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#60672 closed enhancement (wontfix)

ispc: Why doesn't it build with ispc-clang?

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: tenomoto (Takeshi Enomoto)
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc: cjones051073 (Chris Jones)
Port: ispc, ispc-clang

Description

The ispc portfile has a new ispc-clang subport and I thought the purpose was that ispc would compile using the version of clang installed by the ispc-clang subport, but it doesn't; instead it requires yet another MacPorts clang port to also be installed. Why doesn't it compile using ispc-clang?

Change History (5)

comment:2 Changed 4 years ago by cjones051073 (Chris Jones)

Resolution: wontfix
Status: assignedclosed

The purpose of ispc-clang is not to provide a functional compiler, across all systems. To do that would require a lot more of the patches from the main clang ports to make it viable and hugely complicate the sub-port. Given we have the clang ports, its completely unnecessary.

Its (only) purpose is to provide a set of static libraries which ispc can then use, to link against, that are built with the specific requirements it needed.

comment:3 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

The name of the port "ispc-clang" and its description "Clang build specifically for ispc compiler" sure make it sound like it provides a clang compiler, and indeed it does. Are you saying that the clang compiler it provides doesn't work? If you're not planning on using this clang for anything, why build it at all? Why isn't it called "ispc-llvm" then?

comment:4 Changed 4 years ago by cjones051073 (Chris Jones)

Its only purpose is to provide static libraries, built with the custom options required for ispc. ispc requires a number of features, asserts and dump, that are not enabled in the main clang compilers, and which it would be inappropriate to do by default.

Its called ispc-clang because ispc requires more than just the LLVM libraries, but the clang static libraries as well. The clang compiler part that comes along as well it not used, but also does no harm to the ispc build.

If you think the port description does not explain this well enough, please feel free to improve it

Description:          Clang build specifically for ispc compiler. NOT TO BE USED IN GENERAL. This build is specifically tuned to satisfy the
                      requirements of ispc which uses it as a build dependency only. Has assertions and dump enabled by default, which is not the case
                      in the primary MacPorts LLVM/Clang builds.

comment:5 in reply to:  4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to cjones051073:

ispc requires more than just the LLVM libraries, but the clang static libraries as well.

Ahhh ok.

Note: See TracTickets for help on using tickets.