[114733] users/landonf/openjdk7/dports/java/openjdk6/Portfile

Lawrence Velázquez larryv at macports.org
Fri Dec 27 11:16:01 PST 2013


On Dec 27, 2013, at 8:56 AM, Landon Fuller <landonf at macports.org> wrote:

> On Dec 22, 2013, at 3:11 , Ryan Schmidt <ryandesign at macports.org> wrote:
> 
>> This will unnecessarily make users of Xcode < 5 install the llvm-gcc42 port, when they have a perfectly good version of llvm-gcc42 provided by Xcode. Rather than this, you should use compiler.blacklist. For example, if no clang compiler will work, blacklist all of them with:
>> 
>> compiler.blacklist *clang*
> 
> I think I'd need 'compiler.whitelist macports-llvm-gcc-4.2 llvm-gcc-4.2' to make sure I always get a consistent compiler? There's an extensive test suite I ran with a JVM built against llvm-gcc4.2, and I hesitate to throw any variables into the mix.

Strictly speaking, someone could set "default_compilers" in their macports.conf and muck up the fallback lists. So if you want to be 100% sure that you get LLVM-GCC, you'll have to use a whitelist.

You'd probably want "compiler.whitelist llvm-gcc-4.2 macports-llvm-gcc-4.2", to allow Xcode to satisfy the selection. Otherwise the LLVM-GCC port will always be installed automatically.

>> MacPorts will pick the next-best compiler, which will be llvm-gcc42, either the version provided by Xcode or the one provided by MacPorts, depending on what’s available. You can then use the variables ${configure.cc}, ${configure.cxx}, etc. where you need them.
> 
> Will this actually work with llvm-gcc? Apple is still shipping 'gcc' and 'llvm-gcc' binaries/symlinks, but they're pointed at clang; won't find_developer_tool still pick them up?

When configure.compiler is "llvm-gcc-4.2", portconfigure::configure_get_compiler looks specifically for "llvm-{gcc,g++,cpp}-4.2". I don't think Xcode 5 installs the versioned executables; I don't have them on my Mavericks system, at least.

vq


More information about the macports-dev mailing list