Commit 8ed3fbeb authored by Ned Deily's avatar Ned Deily

Issue #17095: Fix Modules/Setup *shared* support.

Original patch by Thomas Wouters.
parent dde11b23
...@@ -58,6 +58,11 @@ Library ...@@ -58,6 +58,11 @@ Library
- Issue #21538: The plistlib module now supports loading of binary plist files - Issue #21538: The plistlib module now supports loading of binary plist files
when reference or offset size is not a power of two. when reference or offset size is not a power of two.
Build
-----
- Issue #17095: Fix Modules/Setup *shared* support.
Tests Tests
----- -----
......
...@@ -734,6 +734,11 @@ calculate_path(void) ...@@ -734,6 +734,11 @@ calculate_path(void)
bufsz += wcslen(zip_path) + 1; bufsz += wcslen(zip_path) + 1;
bufsz += wcslen(exec_prefix) + 1; bufsz += wcslen(exec_prefix) + 1;
/* When running from the build directory, add room for the Modules
* subdirectory too.
*/
if (efound == -1)
bufsz += wcslen(argv0_path) + wcslen(L"Modules") + 2;
buf = (wchar_t *)PyMem_Malloc(bufsz * sizeof(wchar_t)); buf = (wchar_t *)PyMem_Malloc(bufsz * sizeof(wchar_t));
if (buf == NULL) { if (buf == NULL) {
...@@ -781,6 +786,15 @@ calculate_path(void) ...@@ -781,6 +786,15 @@ calculate_path(void)
/* Finally, on goes the directory for dynamic-load modules */ /* Finally, on goes the directory for dynamic-load modules */
wcscat(buf, exec_prefix); wcscat(buf, exec_prefix);
/* And, if we run from a build directory, the Modules directory (for
* modules built with Modules/Setup.)
*/
if (efound == -1) {
wcscat(buf, delimiter);
wcscat(buf, argv0_path);
wcscat(buf, separator);
wcscat(buf, L"Modules");
}
/* And publish the results */ /* And publish the results */
module_search_path = buf; module_search_path = buf;
......
...@@ -217,7 +217,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' | ...@@ -217,7 +217,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
*) src='$(srcdir)/'"$srcdir/$src";; *) src='$(srcdir)/'"$srcdir/$src";;
esac esac
case $doconfig in case $doconfig in
no) cc="$cc \$(CCSHARED) \$(CFLAGS) \$(CPPFLAGS)";; no) cc="$cc \$(CCSHARED) \$(PY_CFLAGS) \$(PY_CPPFLAGS)";;
*) *)
cc="$cc \$(PY_CORE_CFLAGS)";; cc="$cc \$(PY_CORE_CFLAGS)";;
esac esac
...@@ -229,11 +229,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' | ...@@ -229,11 +229,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
esac esac
for mod in $mods for mod in $mods
do do
case $objs in file="$srcdir/$mod\$(EXT_SUFFIX)"
*$mod.o*) base=$mod;;
*) base=${mod}module;;
esac
file="$srcdir/$base\$(SO)"
case $doconfig in case $doconfig in
no) SHAREDMODS="$SHAREDMODS $file";; no) SHAREDMODS="$SHAREDMODS $file";;
esac esac
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment