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

Tobias Droste tdroste at gmx.de
Wed Feb 8 01:10:41 UTC 2017


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

Am Dienstag, 7. Februar 2017, 22:44:49 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.
> 
> Cc: Dave Airlie <airlied at redhat.com>
> CC: Tobias Droste <tdroste at gmx.de>
> Cc: "17.0" <mesa-stable at lists.freedesktop.org>
> Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
> ---
>  configure.ac | 24 +++++++++++++-----------
>  1 file changed, 13 insertions(+), 11 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 88abc716c1..ff6f602527 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,9 +967,8 @@ require_llvm() {
>  }
> 
>  llvm_require_version() {
> -    if test "x$MESA_LLVM" = x0; then
> -        AC_MSG_ERROR([LLVM $1 or newer is required for $2])
> -        return
> +    if test "x$FOUND_LLVM" = xno; then
> +        AC_MSG_ERROR([LLVM is required for $2])
>      fi
>      require_llvm $2
> 
> @@ -1728,6 +1727,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@:>@])], @@ -2327,7 +2330,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 +2394,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 +2495,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 +2775,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 +2822,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