From 227008ec0f59eecf3a962ebd9fbc27a0e475a4df Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Mon, 18 Nov 2019 12:08:26 +0100 Subject: [PATCH] build: make logger and its man page optional There are other packages that provide a logger program like util-linux We should respekt that Signed-off-by: Lars Wendler --- configure.ac | 10 ++++++++++ man/Makefile.am | 6 +++++- src/Makefile.am | 8 +++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 37c0bd4..e7acad7 100644 --- a/configure.ac +++ b/configure.ac @@ -65,6 +65,10 @@ AC_ARG_WITH(systemd, [AS_HELP_STRING([--with-systemd=DIR], [Directory for systemd service files])],, [with_systemd=auto]) +AC_ARG_WITH(logger, + AS_HELP_STRING([--without-logger], [Do not build/install logger binary and man page, default: enabled]), + [logger=$withval], [logger='yes']) + AS_IF([test "x$klogd" != "xno"], with_klogd="yes" AC_DEFINE(KLOGD, 1, [Build with klogd, default: built-in /dev/kmsg support in syslogd]), @@ -97,6 +101,12 @@ AS_IF([test "x$with_systemd" != "xno"], [AC_SUBST([systemddir], [$with_systemd])]) AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemd" != "xno"]) +AS_IF([test "x$logger" != "xno"], [ + with_logger="yes" + AC_DEFINE(LOGGER, 1, [Build with logger])], + with_logger="no") +AM_CONDITIONAL([ENABLE_LOGGER], [test "x$with_logger" != "xno"]) + # Expand $sbindir early, into $SBINDIR, for systemd unit file # NOTE: This does *not* take prefix/exec_prefix override at "make # install" into account, unfortunately. diff --git a/man/Makefile.am b/man/Makefile.am index 8ee7064..8ccad31 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,4 +1,4 @@ -dist_man1_MANS = logger.1 +dist_man1_MANS = dist_man3_MANS = syslogp.3 dist_man5_MANS = syslog.conf.5 dist_man8_MANS = syslogd.8 @@ -6,3 +6,7 @@ dist_man8_MANS = syslogd.8 if ENABLE_KLOGD dist_man8_MANS += klogd.8 endif + +if ENABLE_LOGGER +dist_man1_MANS += logger.1 +endif diff --git a/src/Makefile.am b/src/Makefile.am index 85f747b..849e49b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -16,7 +16,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -bin_PROGRAMS = logger +bin_PROGRAMS = sbin_PROGRAMS = syslogd lib_LTLIBRARIES = libsyslog.la noinst_LTLIBRARIES = libcompat.la @@ -25,6 +25,10 @@ if ENABLE_KLOGD sbin_PROGRAMS += klogd endif +if ENABLE_LOGGER +bin_PROGRAMS += logger +endif + AM_CFLAGS = -W -Wall -Wextra AM_CFLAGS += -Wno-unused-result -Wno-unused-parameter -fno-strict-aliasing AM_CPPFLAGS = -DSYSCONFDIR=\"@sysconfdir@\" -DLOCALSTATEDIR=\"@localstatedir@\" @@ -39,10 +43,12 @@ klogd_CPPFLAGS = $(AM_CPPFLAGS) klogd_LDADD = $(LIBS) $(LIBOBJS) klogd_LDADD += libsyslog.la +if ENABLE_LOGGER logger_SOURCES = logger.c syslog.h logger_CPPFLAGS = $(AM_CPPFLAGS) -D_XOPEN_SOURCE=600 logger_LDADD = $(LIBS) $(LIBOBJS) logger_LDADD += libsyslog.la +endif # Convenience library for libsyslog instead of linking with $(LTLIBOBJS), # which would pull in pidfile() and other (strong) symbols as well.