Commit Graph

43 Commits

Author SHA1 Message Date
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
Renamed from bootstrap.sh (Browse further)