include scripts/utilities.mak
include scripts/feature-tests.mak

CONFIG		:= include/config.h

ifeq ($(call try-cc,$(LIBBSD_DEV_TEST),-lbsd),y)
	LIBS += -lbsd
	DEFINES += -DCONFIG_HAS_LIBBSD
endif

ifeq ($(call pkg-config-check,libselinux),y)
	LIBS := -lselinux $(LIBS)
	DEFINES += -DCONFIG_HAS_SELINUX
endif

$(CONFIG): scripts/utilities.mak scripts/feature-tests.mak include/config-base.h
	$(E) "  GEN     " $@
	$(Q) @echo '#ifndef __CR_CONFIG_H__' > $@
	$(Q) @echo '#define __CR_CONFIG_H__' >> $@
	$(Q) @echo '' >> $@
	$(Q) @echo '#include "config-base.h"' >> $@
	$(Q) @echo '' >> $@
ifeq ($(call try-cc,$(TCP_REPAIR_TEST),),y)
	$(Q) @echo '#define CONFIG_HAS_TCP_REPAIR' >> $@
endif
ifeq ($(call try-cc,$(PRLIMIT_TEST),),y)
	$(Q) @echo '#define CONFIG_HAS_PRLIMIT' >> $@
endif
ifeq ($(call try-cc,$(STRLCPY_TEST),$(LIBS)),y)
	$(Q) @echo '#define CONFIG_HAS_STRLCPY' >> $@
endif
ifeq ($(call try-cc,$(STRLCAT_TEST),$(LIBS)),y)
	$(Q) @echo '#define CONFIG_HAS_STRLCAT' >> $@
endif
ifeq ($(call try-cc,$(PTRACE_PEEKSIGINFO_TEST),),y)
	$(Q) @echo '#define CONFIG_HAS_PEEKSIGINFO_ARGS' >> $@
endif
ifeq ($(VDSO),y)
	$(Q) @echo '#define CONFIG_VDSO' >> $@
endif
ifeq ($(call try-cc,$(SETPROCTITLE_INIT_TEST),-lbsd),y)
	$(Q) @echo '#define CONFIG_HAS_SETPROCTITLE_INIT' >> $@
endif
ifeq ($(piegen-y),y)
	$(Q) @echo '#define CONFIG_PIEGEN' >> $@
endif
	$(Q) @echo '#endif /* __CR_CONFIG_H__ */' >> $@

config: $(CONFIG)

.PHONY: config
