You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by fu...@apache.org on 2021/02/20 07:19:59 UTC

svn commit: r1886708 - /subversion/trunk/Makefile.in

Author: futatuki
Date: Sat Feb 20 07:19:59 2021
New Revision: 1886708

URL: http://svn.apache.org/viewvc?rev=1886708&view=rev
Log:
swig-py: Fix dependency of make copy-swig-py target.

In the Unix/Linux build of swig-py, we introduce symlinks of Python
extention modules in $(SWIG_PY_DIR)/libsvn in r1869722, only for
'make check-swig-py', so that we can test the modules before install
them even if libsvn/*.py modules uses relative import.  This is need
for supporting SWIG >= 4.0 because libsvn/*.py modules generated by
SWIG 4.0 use relative import.  Also in r1883335, we introduce relative
import in libsvn/*.py even we use SWIG < 4.0.

In the Makefile rules these links were depends on Python extention
modules, but there is no dependency rule between copy-swig-py target
and '*.so' extension module files in same swig-py target. So we couldn't
warrant that *.so files were built before copy-swig-py target is
triggered, especially multi-job build.

On the other hand, the files in $(SWIG_PY_DIR)/libsvn is needed only
for execute tests, i.e. check-swig-py target, and is not needed for
install-swig-py target, so we can safely move copy-swig-py target from
source of swig-py target to source of check-swig-py target, and
we warrant that *.so files were built before copy-swig-py target is
triggerd.

* Makefile.in
  (): Move swig-py target before $(SWIG_PY_DIR)/libsvn target, as
  expected order of dependency.
  (swig-py): Remove source 'copy-swig-py'.
  (copy-swig-py): Add source 'swig-py' to make sure '*.so' extension
    modules are built before this rule is triggerd.
  (check-swig-py): Add source 'copy-swig-py'.

Reported by: Lev Serebryakov <lev {_AT_} serebryakov.spb.ru>

Modified:
    subversion/trunk/Makefile.in

Modified: subversion/trunk/Makefile.in
URL: http://svn.apache.org/viewvc/subversion/trunk/Makefile.in?rev=1886708&r1=1886707&r2=1886708&view=diff
==============================================================================
--- subversion/trunk/Makefile.in (original)
+++ subversion/trunk/Makefile.in Sat Feb 20 07:19:59 2021
@@ -933,19 +933,19 @@ clean-swig-pl:
 extraclean-swig-pl: clean-swig-pl
 	$(EXTRACLEAN_SWIG_PL)
 
+swig-py: autogen-swig-py
+
 $(SWIG_PY_DIR)/libsvn:
 	mkdir $(SWIG_PY_DIR)/libsvn
 
-copy-swig-py: autogen-swig-py $(SWIG_PY_DIR)/libsvn
+copy-swig-py: autogen-swig-py swig-py $(SWIG_PY_DIR)/libsvn
 	@for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \
 	  ! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \
 	done
 	@cd $(SWIG_PY_DIR)/libsvn;ln -sf ../.libs/*.so .
 	@touch $(SWIG_PY_DIR)/libsvn/__init__.py
 
-swig-py: autogen-swig-py copy-swig-py
-
-check-swig-py: swig-py
+check-swig-py: swig-py copy-swig-py
 	$(TEST_SHLIB_VAR_SWIG_PY) \
 	cd $(SWIG_PY_DIR); \
 	  $(SWIG_PY_PYTHON) $(SWIG_PY_SRC_DIR)/tests/run_all.py