Skip to content
Open

UCRT #382

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ jobs:
uses: docker/build-push-action@v7
with:
context: .
file: ./Dockerfile
tags: w64devkit:${{ env.ARCH }}
load: true
cache-from: type=gha,scope=w64devkit-${{ env.ARCH }}
Expand All @@ -50,6 +51,7 @@ jobs:
uses: docker/build-push-action@v7
with:
context: .
file: ./Dockerfile
target: source
tags: w64devkit:source
load: true
Expand Down Expand Up @@ -112,6 +114,7 @@ jobs:
uses: docker/build-push-action@v7
with:
context: .
file: ./Dockerfile
tags: w64devkit:${{ env.ARCH }}
load: true
cache-from: type=gha,scope=w64devkit-${{ env.ARCH }}
Expand Down Expand Up @@ -159,6 +162,7 @@ jobs:
uses: docker/build-push-action@v7
with:
context: .
file: ./Dockerfile
target: signed
tags: w64devkit:x64-signed
load: true
Expand All @@ -182,6 +186,7 @@ jobs:
uses: docker/build-push-action@v7
with:
context: .
file: ./Dockerfile
target: signed
tags: w64devkit:x86-signed
load: true
Expand Down
10 changes: 5 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ RUN printf '#include <crtdefs.h>\n#if __has_include_next(<stddef.h>)\n#include_n
&& /dl/mingw/mingw-w64-headers/configure \
--prefix=/bootstrap \
--host=$ARCH \
--with-default-msvcrt=msvcrt-os \
--with-default-msvcrt=ucrt \
&& make -j$(nproc) \
&& make install

Expand Down Expand Up @@ -309,7 +309,7 @@ RUN /dl/mingw/mingw-w64-crt/configure \
--prefix=/bootstrap \
--with-sysroot=/bootstrap \
--host=$ARCH \
--with-default-msvcrt=msvcrt-os \
--with-default-msvcrt=ucrt \
--disable-dependency-tracking \
--disable-lib32 \
--enable-lib64 \
Expand Down Expand Up @@ -404,7 +404,7 @@ RUN /dl/mingw/mingw-w64-headers/configure \
--prefix=$PREFIX \
--host=$ARCH \
--enable-idl \
--with-default-msvcrt=msvcrt-os \
--with-default-msvcrt=ucrt \
&& make -j$(nproc) \
&& make install

Expand All @@ -413,7 +413,7 @@ RUN /dl/mingw/mingw-w64-crt/configure \
--prefix=$PREFIX \
--with-sysroot=$PREFIX \
--host=$ARCH \
--with-default-msvcrt=msvcrt-os \
--with-default-msvcrt=ucrt \
--disable-dependency-tracking \
--disable-lib32 \
--enable-lib64 \
Expand Down Expand Up @@ -664,7 +664,7 @@ RUN cat $PREFIX/src/vim-*.patch | patch -p1 \
&& ARCH= make -C src -j$(nproc) -f Make_ming.mak CC="$ARCH-gcc -std=gnu17" \
OPTIMIZE=SPEED STATIC_STDCPLUS=yes HAS_GCC_EH=no \
UNDER_CYGWIN=yes CROSS=yes CROSS_COMPILE=$ARCH- \
FEATURES=HUGE VIMDLL=yes NETBEANS=no WINVER=0x0501 \
FEATURES=HUGE VIMDLL=yes NETBEANS=no XPM=no WINVER=0x0501 \
&& $ARCH-strip src/vimrun.exe \
&& rm -rf runtime/tutor/tutor.* \
&& mkdir -p /out/bin /out/share \
Expand Down
68 changes: 51 additions & 17 deletions src/variant-x86.patch
Original file line number Diff line number Diff line change
@@ -1,60 +1,94 @@
diff --git a/Dockerfile b/Dockerfile
index 687dcb956..7d55956cf 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -229,3 +229,3 @@
@@ -227,7 +227,7 @@ RUN curl --insecure --location --remote-name-all --remote-header-name \
# Build cross-compiler

