blob: 6f9c67f9a76ffb32777914895075976494f2e7fd [file] [log] [blame]
Guido van Rossum14421771994-09-14 14:06:46 +00001Subject: Dynamic Linking under HP-UX
2From: "C. Derek Fields" <derek@gamekeeper.bellcore.com>
3Date: Thu, 08 Sep 94 14:14:07 -0400
4
5There are two important points. First, the python executable must be
6linked with the -E option to explicitly export all symbols. This
7works with the vanilla interpreter, but I am not sure how friendly it
8will be when I try to embed the interpreter in a larger application.
9It may be necessary to hand tune the exports using the -e option.
10Anyway, the additional flag to $(CC) is "-Wl,-E", which passes the -E
11flag to the compiler. My link line (from an actual run) looks like
12this:
13
14cc config.o -Wl,-E libModules.a ../Python/libPython.a ../Objects/libObjects.a ../Parser/libParser.a -lm -ldld -o python
15
Guido van Rossumecd3b151997-07-19 20:44:33 +000016[Guido's note: as of Python 1.5, replace the four libraries with
17../libpython$(VERSION).a]
18
Guido van Rossum14421771994-09-14 14:06:46 +000019Second, the dynamic module must be compiled with the +z option to make
20it position independent and then linked into a shared library:
21
22ld -b -o <modName>module.sl <object list>
23
24The -b tells the linker to produce a shared library.