summaryrefslogtreecommitdiffstats
path: root/macros/prog-cc.m4
diff options
context:
space:
mode:
Diffstat (limited to 'macros/prog-cc.m4')
-rw-r--r--macros/prog-cc.m450
1 files changed, 50 insertions, 0 deletions
diff --git a/macros/prog-cc.m4 b/macros/prog-cc.m4
new file mode 100644
index 0000000000..f3cf4a70df
--- /dev/null
+++ b/macros/prog-cc.m4
@@ -0,0 +1,50 @@
+dnl
+dnl $Id$
+dnl
+dnl Check for target gcc
+dnl
+
+AC_DEFUN(RTEMS_PROG_CC,
+[
+AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_BEFORE([$0], [AC_PROG_CC])dnl
+AC_BEFORE([$0], [RTEMS_CANONICALIZE_TOOLS])dnl
+AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
+AC_REQUIRE([RTEMS_ENABLE_LIBCDIR])dnl
+AC_REQUIRE([RTEMS_ENABLE_GCC28])dnl
+
+AC_CHECK_TOOL(CC,gcc)
+AC_PROG_CC
+
+AM_CONDITIONAL(RTEMS_USE_GCC,test x"$ac_cv_prog_gcc" = x"yes")
+])
+
+AC_DEFUN(RTEMS_PROG_CC_FOR_TARGET,
+[
+dnl check target cc
+RTEMS_PROG_CC
+dnl check if the compiler supports --specs
+RTEMS_GCC_SPECS
+dnl check if the target compiler may use --pipe
+RTEMS_GCC_PIPE
+dnl check if the compiler supports --specs if gcc28 is requested
+if test "$RTEMS_USE_GCC272" != "yes" ; then
+ if test "$rtems_cv_gcc_specs" = "no"; then
+ AC_MSG_WARN([*** disabling --enable-gcc28])
+ RTEMS_USE_GCC272=yes
+ fi
+fi
+test "$rtems_cv_gcc_pipe" = "yes" && CC_FOR_TARGET="$CC_FOR_TARGET --pipe"
+
+## Conditional for automake files
+AM_CONDITIONAL(RTEMS_USE_GCC272, test x"$RTEMS_USE_GCC272" = x"yes")
+## Make variable for autoconf fragments (*.cfg)
+AC_SUBST(RTEMS_USE_GCC272)
+
+dnl FIXME: HACK for egcs/cygwin mixing '\\' and '/' in gcc -print-*
+case $host_os in
+*cygwin*) GCCSED="| sed 's%\\\\%/%g'" ;;
+*) ;;
+esac
+AC_SUBST(GCCSED)
+])