1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-23 21:35:11 +03:00
Commit Graph

36 Commits

Author SHA1 Message Date
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