[Mesa-dev] [PATCH v2] build: remove autotools
Dylan Baker
dylan at pnwbakers.com
Tue Dec 4 22:31:04 UTC 2018
Quoting Eric Engestrom (2018-12-04 09:36:53)
> 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>
I believe that I've addressed all of the issues, I've pushed the patch to my
gitlab as "delete-autotools" if you want to look at it.
Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181204/42fc9bf1/attachment.sig>
More information about the mesa-dev
mailing list