diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2009-02-02 14:23:16 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2009-02-02 14:23:16 (GMT) |
commit | fee1c7f4c9f61ad870ebbf481ae8449ac680a1a7 (patch) | |
tree | 4d0483dd9bbf73b53f0d04165e57ebfc91ab1ad4 | |
parent | e1e0a02648493ba82f71b33aa7c5a93ebf3b78a9 (diff) | |
download | cpython-fee1c7f4c9f61ad870ebbf481ae8449ac680a1a7.zip cpython-fee1c7f4c9f61ad870ebbf481ae8449ac680a1a7.tar.gz cpython-fee1c7f4c9f61ad870ebbf481ae8449ac680a1a7.tar.bz2 |
Issue #4494: Fix build with Py_NO_ENABLE_SHARED on Windows.
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | PC/getpathp.c | 12 |
2 files changed, 14 insertions, 0 deletions
@@ -397,6 +397,8 @@ Tools/Demos Build ----- +- Issue #4494: Fix build with Py_NO_ENABLE_SHARED on Windows. + - Issue #4895: Use _strdup on Windows CE. - Issue #4472: "configure --enable-shared" now works on OSX diff --git a/PC/getpathp.c b/PC/getpathp.c index e62b936..78f4465 100644 --- a/PC/getpathp.c +++ b/PC/getpathp.c @@ -201,6 +201,7 @@ search_for_prefix(char *argv0_path, char *landmark) } #ifdef MS_WINDOWS +#ifdef Py_ENABLE_SHARED /* a string loaded from the DLL at startup.*/ extern const char *PyWin_DLLVersionString; @@ -363,6 +364,7 @@ done: free(keyBuf); return retval; } +#endif /* Py_ENABLE_SHARED */ #endif /* MS_WINDOWS */ static void @@ -380,6 +382,7 @@ get_progpath(void) but makes no mention of the null terminator. Play it safe. PLUS Windows itself defines MAX_PATH as the same, but anyway... */ +#ifdef Py_ENABLE_SHARED wprogpath[MAXPATHLEN]=_T('\0'); if (PyWin_DLLhModule && GetModuleFileName(PyWin_DLLhModule, wprogpath, MAXPATHLEN)) { @@ -388,6 +391,9 @@ get_progpath(void) dllpath, MAXPATHLEN+1, NULL, NULL); } +#else + dllpath[0] = 0; +#endif wprogpath[MAXPATHLEN]=_T('\0'); if (GetModuleFileName(NULL, wprogpath, MAXPATHLEN)) { WideCharToMultiByte(CP_ACP, 0, @@ -398,9 +404,13 @@ get_progpath(void) } #else /* static init of progpath ensures final char remains \0 */ +#ifdef Py_ENABLE_SHARED if (PyWin_DLLhModule) if (!GetModuleFileName(PyWin_DLLhModule, dllpath, MAXPATHLEN)) dllpath[0] = 0; +#else + dllpath[0] = 0; +#endif if (GetModuleFileName(NULL, progpath, MAXPATHLEN)) return; #endif @@ -501,8 +511,10 @@ calculate_path(void) } skiphome = pythonhome==NULL ? 0 : 1; +#ifdef Py_ENABLE_SHARED machinepath = getpythonregpath(HKEY_LOCAL_MACHINE, skiphome); userpath = getpythonregpath(HKEY_CURRENT_USER, skiphome); +#endif /* We only use the default relative PYTHONPATH if we havent anything better to use! */ skipdefault = envpath!=NULL || pythonhome!=NULL || \ |