r1886708 | futatuki | 2021-02-20 07:19:59 +0000 (Sat, 20 Feb 2021)
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>