mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-01-23 02:14:37 +00:00
There are two notable open-source libraries that provide TLS implementation - OpenSSL and GnuTLS. The license of OpenSSL is incompatible with CRIU's license, and threfore GnuTLS is the recommended choice. GnuTLS offers an API to access secure communication protocols. These protocols provide privacy over insecure lines, and are designed to prevent eavesdropping, tampering or message forgery. Signed-off-by: Radostin Stoyanov <rstoyanov1@gmail.com>
71 lines
2.2 KiB
Text
71 lines
2.2 KiB
Text
include $(__nmk_dir)utils.mk
|
|
include $(__nmk_dir)msg.mk
|
|
include scripts/feature-tests.mak
|
|
|
|
ifeq ($(call try-cc,$(FEATURE_TEST_LIBBSD_DEV),-lbsd),true)
|
|
LIBS_FEATURES += -lbsd
|
|
FEATURE_DEFINES += -DCONFIG_HAS_LIBBSD
|
|
else
|
|
$(info Note: Building without setproctitle() and strlcpy() support.)
|
|
$(info $(info) To enable these features, please install libbsd-devel (RPM) / libbsd-dev (DEB).)
|
|
endif
|
|
|
|
ifeq ($(call pkg-config-check,libselinux),y)
|
|
LIBS_FEATURES += -lselinux
|
|
FEATURE_DEFINES += -DCONFIG_HAS_SELINUX
|
|
endif
|
|
|
|
ifeq ($(NO_GNUTLS)x$(call pkg-config-check,gnutls),xy)
|
|
LIBS_FEATURES += -lgnutls
|
|
export CONFIG_GNUTLS := y
|
|
FEATURE_DEFINES += -DCONFIG_GNUTLS
|
|
else
|
|
$(info Note: Building without GnuTLS support)
|
|
endif
|
|
|
|
export LIBS += $(LIBS_FEATURES)
|
|
|
|
CONFIG_FILE = .config
|
|
|
|
$(CONFIG_FILE):
|
|
touch $(CONFIG_FILE)
|
|
|
|
ifeq ($(SRCARCH),x86)
|
|
# CONFIG_COMPAT is only for x86 now, no need for compile-test other archs
|
|
ifeq ($(call try-asm,$(FEATURE_TEST_X86_COMPAT)),true)
|
|
export CONFIG_COMPAT := y
|
|
FEATURE_DEFINES += -DCONFIG_COMPAT
|
|
else
|
|
$(info Note: Building without ia32 C/R, missed ia32 support in gcc)
|
|
$(info $(info) That may be related to missing gcc-multilib in your)
|
|
$(info $(info) distribution or you may have Debian with buggy toolchain)
|
|
$(info $(info) (issue https://github.com/xemul/criu/issues/315))
|
|
endif
|
|
endif
|
|
|
|
export DEFINES += $(FEATURE_DEFINES)
|
|
export CFLAGS += $(FEATURE_DEFINES)
|
|
|
|
FEATURES_LIST := TCP_REPAIR STRLCPY STRLCAT PTRACE_PEEKSIGINFO \
|
|
SETPROCTITLE_INIT MEMFD TCP_REPAIR_WINDOW
|
|
|
|
# $1 - config name
|
|
define gen-feature-test
|
|
ifeq ($$(call try-cc,$$(FEATURE_TEST_$(1)),$$(LIBS_FEATURES),$$(DEFINES)),true)
|
|
$(Q) echo '#define CONFIG_HAS_$(1)' >> $$@
|
|
$(Q) echo '' >> $$@
|
|
endif
|
|
endef
|
|
|
|
define config-header-rule
|
|
$(CONFIG_HEADER): scripts/feature-tests.mak $(CONFIG_FILE)
|
|
$(call msg-gen, $$@)
|
|
$(Q) echo '#ifndef __CR_CONFIG_H__' > $$@
|
|
$(Q) echo '#define __CR_CONFIG_H__' >> $$@
|
|
$(Q) echo '' >> $$@
|
|
$(call map,gen-feature-test,$(FEATURES_LIST))
|
|
$(Q) cat $(CONFIG_FILE) | sed -n -e '/^[^#]/s/^/#define CONFIG_/p' >> $$@
|
|
$(Q) echo '#endif /* __CR_CONFIG_H__ */' >> $$@
|
|
endef
|
|
|
|
$(eval $(config-header-rule))
|