#!/bin/bash
set -x -e -v
. $GECKO_PATH/taskcluster/scripts/misc/vs-setup.sh
cd $MOZ_FETCHES_DIR/make
# Patch for http://savannah.gnu.org/bugs/?58656
patch -p1 <<'EOF'
diff --git a/src/remake.c b/src/remake.c
index fb237c5..b2ba069 100644
--- a/src/remake.c
+++ b/src/remake.c
@@ -35,6 +35,13 @@ this program. If not, see . */
#endif
#ifdef WINDOWS32
#include
+#include
+#if defined(_MSC_VER) && _MSC_VER > 1200
+/* VC7 or later support _stat64 to access 64-bit file size. */
+#define stat64 _stat64
+#else
+#define stat64 stat
+#endif
#endif
@@ -1466,7 +1473,11 @@ static FILE_TIMESTAMP
name_mtime (const char *name)
{
FILE_TIMESTAMP mtime;
+#if defined(WINDOWS32)
+ struct stat64 st;
+#else
struct stat st;
+#endif
int e;
#if defined(WINDOWS32)
@@ -1498,7 +1509,7 @@ name_mtime (const char *name)
tend = &tem[0];
}
- e = stat (tem, &st);
+ e = stat64 (tem, &st);
if (e == 0 && !_S_ISDIR (st.st_mode) && tend < tem + (p - name - 1))
{
errno = ENOTDIR;
EOF
chmod +w src/config.h.W32
sed "/#define BATCH_MODE_ONLY_SHELL/s/\/\*\(.*\)\*\//\1/" src/config.h.W32 > src/config.h
make -f Basic.mk \
MAKE_HOST=Windows32 \
MKDIR.cmd='mkdir -p $1' \
RM.cmd='rm -f $1' \
CP.cmd='cp $1 $2' \
msvc_CC="$MOZ_FETCHES_DIR/clang/bin/clang-cl -Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml" \
msvc_LD=$MOZ_FETCHES_DIR/clang/bin/lld-link
mkdir mozmake
cp WinRel/gnumake.exe mozmake/mozmake.exe
tar -acvf mozmake.tar.zst mozmake
mkdir -p $UPLOAD_DIR
cp mozmake.tar.zst $UPLOAD_DIR