mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 18:03:56 -04:00
preserve PATH
This commit is contained in:
parent
135b484657
commit
cd3dfe6911
@ -753,6 +753,8 @@ start_p3dpython(P3DInstance *inst) {
|
||||
keep_pythonpath = (inst->get_fparams().lookup_token_int("keep_pythonpath") != 0);
|
||||
}
|
||||
|
||||
string sys_path = search_path;
|
||||
string ld_path = search_path;
|
||||
string dyld_path = search_path;
|
||||
string python_path = search_path;
|
||||
string prc_path = prc_root + sep + search_path;
|
||||
@ -910,13 +912,33 @@ start_p3dpython(P3DInstance *inst) {
|
||||
}
|
||||
}
|
||||
|
||||
// We also append the original PATH et al to the *end* of the new
|
||||
// definitions, even if keep_user_env is not set. This is necessary
|
||||
// for os.system() and such to work as expected within the embedded
|
||||
// app. It's also necessary for webbrowser on Linux.
|
||||
char *orig_path = getenv("PATH");
|
||||
if (orig_path != NULL) {
|
||||
sys_path += sep;
|
||||
sys_path += orig_path;
|
||||
}
|
||||
char *orig_ld_path = getenv("LD_LIBRARY_PATH");
|
||||
if (orig_ld_path != NULL) {
|
||||
ld_path += sep;
|
||||
ld_path += orig_ld_path;
|
||||
}
|
||||
char *orig_dyld_path = getenv("DYLD_LIBRARY_PATH");
|
||||
if (orig_dyld_path != NULL) {
|
||||
dyld_path += sep;
|
||||
dyld_path += orig_dyld_path;
|
||||
}
|
||||
|
||||
// Define some new environment variables.
|
||||
_env += "PATH=";
|
||||
_env += search_path;
|
||||
_env += sys_path;
|
||||
_env += '\0';
|
||||
|
||||
_env += "LD_LIBRARY_PATH=";
|
||||
_env += search_path;
|
||||
_env += ld_path;
|
||||
_env += '\0';
|
||||
|
||||
_env += "DYLD_LIBRARY_PATH=";
|
||||
|
Loading…
x
Reference in New Issue
Block a user