From 6bd584ad706fe39a8b71c1a8513e74776daae39b Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Fri, 14 Nov 2025 16:17:21 +0100 Subject: [PATCH] cpp.mk, swig.mk: Re-add files necessary for building auth Re-add all files missing for building the auth package. Signed-off-by: Jan Lindemann --- make/cpp.mk | 1 + make/swig.mk | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 210 insertions(+) create mode 100644 make/cpp.mk create mode 100644 make/swig.mk diff --git a/make/cpp.mk b/make/cpp.mk new file mode 100644 index 00000000..4a7669a8 --- /dev/null +++ b/make/cpp.mk @@ -0,0 +1 @@ +include $(JWBDIR)/make/tools.mk diff --git a/make/swig.mk b/make/swig.mk new file mode 100644 index 00000000..916d898b --- /dev/null +++ b/make/swig.mk @@ -0,0 +1,209 @@ +include $(JWBDIR)/make/defs.mk +include $(JWBDIR)/make/defs-cpp.mk +include $(JWBDIR)/make/dev-utils.mk + +ifeq ($(SWIG_TARGET),php) + + SWIG_LANG ?= php + SWIG_TARGET_EXT ?= php + ifeq ($(OS_NAME),ubuntu) + PHP_MAJOR ?= 5 + else + PHP_MAJOR ?= $(shell php-config --version | cut -d. -f1) + endif + PHP ?= php$(PHP_MAJOR) + #PHP ?= $(firstword $(notdir $(wildcard /usr/share/php*))) + # Funny: swig --help states -php7 is for PHP8 and later + SWIG_OPTS ?= -php7 -DJW_PHP_MAJOR=$(PHP_MAJOR) + SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)/usr/share/$(PHP) + + #SWIG_PHP_INCLUDE_DIR = /usr/include/$(PHP) + #SWIG_PHP_INCLUDE_SUBDIRS = . main TSRM Zend + SWIG_PHP_MODULE_INI = $(SWIG_MODULE).ini + SWIG_PHP_MODULE_INI_DIR = $(ENV_PREFIX)/etc/$(PHP)/conf.d + #SWIG_PHP_NAMESPACE ?= $(SWIG_MODULE) + + SWIG_GENERATED_EXTRA += $(SWIG_PHP_MODULE_INI) + SWIG_INSTALLED_EXTRA = $(SWIG_PHP_MODULE_INI_DIR)/$(SWIG_PHP_MODULE_INI) + ifneq ($(SWIG_PHP_NAMESPECE),) + SWIG_POSTPROCESS += sed -i -e "s/^ $@.tmp + mv $@.tmp $@ + +else ifeq ($(SWIG_TARGET),android) + + SWIG_LANG ?= android + SWIG_TARGET_EXT ?= java + SWIG_OPTS ?= -android + +else ifeq ($(SWIG_TARGET),python) + + include $(JWBDIR)/make/py-defs.mk # for $(PYTHON), $(PY_SITE_PACKAGES_PATH) + + PYTHON_FULL_VERSION ?= $(basename $(lastword $(shell $(PYTHON) --version 2>&1))) + PYTHON_MAJOR_VERSION ?= $(basename $(PYTHON_FULL_VERSION)) + PYTHON_MINOR_VERSION ?= $(patsubst .%,%,$(suffix $(PYTHON_FULL_VERSION))) + + SWIG_LANG ?= python + SWIG_TARGET_EXT ?= py + SWIG_OPTS ?= -python + #SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)$(SYSTEM_LIBDIR)/python$(PYTHON_MAJOR_VERSION).$(PYTHON_MINOR_VERSION)/site-packages + SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)$(PY_SITE_PACKAGES_PATH) + SWIG_MODULE_SO ?= _$(SWIG_MODULE).so + + ifneq ($(PYTHON_MAJOR_VERSION),3) + SWIG_CLEAN += $(wildcard *.pyc) + SWIG_PY_MODULE_PYC ?= $(patsubst %.py,%.pyc,$(SWIG_MODULE_TARGET)) + else + SWIG_CLEAN += $(wildcard __pycache__) + SWIG_PY_MODULE_PYC ?= $(patsubst %.py,__pycache__/%.$(PY_CPYTHON_PREFIX).pyc,$(SWIG_MODULE_TARGET)) + endif + SWIG_GENERATED_EXTRA += $(SWIG_PY_MODULE_PYC) + SWIG_INSTALLED_EXTRA += $(SWIG_MODULE_TARGET_DIR)/$(SWIG_PY_MODULE_PYC) + + FINAL_INCLUDE += $(shell $(PKG_CONFIG_EXE) --cflags python-$(PYTHON_VERSION)) + FINAL_LDFLAGS += $(shell $(PKG_CONFIG_EXE) --libs python-$(PYTHON_VERSION)) + + INSTALL_LIBDIR = $(SWIG_MODULE_TARGET_DIR) + +all: + +ifneq ($(PYTHON_MAJOR_VERSION),3) +%.pyc: %.py +else +__pycache__/%.$(PY_CPYTHON_PREFIX).pyc: %.py +endif + $(PYTHON) -c "import py_compile; py_compile.compile(\"$<\", doraise=True)" + +ifeq ($(PYTHON_MAJOR_VERSION),3) +$(SWIG_MODULE_TARGET_DIR)/__pycache__/%.$(PY_CPYTHON_PREFIX).pyc: __pycache__/%.$(PY_CPYTHON_PREFIX).pyc + mkdir -p $(dir $@) +else +$(SWIG_MODULE_TARGET_DIR)/%.pyc: %.pyc +endif + $(INSTALL) -p -m $(SWIG_TARGETMODE) -o $(SWIG_TARGETOWNER) -g $(SWIG_TARGETGROUP) $< $@ + +else ifeq ($(SWIG_TARGET),java) + + JAVA_VERSION ?= $(basename $(lastword $(shell java -version 2>&1 | sed '/version/ !d'))) + JAVA_MAJOR_VERSION ?= $(basename $(JAVA_VERSION)) + JAVA_MINOR_VERSION ?= $(patsubst .%,%,$(suffix $(JAVA_VERSION))) + + SWIG_LANG ?= java + SWIG_TARGET_EXT ?= java + SWIG_OPTS ?= -java + SWIG_MODULE_TARGET_DIR = /usr/share/java + SWIG_MODULE_SO ?= $(SWIG_MODULE).so + SWIG_CLEAN += $(wildcard *.java) + + #SWIG_PY_MODULE_PYC ?= $(patsubst %.py,%.pyc,$(SWIG_MODULE_TARGET)) + #SWIG_GENERATED_EXTRA += $(SWIG_PY_MODULE_PYC) + #SWIG_INSTALLED_EXTRA += $(SWIG_MODULE_TARGET_DIR)/$(SWIG_PY_MODULE_PYC) + + FINAL_INCLUDE += -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux + #FINAL_LDFLAGS += + + INSTALL_LIBDIR = $(SWIG_MODULE_TARGET_DIR) + +else ifeq ($(SWIG_TARGET),perl) + + PERL ?= perl + SWIG_LANG ?= perl + SWIG_TARGET_EXT ?= pm + SWIG_OPTS ?= -perl + PERL_VERSION ?= $(patsubst v%,%,$(shell $(PERL) -e 'print $$^V;')) + # /usr/lib/perl is a symlink to /usr/lib/perl5 for yocto, so give this a preference + PERL_BASE_DIR ?= $(firstword $(wildcard $(addprefix $(BUILD_LIBS_PREFIX),/usr/lib64/perl5 /usr/lib/perl /usr/lib/perl5 /usr/lib/perl-native/perl))) + PERL_CORE_DIR ?= $(firstword $(wildcard $(addprefix $(PERL_BASE_DIR)/,$(PERL_VERSION)/$(ARCH)-linux-thread-multi/CORE $(PERL_VERSION)/CORE CORE))) + PERL_VENDOR_DIR ?= $(PERL_BASE_DIR)/vendor_perl/$(PERL_VERSION)/$(ARCH)-linux-thread-multi + FINAL_INCLUDE += -I$(PERL_CORE_DIR) + SWIG_CLEAN += $(wildcard *.$(SWIG_TARGET_EXT)) + INSTALL_LIBDIR = $(ENV_PREFIX)$(PERL_VENDOR_DIR)/auto/$(SWIG_MODULE) + SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)$(PERL_VENDOR_DIR) + +else + + $(error SWIG_TARGET=$(SWIG_TARGET) undefined or unknown) + +endif + +SWIG_INCLUDE ?= $(filter-out -iquote .,$(FINAL_INCLUDE)) + +SWIG_USE_CPP ?= true +ifeq ($(SWIG_USE_CPP),true) + SWIG_SOURCE_EXT ?= cpp + SWIG_OPTS += -c++ +else + SWIG_SOURCE_EXT ?= c +endif +SWIG ?= swig +SWIG_INTERFACE_I ?= $(wildcard *.i) +#SWIG_MODULE ?= $(SWIG_TARGET_EXT)_$(firstword $(shell sed '/^%module/ !d; s/^ *%module *//' $(SWIG_INTERFACE_I))) +SWIG_MODULE ?= $(firstword $(shell sed '/^%module/ !d; s/^ *%module *//' $(SWIG_INTERFACE_I))) +SWIG_MODULE_SO ?= $(SWIG_MODULE).so +SWIG_MODULE_H ?= $(SWIG_MODULE).h +SWIG_MODULE_WRAP_C ?= $(SWIG_MODULE)_wrap.$(SWIG_SOURCE_EXT) +SWIG_MODULE_TARGET ?= $(SWIG_MODULE).$(SWIG_TARGET_EXT) +SWIG_SRC_C ?= $(sort $(SWIG_MODULE_WRAP_C) $(wildcard *.c *.cpp)) +SWIG_OBJ ?= $(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(sort $(SWIG_SRC_C)))) +SWIG_TARGETOWNER ?= root +SWIG_TARGETGROUP ?= root +SWIG_TARGETMODE ?= 0644 +SWIG_WRAPPER_DEP_MK = swig.dep.mk + +SWIG_INSTALLED_SO = $(addprefix $(INSTALL_LIBDIR)/,$(SWIG_MODULE_SO)) +ifneq ($(SWIG_TARGET),php) + SWIG_INSTALLED_MODULE_TARGET = $(addprefix $(SWIG_MODULE_TARGET_DIR)/,$(SWIG_MODULE_TARGET)) +endif + +SWIG_DEFINES += -DNON_C_BINDING +SWIG_OPTS += $(SWIG_DEFINES) +FINAL_CFLAGS += $(SWIG_DEFINES) +FINAL_CXXFLAGS += $(SWIG_DEFINES) + +# for depend.mk +BUILD_OBJ = $(SWIG_OBJ) +DEPEND_MK += $(SWIG_WRAPPER_DEP_MK) + +all: $(SWIG_MODULE_SO) $(SWIG_GENERATED_EXTRA) +install: $(SWIG_INSTALLED_SO) $(SWIG_INSTALLED_MODULE_TARGET) $(SWIG_INSTALLED_EXTRA) +clean: clean.generated +distclean: clean + +$(SWIG_WRAPPER_DEP_MK): $(SWIG_INTERFACE_I) + $(SWIG) -M -oh $(SWIG_MODULE_H) -module $(SWIG_MODULE) $(SWIG_INCLUDE) $(SWIG_OPTS) -MT $(SWIG_MODULE_WRAP_C) $< > $@.tmp + mv $@.tmp $@ + +$(SWIG_MODULE_WRAP_C): $(SWIG_INTERFACE_I) + $(SWIG) -oh $(SWIG_MODULE_H) -module $(SWIG_MODULE) $(SWIG_INCLUDE) $(SWIG_OPTS) -o $@ $< + $(SWIG_POSTPROCESS) + +$(SWIG_MODULE_SO): $(SWIG_OBJ) + $(CXX) $^ -shared $(FINAL_LDFLAGS) -o $@ + +$(SWIG_MODULE_TARGET_DIR): + mkdir -p $@ + +$(SWIG_MODULE_TARGET_DIR)/%: % | $(SWIG_MODULE_TARGET_DIR) + $(INSTALL) -p -o $(SWIG_TARGETOWNER) -g $(SWIG_TARGETGROUP) -m $(SWIG_TARGETMODE) $< $@ + +clean.generated: + $(RM) -rf $(SWIG_MODULE_WRAP_C) $(SWIG_OBJ) $(SWIG_MODULE_SO) $(SWIG_MODULE_TARGET) $(SWIG_CLEAN) $(SWIG_WRAPPER_DEP_MK) + +include $(JWBDIR)/make/rules.mk +include $(JWBDIR)/make/depend.mk