sysklogd/Makefile.am
Joachim Nilsson 9cf1f97cef Fix nasty parallel build problem reported by Gentoo and Westermo
Independently of each other both the Gentoo project and Westermo found
an issue with massively parallel builds on monster-core-machines.  At
Westermo there are 40 core Xeon monsters that stumble when building
sysklogd.

The Gentoo bug report is here:

    https://bugs.gentoo.org/701894

The problem stems from strlcat.c and strlcpy.c being used for both
the libcompat convenience library built for libsyslog and als for
syslogd when the system does not have either of the APIs in libc,
i.e. most Linux systems with GLIBC or musl libc.

I can either rewrite the Makefile.am files to handle dependencies
better, or we just disable parallel build like this patch. There's
too few source files to gain anything from parallel build anyway.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-12-06 18:19:05 +01:00

52 lines
1.8 KiB
Makefile

# Copyright (c) 2018-2019 Joachim Nilsson <troglobit@gmail.com>
#
# This file is part of the sysklogd package, a kernel and system log daemon.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
SUBDIRS = example man src test
doc_DATA = README.md ChangeLog.md syslog.conf
EXTRA_DIST = README.md ChangeLog.md syslog.conf
if HAVE_SYSTEMD
systemd_DATA = syslogd.service
if ENABLE_KLOGD
systemd_DATA += klogd.service
endif
endif
#
# Target to run when building a release
#
release: distcheck
@for file in $(DIST_ARCHIVES); do \
md5sum $$file > ../$$file.md5; \
done
@mv $(DIST_ARCHIVES) ../
@echo
@echo "Resulting release files:"
@echo "================================================================="
@for file in $(DIST_ARCHIVES); do \
printf "$$file \tDistribution tarball\n"; \
printf "$$file.md5\t"; cat ../$$file.md5 | cut -f1 -d' '; \
done
# Workaround for systemd unit file duing distcheck
DISTCHECK_CONFIGURE_FLAGS = --with-systemd=$$dc_install_base/$(systemd) --with-klogd
# Disable parallel build in top Makefile, we might otherwise get a very
# bizarre build problem with strlcpy.o in libcompat and for syslogd.
.NOTPARALLEL: