annotate Modules/ld_so_aix @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents 4f6c56292d34
children b2e018fb2ba9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3967
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 #!/bin/sh
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 #
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 # ========================================================================
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 # FILE: ld_so_aix
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 # TYPE: executable, uses makexp_aix
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 # SYSTEM: AIX
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 #
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
8 # DESCRIPTION: Creates a shareable .o from a set of pre-compiled
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
9 # (unshared) .o files
3967
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 #
3969
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
11 # USAGE: ld_so_aix [CC] [arguments]
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
12 #
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
13 # ARGUMENTS: Same as for "ld". The following arguments are processed
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
14 # or supplied by this script (those marked with an asterisk
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
15 # can be overriden from command line):
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
16 #
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
17 # Argument Default value
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
18 # (*) -o [OutputFileName] -o shr.o
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
19 # (*) -e [EntryPointLabel] -e init[OutputBaseName]
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
20 # (*) -bE:[ExportFile] -bE:[OutputBaseName].exp
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
21 # (*) -bI:[ImportFile] -bI:./python.exp
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
22 # -bM:[ModuleType] -bM:SRE
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
23 # -T[Number] -T512
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
24 # -H[Number] -H512
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
25 # -lm
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
26 #
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
27 # The compiler specific ("-lc" or "-lc_r", "-lpthreads",...)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
28 # arguments will be automatically passed to "ld" according
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
29 # to the CC command provided as a first argument to this
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
30 # script. Usually, the same CC command was used to produce
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
31 # the pre-compiled .o file(s).
3967
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 #
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
33 # NOTES: 1. Since "ld_so_aix" was originally written for building
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
34 # shared modules for the Python interpreter, the -e and
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
35 # -bI default values match Python's conventions. In
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
36 # Python, the entry point for a shared module is based
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
37 # on the module's name (e.g., the "mathmodule" will
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
38 # expect an entry point of "initmath").
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
39 # 2. The script accepts multiple .o or .a input files and
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
40 # creates a single (shared) output file. The export list
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
41 # that is created is based on the output file's basename
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
42 # with the suffix ".exp".
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
43 # 3. The resulting shared object file is left in the
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
44 # current directory.
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
45 # 4. Uncommenting the "echo" lines gives detailed output
3967
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 # about the commands executed in the script.
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
47 #
3967
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 #
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
49 # HISTORY: Oct-1996 -- Support added for multiple .o files --
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
50 # -- and optional arguments processing. --
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
51 # Chris Myers (myers@tc.cornell.edu), Keith Kwok
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
52 # (kkwok@tc.cornell.edu) and Vladimir Marangozov
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
53 #
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
54 # Aug-6-1996 -- Take care of the compiler specific --
3969
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
55 # -- args by leaving CC to invoke "ld". --
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
56 # Vladimir Marangozov
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
57 #
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
58 # Jul-1-1996 -- Make sure to use /usr/ccs/bin/ld --
3967
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
59 # -- Use makexp_aix for the export list. --
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
60 # Vladimir Marangozov (Vladimir.Marangozov@imag.fr)
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
61 #
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 # Manus Hand (mhand@csn.net) -- Initial code -- 6/24/96
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
63 # ========================================================================
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
64 #
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
65
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
66 usage="Usage: ld_so_aix [CC command] [ld arguments]"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
67 if test ! -n "$*"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
68 echo $usage; exit 2
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
69 fi
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
70
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
71 # Check for existence of compiler.
3969
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
72 CC=$1; shift
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
73 whichcc=`which $CC`
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
74
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
75 if test ! -x "$whichcc"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
76 echo "ld_so_aix: Compiler '$CC' not found; exiting."
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
77 exit 2
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
78 fi
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
79
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
80 if test ! -n "$*"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
81 echo $usage; exit 2
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
82 fi
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
83
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
84 # Default import file for Python
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
85 # Can be overriden by providing a -bI: argument.
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
86 impfile="./python.exp"
3969
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
87
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
88 # Parse arguments
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
89 while test -n "$1"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
90 do
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
91 case "$1" in
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
92 -e | -Wl,-e)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
93 if test -z "$2"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
94 echo "ld_so_aix: The -e flag needs a parameter; exiting."; exit 2
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
95 else
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
96 shift; entry=$1
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
97 fi
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
98 ;;
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
99 -e* | -Wl,-e*)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
100 entry=`echo $1 | sed -e "s/-Wl,//" -e "s/-e//"`
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
101 ;;
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
102 -o)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
103 if test -z "$2"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
104 echo "ld_so_aix: The -o flag needs a parameter; exiting."; exit 2
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
105 else
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
106 shift; objfile=$1
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
107 fi
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
108 ;;
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
109 -o*)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
110 objfile=`echo $1 | sed "s/-o//"`
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
111 ;;
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
112 -bI:* | -Wl,-bI:*)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
113 impfile=`echo $1 | sed -e "s/-Wl,//" -e "s/-bI://"`
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
114 ;;
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
115 -bE:* | -Wl,-bE:*)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
116 expfile=`echo $1 | sed -e "s/-Wl,//" -e "s/-bE://"`
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
117 ;;
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
118 *.o | *.a)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
119 objs="$objs $1"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
120 args="$args $1"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
121 ;;
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
122 -bM:* | -Wl,-bM:* | -H* | -Wl,-H* | -T* | -Wl,-T* | -lm)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
123 ;;
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
124 *)
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
125 args="$args $1"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
126 ;;
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
127 esac
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
128 shift
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
129 done
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
130
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
131
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
132 if test -z "$objs"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
133 echo "ld_so_aix: No input files; exiting."
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
134 exit 2
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
135 elif test ! -r "$impfile"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
136 echo "ld_so_aix: Import file '$impfile' not found or not readable; exiting."
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
137 exit 2
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
138 fi
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
139
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
140 # If -o wasn't specified, assume "-o shr.o"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
141 if test -z "$objfile"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
142 objfile=shr.o
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
143 fi
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
144
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
145 filename=`basename $objfile | sed "s/\.[^.]*$//"`
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
146
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
147 # If -bE: wasn't specified, assume "-bE:$filename.exp"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
148 if test -z "$expfile"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
149 expfile="$filename.exp"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
150 fi
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
151
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
152 # Default entry symbol for Python modules = init[modulename]
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
153 # Can be overriden by providing a -e argument.
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
154 if test -z "$entry"; then
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
155 entry=init`echo $filename | sed "s/module.*//"`
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
156 fi
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
157
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
158 #echo "ld_so_aix: Debug info section
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
159 #echo " -> output file : $objfile"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
160 #echo " -> import file : $impfile"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
161 #echo " -> export file : $expfile"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
162 #echo " -> entry point : $entry"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
163 #echo " -> object files: $objs"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
164 #echo " -> CC arguments: $args"
3969
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
165
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
166 CCOPT="-Wl,-e$entry -Wl,-bE:$expfile -Wl,-bI:$impfile"
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
167 CCOPT="$CCOPT -Wl,-bM:SRE -Wl,-T512 -Wl,-H512 -lm -o $objfile"
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
168 CCARGS="$args"
3967
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
169
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
170 # Export list generation.
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
171 #echo makexp_aix $expfile "$objfile" $objs
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
172 makexp_aix $expfile "$objfile" $objs
3967
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
173
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
174 # Perform the link.
3969
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
175 #echo $CC $CCOPT $CCARGS
ad88a000521f Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents: 3967
diff changeset
176 $CC $CCOPT $CCARGS
3967
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
177
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
178 # Delete the module's export list file.
53019e3a6d5a Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff changeset
179 # Comment this line if you need it.
4424
4f6c56292d34 Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents: 3969
diff changeset
180 rm -f $expfile