Windows 10 SDK build fixes

Build without Win32.mak, and using Universal C Runtime (UCRT)

windows: Check for APPVER, not VCVER for UCRT

When deciding whether UCRT is used (and thus no CRT merge modules), check for
Windows 10 rather than the version of Visual Studio, as we may be building with
an older SDK.
This commit is contained in:
Luke Howard
2021-08-11 18:53:36 +10:00
committed by Jeffrey Altman
parent 95021a3284
commit ceef0a0089
9 changed files with 173 additions and 28 deletions

View File

@@ -133,7 +133,13 @@ clean::
######################################################################
# Runtime modules
!if [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==16
!if [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==19
VCVER=VC2019
!elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==18
VCVER=VC2018
!elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==17
VCVER=VC2017
!elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==16
VCVER=VC100
!elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==15
VCVER=VC90
@@ -164,22 +170,27 @@ MMDIR=$(SystemDrive)\Program Files (x86)\Common Files\Merge Modules
!endif
!endif
!if exist("$(MMDIR)")
#
# Don't specify a runtime module when the Universal C Runtime
# is available.
#
!if "$(APPVER)"=="10.0"
RUNTIMEMODULE32=""
RUNTIMEMODULE64=""
!else
! if exist("$(MMDIR)")
RUNTIMEMODULE32="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86.msm"
!if "$(VCVER)"=="VC100"
RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x64.msm"
!else
! if "$(VCVER)"=="VC90" || "$(VCVER)"=="VC80"
RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86_x64.msm"
!endif
!else
! else
RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x64.msm"
! endif
! else
RUNTIMEMODULE32="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x86_msm.msm"
RUNTIMEMODULE64="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x64_msm.msm"
! endif
!endif
######################################################################
# Heimdal installer

View File

@@ -99,9 +99,10 @@
<Merge Id='Heimdal.Policy.32' Language='0'
SourceFile='$(var.InstDir32)\Heimdal.Policy.msm' />
<Merge Id='Runtime.32' Language='0'
SourceFile='$(var.RuntimeModule32)' />
<?if "$(var.RuntimeModule32)" != "" ?>
<Merge Id='Runtime.32' Language='0'
SourceFile='$(var.RuntimeModule32)' />
<?endif?>
</DirectoryRef>
<?endif?>
@@ -127,9 +128,10 @@
<Merge Id='Heimdal.Policy.64' Language='0'
SourceFile='$(var.InstDir64)\Heimdal.Policy.msm' />
<Merge Id='Runtime.64' Language='0'
SourceFile='$(var.RuntimeModule64)' />
<?if "$(var.RuntimeModule64)" != "" ?>
<Merge Id='Runtime.64' Language='0'
SourceFile='$(var.RuntimeModule64)' />
<?endif?>
</DirectoryRef>
<?endif?>
@@ -370,12 +372,12 @@
<MergeRef Id='Heimdal.Assemblies.64' />
<MergeRef Id='Heimdal.GSS.64' />
<MergeRef Id='Heimdal.Policy.64' />
<MergeRef Id='Runtime.64' />
<?if "$(var.RuntimeModule64)" != "" ?><MergeRef Id='Runtime.64' /><?endif?>
<?else?>
<MergeRef Id='Heimdal.Assemblies.32' />
<MergeRef Id='Heimdal.GSS.32' />
<MergeRef Id='Heimdal.Policy.32' />
<MergeRef Id='Runtime.32' />
<?if "$(var.RuntimeModule32)" != "" ?><MergeRef Id='Runtime.32' /><?endif?>
<?endif?>
<?ifdef Target32?>
@@ -393,7 +395,7 @@
<MergeRef Id='Heimdal.Assemblies.32' />
<MergeRef Id='Heimdal.GSS.32' />
<MergeRef Id='Heimdal.Policy.32' />
<MergeRef Id='Runtime.32' />
<?if "$(var.RuntimeModule32)" != "" ?><MergeRef Id='Runtime.32' /><?endif?>
</Feature>
<?endif?>
<?endif?>