summaryrefslogtreecommitdiff
path: root/mcon/U/GCC_pipe.U
diff options
context:
space:
mode:
Diffstat (limited to 'mcon/U/GCC_pipe.U')
-rw-r--r--mcon/U/GCC_pipe.U65
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
+