meson: Bump required version to 0.52.0
authorDylan Baker <dylan.c.baker@intel.com>
Fri, 24 Apr 2020 17:58:53 +0000 (10:58 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 1 Jun 2020 18:59:18 +0000 (18:59 +0000)
This matches what other graphics space projects require now, and allows
us to simplify a number of cases, as well as make use of new features in
meson.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2737
Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

.gitlab-ci.yml
.gitlab-ci/container/arm_build.sh
.gitlab-ci/container/arm_test.sh
.gitlab-ci/container/x86_build.sh
.gitlab-ci/container/x86_build_old.sh
.gitlab-ci/container/x86_test-base.sh
.gitlab-ci/container/x86_test-gl.sh
.gitlab-ci/container/x86_test-vk.sh
docs/meson.html
meson.build
src/gallium/drivers/swr/rasterizer/jitter/meson.build

index 028054fe01286ff5e1da46479058d43a239b45a4..21f464c9fba7edd09947b27cd9ea592a11e36e1d 100644 (file)
@@ -137,7 +137,7 @@ x86_build:
     - .fdo.container-build@debian
     - .container
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_build "2020-05-18-baremetal-2"
+    FDO_DISTRIBUTION_TAG: &x86_build "2020-05-19"
 
 .use-x86_build:
   variables:
@@ -150,7 +150,7 @@ x86_build:
 x86_test-base:
   extends: x86_build
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-base "2020-05-26"
+    FDO_DISTRIBUTION_TAG: &x86_test-base "2020-06-01"
 
 .use-x86_test-base:
   extends:
@@ -167,19 +167,19 @@ x86_test-base:
 x86_test-gl:
   extends: .use-x86_test-base
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-05-26"
+    FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-06-01"
 
 # Debian 10 based x86 test image for VK
 x86_test-vk:
   extends: .use-x86_test-base
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-05-26"
+    FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-06-01"
 
 # Debian 9 based x86 build image (old LLVM)
 x86_build_old:
   extends: x86_build
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_build_old "2019-03-18-jflags"
+    FDO_DISTRIBUTION_TAG: &x86_build_old "2020-04-27"
     FDO_DISTRIBUTION_VERSION: stretch-slim
 
 .use-x86_build_old:
@@ -195,7 +195,7 @@ arm_build:
     - .fdo.container-build@debian@arm64v8
     - .container
   variables:
-    FDO_DISTRIBUTION_TAG: &arm_build "2020-05-28-cheza-2"
+    FDO_DISTRIBUTION_TAG: &arm_build "2020-06-01"
 
 .use-arm_build:
   variables:
@@ -208,7 +208,7 @@ arm_build:
 arm_test:
   extends: x86_build
   variables:
-    FDO_DISTRIBUTION_TAG: &arm_test "2020-05-28-cheza-2"
+    FDO_DISTRIBUTION_TAG: &arm_test "2020-06-01"
 
 .use-arm_test:
   variables:
index 0d09497ceef185dc3cdcd64c13ff4557f1b33eee..58dd0e1bdd9bc90b6ca1554cb779d79087cb80a7 100644 (file)
@@ -41,10 +41,10 @@ apt-get -y install \
        libvulkan-dev:armhf \
        llvm-7-dev:armhf \
        llvm-8-dev \
-       meson \
        pkg-config \
        python \
        python3-distutils \
+       python3-setuptools \
        python3-mako \
        python3-serial \
        unzip \
@@ -52,6 +52,9 @@ apt-get -y install \
        xz-utils \
        zlib1g-dev
 
+apt install -y --no-remove -t buster-backports \
+    meson
+
 . .gitlab-ci/container/container_pre_build.sh
 
 # dependencies where we want a specific version
@@ -72,7 +75,6 @@ DEBIAN_ARCH=arm64 . .gitlab-ci/container/lava_arm.sh
 DEBIAN_ARCH=armhf . .gitlab-ci/container/lava_arm.sh
 
 apt-get purge -y \
-        python3-distutils \
         wget
 
 . .gitlab-ci/container/container_post_build.sh
index 5b50a89a12b671ba15887a0dff089e71bd1008bb..bebdd2350b0432dc640248de341f381b00ccecce 100644 (file)
@@ -30,7 +30,6 @@ apt-get install -y --no-remove \
         fastboot \
         flex \
         git \
-        meson \
         netcat \
         python3-distutils \
         python3-minimal \
@@ -41,6 +40,9 @@ apt-get install -y --no-remove \
         u-boot-tools \
         unzip
 
+apt install -t buster-backports -y --no-remove \
+    meson
+
 # Cross-build test deps
 for arch in $CROSS_ARCHITECTURES; do
     apt-get install -y --no-remove \
index 64e1e488aea5c1f2e97d1f485ef8ad97f6a5e184..e44dbab3c8decdb92127d46fe4b2a491a81351a7 100644 (file)
@@ -80,7 +80,6 @@ apt-get install -y --no-remove \
       llvm-6.0-dev \
       llvm-7-dev \
       llvm-9-dev \
-      meson \
       pkg-config \
       python-mako \
       python3-mako \
@@ -95,7 +94,8 @@ apt-get install -y --no-remove \
       zlib1g-dev
 
 apt-get install -y --no-remove -t buster-backports \
-      libclang-8-dev
+      libclang-8-dev \
+      meson
 
 # Cross-build Mesa deps
 for arch in $CROSS_ARCHITECTURES; do
index 6f6f228bbb94473992a598d3e69c8c3ddda77cce..42b00693f45ea70fa2c40506e4279e2acfc4798b 100644 (file)
@@ -45,14 +45,20 @@ apt-get install -y --no-remove \
       llvm-3.9-dev \
       llvm-4.0-dev \
       llvm-5.0-dev \
-      meson \
+      ninja-build \
       pkg-config \
       python-mako \
       python3-mako \
+      python3-pip \
+      python3-setuptools \
+      python3-wheel \
       scons \
       xz-utils \
       zlib1g-dev
 
+# We need at least 0.52.0, which is not in stretch
+python3 -m pip install meson>=0.52
+
 . .gitlab-ci/container/container_pre_build.sh
 
 ############### Uninstall unused packages
index e79384537ea0aa3e04a4843e39e9f6608a481856..6f8b6aaa93ad0efed96b7356c39f44ab692f5053 100644 (file)
@@ -14,6 +14,7 @@ apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
 echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
 
 sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
+echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
 echo 'deb https://deb.debian.org/debian testing main' >/etc/apt/sources.list.d/testing.list
 
 apt-get update
@@ -47,6 +48,7 @@ apt-get install -y --no-remove \
       libxrandr2 \
       libxrender1 \
       python \
+      python3-distutils \
       python3-mako \
       python3-numpy \
       python3-pil \
@@ -66,4 +68,7 @@ apt-get install -y --no-remove \
 apt-get purge -y \
       gnupg
 
+apt-get install -t buster-backports -y --no-remove \
+    meson
+
 apt-get autoremove -y --purge
index 4ce0dc37616ef083e16a6f8452ea3f9a03ea46ed..fde2f820100bc075fc92aceab91746f92101099a 100644 (file)
@@ -21,10 +21,8 @@ STABLE_EPHEMERAL=" \
       libxkbcommon-dev \
       libxrender-dev \
       make \
-      meson \
       patch \
       pkg-config \
-      python3-distutils \
       python3.7-dev \
       wget \
       xz-utils \
@@ -44,7 +42,6 @@ apt-get install -y --no-remove \
 apt-get install -y -t testing \
       $TESTING_EPHEMERAL
 
-
 . .gitlab-ci/container/container_pre_build.sh
 
 ############### Build virglrenderer
index 0f544b3913e6bd86825f063868bfbda2c00c4075..06c1bab8996e4eea6857febfdd1fae4bfdc43098 100644 (file)
@@ -19,7 +19,6 @@ STABLE_EPHEMERAL=" \
       libxkbcommon-dev \
       libxrandr-dev \
       libxrender-dev \
-      meson \
       p7zip \
       pkg-config \
       python3-distutils \
index 58b59f86b41b6cb3a0270544a191e78d878f20a7..94fb97c9405c484da773622dc3b6d9d6d2a16d2f 100644 (file)
@@ -31,7 +31,7 @@
 <p><strong>Mesa's Meson build system is generally considered stable and ready
 for production.</strong></p>
 
-<p><strong>Mesa requires Meson &gt;= 0.46.0 to build.</strong>
+<p><strong>Mesa requires Meson &gt;= 0.52.0 to build.</strong>
 
 <p>The Meson build of Mesa is tested on Linux, macOS, Windows, Cygwin, Haiku, FreeBSD,
 DragonflyBSD, NetBSD, and should work on OpenBSD.</p>
index e0906dee3a620c6501098798203c9313af256ac8..35cc4f300523b146a19d34b3e56de1631db69a2b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2017-2019 Intel Corporation
+# Copyright © 2017-2020 Intel Corporation
 
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
@@ -25,7 +25,7 @@ project(
     [find_program('python', 'python3'), 'bin/meson_get_version.py']
   ).stdout(),
   license : 'MIT',
-  meson_version : '>= 0.46',
+  meson_version : '>= 0.52',
   default_options : ['buildtype=debugoptimized', 'b_ndebug=if-release', 'c_std=c99', 'cpp_std=c++14']
 )
 
