Mercurial > cpython-lru_cache-weakref
annotate Modules/getpath.c @ 4439:fb1237bf7022 legacy-trunk
Changed version to plain "1.4".
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Tue, 22 Oct 1996 03:09:46 +0000 |
| parents | 4286910080a9 |
| children | 65d2d8e67da3 |
| rev | line source |
|---|---|
|
3621
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
1 /*********************************************************** |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
2 Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
3 The Netherlands. |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
4 |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
5 All Rights Reserved |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
6 |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
7 Permission to use, copy, modify, and distribute this software and its |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
8 documentation for any purpose and without fee is hereby granted, |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
9 provided that the above copyright notice appear in all copies and that |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
10 both that copyright notice and this permission notice appear in |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
11 supporting documentation, and that the names of Stichting Mathematisch |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
12 Centrum or CWI not be used in advertising or publicity pertaining to |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
13 distribution of the software without specific, written prior permission. |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
14 |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
15 STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
17 FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
18 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
21 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
22 |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
23 ******************************************************************/ |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
24 |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
25 /* Return the initial module search path. */ |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
26 |
| 2896 | 27 #include "Python.h" |
| 28 #include "osdefs.h" | |
| 29 | |
| 30 | |
| 31 #ifndef PYTHONPATH | |
|
3878
4286910080a9
Don't have "." in the default path.
Guido van Rossum <guido@python.org>
parents:
3674
diff
changeset
|
32 #define PYTHONPATH "/usr/local/lib/python" |
| 2896 | 33 #endif |
| 34 | |
|
3674
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
35 #ifndef PREFIX |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
36 #define PREFIX "/usr/local" |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
37 #endif |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
38 |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
39 #ifndef EXEC_PREFIX |
|
3878
4286910080a9
Don't have "." in the default path.
Guido van Rossum <guido@python.org>
parents:
3674
diff
changeset
|
40 #define EXEC_PREFIX PREFIX |
|
3674
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
41 #endif |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
42 |
| 2896 | 43 |
|
3621
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
44 /* This is called once from pythonrun to initialize sys.path. The |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
45 environment variable PYTHONPATH is fetched and the default path |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
46 appended. The default path may be passed to the preprocessor; if |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
47 not, a hardcoded default is used, which only makes (some) sense on |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
48 Unix. */ |
| 2896 | 49 |
| 50 char * | |
|
3621
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
3416
diff
changeset
|
51 Py_GetPath() |
| 2896 | 52 { |
| 53 char *path = getenv("PYTHONPATH"); | |
| 54 char *defpath = PYTHONPATH; | |
| 55 static char *buf = NULL; | |
| 56 char *p; | |
| 57 int n; | |
| 58 | |
| 59 if (path == NULL) | |
| 60 path = ""; | |
| 61 n = strlen(path) + strlen(defpath) + 2; | |
| 62 if (buf != NULL) { | |
| 63 free(buf); | |
| 64 buf = NULL; | |
| 65 } | |
| 66 buf = malloc(n); | |
| 67 if (buf == NULL) | |
| 68 Py_FatalError("not enough memory to copy module search path"); | |
| 69 strcpy(buf, path); | |
| 70 p = buf + strlen(buf); | |
| 71 if (p != buf) | |
| 72 *p++ = DELIM; | |
| 73 strcpy(p, defpath); | |
| 74 return buf; | |
| 75 } | |
|
3674
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
76 |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
77 |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
78 /* Similar for Makefile variables $prefix and $exec_prefix */ |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
79 |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
80 char * |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
81 Py_GetPrefix() |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
82 { |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
83 return PREFIX; |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
84 } |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
85 |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
86 char * |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
87 Py_GetExecPrefix() |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
88 { |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
89 return EXEC_PREFIX; |
|
3eaf2c673a11
provide access to $(exec_)prefix
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
90 } |
