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
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
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