On Apr 19, 2013, at 04:11, Vincent Habchi wrote:

> 1. Blacklisting clang seems not to work. Can you try configuring atlas with 
> the +clang option and tell me what happens?

Blacklisting only affects the compiler MacPorts chooses by default. If your 
port specifically sets configure.compiler, as atlas does in the +clang variant, 
then MacPorts will use that compiler and will not consult the blacklist. If you 
don't want users to be able to use a clang compiler, don't set 
configure.compiler to a clang compiler. You could remove or comment out your 
various clang variants. Also remove or comment out any place where you check if 
[variant_isset clang] or similar, or add to it a check for [variant_exists 
clang] etc. (If a user requests a variant, MacPorts will consider it selected, 
even if it is not defined by the port.) Or you could leave everything in place 
and just put error messages into the various clang variants, e.g.:

variant clang               conflicts   gcc46 gcc47 gcc48 \
                                        mpclang32 mpclang33 \
                            description {use XCode clang and gfortran} {

    if {[vercmp $xcodeversion 4.3] < 0} {
        pre-fetch {
            return -code error "Your version of clang is too old!"
        }
    }

    configure.compiler      clang

    pre-configure {
        ui_error "The +clang variant has been temporarily disabled. Use the 
+gcc47 variant instead."
        return -code error "disabled variant"
    }
}


> 2. 3.1/3.0/2.9 are not selectable nor selected by default. Is it still 
> mandatory to blacklist them?

There is an option users can set in macports.conf to make a different compiler 
the default; a user might have made a MacPorts clang compiler the default, 
though that's probably not something a user should do. The option is 
undocumented but has been mentioned on the lists before. If your port will not 
compile with a particular compiler, you should blacklist it so that, in that 
case, MacPorts will try a different compiler instead. Also, we might in the 
future modify MacPorts so that it will print a warning if a user tries to force 
a port to compile with a compiler that the port blacklists. (Currently, 
MacPorts will just build the port with the compiler the user requested, without 
informing them in advance that it probably won't work.)


_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to