swig.mk, defs-(dist|dev).mk: Fix Python 3 support

python38.pc doesn't exist on OpenSUSE Tumbleweed, python-38.pc does, so use
that naming scheme. Also allow installation with DEVELOPMENT=true, failed with
the attempt to install as root user before.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2020-11-21 13:09:15 +00:00
commit e06ead38cc
3 changed files with 11 additions and 5 deletions

View file

@ -98,6 +98,9 @@ PYMODMODE ?= 644
PYJWBDIROWNER ?= $(BUILD_USER) PYJWBDIROWNER ?= $(BUILD_USER)
PYJWBDIRGROUP ?= $(BUILD_GROUP) PYJWBDIRGROUP ?= $(BUILD_GROUP)
PYJWBDIRMODE ?= 755 PYJWBDIRMODE ?= 755
SWIG_TARGETOWNER ?= $(PYMODOWNER)
SWIG_TARGETGROUP ?= $(PYMODGROUP)
SWIG_TARGETMODE ?= $(PYMODMODE)
INITOWNER ?= $(EXEOWNER) INITOWNER ?= $(EXEOWNER)
INITGROUP ?= $(EXEGROUP) INITGROUP ?= $(EXEGROUP)
INITMODE ?= $(EXEMODE) INITMODE ?= $(EXEMODE)

View file

@ -98,6 +98,9 @@ PYMODMODE ?= 644
PYJWBDIROWNER ?= root PYJWBDIROWNER ?= root
PYJWBDIRGROUP ?= root PYJWBDIRGROUP ?= root
PYJWBDIRMODE ?= 755 PYJWBDIRMODE ?= 755
SWIG_TARGETOWNER ?= $(PYMODOWNER)
SWIG_TARGETGROUP ?= $(PYMODGROUP)
SWIG_TARGETMODE ?= $(PYMODMODE)
INITDIRMODE ?= $(EXEDIRMODE) INITDIRMODE ?= $(EXEDIRMODE)
INITOWNER ?= $(EXEOWNER) INITOWNER ?= $(EXEOWNER)
INITGROUP ?= $(EXEGROUP) INITGROUP ?= $(EXEGROUP)

View file

@ -65,7 +65,7 @@ else ifeq ($(SWIG_TARGET),python)
SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)$(PY_SITE_PACKAGES_PATH) SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)$(PY_SITE_PACKAGES_PATH)
SWIG_MODULE_SO ?= _$(SWIG_MODULE).so SWIG_MODULE_SO ?= _$(SWIG_MODULE).so
ifneq ($(PYTHON_VERSION),3) ifneq ($(PYTHON_MAJOR_VERSION),3)
SWIG_CLEAN += $(wildcard *.pyc) SWIG_CLEAN += $(wildcard *.pyc)
SWIG_PY_MODULE_PYC ?= $(patsubst %.py,%.pyc,$(SWIG_MODULE_TARGET)) SWIG_PY_MODULE_PYC ?= $(patsubst %.py,%.pyc,$(SWIG_MODULE_TARGET))
else else
@ -75,21 +75,21 @@ else ifeq ($(SWIG_TARGET),python)
SWIG_GENERATED_EXTRA += $(SWIG_PY_MODULE_PYC) SWIG_GENERATED_EXTRA += $(SWIG_PY_MODULE_PYC)
SWIG_INSTALLED_EXTRA += $(SWIG_MODULE_TARGET_DIR)/$(SWIG_PY_MODULE_PYC) SWIG_INSTALLED_EXTRA += $(SWIG_MODULE_TARGET_DIR)/$(SWIG_PY_MODULE_PYC)
FINAL_INCLUDE += $(shell pkg-config --cflags python$(PYTHON_VERSION)) FINAL_INCLUDE += $(shell $(PKG_CONFIG_EXE) --cflags python-$(PYTHON_VERSION))
FINAL_LDFLAGS += $(shell pkg-config --libs python$(PYTHON_VERSION)) FINAL_LDFLAGS += $(shell $(PKG_CONFIG_EXE) --libs python-$(PYTHON_VERSION))
INSTALL_LIBDIR = $(SWIG_MODULE_TARGET_DIR) INSTALL_LIBDIR = $(SWIG_MODULE_TARGET_DIR)
all: all:
ifneq ($(PYTHON_VERSION),3) ifneq ($(PYTHON_MAJOR_VERSION),3)
%.pyc: %.py %.pyc: %.py
else else
__pycache__/%.$(PY_CPYTHON_PREFIX).pyc: %.py __pycache__/%.$(PY_CPYTHON_PREFIX).pyc: %.py
endif endif
$(PYTHON) -c "import py_compile; py_compile.compile(\"$<\", doraise=True)" $(PYTHON) -c "import py_compile; py_compile.compile(\"$<\", doraise=True)"
ifeq ($(PYTHON_VERSION),3) ifeq ($(PYTHON_MAJOR_VERSION),3)
$(SWIG_MODULE_TARGET_DIR)/__pycache__/%.$(PY_CPYTHON_PREFIX).pyc: __pycache__/%.$(PY_CPYTHON_PREFIX).pyc $(SWIG_MODULE_TARGET_DIR)/__pycache__/%.$(PY_CPYTHON_PREFIX).pyc: __pycache__/%.$(PY_CPYTHON_PREFIX).pyc
mkdir -p $(dir $@) mkdir -p $(dir $@)
else else