diff options
Diffstat (limited to 'contrib/gcc/cpp.in')
-rw-r--r-- | contrib/gcc/cpp.in | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/contrib/gcc/cpp.in b/contrib/gcc/cpp.in new file mode 100644 index 000000000000..5e85c0b54de5 --- /dev/null +++ b/contrib/gcc/cpp.in @@ -0,0 +1,41 @@ +#! /bin/sh + +# Copyright (C) 1999 Free Software Foundation, Inc. +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2, or (at your option) any +# later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# cpp: wrapper script for `gcc -E' + +# Check whether an input file was specified. +# This has some limited awareness of which switches take arguments. + +stdin="-" +next_is_arg= +for arg +do + if [ -n "$next_is_arg" ] + then next_is_arg= + else + case "$arg" in + -i* | -o | -x) next_is_arg=t;; + -) stdin= ;; + -*) ;; + *) stdin= ;; + esac + fi +done + +# Hand off to the gcc driver, with -E (preprocess only) +# and -xc (treat unknown files as source, not linker scripts) +exec @GCC@ -E -xc ${1+"$@"} $stdin |