Commit Graph

23 Commits

Author SHA1 Message Date
Michał Górny 4c79662e25 build-sys: Perform flag tests in context to existing flags
Fix the CC_CHECK_FLAG_APPEND macro to test appended flags in context to
current flag values. Otherwise, it is possible to append flags colliding
with user's *FLAGS or even previously appended flags that will cause
the build to fail.
2016-02-06 14:57:46 +01:00
Filipe Brandenburger a01a4517e1 build-sys: Check behavior of -Werror=shadow before deciding to use it
gcc versions 4.6 and earlier used to complain when a local variable
shadows a global function, 4.7 and above only complain if a local
variable shadows a global variable.

Fix this by checking whether gcc 4.7+ behavior is in place before
deciding to use -Werror=shadow in $(CFLAGS), by using a custom test
program source that shadows a global function with a local variable and
confirming that -Werror=shadow does not make the compile to break.

Tested:
- On gcc 4.7 and 4.8, confirmed nothing changed (other than the order of
  the -Werror=shadow argument, going to the end of CFLAGS.)
- On gcc 4.6, confirmed by looking at the config.log output that the
  check for -Werror=shadow failed and it was not included in CFLAGS.
- Ran `make V=1` to confirm -Werror=shadow was still in use, introduced
  a bogus shadowing issue and confirmed it was caught when building with
  a recent gcc.
2015-09-22 09:54:33 -07:00
Filipe Brandenburger 6a937f0645 build-sys: properly quote m4 macro arguments in CC_CHECK_FLAGS_APPEND
The variables should be quoted inside [...] to avoid double macro
expansion.  This is currently not an issue, since the values (-W...) are
not really macros, but we might as well just fix that issue now.

Tested by re-running autogen.sh and comparing the value of OUR_CFLAGS in
the generated Makefile.  Ran a full build from a clean tree to confirm
no other issues were introduced.
2015-09-22 09:54:33 -07:00
Jan Alexander Steffens (heftig) 0e3b0a95cc build-sys: Look for gcc-* binutils wrappers only if we're using GCC
If we don't look for them, LT_INIT will and default to the unprefixed
tools.

Apparently clang doesn't like the wrappers being used. Should fix #1077.
2015-09-01 13:27:42 +02: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
Michael Biebl dd33485025 build-sys: Normalize paths of configure options
Strip trailing slashes from options such as --with-rootprefix, so that building
with rootprefix="/" results in paths like "/lib" instead of "//lib".

Also handle paths such as "/usr/" gracefully.

Use m4/ax_normalize_path.m4 from the autoconf-archive project, which is now
included in our tree as per usual practices in using autoconf-archive macros.

Tested with the following configure options:
  ./configure \
        --with-rootprefix=/ \
        --with-rootlibdir=/lib64/ \
        --prefix=/usr/ \
        --libdir=/lib/ \
        --with-bashcompletiondir=/bash-completion/completions/

(The "prefix" and "libdir" are already automatically normalized by Autoconf,
this command is testing the others.)

Compared the config.log and resulting trees (in particular man pages) to
confirm double slashes were not present in the latter.

Also tested that a configuration using default options is not affected and that
`make distcheck` still works as expected.
2015-06-02 07:54:51 -07:00
David Herrmann 43bbf1acc8 build: make sure to test for -Wflag instead of -Wno-flag
gcc does not support testing for negated warnings. See here for details:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63499

This patch changes CC_CHECK_FLAG_APPEND to always test for the non-negated
warnings.
2015-02-24 17:49:48 +01:00
Kay Sievers 0fa2cac4f0 sd-boot: add EFI boot manager and stub loader 2015-02-17 14:36:59 +01:00
Harald Hoyer 3f85ef0f05 s/commandline/command line/g 2014-11-06 15:34:18 +01:00
Zbigniew Jędrzejewski-Szmek 0943f4b7b2 build-sys: fix conftest.c to work on arm
All tests for compiler support were failing with:

/usr/bin/ld: /tmp/ccwnVc2A.o: relocation R_ARM_MOVW_ABS_NC against `a' can not be used when making a shared object; recompile with -fPIC
2014-08-03 00:28:12 -04:00
Lennart Poettering 7f8aa67131 core: remove tcpwrap support
tcpwrap is legacy code, that is barely maintained upstream. It's APIs
are awful, and the feature set it exposes (such as DNS and IDENT
access control) questionnable. We should not support this natively in
systemd.

Hence, let's remove the code. If people want to continue making use of
this, they can do so by plugging in "tcpd" for the processes they start.
With that scheme things are as well or badly supported as they were from
traditional inetd, hence no functionality is really lost.
2014-03-24 20:07:42 +01:00
David Herrmann d8c8508bad build: check for build/link flags harder
Use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE to test for flags that
might succeed during compilation but not during linking. An example is gcc
compiled with libssp support but gnu-ld without it. In this case
-fstack-protector works fine during compilation but fails during linking
as several internal helpers are missing.
2013-09-16 09:59:16 -05:00
Jason St. John e9c1ea9de8 replace tabs with spaces in various files
The affected files in this patch had inconsistent use of tabs vs. spaces
for indentation, and this patch eliminates the stray tabs.

Also, the opening brace of sigchld_hdl() in activate.c was moved so the
opening braces are consistent throughout the file.
2013-07-02 23:06:22 -04:00
Zbigniew Jędrzejewski-Szmek c3e31c7ba1 Replace autoconf int max test with simple define 2013-01-22 23:20:15 -05:00
Zbigniew Jędrzejewski-Szmek d6a195a3c3 build-sys: add autoconf macro to pick macro for x32 compatibility 2013-01-18 17:04:50 -05:00
Lucas De Marchi cdefbd6aeb build-sys: Append -Werror when testing flags
Clang don't treat unknown warnings flags as an error, but rather as a
warning. The result is that the detection for whic CFLAGS are supported
by this compiler will not work, since the compilation will succeed.

With this patch we now successfully detect clang doesn't support
-Wlogical-op, as opposed to previous behavior:

	checking if clang supports flag -Wlogical-op in envvar CFLAGS... no

We use this macro only for LDFLAGS and CFLAGS, so it's safe to stash
-Werror there.
2012-09-14 19:06:50 +02:00
Kay Sievers 3e2147858f move imported udev into place 2012-04-04 05:05:07 +02:00
Lucas De Marchi eb2e280f9c build-sys: do not set CFLAGS directly
Set a separate variable for adding warning flags. Build systems are not
supposed to change CFLAGS and LDFLAGS, these are user variables.

Reference: http://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html
2012-03-26 21:02:26 +02:00
Lennart Poettering 3fd476bb11 git: hide more files from git 2011-07-14 23:52:16 +02:00
Lucas De Marchi c18514440d build-sys: fix AC_COMPILE_IFELSE tests
This removes some warnings when bootstrapping. The warnings were introduced
in autoconf 2.68. Reference:

http://www.flameeyes.eu/autotools-mythbuster/forwardporting/autoconf.html

The following code

	AC_COMPILE_IFELSE([
		<MY C CODE HERE>
		], ...)

is changed to

	AC_COMPILE_IFELSE(
		[AC_COMPILE_IFELSE([AC_LANG_SOURCE([
		<MY C CODE HERE>
		])], ...)
2011-02-08 12:11:53 +01:00
Lennart Poettering 55293c152a git: ignore libtool m4 files 2010-06-18 04:23:33 +02:00
Lennart Poettering 0213c3f810 socket: add optional libwrap support 2010-06-16 15:41:29 +02:00
Lennart Poettering 47be870bd8 build: basic autoconfization 2010-02-03 14:21:48 +01:00