mirror of
https://github.com/python/cpython.git
synced 2025-09-09 18:32:22 +00:00
Fix problem reported by Donn Cave: if VPATH is an absolute path, it
would always be a hit. Prevent this by only using VPATH if we know we are in the build directory.
This commit is contained in:
parent
4a807f5939
commit
573a24a4f7
1 changed files with 25 additions and 18 deletions
|
@ -209,6 +209,10 @@ search_for_prefix(argv0_path, home)
|
||||||
int i, n;
|
int i, n;
|
||||||
char *vpath;
|
char *vpath;
|
||||||
|
|
||||||
|
/* Check to see if argv[0] is in the build directory */
|
||||||
|
strcpy(prefix, argv0_path);
|
||||||
|
join(prefix, "Modules/Setup");
|
||||||
|
if (exists(prefix)) {
|
||||||
/* Check VPATH to see if argv0_path is in the build directory.
|
/* Check VPATH to see if argv0_path is in the build directory.
|
||||||
* Complication: the VPATH passed in is relative to the
|
* Complication: the VPATH passed in is relative to the
|
||||||
* Modules build directory and points to the Modules source
|
* Modules build directory and points to the Modules source
|
||||||
|
@ -228,6 +232,7 @@ search_for_prefix(argv0_path, home)
|
||||||
join(prefix, LANDMARK);
|
join(prefix, LANDMARK);
|
||||||
if (exists(prefix))
|
if (exists(prefix))
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (home) {
|
if (home) {
|
||||||
/* Check $PYTHONHOME */
|
/* Check $PYTHONHOME */
|
||||||
|
@ -474,6 +479,8 @@ calculate_path()
|
||||||
strcpy(buf, rtpypath);
|
strcpy(buf, rtpypath);
|
||||||
strcat(buf, delimiter);
|
strcat(buf, delimiter);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
buf[0] = '\0';
|
||||||
|
|
||||||
/* Next goes merge of compile-time $PYTHONPATH with
|
/* Next goes merge of compile-time $PYTHONPATH with
|
||||||
* dynamically located prefix.
|
* dynamically located prefix.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue