1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-24 21:34:08 +03:00
Commit Graph

47 Commits

Author SHA1 Message Date
Evgeny Vereshchagin
2b7466a22b build-sys/autogen: don't use bashisms (#4489)
Fixes:
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Feb 17  2016 /bin/sh -> dash

$ ./autogen.sh c
./autogen.sh: 22: ./autogen.sh: [[: not found
...
checking whether make supports nested variables... (cached) yes
checking build system type... Invalid configuration `c': machine `c' not
recognized
configure: error: /bin/bash build-aux/config.sub c failed

this is a follow-up for a5e739a570
2016-10-25 19:39:48 -04:00
Zbigniew Jędrzejewski-Szmek
fe9d97c673 build-sys: show configure and make commands
And also hide make clean output which is very verbose and not particularly
interesting.
2016-10-20 01:42:56 -04:00
Zbigniew Jędrzejewski-Szmek
a5e739a570 build-sys: allow autogen.sh to take configure params
It is sometimes nice to run autogen with some configure parameters.
For example:

  ./autogen.sh c --disable-manpages

So pass any extra args after the [cgals] verb to the configure command.

Also, check that the verb is correct (empty or one of the known letters)
before doing any non-trivial work.
2016-10-20 01:42:55 -04:00
Dave Reisner
222953e87f Ensure kdbus isn't used (#3501)
Delete the dbus1 generator and some critical wiring. This prevents
kdbus from being loaded or detected. As such, it will never be used,
even if the user still has a useful kdbus module loaded on their system.

Sort of fixes #3480. Not really, but it's better than the current state.
2016-06-18 17:24:23 -04:00
Lennart Poettering
4de282cf93 build-sys: drop libsystemd-{id128,daemon,login,journal}.so compat libs
They have long been obsolete, and upstream distros and packages have mostly
switched over, let's get rid of it for good.
2016-02-13 11:57:14 +01:00
David Herrmann
d537694a98 terminal: drop unfinished code
This drops the libsystemd-terminal and systemd-consoled code for various
reasons:

 * It's been sitting there unfinished for over a year now and won't get
   finished any time soon.

 * Since its initial creation, several parts need significant rework: The
   input handling should be replaced with the now commonly used libinput,
   the drm accessors should coordinate the handling of mode-object
   hotplugging (including split connectors) with other DRM users, and the
   internal library users should be converted to sd-device and friends.

 * There is still significant kernel work required before sd-console is
   really useful. This includes, but is not limited to, simpledrm and
   drmlog.

 * The authority daemon is needed before all this code can be used for
   real. And this will definitely take a lot more time to get done as
   no-one else is currently working on this, but me.

 * kdbus maintenance has taken up way more time than I thought and it has
   much higher priority. I don't see me spending much time on the
   terminal code in the near future.

If anyone intends to hack on this, please feel free to contact me. I'll
gladly help you out with any issues. Once kdbus and authorityd are
finished (whenever that will be..) I'll definitely pick this up again. But
until then, lets reduce compile times and maintenance efforts on this code
and drop it for now.
2015-07-27 20:15:34 +02:00
Filipe Brandenburger
759b98c568 build-sys: Recommend --with-rootprefix=/ for split-usr
Since we started using AX_NORMALIZE_PATH, that is a valid supported
setup and is more explicit than --with-rootprefix= (empty) which is
actually currently broken.

Let's advocate for it in the ./configure suggestion from autogen.sh.
2015-06-03 07:34:42 -07:00
Kay Sievers
2375607039 remove gudev and gtk-doc
The library moved to:
  https://git.gnome.org/browse/libgudev/
2015-06-03 00:22:53 +02:00
David Herrmann
9a20fcbcd1 build-sys: support local ./configure arguments
I often want to use the awesome "./autogen.sh [cmd]" arguments, but have
to append some custom ./configure options. For now, I always had to edit
autogen.sh manually, or copy the full commands out of it and run it
myself.

As I think this is super annoying, this commit adds support for
".config.args" files in $topdir. If it exists, any content is just
appended to $args, thus to any ./configure invokation of autogen.sh.

Maybe autotools provide something similar out-of-the-box. In that case,
feel free to revert this and lemme know!
2014-11-24 15:39:00 +01:00
Thomas Hindoe Paaboel Andersen
85e74b26c3 autogen: drop unnecessary -Wno-gnu for the clang shortcut
It is no longer necessary after 65e3a2cf7c
where -Wno-gnu-variable-sized-type-not-at-end is added if we detect
that the compiler is clang.
2014-11-15 21:32:59 +01:00
David Herrmann
a72e03749f autogen: add "t" switch with --enable-terminal
Just temporarily add a "t" switch to "./autogen t" runs with
--enable-terminal. Once it's compile-tested enough, we can add it to the
default flags.
2014-07-18 13:00:30 +02:00
Thomas Hindoe Paaboel Andersen
5985ea4d17 build-sys: no use for compat libs in the static analysis 2014-04-01 22:32:44 +02:00
Daniel Buch
0ef298ab47 build-sys: workaround scan-build bug to fix ./autogen.sh s
It seems to be a clang-analyzer problem since it don't behave like
clang-compiler regarding -std={c99,gnu99}
2014-04-01 20:57:14 +02:00
Stef Walter
0f62019c34 autogen: Allow running autogen from a builddir != srcdir
While the configure correctly supports being run outside of
the top source directory by default, it's nice if autogen.sh
does too:

 $ git clone git://anongit.freedesktop.org/systemd/systemd
 $ cd systemd
 $ mkdir $(uname -m)
 $ cd $(uname -m)
 $ ../autogen.sh a
 $ make
2014-02-27 01:16:14 -05:00
Lennart Poettering
fdc8509fb6 build-sys: don't use -Wcast-align anymore
We do a lot of these casts, and they are all OK, so let's get rid of the
warning, to make things quieter.

http://lists.freedesktop.org/archives/systemd-devel/2014-February/017174.html
2014-02-21 03:15:52 +01:00
Tom Gundersen
07c71313c5 build-sys: autogen - enable compat libs by default 2014-02-07 15:48:35 +01:00
Thomas Hindoe Paaboel Andersen
a8c78decf0 autogen: add shortcut for running scan-build
scan-build is a static analyzer in llvm. As ususal static analyzers
tend to mostly find theoretical bugs in software that has been in
production for a while. For in-development code it can be useful to
check if new issues is added as there is a chance to spot real problems
before release. For systemd we are now down to 297 issues - the vast
majority are false positives because the tool does not understand the
cleanup attribute.

Running clang's static analyzer scan-build is a bit messy. You have to
run both configure and make "inside" the build-scan tool. To have an
easy shortcut from autogen.sh I thus call both directly from it. This
makes it different from the other options in autogen.sh. I chose 's'
for static analysis.

scan-build is in the package clang-analyzer on fedora.
2013-12-28 22:31:01 +01:00
Thomas Hindoe Paaboel Andersen
bd3539b222 autogen: add shortcut for building with clang
For a while I have been cleaning up warnings when building with clang.
There are currently only two sources of warnings left: Wcast-align and Wgnu.
I am not convinced that fixing up those up is feasible so I run with them
disabled to spot regressions. E.g. clang is a bit more strict wrt to unused
variables with the cleanup attribute and I have fixed a number of those since.

Like the other options in autogen.sh I have a shortcut for clang as well. I use
'l' for llvm.
2013-12-28 21:24:25 +01:00
Lennart Poettering
25ad866460 build-sys: the pure/const warning options are probably too much as default, but let's make it available via "autogen.sh a" 2013-12-25 19:00:38 +01:00
Shawn Landden
5d5f8ffa07 build: use -ftrapv for development
We want to find these bugs if they exist.
2013-12-14 17:33:10 -05:00
Lennart Poettering
626851be97 bus: do kdbus only if this is enabled on the configure switch
Since we want to retain the ability to break kernel ←→ userspace ABI
after the next release, let's not make use by default of kdbus, so that
people with future kernels will not suddenly break with current systemd
versions.

kdbus support is left in all builds but must now be explicitly requested
at runtime (for example via setting $DBUS_SESSION_BUS). Via a configure
switch the old behaviour can be restored. In fact, we change autogen.sh
to do this, so that git builds (which run autogen.sh) get kdbus by
default, but tarball builds (which ue the configure defaults) do not get
it, and hence this stays out of the distros by default.
2013-11-30 20:18:48 +01:00
Lennart Poettering
0fc6e1ed00 autogen: use -O0 for "autogen.sh c" after all
-Og actually breaks gdb still, so let's stick to -O0 for now, but
introduce "autogen.sh g" for those who don't need gdb.
2013-10-30 02:08:57 +01:00
Kay Sievers
3a82ac4cfd build-sys: sync printed defaults with "c" option 2013-10-21 19:52:45 +02:00
Kay Sievers
df28bc0836 build-sys: use -Og instead of -O0 to catch warnings
$ touch src/core/dbus.c; make CFLAGS=-O0
  make --no-print-directory all-recursive
  Making all in .
    CC       src/core/libsystemd_core_la-dbus.lo
    CCLD     libsystemd-core.la

  $ touch src/core/dbus.c; make CFLAGS=-Og
  make --no-print-directory all-recursive
  Making all in .
    CC       src/core/libsystemd_core_la-dbus.lo
  src/core/dbus.c: In function 'init_registered_system_bus':
  src/core/dbus.c:798:18: warning: 'id' may be used uninitialized in this function [-Wmaybe-uninitialized]
           dbus_free(id);
                    ^
    CCLD     libsystemd-core.la

-Og Optimize debugging experience. -Og enables optimizations that do
not interfere with debugging. It should be the optimization level of
choice for the standard edit-compile-debug cycle, offering a
reasonable level of optimization while maintaining fast compilation
and a good debugging experience.
2013-10-21 15:46:00 +02:00
Zbigniew Jędrzejewski-Szmek
58a25dac28 build-sys: use no-tmpl flavour of gtkdocization
"tmpl" flavour is deprecated. Also this way we avoid a warning during
installation with older gtkdoc.

https://bugzilla.gnome.org/show_bug.cgi?id=701259
2013-08-19 11:30:04 -04:00
Zbigniew Jędrzejewski-Szmek
6a17986542 build-sys: use _FORTIFY_SOURCE only if optimizing
Rather then force the user to undefine _FORTIFY_SOURCE,
don't define it in the first place if it cannot be used.

I'm assuming that -O* can only be sensibly specified in $CFLAGS.
2013-01-11 10:03:16 -05:00
Kay Sievers
5ea373e101 autogen.sh: disable _FORTIFY_SOURCE, we want -O0, which is incompatible 2012-08-08 13:16:57 +02:00
Lennart Poettering
5a45a93627 build-sys: enable a couple of security features
Most distributions enable these downstream anyway, but it probably makes
sense to enable them unconditionally upstream too.
2012-08-08 12:03:34 +02:00
Mantas Mikulėnas
72d25fd925 build-sys: really make gtk-doc optional & some portability fixes
The failing check caused autogen.sh to die mysteriously due to `set -e`
and the unquoted `test -z $VAR`.

Also, some syntax fixes to make it work with /bin/sh, which most other
autogen.sh's use.

[zj: implemented simplification suggested by Peters Simon
 and fixed the case where gtkdocize was available but is not anymore.]
2012-07-25 22:43:30 +02:00
Zbyszek Jędrzejewski-Szmek
2fd8b540c9 build-sys: fail early in autogen.sh
When intltoolize is not installed, autogen.sh runs without error,
but configure.ac is borked.

./configure: line 12001: syntax error near unexpected token `0.40.0'
./configure: line 12001: `IT_PROG_INTLTOOL(0.40.0)'
2012-07-21 07:55:36 +02:00
Kay Sievers
8e8eb8fbaf udev: always use $(rootprefix)/lib/udev for libexecdir
On Sat, Jun 9, 2012 at 12:46 AM, Malte Starostik <lists@malte.homeip.net> wrote:
> From: Malte Starostik <m-starostik@versanet.de>
>
> Rules get installed in $(libexecdir)/udev/, so are keymaps.  Helper
> binaries go to $(rootprefix)/lib/udev though.  Problem is, in the code,
> both are referenced via UDEVLIBEXECDIR which is defined to the former
> location.  Result: systemd-udev can't find e.g. the keymap binary to
> apply keymaps.
2012-06-10 17:23:43 +02:00
Lennart Poettering
473dca4ac1 build-sys: fix build for folks without gtk-doc installed 2012-05-15 13:55:48 +02:00
Lennart Poettering
843605d372 build-sys: move gtk-doc stuff into its own subdir and reindent autogen.sh
We moved most other build noise files into their own subdirs, so let's
do this for gtk-doc too
2012-05-15 13:54:29 +02:00
Kay Sievers
66be655480 autogen.sh: undef _FORTIFY_SOURCE, which now logs warnings when used with -O0 2012-05-08 02:51:26 +02:00
Kay Sievers
80a5cbace4 build-sys: silence gtk-doc check, remove gtk-doc options from configure and distcheck 2012-04-17 17:11:02 +02:00
Javier Jardón
92ec4495f7 build-sys: make gtk-doc dependency optional 2012-04-17 17:01:21 +02:00
Lennart Poettering
5430f7f2bc relicense to LGPLv2.1 (with exceptions)
We finally got the OK from all contributors with non-trivial commits to
relicense systemd from GPL2+ to LGPL2.1+.

Some udev bits continue to be GPL2+ for now, but we are looking into
relicensing them too, to allow free copy/paste of all code within
systemd.

The bits that used to be MIT continue to be MIT.

The big benefit of the relicensing is that closed source code may now
link against libsystemd-login.so and friends.
2012-04-12 00:24:39 +02:00
Kay Sievers
3e2147858f move imported udev into place 2012-04-04 05:05:07 +02:00
Kay Sievers
772f4698ff autogen.sh: detect historic split-system-directories and add root options 2012-02-07 03:23:05 +01:00
Kay Sievers
6bd9fe5a73 autogen.sh: diet and sync with udev and kmod 2012-01-09 23:14:03 +01:00
Kay Sievers
fbe224e203 autogen: add --with-rootlibdir= and switch /usr/local to /usr 2012-01-05 17:57:02 +01:00
Lennart Poettering
3c57bf5ea5 build-sys: drop colorgcc 2012-01-05 16:40:14 +01:00
Kay Sievers
b8079ae19b build-sys: rename 'rootdir' to 'rootprefix' like udev and kmod uses 2012-01-05 00:40:39 +01:00
Kay Sievers
ae446765eb libsystemd-daemon: support installation in --with-rootlibdir 2011-07-15 01:31:06 +02:00
Bastien Nocera
1c7dde3e47 build-sys: Add i18n support through intltool
And put the PolicyKit policy files up for translation.
2011-07-11 21:10:33 +02:00
Kay Sievers
61fbbab869 build-sys: always place user units in /usr/lib/systemd
./configure --libexecdir=/usr/lib
2011-04-05 02:19:42 +02:00
Kay Sievers
4bbf01f38a use common names: fixme -> TODO, bootstrap.sh -> autogen.sh 2010-10-07 19:30:54 +02:00