[BACK]Return to cpp.sh CVS log [TXT][DIR] Up to [local] / src / usr.bin / cpp

Annotation of src/usr.bin/cpp/cpp.sh, Revision 1.4

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