Files
oldlinux-files/gnu/gcc/gcc-2.2.2/c++
2024-02-19 00:24:47 -05:00

77 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
# Compile programs, treating .c files as C++.
: || exec /bin/sh -f $0 $argv:q
newargs=
quote=no
library=-lg++
havefiles=
for arg in $*;
do
if [ $quote = yes ]
then
newargs="$newargs $arg"
quote=no
else
quote=no
case $arg in
-nostdlib)
# Inhibit linking with -lg++.
newargs="$newargs $arg"
library=
;;
-[bBVDUoeTuIYmLiA] | -Tdata)
newargs="$newargs $arg"
# these switches take following word as argument,
# so don't treat it as a file name.
quote=yes
;;
-[cSEM] | -MM)
# Don't specify libraries if we won't link,
# since that would cause a warning.
newargs="$newargs $arg"
library=
;;
-xnone)
newargs="$newargs $arg"
speclang=
;;
-x*)
newargs="$newargs $arg"
speclang=yes
;;
-*)
# Pass other options through; they don't need -x and aren't inputs.
newargs="$newargs $arg"
;;
*)
havefiles=yes
# If file ends in .c or .i, put options around it.
# But not if a specified -x option is currently active.
temp=`expr $arg : '.*\.[ci]$'`
if [ \( x$temp != x0 \) -a \( x$speclang = x \) ]
then
newargs="$newargs -xc++ $arg -xnone"
else
newargs="$newargs $arg"
fi
;;
esac
fi
done
if [ x$havefiles = x ]
then
echo "$0: no input files specified"
exit 1
fi
progname=`echo $0 |sed -e 's|/[^/]*$|/gcc|'`
if [ -f ${progname} ]
then
exec ${progname} $newargs $library
else
exec gcc $newargs $library
fi