>> +    if check_option "debug" "y"; then
>> +            DEBUG_CFLAGS+=" 
>> -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}"
>> +            DEBUG_CXXFLAGS+=" 
>> -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}"
>> +            CFLAGS+=" $DEBUG_CFLAGS"
>> +            CXXFLAGS+=" $DEBUG_CXXFLAGS"
>> +    fi
>> +
>> +    # ensure all necessary build variables are exported
>> +    export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS MAKEFLAGS CHOST
>> +}
>
>Why is this on its own, not in a dropin?

I needed feedback on this; since the debugflags don't have a corresponding 
build_option I wasn't sure what to do with them. Your feedback on the 
ccache/distcc section 
gave me an idea.

>> +build_options+=('buildflags')
>
>If you look at the way we do this in other sections, this should
>probably be namespaced as buildenv_buildflags

I've kept the name as it was in the original implementation to avoid upsetting 
anyone who might be using this flag in a PKGBUILD or makepkg.conf.

>> +ccache() {
>> +    if check_buildoption "ccache" "y"; then
>> +            if ! type -p ccache >/dev/null; then
>> +                    error "$(gettext "Cannot find the %s binary required 
>> for compiler cache usage.")" "ccache"
>> +                    return 1
>> +            fi
>> +
>> +            if [ -d /usr/lib/ccache/bin ]; then
>> +                    export PATH="/usr/lib/ccache/bin:$PATH"
>> +                    ccache=1
>> +            fi
>> +    fi
>> +}
>
>ccache is now both a function name and a variable name...
>
>And the variable is declared as local, but outside of a function --
>instead, it's relying on the fact that libmakepkg typically sources this
>file while inside another function. I don't know whether we should be
>doing this...
>
>I'm inclined to think that at least ccache and distcc should be in the
>same dropin file and parsed as the same buildenv function as a result.
>Maybe buildenv_compiler.

I'd rather have them separate, as they may be used separately, but then I don't 
know how to ensure the ccache macro would be called before the distcc macro, so 
I put 
them into compiler.sh.in

Attached patch is succesive, and should be applied after the previous. I can 
resubmit if you want a single patch.

Reply via email to