#!/bin/sh |
|
# |
# FIXME: It is time to re-write this in Pike |
# |
|
. $NTTOOLS |
|
set -e |
|
OPTIONS=$1 |
shift |
OUTPUT=$1 |
shift |
|
case "$CC" in |
*rntcl) |
case "E$OPTIONS" in |
*x*) |
ofixed="`fixpath $OUTPUT`" |
if [ $# = 0 ]; then |
to_extract=`do_cmd lib -list -nologo "$ofixed"` |
else |
to_extract=$@ |
fi |
for a in $to_extract |
do |
do_cmd lib -nologo "-extract:$a" "$ofixed" |
done |
exit $? |
|
;; |
*d*) exit 1 ;; |
*x*) exit 1 ;; |
*q*|*r*) |
do_cmd lib "-OUT:`fixpath $OUTPUT`" `fixpath $@` |
winname="`echo $OUTPUT | sed -e 's/^lib\(.*\)\.a/\1.lib/'`" |
if [ "$winname" != "$OUTPUT" ]; then |
cp "$OUTPUT" "$winname" |
fi |
exit $? |
;; |
esac |
;; |
|
*rntcc) |
|
XOPTS="-b -c" |
|
case "E$OPTIONS" in |
*x*) |
OPCHAR='*' |
if [ $# = 0 ]; then |
TMPDIR=TMP$$.d |
rm -rf $TMPDIR >/dev/null 2>/dev/null || : |
mkdir $TMPDIR |
do_cmd wlib -x -d=$TMPDIR `fixpath $OUTPUT` |
( |
cd $TMPDIR |
for a in * |
do |
BASE=`echo $a | sed -e 's/\.[^.]$//'` |
mv $a ../$BASE.o |
done |
) |
rm -rf $TMPDIR >/dev/null 2>/dev/null || : |
exit 0 |
fi |
;; |
|
*d*) |
OPTCHAR='-' |
;; |
|
*r*) |
OPCHAR='-+' |
;; |
|
*q*) |
OPCHAR='+' |
;; |
esac |
|
XFILE=TMP$$.l |
|
rm $XFILE 2>/dev/null 1>/dev/null || : |
|
OPTS= |
for a in "$@" |
do |
OPTS="$OPTS $OPCHAR$a" |
done |
|
echo >$XFILE "$OPTS" |
|
do_cmd wlib $XOPTS `fixpath $OUTPUT` @$XFILE |
|
if [ $CLEANUP = yes ]; then |
if [ -f $XFILE ]; then |
rm $XFILE |
fi |
fi |
|
winname="`echo $OUTPUT | sed -e 's/^lib\(.*\)\.a/\1.lib/'`" |
if [ "$winname" != "$OUTPUT" ]; then |
cp "$OUTPUT" "$winname" |
fi |
|
;; |
*) |
echo Unknown C compiler: $CC |
;; |
esac |
|
|