1 dnl Available from the GNU Autoconf Macro Archive at:
2 dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_prog_cc_for_build.html
4 AC_DEFUN([AC_PROG_CC_FOR_BUILD], [dnl
5 AC_REQUIRE([AC_PROG_CC])dnl
6 AC_REQUIRE([AC_PROG_CPP])dnl
7 AC_REQUIRE([AC_EXEEXT])dnl
8 AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl
10 pushdef([AC_TRY_COMPILER], [
11 cat > conftest.$ac_ext << EOF
12 #line __oline__ "configure"
16 # If we can't run a trivial program, we are probably using a cross
19 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && (./conftest;
20 exit) 2>/dev/null; then
23 echo "configure: failed program was:" >&AC_FD_CC
24 cat conftest.$ac_ext >&AC_FD_CC
30 dnl Use the standard macros, but make them use other variable names
32 pushdef([cross_compiling], [#])dnl
33 pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
34 pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
35 pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
36 pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
37 pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
38 pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
39 pushdef([ac_cv_objext], ac_cv_build_objext)dnl
40 pushdef([ac_exeext], ac_build_exeext)dnl
41 pushdef([ac_objext], ac_build_objext)dnl
42 pushdef([CC], CC_FOR_BUILD)dnl
43 pushdef([CPP], CPP_FOR_BUILD)dnl
44 pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
45 pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
46 pushdef([host], build)dnl
47 pushdef([host_alias], build_alias)dnl
48 pushdef([host_cpu], build_cpu)dnl
49 pushdef([host_vendor], build_vendor)dnl
50 pushdef([host_os], build_os)dnl
51 pushdef([ac_cv_host], ac_cv_build)dnl
52 pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
53 pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
54 pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
55 pushdef([ac_cv_host_os], ac_cv_build_os)dnl
56 pushdef([ac_cpp], ac_build_cpp)dnl
57 pushdef([ac_compile], ac_build_compile)dnl
58 pushdef([ac_link], ac_build_link)dnl
60 dnl dnl Defeat the anti-duplication mechanism
62 dnl undefine([AC_PROVIDE_AC_PROG_CPP])dnl
63 dnl undefine([AC_PROVIDE_AC_PROG_C])dnl
64 dnl undefine([AC_PROVIDE_AC_EXEEXT])dnl
70 dnl Restore the old definitions
72 popdef([AC_TRY_COMPILER])dnl
74 popdef([ac_compile])dnl
76 popdef([ac_cv_host_os])dnl
77 popdef([ac_cv_host_vendor])dnl
78 popdef([ac_cv_host_cpu])dnl
79 popdef([ac_cv_host_alias])dnl
80 popdef([ac_cv_host])dnl
82 popdef([host_vendor])dnl
84 popdef([host_alias])dnl
90 popdef([ac_objext])dnl
91 popdef([ac_exeext])dnl
92 popdef([ac_cv_objext])dnl
93 popdef([ac_cv_exeext])dnl
94 popdef([ac_cv_prog_cc_g])dnl
95 popdef([ac_cv_prog_cc_works])dnl
96 popdef([ac_cv_prog_cc_cross])dnl
97 popdef([ac_cv_prog_gcc])dnl
98 popdef([cross_compiling])dnl
100 dnl Finally, set Makefile variables
102 BUILD_EXEEXT=$ac_build_exeext
103 BUILD_OBJEXT=$ac_build_objext
104 AC_SUBST(BUILD_EXEEXT)dnl
105 AC_SUBST(BUILD_OBJEXT)dnl
106 AC_SUBST([CFLAGS_FOR_BUILD])dnl
107 AC_SUBST([CPPFLAGS_FOR_BUILD])dnl