diff options
author | Nick Mathewson <nickm@torproject.org> | 2013-10-21 13:30:38 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-10-21 13:30:38 -0400 |
commit | b7a17de454c9c2721059393d237f3984bd5aa74f (patch) | |
tree | bcf0a030d67a794f695d3c454ed730e0e8c7a8cd /configure.ac | |
parent | 21ac292820da5784cf3c87e77df57b7594071d09 (diff) | |
download | tor-b7a17de454c9c2721059393d237f3984bd5aa74f.tar tor-b7a17de454c9c2721059393d237f3984bd5aa74f.tar.gz |
Better detection for certain broken cross-compiling situations.
Fixes bug 9869; patch from Benedikt Gollatz.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index f1fa8812f..8d21661f8 100644 --- a/configure.ac +++ b/configure.ac @@ -158,12 +158,29 @@ fi]) AC_ARG_ENABLE(bufferevents, AS_HELP_STRING(--enable-bufferevents, use Libevent's buffered IO.)) +AC_ARG_ENABLE(tool-name-check, + AS_HELP_STRING(--disable-tool-name-check, check for sanely named toolchain when cross-compiling)) + dnl check for the correct "ar" when cross-compiling AN_MAKEVAR([AR], [AC_PROG_AR]) AN_PROGRAM([ar], [AC_PROG_AR]) AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL([AR], [ar], [ar])]) AC_PROG_AR +dnl Check whether the above macro has settled for a simply named tool even +dnl though we're cross compiling. We must do this before running AC_PROG_CC, +dnl because that will find any cc on the system, not only the cross-compiler, +dnl and then verify that a binary built with this compiler runs on the +dnl build system. It will then come to the false conclusion that we're not +dnl cross-compiling. +if test x$enable_tool_name_check != xno; then + if test x$ac_tool_warned = xyes; then + AC_MSG_ERROR([We are cross compiling but could not find a properly named toolchain. Do you have your cross-compiling toolchain in PATH? (You can --disable-tool-name-check to ignore this.)]) + elif test "x$ac_ct_AR" != x -a x$cross_compiling = xmaybe; then + AC_MSG_ERROR([We think we are cross compiling but could not find a properly named toolchain. Do you have your cross-compiling toolchain in PATH? (You can --disable-tool-name-check to ignore this.)]) + fi +fi + AC_PROG_CC AC_PROG_CPP AC_PROG_MAKE_SET |