[Mesa-dev] [PATCH v2] build: remove autotools
Eric Engestrom
eric.engestrom at intel.com
Tue Dec 4 17:36:53 UTC 2018
On Tuesday, 2018-12-04 09:16:18 -0800, Dylan Baker wrote:
> There are now no known distributions using autotools, meson has all of
> the features that autotools does. We don't need two build systems to do
> exactly the same thing, meson is faster, easier to maintain, and used by
> more devs than autotools. Let's reduce the ongoing burden of maintaining
> autotools.
>
> This removes the following:
> - configure.ac
> - autogen.sh
> - Makefile.*.am
> - Makefile.am
> - Makefile.sources (which are used only by autotools)
> - travis jobs for autotools
> - docs for autotools
> - .gitignore
>
> v2: - remove stray no-op change in .travis.yml
> ---
[snip]
> diff --git a/.travis.yml b/.travis.yml
> index 6b50d49e143..66be44ffc21 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -74,240 +74,13 @@ matrix:
> - python3.5
> - python3-pip
> - env:
> - - LABEL="make loaders/classic DRI"
> - - BUILD=make
> - - MAKEFLAGS="-j4"
> - - MAKE_CHECK_COMMAND="make check"
> - - DRI_LOADERS="--enable-glx --enable-gbm --enable-egl --with-platforms=x11,drm,surfaceless,wayland --enable-osmesa"
> - - DRI_DRIVERS="i915,i965,radeon,r200,swrast,nouveau"
> - - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
> - - GALLIUM_DRIVERS=""
> - - VULKAN_DRIVERS=""
> - - LIBUNWIND_FLAGS="--disable-libunwind"
> - addons:
> - apt:
> - packages:
> - - xz-utils
> - - x11proto-xf86vidmode-dev
> - - libexpat1-dev
> - - libx11-xcb-dev
> - - libxdamage-dev
> - - libxfixes-dev
> - - python3-pip
> - - env:
> - # NOTE: Building SWR is 2x (yes two) times slower than all the other
> - # gallium drivers combined.
> - # Start this early so that it doesn't hunder the run time.
> - - LABEL="make Gallium Drivers SWR"
> - - BUILD=make
> - - MAKEFLAGS="-j4"
> - - MAKE_CHECK_COMMAND="true"
> - - LLVM_VERSION=6.0
> - - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> - - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> - - DRI_DRIVERS=""
> - - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
> - - GALLIUM_DRIVERS="swr"
> - - VULKAN_DRIVERS=""
> - - LIBUNWIND_FLAGS="--enable-libunwind"
> - addons:
> - apt:
> - sources:
> - - llvm-toolchain-trusty-6.0
> - # llvm-6 requires libstdc++4.9 which is not in main repo
> - - ubuntu-toolchain-r-test
> - packages:
> - # From sources above
> - - llvm-6.0-dev
> - # Common
> - - xz-utils
> - - libexpat1-dev
> - - libx11-xcb-dev
> - - libelf-dev
> - - libunwind8-dev
> - - python3-pip
> - - env:
> - - LABEL="make Gallium Drivers RadeonSI"
> - - BUILD=make
> - - MAKEFLAGS="-j4"
> - - MAKE_CHECK_COMMAND="true"
> - - LLVM_VERSION=6.0
> - - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> - - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> - - DRI_DRIVERS=""
> - - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
> - - GALLIUM_DRIVERS="radeonsi"
> - - VULKAN_DRIVERS=""
> - - LIBUNWIND_FLAGS="--enable-libunwind"
> - addons:
> - apt:
> - sources:
> - - llvm-toolchain-trusty-6.0
> - # llvm-6 requires libstdc++4.9 which is not in main repo
> - - ubuntu-toolchain-r-test
> - packages:
> - # From sources above
> - - llvm-6.0-dev
> - # Common
> - - xz-utils
> - - libexpat1-dev
> - - libx11-xcb-dev
> - - libelf-dev
> - - libunwind8-dev
> - - python3-pip
> - - env:
> - - LABEL="make Gallium Drivers Other"
> - - BUILD=make
> - - MAKEFLAGS="-j4"
> - - MAKE_CHECK_COMMAND="true"
> - - LLVM_VERSION=3.9
> - - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> - # New binutils linker is required for llvm-3.9
> - - OVERRIDE_PATH=/usr/lib/binutils-2.26/bin
> - - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> - - DRI_DRIVERS=""
> - - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
> - - GALLIUM_DRIVERS="i915,nouveau,pl111,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv,imx"
> - - VULKAN_DRIVERS=""
> - - LIBUNWIND_FLAGS="--enable-libunwind"
> - addons:
> - apt:
> - sources:
> - - llvm-toolchain-trusty-3.9
> - packages:
> - - binutils-2.26
> - # LLVM packaging is broken and misses these dependencies
> - - libedit-dev
> - # From sources above
> - - llvm-3.9-dev
> - # Common
> - - xz-utils
> - - libexpat1-dev
> - - libx11-xcb-dev
> - - libelf-dev
> - - libunwind8-dev
> - - python3-pip
> - - env:
> - - LABEL="make Gallium ST Clover LLVM-3.9"
> - - BUILD=make
> - - MAKEFLAGS="-j4"
> - - MAKE_CHECK_COMMAND="true"
> - - LLVM_VERSION=3.9
> - - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> - - OVERRIDE_CC=gcc-4.7
> - - OVERRIDE_CXX=g++-4.7
> - # New binutils linker is required for llvm-3.9
> - - OVERRIDE_PATH=/usr/lib/binutils-2.26/bin
> - - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> - - DRI_DRIVERS=""
> - - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
> - - GALLIUM_DRIVERS="r600"
> - - VULKAN_DRIVERS=""
> - - LIBUNWIND_FLAGS="--enable-libunwind"
> - addons:
> - apt:
> - sources:
> - - llvm-toolchain-trusty-3.9
> - packages:
> - - binutils-2.26
> - - libclc-dev
> - # LLVM packaging is broken and misses these dependencies
> - - libedit-dev
> - - g++-4.7
> - # From sources above
> - - llvm-3.9-dev
> - - clang-3.9
> - - libclang-3.9-dev
> - # Common
> - - xz-utils
> - - libexpat1-dev
> - - libx11-xcb-dev
> - - libelf-dev
> - - libunwind8-dev
> - - python3-pip
> - - env:
> - - LABEL="make Gallium ST Clover LLVM-4.0"
> - - BUILD=make
> - - MAKEFLAGS="-j4"
> - - MAKE_CHECK_COMMAND="true"
> - - LLVM_VERSION=4.0
> - - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> - - OVERRIDE_CC=gcc-4.8
> - - OVERRIDE_CXX=g++-4.8
> - - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> - - DRI_DRIVERS=""
> - - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
> - - GALLIUM_DRIVERS="r600"
> - - VULKAN_DRIVERS=""
> - - LIBUNWIND_FLAGS="--enable-libunwind"
> - addons:
> - apt:
> - sources:
> - - llvm-toolchain-trusty-4.0
> - packages:
> - - libclc-dev
> - # LLVM packaging is broken and misses these dependencies
> - - libedit-dev
> - - g++-4.8
> - # From sources above
> - - llvm-4.0-dev
> - - clang-4.0
> - - libclang-4.0-dev
> - # Common
> - - xz-utils
> - - libexpat1-dev
> - - libx11-xcb-dev
> - - libelf-dev
> - - libunwind8-dev
> - - python3-pip
> - - env:
> - - LABEL="make Gallium ST Clover LLVM-5.0"
> - - BUILD=make
> - - MAKEFLAGS="-j4"
> - - MAKE_CHECK_COMMAND="true"
> - - LLVM_VERSION=5.0
> - - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> - - OVERRIDE_CC=gcc-4.8
> - - OVERRIDE_CXX=g++-4.8
> - - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> + - LABEL="meson Gallium Drivers"
> + - BUILD=meson
> - DRI_DRIVERS=""
> - - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
> - - GALLIUM_DRIVERS="r600"
> - VULKAN_DRIVERS=""
> - - LIBUNWIND_FLAGS="--enable-libunwind"
> - addons:
> - apt:
> - sources:
> - - llvm-toolchain-trusty-5.0
> - packages:
> - - libclc-dev
> - # LLVM packaging is broken and misses these dependencies
> - - libedit-dev
> - - g++-4.8
> - # From sources above
> - - llvm-5.0-dev
> - - clang-5.0
> - - libclang-5.0-dev
> - # Common
> - - xz-utils
> - - libexpat1-dev
> - - libx11-xcb-dev
> - - libelf-dev
> - - libunwind8-dev
> - - python3-pip
> - - env:
> - - LABEL="make Gallium ST Clover LLVM-6.0"
> - - BUILD=make
> - - MAKEFLAGS="-j4"
> - - MAKE_CHECK_COMMAND="true"
> - - LLVM_VERSION=6.0
> + - GALLIUM_DRIVERS="swrast,swr,r300,r600,radeonsi,nouveau,i915,vc4,v3d,pl111,freedreno,etnaviv,imx,tegra,svga,virgl"
> + # TODO: clover, nine
> - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
I didn't apply the patch to verify, but I think LLVM_VERSION will be
undefined here? Might need to keep the assignment 4 lines above.
> - - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> - - DRI_DRIVERS=""
> - - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
> - - GALLIUM_DRIVERS="r600,radeonsi"
> - - VULKAN_DRIVERS=""
> - - LIBUNWIND_FLAGS="--enable-libunwind"
> addons:
> apt:
> sources:
[snip]
> diff --git a/docs/relnotes/19.0.0.html b/docs/relnotes/19.0.0.html
> index 1b839b0a485..8e96fb323c2 100644
> --- a/docs/relnotes/19.0.0.html
> +++ b/docs/relnotes/19.0.0.html
> @@ -51,7 +51,7 @@ TBD.
> <h2>Changes</h2>
>
> <ul>
> -<li>TBD</li>
> +<li>Autotools has been dropped, use meson instead.</li>
I think it would be good to link to our meson page and point to our
mailing list as well, as I expect the ones who still hadn't moved on
will need help :)
> </ul>
>
> </div>
> diff --git a/docs/submittingpatches.html b/docs/submittingpatches.html
> index 3f97c941aa5..4a9a983b43a 100644
> --- a/docs/submittingpatches.html
> +++ b/docs/submittingpatches.html
[snip]
> @@ -370,7 +370,7 @@ within the commit summary.
> </pre>
> <li>Test for build breakage between patches e.g last 8 commits.
> <pre>
> - git rebase -i --exec="make -j4" HEAD~8
> + git rebase -i --exec="ninja" HEAD~8
IIRC git rebase will CWD to the git root, so you will need
`ninja -C builddir/` here.
> </pre>
> <li>Sets the default mailing address for your repo.
> <pre>
> diff --git a/docs/vmware-guest.html b/docs/vmware-guest.html
> index 4e0932e781f..0c7bcbed59d 100644
> --- a/docs/vmware-guest.html
> +++ b/docs/vmware-guest.html
> @@ -106,13 +106,14 @@ On the host, all you're doing is running VMware
>
> <h2>Prerequisites</h2>
>
> + sudo apt-get install automake libtool libpthread-stubs0-dev
I'm assuming this is a rebase mistake?
> <ul>
> <li>Kernel version at least 2.6.25
> <li>Xserver version at least 1.7
> <li>Ubuntu: For ubuntu you need to install a number of build dependencies.
> <pre>
> sudo apt-get install git-core
> - sudo apt-get install automake libtool libpthread-stubs0-dev
> + sudo apt-get install automake libtool meson libpthread-stubs0-dev
> sudo apt-get install xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev
> sudo apt-get install libxcb-glx0-dev libxrender-dev
> sudo apt-get build-dep libgl1-mesa-dri libxcb-glx0-dev
[snip]
Other than that, it looks all good to me!
Assuming the release managers are ok with your changes to
docs/releasing.html, this is:
Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>
More information about the mesa-dev
mailing list