Mercurial > cpython-lru_cache-weakref
annotate Modules/ld_so_aix @ 54294:dba767bc3155 legacy-trunk
remove mention of old ctypes version
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Sat, 23 May 2009 20:59:09 +0000 |
| parents | 95061da06cb8 |
| children |
| 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 |
|
5952
b2e018fb2ba9
New version of Vladimir Marangozov's AIX hacks -- simpler etc.
Guido van Rossum <guido@python.org>
parents:
4424
diff
changeset
|
23 # -bhalt:[Number] -bhalt:4 |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
24 # -T[Number] -T512 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
25 # -H[Number] -H512 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
26 # -lm |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
27 # |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
28 # The compiler specific ("-lc" or "-lc_r", "-lpthreads",...) |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
29 # arguments will be automatically passed to "ld" according |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
30 # 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
|
31 # 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
|
32 # the pre-compiled .o file(s). |
|
3967
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
33 # |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
34 # 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
|
35 # 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
|
36 # -bI default values match Python's conventions. In |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
37 # 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
|
38 # 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
|
39 # expect an entry point of "initmath"). |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
40 # 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
|
41 # 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
|
42 # 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
|
43 # with the suffix ".exp". |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
44 # 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
|
45 # current directory. |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
46 # 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
|
47 # about the commands executed in the script. |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
48 # |
|
3967
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
49 # |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
50 # 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
|
51 # -- and optional arguments processing. -- |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
52 # Chris Myers (myers@tc.cornell.edu), Keith Kwok |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
53 # (kkwok@tc.cornell.edu) and Vladimir Marangozov |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
54 # |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
55 # 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
|
56 # -- args by leaving CC to invoke "ld". -- |
|
ad88a000521f
Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents:
3967
diff
changeset
|
57 # Vladimir Marangozov |
|
ad88a000521f
Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents:
3967
diff
changeset
|
58 # |
|
ad88a000521f
Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents:
3967
diff
changeset
|
59 # 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
|
60 # -- Use makexp_aix for the export list. -- |
|
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
61 # Vladimir Marangozov (Vladimir.Marangozov@imag.fr) |
|
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
62 # |
|
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
63 # 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
|
64 # ======================================================================== |
|
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
65 # |
|
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
66 |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
67 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
|
68 if test ! -n "$*"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
69 echo $usage; exit 2 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
70 fi |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
71 |
|
6219
418d385a9e42
Mod suggested by Donn Cave -- invoke makexp_aix relative to $0
Guido van Rossum <guido@python.org>
parents:
5952
diff
changeset
|
72 makexp=`dirname $0`/makexp_aix |
|
418d385a9e42
Mod suggested by Donn Cave -- invoke makexp_aix relative to $0
Guido van Rossum <guido@python.org>
parents:
5952
diff
changeset
|
73 |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
74 # Check for existence of compiler. |
|
3969
ad88a000521f
Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents:
3967
diff
changeset
|
75 CC=$1; shift |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
76 whichcc=`which $CC` |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
77 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
78 if test ! -x "$whichcc"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
79 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
|
80 exit 2 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
81 fi |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
82 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
83 if test ! -n "$*"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
84 echo $usage; exit 2 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
85 fi |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
86 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
87 # Default import file for Python |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
88 # Can be overriden by providing a -bI: argument. |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
89 impfile="./python.exp" |
|
3969
ad88a000521f
Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents:
3967
diff
changeset
|
90 |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
91 # Parse arguments |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
92 while test -n "$1" |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
93 do |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
94 case "$1" in |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
95 -e | -Wl,-e) |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
96 if test -z "$2"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
97 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
|
98 else |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
99 shift; entry=$1 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
100 fi |
|
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 -e* | -Wl,-e*) |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
103 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
|
104 ;; |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
105 -o) |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
106 if test -z "$2"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
107 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
|
108 else |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
109 shift; objfile=$1 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
110 fi |
|
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 -o*) |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
113 objfile=`echo $1 | sed "s/-o//"` |
|
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 -bI:* | -Wl,-bI:*) |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
116 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
|
117 ;; |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
118 -bE:* | -Wl,-bE:*) |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
119 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
|
120 ;; |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
121 *.o | *.a) |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
122 objs="$objs $1" |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
123 args="$args $1" |
|
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 -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
|
126 ;; |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
127 *) |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
128 args="$args $1" |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
129 ;; |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
130 esac |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
131 shift |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
132 done |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
133 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
134 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
135 if test -z "$objs"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
136 echo "ld_so_aix: No input files; 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 elif test ! -r "$impfile"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
139 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
|
140 exit 2 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
141 fi |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
142 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
143 # 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
|
144 if test -z "$objfile"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
145 objfile=shr.o |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
146 fi |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
147 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
148 filename=`basename $objfile | sed "s/\.[^.]*$//"` |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
149 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
150 # 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
|
151 if test -z "$expfile"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
152 expfile="$filename.exp" |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
153 fi |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
154 |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
155 # Default entry symbol for Python modules = init[modulename] |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
156 # Can be overriden by providing a -e argument. |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
157 if test -z "$entry"; then |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
158 entry=init`echo $filename | sed "s/module.*//"` |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
159 fi |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
160 |
|
5952
b2e018fb2ba9
New version of Vladimir Marangozov's AIX hacks -- simpler etc.
Guido van Rossum <guido@python.org>
parents:
4424
diff
changeset
|
161 #echo "ld_so_aix: Debug info section" |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
162 #echo " -> output file : $objfile" |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
163 #echo " -> import file : $impfile" |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
164 #echo " -> export file : $expfile" |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
165 #echo " -> entry point : $entry" |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
166 #echo " -> object files: $objs" |
|
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
167 #echo " -> CC arguments: $args" |
|
3969
ad88a000521f
Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents:
3967
diff
changeset
|
168 |
|
5952
b2e018fb2ba9
New version of Vladimir Marangozov's AIX hacks -- simpler etc.
Guido van Rossum <guido@python.org>
parents:
4424
diff
changeset
|
169 CCOPT="-Wl,-e$entry -Wl,-bE:$expfile -Wl,-bI:$impfile -Wl,-bhalt:4" |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
170 CCOPT="$CCOPT -Wl,-bM:SRE -Wl,-T512 -Wl,-H512 -lm -o $objfile" |
|
35677
e9bae2febac8
SF Bug # 941346, AIX shared library fix
Neal Norwitz <nnorwitz@gmail.com>
parents:
6219
diff
changeset
|
171 # Note: to use dynamic libraries like libtcl8.4.so and libtk8.4.so |
|
e9bae2febac8
SF Bug # 941346, AIX shared library fix
Neal Norwitz <nnorwitz@gmail.com>
parents:
6219
diff
changeset
|
172 # you may need to replace the second CCOPT line above with the following: |
|
e9bae2febac8
SF Bug # 941346, AIX shared library fix
Neal Norwitz <nnorwitz@gmail.com>
parents:
6219
diff
changeset
|
173 # CCOPT="$CCOPT -Wl,-bM:SRE -Wl,-T512 -Wl,-H512 -brtl -bnortllib -lm -o $objfile" |
|
e9bae2febac8
SF Bug # 941346, AIX shared library fix
Neal Norwitz <nnorwitz@gmail.com>
parents:
6219
diff
changeset
|
174 |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
175 CCARGS="$args" |
|
3967
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
176 |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
177 # Export list generation. |
|
6219
418d385a9e42
Mod suggested by Donn Cave -- invoke makexp_aix relative to $0
Guido van Rossum <guido@python.org>
parents:
5952
diff
changeset
|
178 #echo $makexp $expfile "$objfile" $objs |
|
418d385a9e42
Mod suggested by Donn Cave -- invoke makexp_aix relative to $0
Guido van Rossum <guido@python.org>
parents:
5952
diff
changeset
|
179 $makexp $expfile "$objfile" $objs |
|
3967
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
180 |
|
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
181 # Perform the link. |
|
3969
ad88a000521f
Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents:
3967
diff
changeset
|
182 #echo $CC $CCOPT $CCARGS |
|
ad88a000521f
Latest AIX changes from Vlad
Guido van Rossum <guido@python.org>
parents:
3967
diff
changeset
|
183 $CC $CCOPT $CCARGS |
|
53656
95061da06cb8
Merged revisions 72180 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
35677
diff
changeset
|
184 retval=$? |
|
3967
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
185 |
|
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
186 # Delete the module's export list file. |
|
53019e3a6d5a
Re-install aix files (what happened?)
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
187 # Comment this line if you need it. |
|
4424
4f6c56292d34
Major upgrade by Vladimir Marangozov.
Guido van Rossum <guido@python.org>
parents:
3969
diff
changeset
|
188 rm -f $expfile |
|
53656
95061da06cb8
Merged revisions 72180 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
35677
diff
changeset
|
189 |
|
95061da06cb8
Merged revisions 72180 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
35677
diff
changeset
|
190 exit $retval |
