[Mesa-dev] [PATCH v2 07/17] configure.ac: Rework MESA_LLVM and LLVM detection

Tobias Droste tdroste at gmx.de
Fri Feb 10 01:20:33 UTC 2017


Reviewed-by: Tobias Droste <tdroste at gmx.de>

Am Donnerstag, 9. Februar 2017, 20:54:26 CET schrieb Emil Velikov:
> From: Tobias Droste <tdroste at gmx.de>
> 
> Set FOUND_LLVM only when LLVM is present (checking for exact version/etc
> is deferred) and use enable-gallium-llvm to indicate the global LLVM
> status.
> 
> Renaming the latter is not appropriate for stable patches, so we'll
> address it with a later commit.
> 
> Loosely based on work by Tobias.
> 
> v2: Check FOUND_LLVM if enable_gallium_llvm is set.
> 
> Cc: Dave Airlie <airlied at redhat.com>
> Cc: "17.0" <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> Reviewed-by: Tobias Droste <tdroste at gmx.de> (v1)
> ---
>  configure.ac | 27 +++++++++++++++------------
>  1 file changed, 15 insertions(+), 12 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 2c7e95cf82..8d8328b451 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -953,9 +953,9 @@ llvm_set_environment_variables() {
>          fi
> 
>          DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT
> -DMESA_LLVM_VERSION_PATCH=$LLVM_VERSION_PATCH" -        MESA_LLVM=1
> +        FOUND_LLVM=yes
>      else
> -        MESA_LLVM=0
> +        FOUND_LLVM=no
>          LLVM_VERSION_INT=0
>      fi
>  }
> @@ -967,10 +967,6 @@ require_llvm() {
>  }
> 
>  llvm_require_version() {
> -    if test "x$MESA_LLVM" = x0; then
> -        AC_MSG_ERROR([LLVM $1 or newer is required for $2])
> -        return
> -    fi
>      require_llvm $2
> 
>      llvm_target_version_major=`echo $1 | cut -d. -f1 | egrep -o
> '^[[0-9]]+'` @@ -1728,6 +1724,10 @@ fi
>  dnl
>  dnl Gallium LLVM
>  dnl
> +dnl With follow-up commits we'll rework --enable-gallium-llvm to
> --enable-llvm +dnl Since that is too invasive to stable, do the more
> conservative thing for now +dnl and consider it as a global LLVM toggle.
> +dnl
>  AC_ARG_ENABLE([gallium-llvm],
>      [AS_HELP_STRING([--enable-gallium-llvm],
>          [build gallium LLVM support @<:@default=enabled on
> x86/x86_64@:>@])], @@ -1740,6 +1740,10 @@ if test "x$enable_gallium_llvm" =
> xauto; then esac
>  fi
> 
> +if test "x$enable_gallium_llvm" = xyes -a "x$FOUND_LLVM" = xno; then
> +    AC_MSG_ERROR([--enable-gallium-llvm selected but llvm-config is not
> found]) +fi
> +
>  #
>  # Vulkan driver configuration
>  #
> @@ -2327,7 +2331,7 @@ if test -n "$with_gallium_drivers"; then
>              ;;
>          xswrast)
>              HAVE_GALLIUM_SOFTPIPE=yes
> -            if test "x$MESA_LLVM" = x1 && test "x$enable_gallium_llvm" ==
> "xyes";  then +            if test "x$enable_gallium_llvm" = xyes; then
>                  HAVE_GALLIUM_LLVMPIPE=yes
>              fi
>              ;;
> @@ -2391,7 +2395,7 @@ dnl by calling llvm-config --libs
> ${DRIVER_LLVM_COMPONENTS}, but dnl this was causing the same libraries to
> be appear multiple times dnl in LLVM_LIBS.
> 
> -if test "x$MESA_LLVM" != x0; then
> +if test "x$enable_gallium_llvm" = xyes; then
> 
>      if ! $LLVM_CONFIG --libs ${LLVM_COMPONENTS} >/dev/null; then
>         AC_MSG_ERROR([Calling ${LLVM_CONFIG} failed])
> @@ -2492,8 +2496,7 @@ AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test
> "x$HAVE_GALLIUM_R300" = xyes -o \ AM_CONDITIONAL(NEED_WINSYS_XLIB, test
> "x$enable_glx" = xgallium-xlib) AM_CONDITIONAL(NEED_RADEON_LLVM, test
> x$NEED_RADEON_LLVM = xyes)
>  AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
> -AM_CONDITIONAL(HAVE_GALLIUM_LLVM, test "x$MESA_LLVM" = x1 -a \
> -                                       "x$enable_gallium_llvm" = xyes)
> +AM_CONDITIONAL(HAVE_GALLIUM_LLVM, test "x$enable_gallium_llvm" = xyes)
>  AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes)
> 
>  AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes)
> @@ -2773,7 +2776,7 @@ else
>  fi
> 
>  echo ""
> -if test "x$MESA_LLVM" = x1; then
> +if test "x$enable_gallium_llvm" = xyes; then
>      echo "        llvm:            yes"
>      echo "        llvm-config:     $LLVM_CONFIG"
>      echo "        llvm-version:    $LLVM_VERSION"
> @@ -2820,7 +2823,7 @@ echo "        CFLAGS:          $cflags"
>  echo "        CXXFLAGS:        $cxxflags"
>  echo "        Macros:          $defines"
>  echo ""
> -if test "x$MESA_LLVM" = x1; then
> +if test "x$enable_gallium_llvm" = xyes; then
>      echo "        LLVM_CFLAGS:     $LLVM_CFLAGS"
>      echo "        LLVM_CXXFLAGS:   $LLVM_CXXFLAGS"
>      echo "        LLVM_CPPFLAGS:   $LLVM_CPPFLAGS"


More information about the mesa-dev mailing list