For PR814:
authorReid Spencer <rspencer@reidspencer.com>
Wed, 26 Jul 2006 20:45:12 +0000 (20:45 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Wed, 26 Jul 2006 20:45:12 +0000 (20:45 +0000)
Add a macro for getting the build host extension for executable. Patch
contributed by Anton Korobeynikov. Thanks!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29304 91177308-0d34-0410-b5e6-96231b3b80d8

autoconf/m4/build_exeext.m4 [new file with mode: 0644]

diff --git a/autoconf/m4/build_exeext.m4 b/autoconf/m4/build_exeext.m4
new file mode 100644 (file)
index 0000000..e44b58b
--- /dev/null
@@ -0,0 +1,42 @@
+# Check for the extension used for executables on build platform.
+# This is necessary for cross-compiling where the build platform
+# may differ from the host platform.
+AC_DEFUN([AC_BUILD_EXEEXT],
+[
+AC_MSG_CHECKING([for executable suffix on build platform])
+AC_CACHE_VAL(ac_cv_build_exeext,
+[if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+  ac_cv_build_exeext=.exe
+else
+  ac_build_prefix=${build_alias}-
+
+  AC_CHECK_PROG(BUILD_CC, ${ac_build_prefix}gcc, ${ac_build_prefix}gcc)
+  if test -z "$BUILD_CC"; then
+     AC_CHECK_PROG(BUILD_CC, gcc, gcc)
+     if test -z "$BUILD_CC"; then
+       AC_CHECK_PROG(BUILD_CC, cc, cc, , , /usr/ucb/cc)
+     fi
+  fi
+  test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+  ac_build_link='${BUILD_CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
+  rm -f conftest*
+  echo 'int main () { return 0; }' > conftest.$ac_ext
+  ac_cv_build_exeext=
+  if AC_TRY_EVAL(ac_build_link); then
+    for file in conftest.*; do
+      case $file in
+      *.c | *.o | *.obj) ;;
+      *) ac_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
+      esac
+    done
+  else
+    AC_MSG_ERROR([installation or configuration problem: compiler cannot create executables.])
+  fi
+  rm -f conftest*
+  test x"${ac_cv_build_exeext}" = x && ac_cv_build_exeext=blank
+fi])
+BUILD_EXEEXT=""
+test x"${ac_cv_build_exeext}" != xblank && BUILD_EXEEXT=${ac_cv_build_exeext}
+AC_MSG_RESULT(${ac_cv_build_exeext})
+ac_build_exeext=$BUILD_EXEEXT
+AC_SUBST(BUILD_EXEEXT)])