1 | dnl |
---|
2 | dnl $Id$ |
---|
3 | dnl |
---|
4 | dnl Check for target gcc |
---|
5 | dnl |
---|
6 | dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de) |
---|
7 | dnl Completely reworked |
---|
8 | |
---|
9 | AC_DEFUN(RTEMS_PROG_CC, |
---|
10 | [ |
---|
11 | AC_BEFORE([$0], [AC_PROG_CPP])dnl |
---|
12 | AC_BEFORE([$0], [AC_PROG_CC])dnl |
---|
13 | AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl |
---|
14 | |
---|
15 | dnl Only accept gcc and cc |
---|
16 | dnl NOTE: This might be too restrictive for native compilation |
---|
17 | AC_PATH_PROGS(CC_FOR_TARGET, "$program_prefix"gcc "$program_prefix"cc ) |
---|
18 | test -z "$CC_FOR_TARGET" \ |
---|
19 | && AC_MSG_ERROR([no acceptable cc found in \$PATH]) |
---|
20 | |
---|
21 | dnl backup |
---|
22 | rtems_save_CC=$CC |
---|
23 | rtems_save_CFLAGS=$CFLAGS |
---|
24 | |
---|
25 | dnl temporarily set CC |
---|
26 | CC=$CC_FOR_TARGET |
---|
27 | |
---|
28 | AC_PROG_CC_WORKS |
---|
29 | AC_PROG_CC_GNU |
---|
30 | |
---|
31 | if test $ac_cv_prog_gcc = yes; then |
---|
32 | GCC=yes |
---|
33 | dnl Check whether -g works, even if CFLAGS is set, in case the package |
---|
34 | dnl plays around with CFLAGS (such as to build both debugging and |
---|
35 | dnl normal versions of a library), tasteless as that idea is. |
---|
36 | ac_test_CFLAGS="${CFLAGS+set}" |
---|
37 | ac_save_CFLAGS="$CFLAGS" |
---|
38 | CFLAGS= |
---|
39 | AC_PROG_CC_G |
---|
40 | if test "$ac_test_CFLAGS" = set; then |
---|
41 | CFLAGS="$ac_save_CFLAGS" |
---|
42 | elif test $ac_cv_prog_cc_g = yes; then |
---|
43 | CFLAGS="-g -O2" |
---|
44 | else |
---|
45 | CFLAGS="-O2" |
---|
46 | fi |
---|
47 | else |
---|
48 | GCC= |
---|
49 | test "${CFLAGS+set}" = set || CFLAGS="-g" |
---|
50 | fi |
---|
51 | |
---|
52 | rtems_cv_prog_gcc=$ac_cv_prog_gcc |
---|
53 | rtems_cv_prog_cc_g=$ac_cv_prog_cc_g |
---|
54 | rtems_cv_prog_cc_works=$ac_cv_prog_cc_works |
---|
55 | rtems_cv_prog_cc_cross=$ac_cv_prog_cc_cross |
---|
56 | |
---|
57 | dnl restore initial values |
---|
58 | CC=$rtems_save_CC |
---|
59 | CFLAGS=$rtems_save_CFLAGS |
---|
60 | |
---|
61 | unset ac_cv_prog_gcc |
---|
62 | unset ac_cv_prog_cc_g |
---|
63 | unset ac_cv_prog_cc_works |
---|
64 | unset ac_cv_prog_cc_cross |
---|
65 | ]) |
---|