Issue #7051: Clarify behaviour of 'g' and 'G'-style formatting.
[python.git] / Modules / ar_beos
blobe7efa7540131dceb64311f97c0ce1759f0845371
1 #!/bin/sh
3 # Truly fake ar, using a directory to store object files.
5 # Donn Cave, donn@oz.net
7 usage='Usage: ar-fake cr libpython.dir obj.o ...
8 ar-fake d libpython.dir obj.o ...
9 ar-fake so libpython.dir libpython.so'
11 case $# in
12 0|1|2)
13 echo "$usage" >&2
14 exit 1
16 esac
18 command=$1
19 library=$2
20 shift 2
22 case $command in
23 cr)
24 if test -d $library
25 then :
26 else
27 mkdir $library
29 if cp -p $* $library
30 then
31 # To force directory modify date, create or delete a file.
32 if test -e $library/.tch
33 then rm $library/.tch
34 else echo tch > $library/.tch
36 exit 0
40 if test -d $library
41 then
42 cd $library
43 rm -f $*
46 so)
47 case $BE_HOST_CPU in
48 ppc)
49 # In case your libpython.a refers to any exotic libraries,
50 # mwld needs to know that here. The following hack makes
51 # a couple of assumptions about Modules/Makefile. If it
52 # doesn't work, you may as well add the necessary libraries
53 # here explicitly instead.
54 extralibs=$(
55 (cd Modules; make -f Makefile -n link) |
56 sed -n 's/.*\.so \(.*\) -o python.*/\1/p'
58 mwld -xms -export pragma -nodup -o $1 $library/* $extralibs
60 x86)
61 ld -shared -soname $(basename $1) -o $1 $library/*
63 esac
64 status=$?
65 cd $(dirname $1)
66 ln -sf $PWD lib
67 exit $status
70 echo "$usage" >&2
71 exit 1
73 esac