Opened 9 years ago

Closed 8 years ago

#48145 closed defect (fixed)

castxml: add variants for different versions of clang toolchain, use corresponding toolchain for compilation

Reported by: mamoll (Mark Moll) Owned by: stromnov (Andrey Stromnov)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: haspatch Cc:
Port: castxml

Description

castxml needs to be compiled with clang 3.6 or higher. It also needs the full install of llvm that MacPorts provides (Xcode is not complete enough). The attached patch fixes compilation problems on older OSs and adds the option to use clang-3.7.

Attachments (1)

patch-Portfile.diff (1.1 KB) - added by mamoll (Mark Moll) 9 years ago.

Download all attachments as: .zip

Change History (5)

Changed 9 years ago by mamoll (Mark Moll)

Attachment: patch-Portfile.diff added

comment:1 Changed 9 years ago by stromnov (Andrey Stromnov)

AFAIK, CastXML can be compiled with any compatible compiler (GCC/XCode Clang/Clang), but must be linked with full stack LLVM/Clang (we have only two compatible versions in macports tree: 3.6 and 3.7).

LLVM/Clang in MacPorts generally compiled via XCode, so, as far as I understant, it is far more safe (in terms of ABI) to compile CastXML using the same compiler toolchain.

comment:2 Changed 9 years ago by mamoll (Mark Moll)

You mean the same compiler as was used to compile LLVM/Clang? CastXML requires a C++11 compiler. It is probably a good idea to "inherit" the compiler blacklist from clang 3.6/3.7 to avoid build problems like these: https://build.macports.org/builders/buildports-mtln-x86_64/builds/24158.

comment:3 in reply to:  2 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to mmoll@…:

CastXML requires a C++11 compiler. It is probably a good idea to "inherit" the compiler blacklist from clang 3.6/3.7

Then this port should use the cxx11-1.0 portgroup, and not set the blacklist manually.

comment:4 Changed 8 years ago by mamoll (Mark Moll)

Resolution: fixed
Status: newclosed

This was fixed a long time ago.

Note: See TracTickets for help on using tickets.