Re: Switching from Autotools to CMake for core evolution products
- From: Simon McVittie <simon mcvittie collabora co uk>
- To: Michael Catanzaro <mcatanzaro gnome org>, Owen Taylor <otaylor redhat com>, Milan Crha <mcrha redhat com>, desktop-devel-list gnome org
- Cc: evolution-hackers gnome org, distributor-list gnome org
- Subject: Re: Switching from Autotools to CMake for core evolution products
- Date: Mon, 10 Oct 2016 18:57:18 -0000
On Mon, 2016-10-10 at 12:45 -0500, Michael Catanzaro wrote:
On Mon, 2016-10-10 at 12:57 -0400, Owen Taylor wrote:
Can you propose what the necessary change would be to:
https://people.gnome.org/~walters/build-api/build-api.md
Well that document is Autotools-specific. It would need to be written
from scratch for CMake following CMake conventions, and separately
again for Meson.
That is exactly the opposite of the intention of Colin's build-api
specification. The build-api is specifically written so that it
*doesn't* require every project to be built with Autotools. If it
assumed Autotools, it would be a much shorter document, starting with
"you must use Autotools" :-)
It *is* designed such that implementing it in Autotools modules is
trivial, because the free software world (with a particular focus on
the parts of it in and below GNOME) already contains a lot of
Autotools. Would you have preferred it to take the form
./build-api.sh prepare with_libdir=/usr/lib64
./build-api.sh build
./build-api.sh install with_root=/foo
(ensuring that in practice, *every* project needs modifications if it
is to implement the build-api) out of some sense of artificial
neutrality?
The intention of the build-api, as I understand it, is to avoid this:
https://git.gnome.org/browse/jhbuild/tree/jhbuild/modtypes
and this:
https://anonscm.debian.org/git/debhelper/debhelper.git/tree/Debian/Debh
elper/Buildsystem
or if you think package-based distributions are a thing of the past[1],
this, part of the base on which gnome-continuous and the reference
Flatpak runtimes are built:
https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/scripts/lib/recipe
tool/create_buildsys.py
or further away from GNOME, this:
https://quickgit.kde.org/?p=kdesrc-build.git&a=tree&h=a6fa7cd83f0fbae52
4a63952c3c3bf607b7566d0&hb=f187eaf9ff7b3994de649377abf18f131fee03ef&f=m
odules%2Fksb%2FBuildSystem
and more generally, everyone who builds an operating system having to
invent an abstraction layer across popular and semi-popular build
systems to map them into their favourite meta-build system.
(I'm using "operating system" rather loosely here: Flatpak doesn't
build operating systems, as such, but flatpak-builder uses the build-
api to build runtimes and apps.)
S
[1] I don't
--
Simon McVittie, Collabora Ltd. <http://www.collabora.com/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]