From 3d2c2e0f166d7768822200fd1daeea441f184d7f Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Tue, 20 Jan 2026 11:03:47 -0600 Subject: [PATCH] GHA: Fix Windows build (fix Appveyor removal) --- .github/workflows/windows.yml | 7 ++++--- NTMakefile | 5 +++++ packages/windows/assembly/NTMakefile | 4 ++++ windows/NTMakefile.w32 | 6 +++++- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index c3e330b4c..1a047682c 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -95,6 +95,7 @@ jobs: - name: Install MSYS2 packages shell: cmd run: | + C:\msys64\usr\bin\pacman.exe --noconfirm -Sy C:\msys64\usr\bin\pacman.exe --noconfirm -S zstd autoconf automake flex bison perl perl-JSON texinfo - name: Build @@ -111,9 +112,9 @@ jobs: echo Compiler: ${{ matrix.compiler }} if "${{ matrix.compiler }}"=="clang-cl" ( clang-cl --version - nmake /f NTMakefile CC=clang-cl APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1 INCLUDE_openssl_crypto="%INCLUDE_openssl_crypto%" LIB_openssl_crypto="%LIB_openssl_crypto%" CFLAGS="-msse2" + nmake /f NTMakefile CC=clang-cl GHA=1 NO_INSTALLERS=1 INCLUDE_openssl_crypto="%INCLUDE_openssl_crypto%" LIB_openssl_crypto="%LIB_openssl_crypto%" CFLAGS="-msse2" ) else ( - nmake /f NTMakefile APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1 INCLUDE_openssl_crypto="%INCLUDE_openssl_crypto%" LIB_openssl_crypto="%LIB_openssl_crypto%" + nmake /f NTMakefile GHA=1 NO_INSTALLERS=1 INCLUDE_openssl_crypto="%INCLUDE_openssl_crypto%" LIB_openssl_crypto="%LIB_openssl_crypto%" ) - name: Test @@ -121,7 +122,7 @@ jobs: run: | set "PATH=%PATH%;C:\msys64\usr\bin" set "PATH=%PATH%;C:\Program Files\OpenSSL\bin" - nmake /f NTMakefile APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1 test + nmake /f NTMakefile GHA=1 NO_INSTALLERS=1 test - name: Upload Artifacts uses: actions/upload-artifact@v4 diff --git a/NTMakefile b/NTMakefile index 9848a7897..9a8bcd318 100644 --- a/NTMakefile +++ b/NTMakefile @@ -33,8 +33,13 @@ thirdparty=thirdparty !endif +!ifdef GHA +SUBDIRS = include lib kuser kdc admin kadmin kpasswd appl \ + tools tests packages etc +!else SUBDIRS = include lib kuser kdc admin kadmin kpasswd appl doc \ tools tests packages etc $(thirdparty) packages\windows\installer +!endif !include windows/NTMakefile.w32 diff --git a/packages/windows/assembly/NTMakefile b/packages/windows/assembly/NTMakefile index b5a72bb28..72b821e2c 100644 --- a/packages/windows/assembly/NTMakefile +++ b/packages/windows/assembly/NTMakefile @@ -108,8 +108,10 @@ all:: asm-krb clean:: -$(RM) $(ASMKRBDIR)\*.* +!ifndef GHA test:: $(MT) -manifest $(ASMKRBDIR)\$(ASMKRBMAN) -validate_manifest +!endif {$(BINDIR)}.dll{$(ASMKRBDIR)}.dll: $(CP) $< $@ @@ -132,8 +134,10 @@ $(APPMANIFEST): Heimdal.Application.manifest.in -e "s,[@]cpu[@],$(MCPU),g" \ -e "s,[@]pkt[@],$(CODESIGN_PKT),g" < $** > $@ +!ifndef GHA test:: $(MT) -manifest $(APPMANIFEST) -validate_manifest +!endif # ---------------------------------------------------------------------- # Publisher configuration files diff --git a/windows/NTMakefile.w32 b/windows/NTMakefile.w32 index 07ccd8b50..9714b313a 100644 --- a/windows/NTMakefile.w32 +++ b/windows/NTMakefile.w32 @@ -249,7 +249,11 @@ RC2RES = $(RC2RES_C) -fo $@ $** REQUIRED_TOOLS= \ "$(AWK_CMD)" "$(YACC_CMD)" "$(LEX_CMD)" "$(PYTHON)" "$(PERL)" \ - "$(CMP)" "$(SED)" "$(MAKECAT)" "$(MAKEINFO)" "$(HHC)" + "$(CMP)" "$(SED)" "$(MAKECAT)" + +!ifndef GHA +REQUIRED_TOOLS=$(REQUIRED_TOOLS) "$(MAKEINFO)" "$(HHC)" +!endif !ifdef BUILD_INSTALLERS REQUIRED_TOOLS=$(REQUIRED_TOOLS) "$(CANDLE_CMD)" "$(LIGHT_CMD)"