annotate Modules/ar_beos @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents 4e2d1c6f2904
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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