Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/vkd3d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorJózef Kucia <jkucia@codeweavers.com>2016-09-21 13:57:24 +0300
committerJózef Kucia <jkucia@codeweavers.com>2016-09-21 13:57:24 +0300
commit6bebee9a094969787b135057c6cc1a9432eb4ece (patch)
treed4d30de3f1363adde6b5ef79ba4dbfa19481446f /m4
parent978584a2387836b8e7b10797bed06e4ee17f9980 (diff)
build: Add "crosstest" target for tests cross-compilation.
Diffstat (limited to 'm4')
-rw-r--r--m4/check-mingw-prog.m456
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
+])