# By default, build runtime for all the variants we need. But allow something to specify an individual variation to build
if($androidArcheq"")
{
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--androidarch=armv5","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux")eq0ordie("Failed building mono for armv5\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--androidarch=armv6_vfp","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux")eq0ordie("Failed building mono for armv6_vfp\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--androidarch=armv7a","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux")eq0ordie("Failed building mono for armv7a\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--androidarch=x86","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux")eq0ordie("Failed building mono for x86\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--androidarch=armv5","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux","--stevedorebuilddeps=$stevedoreBuildDeps")eq0ordie("Failed building mono for armv5\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--androidarch=armv6_vfp","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux","--stevedorebuilddeps=$stevedoreBuildDeps")eq0ordie("Failed building mono for armv6_vfp\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--androidarch=armv7a","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux","--stevedorebuilddeps=$stevedoreBuildDeps")eq0ordie("Failed building mono for armv7a\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--androidarch=x86","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux","--stevedorebuilddeps=$stevedoreBuildDeps")eq0ordie("Failed building mono for x86\n");
}
else
{
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=$clean","--artifact=1","--arch32=1","--androidarch=$androidArch","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux")eq0ordie("Failed building mono for $androidArch\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=$clean","--artifact=1","--arch32=1","--androidarch=$androidArch","--forcedefaultbuilddeps=1","--windowssubsystemforlinux=$windowsSubsystemForLinux","--stevedorebuilddeps=$stevedoreBuildDeps")eq0ordie("Failed building mono for $androidArch\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--test=1","--artifact=1","--arch32=$arch32","--classlibtests=0","--forcedefaultbuilddeps=1")eq0ordie("Failed building mono\n");
system("perl","$buildScriptsRoot/build.pl","--build=1","--clean=1","--test=1","--artifact=1","--arch32=$arch32","--classlibtests=0","--forcedefaultbuilddeps=1","--stevedorebuilddeps=$stevedoreBuildDeps")eq0ordie("Failed building mono\n");
system("perl","$buildScriptsRoot/build_all_osx.pl","--build=1","--artifact=1","--test=1","--forcedefaultbuilddeps=1")eq0ordie("Failed building mono\n");
my$stevedoreBuildDeps=0;
GetOptions(
'stevedorebuilddeps=i'=>\$stevedoreBuildDeps,
)ordie("illegal cmdline options");
system("perl","$buildScriptsRoot/build_all_osx.pl","--build=1","--artifact=1","--test=1","--forcedefaultbuilddeps=1","--stevedorebuilddeps=$stevedoreBuildDeps")eq0ordie("Failed building mono\n");
# Note : Ideally we can switch back to this build approach once the random cygwin hangs on the build machines are sorted out
#system("perl", "$buildScriptsRoot/build.pl", "--build=1", "--clean=1", "--test=1", "--artifact=1", "--arch32=1", "--classlibtests=0", "--forcedefaultbuilddeps=1") eq 0 or die ("Failed building mono\n");
#system("perl", "$buildScriptsRoot/build.pl", "--build=1", "--clean=1", "--test=1", "--artifact=1", "--arch32=1", "--classlibtests=0", "--forcedefaultbuilddeps=1", "--stevedorebuilddeps=$stevedoreBuildDeps") eq 0 or die ("Failed building mono\n");
system("perl","$buildScriptsRoot/build_win_no_cygwin.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--forcedefaultbuilddeps=1")eq0ordie("Failed building mono\n");
system("perl","$buildScriptsRoot/build_win_no_cygwin.pl","--build=1","--clean=1","--artifact=1","--arch32=1","--forcedefaultbuilddeps=1","--stevedorebuilddeps=$stevedoreBuildDeps")eq0ordie("Failed building mono\n");
# Note : Ideally we can switch back to this build approach once the random cygwin hangs on the build machines are sorted out
#system("perl", "$buildScriptsRoot/build.pl", "--build=1", "--clean=1", "--test=1", "--artifact=1", "--classlibtests=0", "--forcedefaultbuilddeps=1") eq 0 or die ("Failed building mono\n");
#system("perl", "$buildScriptsRoot/build.pl", "--build=1", "--clean=1", "--test=1", "--artifact=1", "--classlibtests=0", "--forcedefaultbuilddeps=1", "--stevedorebuilddeps=$stevedoreBuildDeps") eq 0 or die ("Failed building mono\n");
system("perl","$buildScriptsRoot/build_win_no_cygwin.pl","--build=1","--clean=1","--artifact=1","--arch32=0","--forcedefaultbuilddeps=1")eq0ordie("Failed building mono\n");
system("perl","$buildScriptsRoot/build_win_no_cygwin.pl","--build=1","--clean=1","--artifact=1","--arch32=0","--forcedefaultbuilddeps=1","--stevedorebuilddeps=$stevedoreBuildDeps")eq0ordie("Failed building mono\n");