|
|
@@ -36,19 +36,36 @@ ifneq ($(wildcard $(ROOT)/Makefile.buildvars),)
|
|
|
include $(ROOT)/Makefile.buildvars
|
|
|
endif
|
|
|
|
|
|
-PYTHON_H ?= $(shell ls /usr/include/python2.7/Python.h 2>/dev/null || ls /usr/local/python27/include/python2.7/Python.h 2>/dev/null || ls /opt/rh/python27/root/usr/include/python2.7/Python.h 2>/dev/null)
|
|
|
+
|
|
|
+VER_ERR_MSG = "Variable PYTHON_VER is $(PYTHON_VER) but it only supports python2.7 or >= python3.5. If not set, defaults to python2.7."
|
|
|
+
|
|
|
+PYTHON_VER ?= python2.7
|
|
|
+PYTHON_EXE = $(shell echo $(PYTHON_VER) | sed "s/\.//")
|
|
|
+
|
|
|
+ifeq ($(PYTHON_VER),python2.7)
|
|
|
+ $(info "PYTHNON_VER is $(PYTHON_VER)")
|
|
|
+else ifeq ($(shell echo $(PYTHON_VER) | head -c 8),python3.)
|
|
|
+ PYTHON_VER := $(shell echo $(PYTHON_VER) | head -c 9)
|
|
|
+ MINOR_VER = $(shell echo -n $(PYTHON_VER) | tail -c 1)
|
|
|
+ ifeq ($(shell test $(MINOR_VER) -lt 5; echo $$?),0)
|
|
|
+ $(error "$(VER_ERR_MSG)")
|
|
|
+ endif
|
|
|
+else
|
|
|
+ $(error "$(VER_ERR_MSG)")
|
|
|
+endif
|
|
|
+
|
|
|
+PYTHON_H ?= $(shell ls /usr/include/$(PYTHON_VER)/Python.h 2>/dev/null || find /usr/local/$(PYTHON_EXE)/include/$(PYTHON_VER)* -name Python.h 2>/dev/null || find /opt/rh/rh-$(PYTHON_EXE)/root/usr/include/$(PYTHON_VER)* -name Python.h 2>/dev/null)
|
|
|
ifndef SKIP_PYTHONDEV_CHECK
|
|
|
ifeq ($(PYTHON_H),)
|
|
|
- $(error "Error: must have python development packages for 2.7. Could not find Python.h. Please install python2.7-devel")
|
|
|
+ $(error "Error: must have python development packages for $(PYTHON_VER). Could not find Python.h. Please install $(PYTHON_VER)-devel")
|
|
|
endif
|
|
|
- PYTHON_VER := $(shell echo $(PYTHON_H) | grep -o python2.7)
|
|
|
- SYS_PYTHON ?= $(shell ls /usr/bin/$(PYTHON_VER) 2>/dev/null || ls /usr/local/python27/bin/$(PYTHON_VER) 2>/dev/null || ls /opt/rh/python27/root/usr/bin/$(PYTHON_VER) 2>/dev/null)
|
|
|
+ SYS_PYTHON ?= $(shell ls /usr/bin/$(PYTHON_VER) 2>/dev/null || ls /usr/local/$(PYTHON_EXE)/bin/$(PYTHON_VER) 2>/dev/null || ls /opt/rh/$(PYTHON_EXE)/root/usr/bin/$(PYTHON_VER) 2>/dev/null || ls /opt/rh/rh-$(PYTHON_EXE)/root/usr/bin/$(PYTHON_VER) 2>/dev/null)
|
|
|
else
|
|
|
- SYS_PYTHON ?= $(shell which python2.7)
|
|
|
+ SYS_PYTHON ?= $(shell which $(PYTHON_VER))
|
|
|
endif
|
|
|
|
|
|
ifeq ($(SYS_PYTHON),)
|
|
|
- $(error "Error: Need python version 2.7.")
|
|
|
+ $(error "Error: Need python version 2.7 or >= 3.5")
|
|
|
endif
|
|
|
|
|
|
HADOOP_HOME ?= /usr/lib/hadoop
|