blob: 77605c8c0e68bf158adb3fa023786e7c9958985b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#!/bin/sh
#
# ========================================================================
# FILE: ld_so_aix
# TYPE: executable, uses makexp_aix
# SYSTEM: AIX
#
# DESCRIPTION: Creates a shareable .o from a pre-compiled (unshared)
# .o file
#
# ARGUMENTS: Same as for "ld". The -bM, -bE, -bI, -H, -T, and -lc
# arguments of "ld" will be supplied by this script.
#
# NOTES: 1. Currently specific to the building of Python
# interpreter shared objects, in that the entry
# point name is hardcoded based on the object file
# name (the "mathmodule.o" file will expect an
# entry point of "initmath"). This could be remedied
# by the support (or simple expectation) of a "-e"
# argument.
# 2. The resulting shared object file is left in the
# current directory with the extension .so
# 3. Uncommenting the "echo" lines gives detailed output
# about the commands executed in the script.
#
# HISTORY: Jul-1-1996 -- Make sure to use /usr/ccs/bin/ld --
# -- Use makexp_aix for the export list. --
# Vladimir Marangozov (Vladimir.Marangozov@imag.fr)
#
# Manus Hand (mhand@csn.net) -- Initial code -- 6/24/96
# ========================================================================
#
# Variables
objfile=$1
shift
filename=`echo $objfile | sed -e "s:.*/\([^/]*\)$:\1:" -e "s/\..*$//"`
entry=init`echo $filename | sed "s/module.*//"`
ldopts="-e$entry -bE:$filename.exp -bI:python.exp -bM:SRE -T512 -H512 -lc"
ldargs="$objfile $*"
# Export list generation
makexp_aix $filename.exp "$objfile" $objfile
# Perform the link.
#echo "ld $ldopts $ldargs"
/usr/ccs/bin/ld $ldopts $ldargs
# Delete the module's export list file.
# Comment this line if you need it.
rm -f $filename.exp
# Remove the exec rights on the shared module.
#echo chmod -x `echo $objfile | sed "s/\.o$/.so/"`
chmod -x `echo $objfile | sed "s/\.o$/.so/"`
|