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

1.1       deraadt     1: #!/bin/sh
1.7     ! espie       2: #      $OpenBSD: cpp.sh,v 1.6 2003/06/03 02:56:07 millert 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.
1.6       millert    20: # 3. Neither the name of the University nor the names of its contributors
1.1       deraadt    21: #    may be used to endorse or promote products derived from this software
                     22: #    without specific prior written permission.
                     23: #
                     24: # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     25: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     26: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     27: # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     28: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     29: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     30: # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     31: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     32: # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     33: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     34: # SUCH DAMAGE.
                     35: #
                     36: #      @(#)usr.bin.cpp.sh      6.5 (Berkeley) 4/1/91
                     37: #
                     38: # Transitional front end to CCCP to make it behave like (Reiser) CCP:
                     39: #      specifies -traditional
                     40: #      doesn't search gcc-include
                     41: #
                     42: PATH=/usr/bin:/bin
1.7     ! espie      43: TRAD=-traditional
        !            44: DGNUC="-D__GNUC__"
        !            45: STDINC="-I/usr/include"
        !            46: DOLLAR="@dollaropt@"
1.1       deraadt    47: OPTS=""
                     48: INCS="-nostdinc"
1.7     ! espie      49: FOUNDFILES=false
1.1       deraadt    50:
                     51: CPP=/usr/libexec/cpp
                     52: if [ ! -x $CPP ]; then
1.3       niklas     53:        CPP=`cc -print-search-dirs | sed -ne '/^install: /s/install: \(.*\)/\1cpp/p'`;
                     54:        if [ ! -x $CPP ]; then
                     55:                echo "$0: installation problem: $CPP not found/executable" >&2
                     56:                exit 1
                     57:        fi
1.1       deraadt    58: fi
                     59:
                     60: while [ $# -gt 0 ]
                     61: do
                     62:        A="$1"
                     63:        shift
                     64:
                     65:        case $A in
                     66:        -nostdinc)
1.7     ! espie      67:                STDINC=
1.1       deraadt    68:                ;;
                     69:        -traditional)
1.7     ! espie      70:                TRAD=-traditional
        !            71:                ;;
        !            72:        -notraditional)
        !            73:                TRAD=
1.1       deraadt    74:                ;;
                     75:        -I*)
                     76:                INCS="$INCS $A"
1.5       espie      77:                ;;
                     78:        -U__GNUC__)
1.7     ! espie      79:                DGNUC=
1.1       deraadt    80:                ;;
                     81:        -imacros|-include|-idirafter|-iprefix|-iwithprefix)
                     82:                INCS="$INCS '$A' '$1'"
                     83:                shift
                     84:                ;;
                     85:        -*)
                     86:                OPTS="$OPTS '$A'"
                     87:                ;;
                     88:        *)
1.7     ! espie      89:                FOUNDFILES=true
        !            90:                eval $CPP $TRAD $DGNUC $DOLLAR $INCS $STDINC $OPTS $A || exit $?
1.1       deraadt    91:                ;;
                     92:        esac
                     93: done
                     94:
1.7     ! espie      95: if ! $FOUNDFILES
1.1       deraadt    96: then
                     97:        # read standard input
1.7     ! espie      98:        eval exec $CPP $TRAD $DGNUC $DOLLAR $INCS $STDINC $OPTS
1.1       deraadt    99: fi
                    100:
                    101: exit 0