Mercurial > cpython-lru_cache-weakref
annotate Modules/ar_beos @ 16798:258dcafe2d0b legacy-trunk
Gustavo Niemeyer <niemeyer@conectiva.com>:
Fixed recno support (keys are integers rather than strings).
Work around DB bug that cause stdin to be closed by rnopen() when the
DB file needed to exist but did not (no longer segfaults).
This closes SF tracker patch #403445.
Also wrapped some long lines and added whitespace around operators -- FLD.
| author | Fred Drake <fdrake@acm.org> |
|---|---|
| date | Tue, 27 Feb 2001 18:56:46 +0000 |
| parents | 4e2d1c6f2904 |
| children |
| rev | line source |
|---|---|
|
16619
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
1 #!/bin/sh |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
2 # |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
3 # Truly fake ar, using a directory to store object files. |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
4 # |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
5 # Donn Cave, donn@oz.net |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
6 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
7 usage='Usage: ar-fake cr libpython.dir obj.o ... |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
8 ar-fake d libpython.dir obj.o ... |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
9 ar-fake so libpython.dir libpython.so' |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
10 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
11 case $# in |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
12 0|1|2) |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
13 echo "$usage" >&2 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
14 exit 1 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
15 ;; |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
16 esac |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
17 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
18 command=$1 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
19 library=$2 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
20 shift 2 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
21 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
22 case $command in |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
23 cr) |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
24 if test -d $library |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
25 then : |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
26 else |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
27 mkdir $library |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
28 fi |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
29 if cp -p $* $library |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
30 then |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
31 # To force directory modify date, create or delete a file. |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
32 if test -e $library/.tch |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
33 then rm $library/.tch |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
34 else echo tch > $library/.tch |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
35 fi |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
36 exit 0 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
37 fi |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
38 ;; |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
39 d) |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
40 if test -d $library |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
41 then |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
42 cd $library |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
43 rm -f $* |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
44 fi |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
45 ;; |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
46 so) |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
47 case $BE_HOST_CPU in |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
48 ppc) |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
49 # In case your libpython.a refers to any exotic libraries, |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
50 # mwld needs to know that here. The following hack makes |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
51 # a couple of assumptions about Modules/Makefile. If it |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
52 # doesn't work, you may as well add the necessary libraries |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
53 # here explicitly instead. |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
54 extralibs=$( |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
55 (cd Modules; make -f Makefile -n link) | |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
56 sed -n 's/.*\.so \(.*\) -o python.*/\1/p' |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
57 ) |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
58 mwld -xms -export pragma -nodup -o $1 $library/* $extralibs |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
59 ;; |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
60 x86) |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
61 ld -shared -soname $(basename $1) -o $1 $library/* |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
62 ;; |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
63 esac |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
64 status=$? |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
65 cd $(dirname $1) |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
66 ln -sf $PWD lib |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
67 exit $status |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
68 ;; |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
69 *) |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
70 echo "$usage" >&2 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
71 exit 1 |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
72 ;; |
|
4e2d1c6f2904
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Neil Schemenauer <nascheme@enme.ucalgary.ca>
parents:
diff
changeset
|
73 esac |
