xref: /386bsd/usr/bin/cpp (revision a2142627)
1#!/bin/sh
2#
3# Copyright (c) 1990 The Regents of the University of California.
4# All rights reserved.
5#
6# This code is derived from software contributed to Berkeley by
7# the Systems Programming Group of the University of Utah Computer
8# Science Department.
9#
10# Redistribution and use in source and binary forms, with or without
11# modification, are permitted provided that the following conditions
12# are met:
13# 1. Redistributions of source code must retain the above copyright
14#    notice, this list of conditions and the following disclaimer.
15# 2. Redistributions in binary form must reproduce the above copyright
16#    notice, this list of conditions and the following disclaimer in the
17#    documentation and/or other materials provided with the distribution.
18# 3. All advertising materials mentioning features or use of this software
19#    must display the following acknowledgement:
20#	This product includes software developed by the University of
21#	California, Berkeley and its contributors.
22# 4. Neither the name of the University nor the names of its contributors
23#    may be used to endorse or promote products derived from this software
24#    without specific prior written permission.
25#
26# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
27# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
30# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36# SUCH DAMAGE.
37#
38#	@(#)usr.bin.cpp.sh	6.5 (Berkeley) 4/1/91
39#
40# Transitional front end to CCCP to make it behave like (Reiser) CCP:
41#	specifies -traditional
42#	doesn't search gcc-include
43#
44PATH=/usr/bin:/bin
45CPP=/usr/libexec/cpp
46ALST="-traditional -D__GNUC__ -$ "
47NSI=no
48OPTS=""
49INCS="-nostdinc"
50FOUNDFILES=no
51
52for A
53do
54	case $A in
55	-nostdinc)
56		NSI=yes
57		;;
58	-traditional)
59		;;
60	-I*)
61		INCS="$INCS $A"
62		;;
63	-U__GNUC__)
64		ALST=`echo $ALST | sed -e 's/-D__GNUC__//'`
65		;;
66	-*)
67		OPTS="$OPTS '$A'"
68		;;
69	*)
70		FOUNDFILES=yes
71		if [ $NSI = "no" ]
72		then
73			INCS="$INCS -I/usr/include"
74			NSI=skip
75		fi
76		eval $CPP $ALST $INCS $LIBS $CSU $OPTS $A || exit $?
77		;;
78	esac
79done
80
81if [ $FOUNDFILES = "no" ]
82then
83	# read standard input
84	if [ $NSI = "no" ]
85	then
86		INCS="$INCS -I/usr/include"
87	fi
88	eval exec $CPP $ALST $INCS $LIBS $CSU $OPTS
89fi
90
91exit 0
92