[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.3

1.1       deraadt     1: #!/bin/sh
1.3     ! niklas      2: #      $OpenBSD: cpp.sh,v 1.2 1996/06/26 05:32:24 deraadt 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
                     47: ALST="-traditional -D__GNUC__ -$ "
                     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:        -U__GNUC__)
                     77:                ALST=`echo $ALST | sed -e 's/-D__GNUC__//'`
                     78:                ;;
                     79:        -imacros|-include|-idirafter|-iprefix|-iwithprefix)
                     80:                INCS="$INCS '$A' '$1'"
                     81:                shift
                     82:                ;;
                     83:        -*)
                     84:                OPTS="$OPTS '$A'"
                     85:                ;;
                     86:        *)
                     87:                FOUNDFILES=yes
                     88:                if [ $NSI = "no" ]
                     89:                then
                     90:                        INCS="$INCS -I/usr/include"
                     91:                        NSI=skip
                     92:                fi
                     93:                eval $CPP $ALST $INCS $OPTS $A || exit $?
                     94:                ;;
                     95:        esac
                     96: done
                     97:
                     98: if [ $FOUNDFILES = "no" ]
                     99: then
                    100:        # read standard input
                    101:        if [ $NSI = "no" ]
                    102:        then
                    103:                INCS="$INCS -I/usr/include"
                    104:        fi
                    105:        eval exec $CPP $ALST $INCS $OPTS
                    106: fi
                    107:
                    108: exit 0