Mercurial > cpython-lru_cache-weakref
annotate Python/dynload_next.c @ 73323:dad02a080bbc
Improve byte-compilation in packaging to be independent of -O or -B.
The code I fixed to comply with PEP 3147 still had one bug: When run
under python -O, some paths for pyc files would be pyo, because I called
imp.cache_from_source without explicit debug_override argument in some
places, and under -O that would return .pyo (this is well explained in
the imp docs). Now all code (util.byte_compile, build_py, install_lib)
can create .pyo files according to options given by users,
without interference from the calling Python’s own optimize mode.
On a related topic, I also removed the code that prevented byte
compilation under python -B. The rationale is that packaging gives
control over the creation of pyc files to the user with its own explicit
option, and the behavior should not be changed if the calling Python
happens to run with -B for whatever reason. I will argue that this is a
bug fix and ask to be allowed to backport this change to distutils.
Finally, I moved one nugget of information about the --compile and
--optimize options from the source into the doc. It clears up a
misunderstanding that I (and maybe other people) had.
| author | Éric Araujo <merwok@netwok.org> |
|---|---|
| date | Thu, 03 Nov 2011 05:08:28 +0100 |
| parents | 0874698b1201 |
| children | 42f61304f77d |
| rev | line source |
|---|---|
|
11599
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 |
|
21860
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
2 /* Support for dynamic loading of extension modules on Mac OS X |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
3 ** All references to "NeXT" are for historical reasons. |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
4 */ |
|
11599
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 |
|
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 #include "Python.h" |
|
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 #include "importdl.h" |
|
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 |
|
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 #include <mach-o/dyld.h> |
|
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 |
|
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
11 const struct filedescr _PyImport_DynLoadFiletab[] = { |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
12 {".so", "rb", C_EXTENSION}, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
13 {"module.so", "rb", C_EXTENSION}, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
14 {0, 0} |
|
11599
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
15 }; |
|
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 |
|
21860
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
17 /* |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
18 ** Python modules are Mach-O MH_BUNDLE files. The best way to load these |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
19 ** is each in a private namespace, so you can load, say, a module bar and a |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
20 ** module foo.bar. If we load everything in the global namespace the two |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
21 ** initbar() symbols will conflict. |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
22 ** However, it seems some extension packages depend upon being able to access |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
23 ** each others' global symbols. There seems to be no way to eat our cake and |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
24 ** have it, so the USE_DYLD_GLOBAL_NAMESPACE define determines which behaviour |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
25 ** you get. |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
26 */ |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
27 |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
28 #ifdef USE_DYLD_GLOBAL_NAMESPACE |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
29 #define LINKOPTIONS NSLINKMODULE_OPTION_BINDNOW|NSLINKMODULE_OPTION_RETURN_ON_ERROR |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
30 #else |
|
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
31 #define LINKOPTIONS NSLINKMODULE_OPTION_BINDNOW| \ |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
32 NSLINKMODULE_OPTION_RETURN_ON_ERROR|NSLINKMODULE_OPTION_PRIVATE |
|
21860
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
33 #endif |
|
68108
0874698b1201
Issue #3080: Remove unused argument of _PyImport_GetDynLoadFunc()
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61466
diff
changeset
|
34 dl_funcptr _PyImport_GetDynLoadFunc(const char *shortname, |
|
0874698b1201
Issue #3080: Remove unused argument of _PyImport_GetDynLoadFunc()
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61466
diff
changeset
|
35 const char *pathname, FILE *fp) |
|
11599
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
36 { |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
37 dl_funcptr p = NULL; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
38 char funcname[258]; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
39 NSObjectFileImageReturnCode rc; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
40 NSObjectFileImage image; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
41 NSModule newModule; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
42 NSSymbol theSym; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
43 const char *errString; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
44 char errBuf[512]; |
|
11618
528559a0b2f2
Cleanup patches from Greg Stein:
Guido van Rossum <guido@python.org>
parents:
11599
diff
changeset
|
45 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
46 PyOS_snprintf(funcname, sizeof(funcname), "_PyInit_%.200s", shortname); |
|
11599
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
47 |
|
21860
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
48 #ifdef USE_DYLD_GLOBAL_NAMESPACE |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
49 if (NSIsSymbolNameDefined(funcname)) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
50 theSym = NSLookupAndBindSymbol(funcname); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
51 p = (dl_funcptr)NSAddressOfSymbol(theSym); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
52 return p; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
53 } |
|
21860
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
54 #endif |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
55 rc = NSCreateObjectFileImageFromFile(pathname, &image); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
56 switch(rc) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
57 default: |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
58 case NSObjectFileImageFailure: |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
59 case NSObjectFileImageFormat: |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
60 /* for these a message is printed on stderr by dyld */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
61 errString = "Can't create object file image"; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
62 break; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
63 case NSObjectFileImageSuccess: |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
64 errString = NULL; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
65 break; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
66 case NSObjectFileImageInappropriateFile: |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
67 errString = "Inappropriate file type for dynamic loading"; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
68 break; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
69 case NSObjectFileImageArch: |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
70 errString = "Wrong CPU type in object file"; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
71 break; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
72 case NSObjectFileImageAccess: |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
73 errString = "Can't read object file (no access)"; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
74 break; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
75 } |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
76 if (errString == NULL) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
77 newModule = NSLinkModule(image, pathname, LINKOPTIONS); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
78 if (newModule == NULL) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
79 int errNo; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
80 const char *fileName, *moreErrorStr; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
81 NSLinkEditErrors c; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
82 NSLinkEditError( &c, &errNo, &fileName, &moreErrorStr ); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
83 PyOS_snprintf(errBuf, 512, "Failure linking new module: %s: %s", |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
84 fileName, moreErrorStr); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
85 errString = errBuf; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
86 } |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
87 } |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
88 if (errString != NULL) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
89 PyErr_SetString(PyExc_ImportError, errString); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
90 return NULL; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
91 } |
|
21860
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
92 #ifdef USE_DYLD_GLOBAL_NAMESPACE |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
93 if (!NSIsSymbolNameDefined(funcname)) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
94 /* UnlinkModule() isn't implemented in current versions, but calling it does no harm */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
95 /* NSUnLinkModule(newModule, FALSE); removed: causes problems for ObjC code */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
96 PyErr_Format(PyExc_ImportError, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
97 "Loaded module does not contain symbol %.200s", |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
98 funcname); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
99 return NULL; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
100 } |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
101 theSym = NSLookupAndBindSymbol(funcname); |
|
21860
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
102 #else |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
103 theSym = NSLookupSymbolInModule(newModule, funcname); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
104 if ( theSym == NULL ) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
105 /* NSUnLinkModule(newModule, FALSE); removed: causes problems for ObjC code */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
106 PyErr_Format(PyExc_ImportError, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
107 "Loaded module does not contain symbol %.200s", |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
108 funcname); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
109 return NULL; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
110 } |
|
21860
20bc4ff1215c
A new dynload_next, which actually only works on OSX but isn't renamed yet.
Jack Jansen <jack.jansen@cwi.nl>
parents:
21276
diff
changeset
|
111 #endif |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
112 p = (dl_funcptr)NSAddressOfSymbol(theSym); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
47580
diff
changeset
|
113 return p; |
|
11599
78fe87ce0ded
The old platform-specific contents of importdl.c, broken down into one
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
114 } |