FROM dl-cross AS cross
-ARG ARCH=x86_64-w64-mingw32
+ARG ARCH=i686-w64-mingw32
ENV ARCH=$ARCH
@@ -260,2 +260,3 @@
--with-default-msvcrt=msvcrt-os \
+ --with-default-win32-winnt=0x0501 \
&& make -j$(nproc) \
@@ -272,2 +273,3 @@
WORKDIR /dl/binutils
@@ -240,6 +240,7 @@ WORKDIR /x-binutils
RUN /dl/binutils/configure \
--prefix=/bootstrap \
--with-sysroot=/bootstrap \
+ --with-arch=pentium4 \
--target=$ARCH \
@@ -313,4 +315,4 @@
--disable-nls \
--with-static-standard-libraries \
@@ -311,8 +312,8 @@ RUN /dl/mingw/mingw-w64-crt/configure \
--host=$ARCH \
--with-default-msvcrt=ucrt \
--disable-dependency-tracking \
- --disable-lib32 \
- --enable-lib64 \
+ --enable-lib32 \
+ --disable-lib64 \
CFLAGS="-O2" \
@@ -399,2 +401,3 @@
--with-default-msvcrt=msvcrt-os \
+ --with-default-win32-winnt=0x0501 \
LDFLAGS="-s" \
&& make -j$(nproc) \
@@ -409,4 +412,4 @@
@@ -415,8 +416,8 @@ RUN /dl/mingw/mingw-w64-crt/configure \
--host=$ARCH \
--with-default-msvcrt=ucrt \
--disable-dependency-tracking \
- --disable-lib32 \
- --enable-lib64 \
+ --enable-lib32 \
+ --disable-lib64 \
CFLAGS="-O2" \
@@ -437,2 +440,3 @@
LDFLAGS="-s" \
&& make -j$(nproc) \
@@ -443,6 +444,7 @@ RUN echo 'BEGIN {print "pecoff"}' \
--prefix=$PREFIX \
--with-sysroot=$PREFIX \
--with-native-system-header-dir=/include \
+ --with-arch=pentium4 \
--target=$ARCH \
@@ -456,2 +460,3 @@
--host=$ARCH \
--enable-static \
@@ -462,6 +464,7 @@ RUN echo 'BEGIN {print "pecoff"}' \
--disable-multilib \
--disable-nls \
--disable-win32-registry \
+ --disable-win32-utf8-manifest \
--enable-mingw-wildcard \
@@ -605,3 +610,3 @@
CFLAGS_FOR_TARGET="-O2" \
CXXFLAGS_FOR_TARGET="-O2" \
@@ -611,7 +614,7 @@ COPY --from=dl-busybox /dl/ /dl/
WORKDIR /dl/busybox
COPY src/busybox-* $PREFIX/src/
RUN cat $PREFIX/src/busybox-*.patch | patch -p1 \
- && make mingw64u_defconfig \
+ && make mingw32w_defconfig \
&& sed -ri 's/^(CONFIG_AR)=y/\1=n/' .config \
@@ -699,3 +704,3 @@
&& sed -ri 's/^(CONFIG_ASCII)=y/\1=n/' .config \
&& sed -ri -e 's/^(CONFIG_BASH_IS_ASH)=y/\1=n/' \
@@ -706,7 +709,7 @@ RUN make -j$(nproc) CC=$ARCH-gcc AR=$ARCH-ar CFLAGS="-O2" libzstd.a \

WORKDIR /dl/zstd
RUN make -j$(nproc) -C programs zstd \
- CC=$ARCH-gcc CFLAGS="-O2" LDFLAGS="-s" EXT=.exe \
+ CC=$ARCH-gcc CFLAGS="-O2" LDFLAGS="-s" EXT=.exe HAVE_THREAD=0 \
&& mkdir -p /out/bin \
@@ -798,2 +803,3 @@
&& cp programs/zstd.exe /out/bin/ \
&& $ARCH-gcc -DEXE=zstd.exe -DCMD=unzstd \
@@ -805,6 +808,7 @@ RUN cat $PREFIX/src/cmake-*.patch | patch -d/dl/cmake -p1 \
-DCMAKE_CXX_COMPILER=$ARCH-g++ \
-DCMAKE_RC_COMPILER=$ARCH-windres \
-DCMAKE_EXE_LINKER_FLAGS="-s" \
+ -DCMAKE_CXX_FLAGS="-O2 -D_WIN32_WINNT=0x0601" \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
@@ -840,3 +846,3 @@
-DBUILD_CursesDialog=ON \
-DCURSES_LIBRARY=/deps/lib/libcurses.a \
@@ -864,7 +868,7 @@ RUN sed -i 's/\r$//' Source/build.cpp \
&& cat $PREFIX/src/nsis-*.patch | patch -p1 \
&& scons -j$(nproc) \
XGCC_W32_PREFIX=$ARCH- \
- TARGET_ARCH=amd64 \
+ TARGET_ARCH=x86 \
PREFIX=$PREFIX \
PREFIX_BIN=$PREFIX/share/nsis/bin \
PREFIX_DATA=$PREFIX/share/nsis \