[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