Fix out-of-tree builds for blake2
diff --git a/Makefile.pre.in b/Makefile.pre.in
index e17fe77..04499dc 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -541,7 +541,7 @@
# Run "Argument Clinic" over all source files
# (depends on python having already been built)
.PHONY=clinic
-clinic: $(BUILDPYTHON) Modules/_blake2/blake2s_impl.c
+clinic: $(BUILDPYTHON) $(srcdir)/Modules/_blake2/blake2s_impl.c
$(RUNSHARED) $(PYTHON_FOR_BUILD) ./Tools/clinic/clinic.py --make
# Build the interpreter
@@ -572,9 +572,9 @@
$(CC) -c $(CCSHARED) $(PY_CORE_CFLAGS) -o $@ $<
# blake2s is auto-generated from blake2b
-Modules/_blake2/blake2s_impl.c: $(BUILDPYTHON) Modules/_blake2/blake2b_impl.c Modules/_blake2/blake2b2s.py
- $(RUNSHARED) $(PYTHON_FOR_BUILD) Modules/_blake2/blake2b2s.py
- $(RUNSHARED) $(PYTHON_FOR_BUILD) Tools/clinic/clinic.py -f $@
+$(srcdir)/Modules/_blake2/blake2s_impl.c: $(BUILDPYTHON) $(srcdir)/Modules/_blake2/blake2b_impl.c $(srcdir)/Modules/_blake2/blake2b2s.py
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Modules/_blake2/blake2b2s.py
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/clinic/clinic.py -f $@
# Build the shared modules
# Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for
diff --git a/setup.py b/setup.py
index bbb6bb7..ed1acfd 100644
--- a/setup.py
+++ b/setup.py
@@ -889,8 +889,8 @@
exts.append( Extension('_sha1', ['sha1module.c'],
depends=['hashlib.h']) )
- blake2_deps = [os.path.join('_blake2', 'impl', name)
- for name in os.listdir('Modules/_blake2/impl')]
+ blake2_deps = glob(os.path.join(os.getcwd(), srcdir,
+ 'Modules/_blake2/impl/*'))
blake2_deps.append('hashlib.h')
blake2_macros = []