diff options
author | Józef Kucia <jkucia@codeweavers.com> | 2016-09-21 13:57:24 +0300 |
---|---|---|
committer | Józef Kucia <jkucia@codeweavers.com> | 2016-09-21 13:57:24 +0300 |
commit | 6bebee9a094969787b135057c6cc1a9432eb4ece (patch) | |
tree | d4d30de3f1363adde6b5ef79ba4dbfa19481446f /m4 | |
parent | 978584a2387836b8e7b10797bed06e4ee17f9980 (diff) |
build: Add "crosstest" target for tests cross-compilation.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/check-mingw-prog.m4 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/m4/check-mingw-prog.m4 b/m4/check-mingw-prog.m4 new file mode 100644 index 00000000..a5f0af26 --- /dev/null +++ b/m4/check-mingw-prog.m4 @@ -0,0 +1,56 @@ +dnl VKD3D_CHECK_MINGW32_PROG(variable, crosstarget-variable, [value-if-not-found], [path]) +AC_DEFUN([VKD3D_CHECK_MINGW32_PROG], +[ +AC_SUBST([$2], [$3])dnl +ac_prefix_list="m4_foreach([ac_vkd3d_prefix], [w64-mingw32, pc-mingw32, mingw32msvc, mingw32], + m4_foreach([ac_vkd3d_cpu], [i686, i586, i486, i386], [ac_vkd3d_cpu-ac_vkd3d_prefix-gcc ])) + mingw32-gcc" +AC_CHECK_PROGS([$1], [$ac_prefix_list], [$3], [$4]) +if test "x[$]$1" != x$3 +then + ac_vkd3d_save_CC="$CC" + CC="[$]$1" + AC_MSG_CHECKING([whether $CC works]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], + [AC_MSG_RESULT([yes]) + set x [$]$1 + shift + while test "[$]#" -ge 1 + do + case "[$]1" in + *-gcc) $2=`expr "[$]1" : '\(.*\)-gcc'` ;; + esac + shift + done], + [AC_MSG_RESULT([no])]) + CC="$ac_vkd3d_save_CC" +fi +]) + +dnl VKD3D_CHECK_MINGW64_PROG(variable, crosstarget-variable, [value-if-not-found], [path]) +AC_DEFUN([VKD3D_CHECK_MINGW64_PROG], +[ +AC_SUBST([$2], [$3])dnl +ac_prefix_list="m4_foreach([ac_vkd3d_prefix], [pc-mingw32, w64-mingw32, mingw32msvc], + m4_foreach([ac_vkd3d_cpu], [x86_64, amd64], [ac_vkd3d_cpu-ac_vkd3d_prefix-gcc ]))" +AC_CHECK_PROGS([$1], [$ac_prefix_list], [$3], [$4]) +if test "x[$]$1" != x$3 +then + ac_vkd3d_save_CC="$CC" + CC="[$]$1" + AC_MSG_CHECKING([whether $CC works]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], + [AC_MSG_RESULT([yes]) + set x [$]$1 + shift + while test "[$]#" -ge 1 + do + case "[$]1" in + *-gcc) $2=`expr "[$]1" : '\(.*\)-gcc'` ;; + esac + shift + done], + [AC_MSG_RESULT([no])]) + CC="$ac_vkd3d_save_CC" +fi +]) |