@@ -209,10 +209,6 @@ with_gallium_swr = gallium_drivers.contains('swr')
 with_gallium_lima = gallium_drivers.contains('lima')
 with_gallium_zink = gallium_drivers.contains('zink')
 
-if cc.get_id().startswith('intel') and meson.version().version_compare('< 0.49.1')
-  error('Meson does not have sufficient support of ICC before 0.49.1 to compile mesa')
-endif
-
 with_gallium = gallium_drivers.length() != 0 and gallium_drivers != ['']
 
 if with_gallium and system_has_kms_drm
@@ -792,11 +788,7 @@ if with_platform_haiku
   pre_args += '-DHAVE_HAIKU_PLATFORM'
 endif
 
-if meson.version().version_compare('>=0.50')
-  prog_python = import('python').find_installation('python3')
-else
-  prog_python = import('python3').find_python()
-endif
+prog_python = import('python').find_installation('python3')
 has_mako = run_command(
   prog_python, '-c',
   '''
@@ -1453,11 +1445,9 @@ if with_llvm
   # has also been added, so we'll use that if we can, to cover the cmake case.
   if dep_llvm.type_name() == 'internal'
     _rtti = subproject('llvm').get_variable('has_rtti', true)
-  elif meson.version().version_compare('>=0.51')
+  else
     # The CMake finder will return 'ON', the llvm-config will return 'YES'
     _rtti = ['ON', 'YES'].contains(dep_llvm.get_variable(cmake : 'LLVM_ENABLE_RTTI', configtool: 'has-rtti'))
-  else
-    _rtti = dep_llvm.get_configtool_variable('has-rtti') == 'YES'
   endif
   if not _rtti
     if with_gallium_nouveau
@@ -1530,8 +1520,8 @@ else
 
   # Disable deprecated keyword warnings, since we have to use them for
   # old-bison compat.  See discussion in
-  # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2161
-  if meson.version().version_compare('>= 0.52.0') and find_program('bison', required : false, version : '> 2.3').found()
+  # https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2161
+  if find_program('bison', required : false, version : '> 2.3').found()
     prog_bison = [prog_bison, '-Wno-deprecated']
   endif
 
index c52f285cd374264a954fbfc0b7e5e7bb6ec10559..295dc2fccb5c186d2ba738d14a80edf8ec15eb38 100644 (file)
 if dep_llvm.type_name() == 'internal'
   _irbuilder_h = subproject('llvm').get_variable('irbuilder_h')
 else
-  if meson.version().version_compare('>=0.51')
-    _llvm_includedir = dep_llvm.get_variable(configtool : 'includedir', cmake : 'LLVM_INCLUDE_DIR')
-  else
-    _llvm_includedir = dep_llvm.get_configtool_variable('includedir')
-  endif
+  _llvm_includedir = dep_llvm.get_variable(configtool : 'includedir', cmake : 'LLVM_INCLUDE_DIR')
   _irbuilder_h = join_paths(_llvm_includedir, 'llvm', 'IR', 'IRBuilder.h')
 endif