[Mesa-dev] [PATCH v3 12/25] configure.ac: Move gallium LLVM checks
Emil Velikov
emil.l.velikov at gmail.com
Wed Oct 12 18:30:51 UTC 2016
On 12 October 2016 at 19:14, Tobias Droste <tdroste at gmx.de> wrote:
> Am Mittwoch, 12. Oktober 2016, 10:42:19 CEST schrieb Emil Velikov:
>> On 12 October 2016 at 00:02, Tobias Droste <tdroste at gmx.de> wrote:
>> >
>> > gallium_require_llvm() {
>> >
>> > - if test "x$MESA_LLVM" = x0; then
>> > - case "$host" in *gnux32) return;; esac
>> > - case "$host_cpu" in
>> > - i*86|x86_64|amd64) AC_MSG_ERROR([LLVM is required to build $1 on
>> > x86 and x86_64]);; - esac
>> > - fi
>> > + case "$host" in *gnux32) return;; esac
>> > + case "$host_cpu" in
>> > + i*86|x86_64|amd64)
>> > + LLVM_REQUIRED_VERSION_MAJOR="3"
>> > + LLVM_REQUIRED_VERSION_MINOR="3"
>> > + if test "$LLVM_VERSION_INT" -lt
>> > "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then +
>> > AC_MSG_ERROR([LLVM
>> > $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is
>> > required]) + fi
>> > + ;;
>> > + esac
>> >
>> > }
>>
>> The function it quite "ugly" as-is and this patch changes things in a fun
>> way.
>>
>> Namely: before you'll get the minimum required version check
>> regardless of host_cpu for everyone, while now you get the opposite -
>> everyone is 'constrained' by the host_cpu check. Admittedly I've have
>> not idea if llvmpipe is a thing on outside x86 land.
>>
>> Checking the gallium_require_llvm users we want:
>> - swr -> bail out if host_cpu !x86/x86-64 or gallium-llvm toggle is
>> off || llvm version req. is not met
>> - r300 -> on host_cpu eq. x86/x86-64, check the gallium-llvm toggle
>> (this is 'premature' optimisation which we might want to rework/drop
>> in the long run)
>
> Right now --enable-gallium-llvm will be set to no if it is "auto" on non x86.
> gallivm/llvm use the x86 target
I haven't look too closely at the llvm code but there's nothing in
scons/automake which supports this, perhaps Jose can confirm.
Jose, does the gallium llvm code require the x86 target or can it work
with other as well ? At least in theory.
Thanks
Emil
More information about the mesa-dev
mailing list