home *** CD-ROM | disk | FTP | other *** search
- #!/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.
- #
-
- #
- # Wrapper for brain-damaged compilers that don't understand -o and -c together.
- #
-
- DUMMY="XxxXxxX"
- DASH_C=0
- DASH_O=0
- GET_OBJECT=0
- C_SRC="${DUMMY}"
- CC_SRC="${DUMMY}"
- CPP_SRC="${DUMMY}"
- S_SRC="${DUMMY}"
- OBJECT="${DUMMY}"
-
- for i in $*
- do
- if [ ${GET_OBJECT} -eq 1 ]; then
- OBJECT="$i"
- GET_OBJECT=0
- fi
- case $i in
- -c)
- DASH_C=1
- ;;
- -o)
- DASH_O=1
- GET_OBJECT=1
- ;;
- *.c)
- C_SRC="$i"
- ;;
- +.*)
- ;;
- *.cpp)
- CPP_SRC="$i"
- ;;
- *.cc)
- CC_SRC="$i"
- ;;
- *.s)
- S_SRC="$i"
- ;;
- esac
- done
-
- CC $* || exit $?
-
- # LAME!!!
- if [ -f -O ]; then
- mv -f -- -O ${OBJECT}
- fi
-
- # if there was no -c and -o we're done
- [ ${DASH_C} -eq 1 -a ${DASH_O} -eq 1 ] || exit 0
-
- # cc always creates the .o from the .c name
- if [ "${C_SRC}" != "${DUMMY}" ]; then
- OBJ=`basename ${C_SRC} .c`.o
- elif [ "${CPP_SRC}" != "${DUMMY}" ]; then
- OBJ=`basename ${CPP_SRC} .cpp`.o
- elif [ "${CC_SRC}" != "${DUMMY}" ]; then
- OBJ=`basename ${CC_SRC} .cc`.o
- # or the .o from the .s name
- elif [ "${S_SRC}" != "${DUMMY}" ]; then
- OBJ=`basename ${S_SRC} .s`.o
- fi
-
- [ -f ${OBJECT} ] || [ -f ${OBJ} ] && mv -f ${OBJ} ${OBJECT}
-