Skip to content

Commit

Permalink
Remove the NMAKE build system for installers (#65)
Browse files Browse the repository at this point in the history
It stopped working in early 2017 after version 9.6.1.
  • Loading branch information
chrullrich authored Oct 8, 2024
1 parent 59728b9 commit 62ef077
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 100 deletions.
11 changes: 2 additions & 9 deletions installer/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ WiX may be downloaded from:
http://wix.codeplex.com/


Two parallel systems to build the installers are currently provided:

POWERSHELL BASED
HOW TO BUILD
----------

Ensure that suitable binaries are in the parent directory Release build outputs
Expand All @@ -30,10 +28,5 @@ and try again.

Note that these installer generators use the configuration file prepared by the
PowerShell scripts in ..\winbuild, defaulting to ..\winbuild\configuration.xml,
so you can't just mix them with SDK- or NMake based compilation.

NMAKE BASED
-----------
so you can't just mix them with SDK-based compilation.

Use the top-level file (win64.mak), per the documentation in
docs/win32-compilation.html, to build installers using NMake.
42 changes: 0 additions & 42 deletions installer/installer.mak

This file was deleted.

34 changes: 0 additions & 34 deletions installer/productcodes.mak

This file was deleted.

18 changes: 3 additions & 15 deletions win64.mak
Original file line number Diff line number Diff line change
Expand Up @@ -316,29 +316,17 @@ unicode-driver:
ansi-driver:
$(MAKE) -f win64.mak ANSI_VERSION=yes

installer: unicode-driver ansi-driver
cd installer && $(MAKE) -f installer.mak CFG=$(CFG)

# world target builds both 32-bit and 64-bit installers in one command.
#
# The "setenv" command, from Microsoft SDK, is used to switch the build
# target. However, it only changes the environment for the current shell;
# it is reset for the next command. So we cannot just call "setenv /x64"
# here one one line and nmake one the next one. I also tried creating a .bat
# file with the commands, but setenv contains a "EXIT /B" which stops the
# script from executing. But we can launch a new cmd.exe and pass the
# commands to it in stdin.
world:
cmd < <<
setenv /x64
$(MAKE) -f win64.mak installer CFG=$(CFG)
$(MAKE) -f win64.mak unicode-driver ansi-driver CFG=$(CFG)
setenv /x86
$(MAKE) -f win64.mak installer CFG=$(CFG)
$(MAKE) -f win64.mak unicode-driver ansi-driver CFG=$(CFG)
>&2 echo The "world" target does not build installers anymore.
<<

clean-world:
-rd /Q /S x64_ANSI_Release x64_ANSI_Debug
-rd /Q /S x64_Unicode_Release x64_Unicode_Debug
-rd /Q /S x86_ANSI_Release x86_ANSI_Debug
-rd /Q /S x86_Unicode_Release x86_Unicode_Debug
cd installer && $(MAKE) /f installer.mak CFG=$(CFG) clean

0 comments on commit 62ef077

Please sign in to comment.