-readline_cflags += $(shell pkg-config readline --cflags)
-readline_xopen := $(filter -D_XOPEN_SOURCE=%,$(readline_cflags))
-readline_xopen := $(subst -D_XOPEN_SOURCE=,,$(readline_xopen))
-ifneq ($(readline_xopen),600)
- $(error "Unexpected pkg-config readline _XOPEN_SOURCE --cflags $(readline_cflags)")
+
+ifneq ($(strip $(bup_readline_cflags)),)
+ readline_cflags += $(bup_readline_cflags)
+ readline_xopen := $(filter -D_XOPEN_SOURCE=%,$(readline_cflags))
+ readline_xopen := $(subst -D_XOPEN_SOURCE=,,$(readline_xopen))
+ readline_cflags := $(filter-out -D_XOPEN_SOURCE=%,$(readline_cflags))
+ readline_cflags += $(addprefix -DBUP_RL_EXPECTED_XOPEN_SOURCE=,$(readline_xopen))
+ CFLAGS += $(readline_cflags)