Files
ortools-clone/tools/docker/Makefile.python.mk.patch

56 lines
2.4 KiB
Diff
Raw Normal View History

diff --git a/makefiles/Makefile.python.mk b/makefiles/Makefile.python.mk
index 61d0be945..979479a54 100755
--- a/makefiles/Makefile.python.mk
+++ b/makefiles/Makefile.python.mk
@@ -1,4 +1,4 @@
-.PHONY : python install_python_modules pypi_archive pyinit pycp pyalgorithms pygraph pylp
+.PHONY : python install_python_modules pypi_archive pypi_archive_dir pyinit pycp pyalgorithms pygraph pylp
# Python support using SWIG
@@ -247,9 +247,23 @@ PYPI_ARCHIVE_TEMP_DIR = temp-python$(PYTHON_VERSION)
OR_TOOLS_PYTHON_GEN_SCRIPTS = $(wildcard src/gen/ortools/*/*.py) $(wildcard src/gen/ortools/*/*.cc)
-pypi_archive: python $(PYPI_ARCHIVE_TEMP_DIR)
+# Stages all the files needed to build the python package.
+pypi_archive_dir: python $(PYPI_ARCHIVE_TEMP_DIR)
-$(PYPI_ARCHIVE_TEMP_DIR) : $(OR_TOOLS_PYTHON_GEN_SCRIPTS) $(PATCHELF)
+# Patches the archive files to be able to build a pypi package.
+# Graft libortools if needed and set RPATHs.
+pypi_archive: pypi_archive_dir $(PATCHELF)
+ifneq ($(PLATFORM),win)
+ cp lib/libortools.$(LIB_SUFFIX) $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools
+ifeq ($(PLATFORM),MACOSX)
+ tools/fix_python_libraries_on_mac.sh $(PYPI_ARCHIVE_TEMP_DIR)
+endif
+ifeq ($(PLATFORM),LINUX)
+ tools/fix_python_libraries_on_linux.sh $(PYPI_ARCHIVE_TEMP_DIR)
+endif
+endif
+
+$(PYPI_ARCHIVE_TEMP_DIR) : $(OR_TOOLS_PYTHON_GEN_SCRIPTS)
-$(DELREC) $(PYPI_ARCHIVE_TEMP_DIR)
$(MKDIR) $(PYPI_ARCHIVE_TEMP_DIR)
$(MKDIR) $(PYPI_ARCHIVE_TEMP_DIR)$Sortools
@@ -300,18 +314,10 @@ else
cp lib/_pywraplp.$(SWIG_LIB_SUFFIX) $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools/linear_solver
cp lib/_pywrapgraph.$(SWIG_LIB_SUFFIX) $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools/graph
cp lib/_pywrapknapsack_solver.$(SWIG_LIB_SUFFIX) $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools/algorithms
- cp lib/libortools.$(LIB_SUFFIX) $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools
$(SED) -i -e 's/\.dll/\.so/' $(PYPI_ARCHIVE_TEMP_DIR)/ortools/setup.py
$(SED) -i -e 's/DELETEWIN //g' $(PYPI_ARCHIVE_TEMP_DIR)/ortools/setup.py
$(SED) -i -e '/DELETEUNIX/d' $(PYPI_ARCHIVE_TEMP_DIR)/ortools/setup.py
$(SED) -i -e 's/DLL/$(LIB_SUFFIX)/g' $(PYPI_ARCHIVE_TEMP_DIR)/ortools/setup.py
- -rm $(PYPI_ARCHIVE_TEMP_DIR)/ortools/setup.py-e
-ifeq ($(PLATFORM),MACOSX)
- tools/fix_python_libraries_on_mac.sh $(PYPI_ARCHIVE_TEMP_DIR)
-endif
-ifeq ($(PLATFORM),LINUX)
- tools/fix_python_libraries_on_linux.sh $(PYPI_ARCHIVE_TEMP_DIR)
-endif
endif
pypi_upload: pypi_archive