diff options
author | Neil Schemenauer <nascheme@enme.ucalgary.ca> | 2001-02-16 03:24:50 (GMT) |
---|---|---|
committer | Neil Schemenauer <nascheme@enme.ucalgary.ca> | 2001-02-16 03:24:50 (GMT) |
commit | f0a87ee955dfbb99a3cfcf2fa835b460012b22a6 (patch) | |
tree | 9eeccbbacd94a9b88eb04fb9eba7e1fb6c8ec64c /Modules/ar_beos | |
parent | bd3e88893ed91d8f4bb36a81767f57f30f3cb7a3 (diff) | |
download | cpython-f0a87ee955dfbb99a3cfcf2fa835b460012b22a6.zip cpython-f0a87ee955dfbb99a3cfcf2fa835b460012b22a6.tar.gz cpython-f0a87ee955dfbb99a3cfcf2fa835b460012b22a6.tar.bz2 |
Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and
Modules/ld_so_beos. Closes SF patch #103679.
Diffstat (limited to 'Modules/ar_beos')
-rwxr-xr-x | Modules/ar_beos | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Modules/ar_beos b/Modules/ar_beos new file mode 100755 index 0000000..e7efa75 --- /dev/null +++ b/Modules/ar_beos @@ -0,0 +1,73 @@ +#!/bin/sh +# +# Truly fake ar, using a directory to store object files. +# +# Donn Cave, donn@oz.net + +usage='Usage: ar-fake cr libpython.dir obj.o ... + ar-fake d libpython.dir obj.o ... + ar-fake so libpython.dir libpython.so' + +case $# in +0|1|2) + echo "$usage" >&2 + exit 1 + ;; +esac + +command=$1 +library=$2 +shift 2 + +case $command in +cr) + if test -d $library + then : + else + mkdir $library + fi + if cp -p $* $library + then + # To force directory modify date, create or delete a file. + if test -e $library/.tch + then rm $library/.tch + else echo tch > $library/.tch + fi + exit 0 + fi + ;; +d) + if test -d $library + then + cd $library + rm -f $* + fi + ;; +so) + case $BE_HOST_CPU in + ppc) + # In case your libpython.a refers to any exotic libraries, + # mwld needs to know that here. The following hack makes + # a couple of assumptions about Modules/Makefile. If it + # doesn't work, you may as well add the necessary libraries + # here explicitly instead. + extralibs=$( + (cd Modules; make -f Makefile -n link) | + sed -n 's/.*\.so \(.*\) -o python.*/\1/p' + ) + mwld -xms -export pragma -nodup -o $1 $library/* $extralibs + ;; + x86) + ld -shared -soname $(basename $1) -o $1 $library/* + ;; + esac + status=$? + cd $(dirname $1) + ln -sf $PWD lib + exit $status + ;; +*) + echo "$usage" >&2 + exit 1 + ;; +esac |