[Mesa-dev] [PATCH v2] build: remove autotools

Marek Olšák maraeo at gmail.com
Tue Dec 4 22:52:19 UTC 2018


CFLAGS="-fno-omit-frame-pointer" \
CXXFLAGS="-fno-omit-frame-pointer" \
LDFLAGS="-fuse-ld=gold" \
    meson $reconfigure build \
    --prefix /usr --libdir /usr/lib/$archdir --buildtype debugoptimized
--native-file $llvm_config \
    -Dgallium-va=false -Dgallium-xvmc=false -Dgallium-omx=disabled
-Dgallium-xa=false \
    -Dplatforms=x11,drm,surfaceless -Dgallium-drivers=radeonsi,r300,r600 \
    -Ddri-drivers= -Dvulkan-drivers=amd \
    -Dlibunwind=true

Marek


On Tue, Dec 4, 2018 at 5:32 PM Dylan Baker <dylan at pnwbakers.com> wrote:

> 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
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181204/e2b3f361/attachment-0001.html>


More information about the mesa-dev mailing list