-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Drop support for autotools / automake / make #6266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
can't wait for this! |
You also need to use |
Yup. Updated. |
I'll rebase this ~1 week after v234 and any post-release fixes have gone in. |
HACKING is still mentioning |
Updated:
|
README
Outdated
xsltproc (optional, required for documentation) | ||
python-lxml (optional, required to build the indices) | ||
python, meson, ninja | ||
gcc, awk, sed, and similar tools |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should m4 be added here?
With autotools this was sort of implied, but with meson it's probably less common to require m4.
Should we add wrappers for ./configure && make to support https://github.com/cgwalters/build-api ? |
See https://github.com/ebassi/graphene/blob/master/configure and the related discussion at https://mail.gnome.org/archives/desktop-devel-list/2017-April/msg00080.html |
Updated:
|
hmm, needs rebase, but I am all for this to go in now |
|
(BTW., updated.) |
Rebased. |
Sooo, should we merge this now? looks all good to me. I figure the semaphore CI will explode immediately though, as it uses make to build... Maybe we should switch all CIs over first? |
I added |
v2: - also mention m4
Star imports are discouraged and break pyflakes. I'm happy to report that pyflakes finds no issues ;)
... and other autotools-generated files.
Automatic rebuilding is removed: it doesn't play well with ninja, because ninja always writes logs, and even if nothing needs to be built, it will make the log file owned by root. So let's just remove this, and say that the user must always do the build first. I'm also keeping make for the tests, because ninja doesn't play well with sudo. Since the build directory is arbitrary, it needs to be specified, e.g. sudo make BUILD_DIR=/home/zbyszek/src/systemd/build1 -C test/TEST-01-BASIC/
This will work if $(TOP_SRC_DIR) has exactly one subdirectory with .ninja_deps. Otherwise, BUILD_DIR has to be specified.
This adds the basic make support required by https://github.com/cgwalters/build-api. CFLAGS, CXXFLAGS, DESTDIR variables are supported: ./configure CFLAGS=... CXXFLAGS=... && make && make install DESTDIR=
This makes it more like other configure defines. Also, it fixes meson status output which was looking for HAVE_ and ENABLE_ prefixes only (the define under meson was OK, just the summary message was wrong.)
It seems my hack to disable autoconf build results in a hang. I just deleted that "thread" instead. |
OK, then let's get this in now! |
Does anybody know what happened to the |
It was disabled by @zonque. It needed work, and nobody had spare time for that. |
I hope this systemd/systemd-centos-ci#15 helps a bit. |
systemd/systemd-centos-ci#15 has just been merged. It seems that the |
Will that just work? Last time I spoke to @zonque changes needed to be deployed by someone on the Red Hat side? But let's try, I re-enabled that test in GitHub. |
In https://ci.centos.org/job/systemd-pr-build/3665/console I see the following:
It would be helpful to obtain the logs. But I'm not sure how to do that. |
To sum up, the |
[NOT BEFORE v234 IS RELEASED]
I think the meson build system works quite nicely, and keeping two build systems is a burden. Let's drop autotools support some time after the v234 release.
Further cleanups are possible, for example to sanitize some
#define
names, and to switch to-Werror=undef
(c.f. systemd/casync@d40be70), but that can be done later.