#!/bin/sh # # The contents of this file are subject to the Netscape Public License # Version 1.0 (the "NPL"); you may not use this file except in # compliance with the NPL. You may obtain a copy of the NPL at # http://www.mozilla.org/NPL/ # # Software distributed under the NPL is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL # for the specific language governing rights and limitations under the # NPL. # # The Initial Developer of this code under the NPL is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All Rights # Reserved. # # # Fix brain-damaged compilers that don't understand -o and -c together # CC=`echo $1 | sed -e "s|'||g" -e 's|"||g'` shift DASH_C=0 DASH_O=0 for i in $* do [ "${CHECK_O}" = yes ] && { OBJECT=$i OPTS="${OPTS} -o $i" i="" CHECK_O=no } case $i in -c) DASH_C=1 OPTS="${OPTS} -c" ;; -o) CHECK_O=yes ;; *.c) C_SRC=$i OPTS="${OPTS} $i" ;; *.s) S_SRC=$i OPTS="${OPTS} $i" ;; *) OPTS="${OPTS} $i" ;; esac done ${CC} ${OPTS} || exit $? # if there was no -c and -o we're done [ $DASH_C = 1 -a $DASH_O = 1 ] || exit 0 # cc always creates the .o from the .c name [ $C_SRC ] && OBJ=`basename $C_SRC .c`.o # or the .o from the .s name [ $S_SRC ] && OBJ=`basename $S_SRC .s`.o [ -f $OBJECT ] || ( [ -f $OBJ ] && mv -f $OBJ $OBJECT )