[Mesa-dev] [PATCH v2 1/2] clover: make llvm >= 3.5.0 and c++11 mandatory

Francisco Jerez currojerez at riseup.net
Mon Apr 20 11:34:03 PDT 2015


EdB <edb+mesa at sigluy.net> writes:

> Clover not longer compile with llvm <= 3.5.0 since e1d363b3.
> e1d363b3 implies c++11 and llvm 3.5.0 CXXFLAGS provided it.
> No one seems to have noticed it, it's now official.
> ---

I haven't carefully reviewed the series, but I'm fine with dropping
support for LLVM 3.5.  For the series:
Acked-by: Francisco Jerez <currojerez at riseup.net>

>  configure.ac | 32 +++++++++++---------------------
>  1 file changed, 11 insertions(+), 21 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 325b936..095e23e 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1865,6 +1865,13 @@ strip_unwanted_llvm_flags() {
>  	-e 's/-fstack-protector-strong\>//g'
>  }
>  
> +llvm_check_version_for() {
> +    if test "${LLVM_VERSION_INT}${LLVM_VERSION_PATCH}" -lt "${1}0${2}${3}"; then
> +        AC_MSG_ERROR([LLVM $1.$2.$3 or newer is required for $4])
> +    fi
> +}
> +
> +
>  
>  if test -z "$with_gallium_drivers"; then
>      enable_gallium_llvm=no
> @@ -1919,22 +1926,10 @@ if test "x$enable_gallium_llvm" = xyes; then
>          fi
>  
>          if test "x$enable_opencl" = xyes; then
> +            llvm_check_version_for "3" "5" "0" "opencl"
> +
>              LLVM_COMPONENTS="${LLVM_COMPONENTS} all-targets ipo linker instrumentation"
> -            # LLVM 3.3 >= 177971 requires IRReader
> -            if $LLVM_CONFIG --components | grep -qw 'irreader'; then
> -                LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader"
> -            fi
> -            # LLVM 3.4 requires Option
> -            if $LLVM_CONFIG --components | grep -qw 'option'; then
> -                LLVM_COMPONENTS="${LLVM_COMPONENTS} option"
> -            fi
> -            # Current OpenCL/Clover and LLVM 3.5 require ObjCARCOpts and ProfileData
> -            if $LLVM_CONFIG --components | grep -qw 'objcarcopts'; then
> -                LLVM_COMPONENTS="${LLVM_COMPONENTS} objcarcopts"
> -            fi
> -            if $LLVM_CONFIG --components | grep -qw 'profiledata'; then
> -                LLVM_COMPONENTS="${LLVM_COMPONENTS} profiledata"
> -            fi
> +            LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader option objcarcopts profiledata"
>          fi
>          DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DLLVM_VERSION_PATCH=$LLVM_VERSION_PATCH"
>          MESA_LLVM=1
> @@ -2058,12 +2053,7 @@ radeon_llvm_check() {
>      if test "x$enable_gallium_llvm" != "xyes"; then
>          AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
>      fi
> -    LLVM_REQUIRED_VERSION_MAJOR="3"
> -    LLVM_REQUIRED_VERSION_MINOR="4"
> -    LLVM_REQUIRED_VERSION_PATCH="2"
> -    if test "${LLVM_VERSION_INT}${LLVM_VERSION_PATCH}" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}${LLVM_REQUIRED_VERSION_PATCH}"; then
> -        AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR.$LLVM_REQUIRED_VERSION_PATCH or newer is required for $1])
> -    fi
> +    llvm_check_version_for "3" "4" "2" $1 
>      if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
>          AC_MSG_ERROR([LLVM R600 Target not enabled.  You can enable it when building the LLVM
>                        sources with the --enable-experimental-targets=R600
> -- 
> 2.1.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150420/7dd93fff/attachment.sig>


More information about the mesa-dev mailing list