diff options
Diffstat (limited to 'mcon/U/GCC_pipe.U')
-rw-r--r-- | mcon/U/GCC_pipe.U | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/mcon/U/GCC_pipe.U b/mcon/U/GCC_pipe.U new file mode 100644 index 0000000..a7d0a25 --- /dev/null +++ b/mcon/U/GCC_pipe.U @@ -0,0 +1,65 @@ +?RCS: $Id: GCC_pipe.U 167 2013-05-08 17:58:00Z rmanfredi $ +?RCS: +?RCS: Copyright (c) 2006, Christian Biere +?RCS: +?RCS: You may redistribute only under the terms of the Artistic License, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic License; a copy of which may be found at the root +?RCS: of the source tree for dist 4.0. +?RCS: +?MAKE:GCC_pipe: Trylink cat +cc ccflags gccversion optimize +?MAKE: -pick add $@ %< +?T:flag result saved_ccflags +?LINT:change ccflags +: check whether -pipe should be used +flag='-pipe' +case "$gccversion" in +'');; +*) + case "$ccflags $optimize" in + *-save-temps*);; + *-pipe*);; + *) + $cat >try.c <<'EOC' +int main(void) +{ + return 0; +} +EOC + saved_ccflags=$ccflags + ccflags="$flag $ccflags" + + result='' + cyn="whether '$flag' is accepted by $cc" >&4 + set result + eval $trylink + + case "$result" in + "$define") + $cat >try.c <<EOC +main("This is not C") +{ + (. || + switch (**1) { case 1: case 1: } +} +EOC +?X: trylink could "Whoa there" if we do not reset this variable + result='' + set result + eval $trylink + + case "$result" in + "$define") + echo "However with $flag the compiler seems to see no code." >&4 + ccflags=$saved_ccflags + ;; + esac + ;; + *) ccflags=$saved_ccflags;; + esac + ;; + esac + ;; +esac + |