https://bugs.gentoo.org/917646 https://github.com/systemd-cron/systemd-cron/issues/141 https://github.com/systemd-cron/systemd-cron/commit/1662b899b206f00face30b9d4671551427262b07 From 1662b899b206f00face30b9d4671551427262b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= Date: Tue, 21 Nov 2023 19:40:05 +0100 Subject: [PATCH] Add PCH= for broken compilers like #141 --- a/Makefile.in +++ b/Makefile.in @@ -1,6 +1,7 @@ CFLAGS ?= -O2 SHELLCHECK ?= shellcheck CRONTAB ?= crontab +PCH ?= y version := @version@ schedules := @schedules@ @@ -208,12 +209,12 @@ $(builddir)/include/%.hpp: $(srcdir)/include/%.hpp CXXVER := $(shell $(CXX) --version | { read -r l; echo "$$l"; }) ifneq "$(findstring clang,$(CXXVER))" "" # clang doesn't use PCHs automatically - PCH_ARG := -include-pch $(builddir)/include/libvoreutils.hpp.gch -Wno-gcc-compat + PCH_ARG := $(if $(PCH),-include-pch $(builddir)/include/libvoreutils.hpp.gch) -Wno-gcc-compat else PCH_ARG := endif -common_headers := $(builddir)/include/configuration.hpp $(builddir)/include/libvoreutils.hpp.gch $(builddir)/include/util.hpp +common_headers := $(builddir)/include/configuration.hpp $(builddir)/include/libvoreutils.hpp$(if $(PCH),.gch) $(builddir)/include/util.hpp CFLAGS += -Wall -Wextra -fno-exceptions -Wno-psabi $(builddir)/include/libvoreutils.hpp.gch : $(builddir)/include/libvoreutils.hpp $(CXX) $(CFLAGS) $(CPPFLAGS) -std=c++20 -I $(builddir)/include $< -o $@ --- a/README.md +++ b/README.md @@ -146,6 +146,8 @@ without the override, the jobs would run twice since native-timer detection woul If there is already a perfect 1:1 mapping between `/etc/cron./` and `/usr/lib/systemd/system/.timer`, then it is not needed to add an entry to these tables. +If your compiler's [PCH compilation is broken](https://github.com/systemd-cron/systemd-cron/issues/141), build with `make PCH=`. + ### Caveat Your package should also run these extra commands before starting cron.target