Use package-config output for -lsystemd correctly

In systemd 209, they deprecated -lsystemd-daemon in favor of
-lsystemd.  So we'd better actually look at the pkg-config output,
or we'll get warnings on newer distributions.

For some as-yet-unknown-to-me reason, setting CFLAGS so early makes
it so -O2 -g doesn't get added to it later.  So, adding it myself
later.  Perhaps a better fix here can be found.

Fixes 14072; bugfix on 0.2.6.2-alpha.  Based on a patch from h.venev
This commit is contained in:
Nick Mathewson 2015-01-06 14:05:35 -05:00
parent cf2ac8e255
commit fcc78e5f8a
2 changed files with 7 additions and 4 deletions

3
changes/bug14072 Normal file
View File

@ -0,0 +1,3 @@
o Minor bugfixes (build):
- Avoid warnings when building with systemd 209 or later.
Fixes bug 14072; bugfix on 0.2.6.2-alpha. Patch from "h.venev".

View File

@ -130,7 +130,8 @@ fi
if test x$have_systemd = xyes; then if test x$have_systemd = xyes; then
AC_DEFINE(HAVE_SYSTEMD,1,[Have systemd]) AC_DEFINE(HAVE_SYSTEMD,1,[Have systemd])
TOR_SYSTEMD_LIBS="-lsystemd-daemon" CFLAGS="${CFLAGS} ${SYSTEMD_CFLAGS}"
TOR_SYSTEMD_LIBS="${SYSTEMD_LIBS}"
fi fi
AC_SUBST(TOR_SYSTEMD_LIBS) AC_SUBST(TOR_SYSTEMD_LIBS)
@ -1542,10 +1543,9 @@ fi
if test "$GCC" = yes; then if test "$GCC" = yes; then
# Disable GCC's strict aliasing checks. They are an hours-to-debug # Disable GCC's strict aliasing checks. They are an hours-to-debug
# accident waiting to happen. # accident waiting to happen.
CFLAGS="$CFLAGS -Wall -fno-strict-aliasing" CFLAGS="$CFLAGS -Wall -fno-strict-aliasing -g -O2"
else else
# Autoconf sets -g -O2 by default. Override optimization level # Override optimization level for non-gcc compilers
# for non-gcc compilers
CFLAGS="$CFLAGS -O" CFLAGS="$CFLAGS -O"
enable_gcc_warnings=no enable_gcc_warnings=no
enable_gcc_warnings_advisory=no enable_gcc_warnings_advisory=no