mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| Subject: Dynamic Linking under HP-UX
 | |
| From: "C. Derek Fields" <derek@gamekeeper.bellcore.com>
 | |
| Date: Thu, 08 Sep 94 14:14:07 -0400
 | |
| 
 | |
| There are two important points.  First, the python executable must be
 | |
| linked with the -E option to explicitly export all symbols.  This
 | |
| works with the vanilla interpreter, but I am not sure how friendly it
 | |
| will be when I try to embed the interpreter in a larger application.
 | |
| It may be necessary to hand tune the exports using the -e option.
 | |
| Anyway, the additional flag to $(CC) is "-Wl,-E", which passes the -E
 | |
| flag to the compiler.  My link line (from an actual run) looks like
 | |
| this:
 | |
| 
 | |
| cc config.o -Wl,-E libModules.a  ../Python/libPython.a  ../Objects/libObjects.a ../Parser/libParser.a   -lm  -ldld -o python
 | |
| 
 | |
| [Guido's note: as of Python 1.5, replace the four libraries with
 | |
| ../libpython$(VERSION).a]
 | |
| 
 | |
| Second, the dynamic module must be compiled with the +z option to make
 | |
| it position independent and then linked into a shared library:
 | |
| 
 | |
| ld -b -o <modName>module.sl <object list>
 | |
| 
 | |
| The -b tells the linker to produce a shared library.
 | 
