Mercurial > cpython-lru_cache-weakref
annotate Modules/ld_so_aix @ 4566:6403c94de50d legacy-trunk
Added safeguard against failure in __del__.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 27 Nov 1996 19:39:58 +0000 |
| parents | 4f6c56292d34 |
| children | b2e018fb2ba9 |
| 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 |
