Skip to content

Commit c9c1dd9

Browse files
committed
Parametrize authoring for toolchain msi's
1 parent 6fb75f2 commit c9c1dd9

File tree

9 files changed

+184
-167
lines changed

9 files changed

+184
-167
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2+
<?define ToolchainRoot = $(ImageRoot)\Toolchains\$(ProductVersion)+Asserts?>
3+
<?define VariantName = asserts ?>
4+
<?define VariantUpgradeCode = $(BldAssertsUpgradeCode)?>
5+
<?define VariantProductName = !(loc.BldAsserts_ProductName)?>
6+
<?define VariantCabName = bld.asserts.cab?>
7+
<?define ToolchainVersionedVariantDirectory= ToolchainVersionedNoAsserts ?>
8+
<?define VariantEnvironmentComponentGUID = ab52b870-23ee-42e8-9581-3fcbdfb9228c?>
9+
210
<?include ../bld.wxi ?>
311
</Wix>

platforms/Windows/bld/bld.wxi

Lines changed: 54 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,41 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
33

4-
<?define ToolchainRoot = $(ImageRoot)\Toolchains\$(ProductVersion)+Asserts?>
5-
64
<Package
75
Language="1033"
86
Manufacturer="!(loc.ManufacturerName)"
9-
Name="!(loc.BldAsserts_ProductName)"
10-
UpgradeCode="$(BldAssertsUpgradeCode)"
7+
Name="$(VariantProductName)"
8+
UpgradeCode="$(VariantUpgradeCode)"
119
Version="$(NonSemVerProductVersion)"
1210
Scope="$(PackageScope)">
1311

14-
<Media Id="1" Cabinet="bld.asserts.cab" EmbedCab="$(ArePackageCabsEmbedded)" />
12+
<Media Id="1" Cabinet="$(VariantCabName)" EmbedCab="$(ArePackageCabsEmbedded)" />
1513

16-
<WixVariable Id="SideBySidePackageUpgradeCode" Value="$(BldAssertsUpgradeCode)" />
14+
<WixVariable Id="SideBySidePackageUpgradeCode" Value="$(VariantUpgradeCode)" />
1715
<FeatureGroupRef Id="SideBySideUpgradeStrategy" />
1816

19-
<DirectoryRef Id="toolchain_asserts_usr_include">
20-
<Directory Id="toolchain_asserts_usr_include_llvm_c" Name="llvm-c" />
21-
<Directory Id="toolchain_asserts_usr_include_swift" Name="swift" />
17+
<DirectoryRef Id="toolchain_$(VariantName)_usr_include">
18+
<Directory Id="toolchain_$(VariantName)_usr_include_llvm_c" Name="llvm-c" />
19+
<Directory Id="toolchain_$(VariantName)_usr_include_swift" Name="swift" />
2220
</DirectoryRef>
2321

24-
<DirectoryRef Id="toolchain_asserts_usr_lib_swift">
25-
<Directory Id="toolchain_asserts_usr_lib_swift_migrator" Name="migrator" />
26-
<Directory Id="toolchain_asserts_usr_lib_swift_swiftToCxx" Name="swiftToCxx" />
22+
<DirectoryRef Id="toolchain_$(VariantName)_usr_lib_swift">
23+
<Directory Id="toolchain_$(VariantName)_usr_lib_swift_migrator" Name="migrator" />
24+
<Directory Id="toolchain_$(VariantName)_usr_lib_swift_swiftToCxx" Name="swiftToCxx" />
2725
</DirectoryRef>
2826

29-
<DirectoryRef Id="toolchain_asserts_usr_share">
30-
<Directory Id="toolchain_asserts_usr_share_clang" Name="clang" />
31-
<Directory Id="toolchain_asserts_usr_share_swift" Name="swift" />
32-
<Directory Id="toolchain_asserts_usr_share_doc" Name="doc">
33-
<Directory Id="toolchain_asserts_usr_share_doc_swift" Name="swift">
34-
<Directory Id="toolchain_asserts_usr_share_doc_swift_diagnostics" Name="diagnostics">
27+
<DirectoryRef Id="toolchain_$(VariantName)_usr_share">
28+
<Directory Id="toolchain_$(VariantName)_usr_share_clang" Name="clang" />
29+
<Directory Id="toolchain_$(VariantName)_usr_share_swift" Name="swift" />
30+
<Directory Id="toolchain_$(VariantName)_usr_share_doc" Name="doc">
31+
<Directory Id="toolchain_$(VariantName)_usr_share_doc_swift" Name="swift">
32+
<Directory Id="toolchain_$(VariantName)_usr_share_doc_swift_diagnostics" Name="diagnostics">
3533
</Directory>
3634
</Directory>
3735
</Directory>
3836
</DirectoryRef>
3937

40-
<ComponentGroup Id="cmark_gfm" Directory="toolchain_asserts_usr_bin">
38+
<ComponentGroup Id="cmark_gfm" Directory="toolchain_$(VariantName)_usr_bin">
4139
<Component>
4240
<File Source="$(ToolchainRoot)\usr\bin/cmark-gfm.dll" />
4341
</Component>
@@ -46,7 +44,7 @@
4644
</Component>
4745
</ComponentGroup>
4846

49-
<ComponentGroup Id="binutils" Directory="toolchain_asserts_usr_bin">
47+
<ComponentGroup Id="binutils" Directory="toolchain_$(VariantName)_usr_bin">
5048
<!-- TODO(compnerd) can we use symbolic links to llvm-ar.exe instead? -->
5149
<Component>
5250
<File Source="$(ToolchainRoot)\usr\bin\llvm-dlltool.exe" />
@@ -145,26 +143,26 @@
145143
</ComponentGroup>
146144

147145
<ComponentGroup Id="lto">
148-
<Component Directory="toolchain_asserts_usr_bin">
146+
<Component Directory="toolchain_$(VariantName)_usr_bin">
149147
<File Source="$(ToolchainRoot)\usr\bin\LTO.dll" />
150148
</Component>
151149

152-
<Component Directory="toolchain_asserts_usr_lib">
150+
<Component Directory="toolchain_$(VariantName)_usr_lib">
153151
<File Source="$(ToolchainRoot)\usr\lib\LTO.lib" />
154152
</Component>
155153

156-
<Component Directory="toolchain_asserts_usr_include_llvm_c">
154+
<Component Directory="toolchain_$(VariantName)_usr_include_llvm_c">
157155
<File Source="$(ToolchainRoot)\usr\include\llvm-c\lto.h" />
158156
</Component>
159157
</ComponentGroup>
160158

161-
<ComponentGroup Id="ClangFeatures" Directory="toolchain_asserts_usr_share_clang">
159+
<ComponentGroup Id="ClangFeatures" Directory="toolchain_$(VariantName)_usr_share_clang">
162160
<Component>
163161
<File Source="$(ToolchainRoot)\usr\share\clang\features.json" />
164162
</Component>
165163
</ComponentGroup>
166164

167-
<ComponentGroup Id="clang" Directory="toolchain_asserts_usr_bin">
165+
<ComponentGroup Id="clang" Directory="toolchain_$(VariantName)_usr_bin">
168166
<ComponentGroupRef Id="ClangFeatures" />
169167

170168
<!-- TODO(compnerd) can we use symbolic links to clang.exe instead? -->
@@ -195,7 +193,7 @@
195193
-->
196194
</ComponentGroup>
197195

198-
<ComponentGroup Id="lld" Directory="toolchain_asserts_usr_bin">
196+
<ComponentGroup Id="lld" Directory="toolchain_$(VariantName)_usr_bin">
199197
<!-- TODO(compnerd) can we use symbolic links to lld.exe instead? -->
200198
<Component>
201199
<File Source="$(ToolchainRoot)\usr\bin\ld.lld.exe" />
@@ -215,30 +213,30 @@
215213
</ComponentGroup>
216214

217215
<ComponentGroup Id="BlocksRuntime">
218-
<Component Directory="toolchain_asserts_usr_bin">
216+
<Component Directory="toolchain_$(VariantName)_usr_bin">
219217
<File Source="$(ToolchainRoot)\usr\bin\BlocksRuntime.dll" />
220218
</Component>
221219

222-
<Component Directory="toolchain_asserts_usr_lib">
220+
<Component Directory="toolchain_$(VariantName)_usr_lib">
223221
<File Source="$(ToolchainRoot)\usr\lib\BlocksRuntime.lib" />
224222
</Component>
225223

226224
<!-- TODO(compnerd) should we install the block headers? -->
227225
</ComponentGroup>
228226

229227
<ComponentGroup Id="libdispatch">
230-
<Component Directory="toolchain_asserts_usr_bin">
228+
<Component Directory="toolchain_$(VariantName)_usr_bin">
231229
<File Source="$(ToolchainRoot)\usr\bin\dispatch.dll" />
232230
</Component>
233231

234-
<Component Directory="toolchain_asserts_usr_lib">
232+
<Component Directory="toolchain_$(VariantName)_usr_lib">
235233
<File Source="$(ToolchainRoot)\usr\lib\dispatch.lib" />
236234
</Component>
237235

238236
<!-- TODO(compnerd) should we install the dispatch headers? -->
239237
</ComponentGroup>
240238

241-
<ComponentGroup Id="SwiftCxx" Directory="toolchain_asserts_usr_lib_swift_swiftToCxx">
239+
<ComponentGroup Id="SwiftCxx" Directory="toolchain_$(VariantName)_usr_lib_swift_swiftToCxx">
242240
<Component>
243241
<File Source="$(ToolchainRoot)\usr\lib\swift\swiftToCxx\_SwiftCxxInteroperability.h" />
244242
</Component>
@@ -249,27 +247,27 @@
249247
<File Source="$(ToolchainRoot)\usr\lib\swift\swiftToCxx\experimental-interoperability-version.json" />
250248
</Component>
251249

252-
<Component Directory="toolchain_asserts_usr_include_swift">
250+
<Component Directory="toolchain_$(VariantName)_usr_include_swift">
253251
<File Source="$(ToolchainRoot)\usr\include\swift\bridging.modulemap" />
254252
</Component>
255-
<Component Directory="toolchain_asserts_usr_include_swift">
253+
<Component Directory="toolchain_$(VariantName)_usr_include_swift">
256254
<File Source="$(ToolchainRoot)\usr\include\swift\bridging" />
257255
</Component>
258-
<Component Directory="toolchain_asserts_usr_include_swift">
256+
<Component Directory="toolchain_$(VariantName)_usr_include_swift">
259257
<File Source="$(ToolchainRoot)\usr\include\module.modulemap" />
260258
</Component>
261259
</ComponentGroup>
262260

263261
<ComponentGroup Id="SwiftDemangle">
264-
<Component Directory="toolchain_asserts_usr_bin">
262+
<Component Directory="toolchain_$(VariantName)_usr_bin">
265263
<File Source="$(ToolchainRoot)\usr\bin\swiftDemangle.dll" />
266264
</Component>
267-
<Component Directory="toolchain_asserts_usr_lib">
265+
<Component Directory="toolchain_$(VariantName)_usr_lib">
268266
<File Source="$(ToolchainRoot)\usr\lib\swiftDemangle.lib" />
269267
</Component>
270268
</ComponentGroup>
271269

272-
<ComponentGroup Id="SwiftEducationalNotes" Directory="toolchain_asserts_usr_share_doc_swift_diagnostics">
270+
<ComponentGroup Id="SwiftEducationalNotes" Directory="toolchain_$(VariantName)_usr_share_doc_swift_diagnostics">
273271
<Component>
274272
<File Source="$(ToolchainRoot)\usr\share\doc\swift\diagnostics\dynamic-callable-requirements.md" />
275273
</Component>
@@ -308,13 +306,13 @@
308306
</Component>
309307
</ComponentGroup>
310308

311-
<ComponentGroup Id="SwiftFeatures" Directory="toolchain_asserts_usr_share_swift">
309+
<ComponentGroup Id="SwiftFeatures" Directory="toolchain_$(VariantName)_usr_share_swift">
312310
<Component>
313311
<File Source="$(ToolchainRoot)\usr\share\swift\features.json" />
314312
</Component>
315313
</ComponentGroup>
316314

317-
<ComponentGroup Id="SwiftMigrator" Directory="toolchain_asserts_usr_lib_swift_migrator">
315+
<ComponentGroup Id="SwiftMigrator" Directory="toolchain_$(VariantName)_usr_lib_swift_migrator">
318316
<Component>
319317
<File Source="$(ToolchainRoot)\usr\lib\swift\migrator\ios4.json" />
320318
</Component>
@@ -347,7 +345,7 @@
347345
</Component>
348346
</ComponentGroup>
349347

350-
<ComponentGroup Id="swift" Directory="toolchain_asserts_usr_bin">
348+
<ComponentGroup Id="swift" Directory="toolchain_$(VariantName)_usr_bin">
351349
<ComponentGroupRef Id="SwiftCxx" />
352350
<ComponentGroupRef Id="SwiftDemangle" />
353351
<ComponentGroupRef Id="SwiftEducationalNotes" />
@@ -372,7 +370,7 @@
372370
</Component>
373371
</ComponentGroup>
374372

375-
<ComponentGroup Id="SwiftMacros" Directory="toolchain_asserts_usr_bin">
373+
<ComponentGroup Id="SwiftMacros" Directory="toolchain_$(VariantName)_usr_bin">
376374
<Component>
377375
<File Source="$(ToolchainRoot)\usr\bin\ObservationMacros.dll" />
378376
</Component>
@@ -381,25 +379,25 @@
381379
</Component>
382380
</ComponentGroup>
383381

384-
<ComponentGroup Id="FoundationMacros" Directory="toolchain_asserts_usr_bin">
382+
<ComponentGroup Id="FoundationMacros" Directory="toolchain_$(VariantName)_usr_bin">
385383
<Component>
386384
<File Source="$(ToolchainRoot)\usr\bin\FoundationMacros.dll" />
387385
</Component>
388386
</ComponentGroup>
389387

390-
<ComponentGroup Id="TestingMacros" Directory="toolchain_asserts_usr_bin">
388+
<ComponentGroup Id="TestingMacros" Directory="toolchain_$(VariantName)_usr_bin">
391389
<Component>
392390
<File Source="$(ToolchainRoot)\usr\bin\TestingMacros.dll" />
393391
</Component>
394392
</ComponentGroup>
395393

396-
<ComponentGroup Id="argument_parser" Directory="toolchain_asserts_usr_bin">
394+
<ComponentGroup Id="argument_parser" Directory="toolchain_$(VariantName)_usr_bin">
397395
<Component>
398396
<File Source="$(ToolchainRoot)\usr\bin\ArgumentParser.dll" />
399397
</Component>
400398
</ComponentGroup>
401399

402-
<ComponentGroup Id="tools_support_core" Directory="toolchain_asserts_usr_bin">
400+
<ComponentGroup Id="tools_support_core" Directory="toolchain_$(VariantName)_usr_bin">
403401
<Component>
404402
<File Source="$(ToolchainRoot)\usr\bin\TSCBasic.dll" />
405403
</Component>
@@ -408,7 +406,7 @@
408406
</Component>
409407
</ComponentGroup>
410408

411-
<ComponentGroup Id="swift_driver" Directory="toolchain_asserts_usr_bin">
409+
<ComponentGroup Id="swift_driver" Directory="toolchain_$(VariantName)_usr_bin">
412410
<!-- TODO(compnerd) can we use symbolic links to swift.exe instead? -->
413411
<Component>
414412
<File Name="swiftc.exe" Source="$(ToolchainRoot)\usr\bin\swift-driver.exe" />
@@ -432,7 +430,7 @@
432430
</Component>
433431
</ComponentGroup>
434432

435-
<ComponentGroup Id="compiler_swift_syntax" Directory="toolchain_asserts_usr_bin">
433+
<ComponentGroup Id="compiler_swift_syntax" Directory="toolchain_$(VariantName)_usr_bin">
436434
<Component>
437435
<File Source="$(ToolchainRoot)\usr\bin\_CompilerSwiftBasicFormat.dll" />
438436
</Component>
@@ -474,7 +472,7 @@
474472
</Component>
475473
</ComponentGroup>
476474

477-
<ComponentGroup Id="swift_syntax" Directory="toolchain_asserts_usr_bin">
475+
<ComponentGroup Id="swift_syntax" Directory="toolchain_$(VariantName)_usr_bin">
478476
<Component>
479477
<File Source="$(ToolchainRoot)\usr\bin\SwiftBasicFormat.dll" />
480478
</Component>
@@ -516,7 +514,7 @@
516514
</Component>
517515
</ComponentGroup>
518516

519-
<ComponentGroup Id="plugin_server" Directory="toolchain_asserts_usr_bin">
517+
<ComponentGroup Id="plugin_server" Directory="toolchain_$(VariantName)_usr_bin">
520518
<Component>
521519
<File Source="$(ToolchainRoot)\usr\bin\swift-plugin-server.exe" />
522520
</Component>
@@ -525,7 +523,7 @@
525523
</Component>
526524
</ComponentGroup>
527525

528-
<ComponentGroup Id="mimalloc" Directory="toolchain_asserts_usr_bin">
526+
<ComponentGroup Id="mimalloc" Directory="toolchain_$(VariantName)_usr_bin">
529527
<Component>
530528
<File Source="$(ToolchainRoot)\usr\bin\mimalloc.dll" />
531529
</Component>
@@ -539,18 +537,18 @@
539537
</ComponentGroup>
540538

541539
<ComponentGroup Id="Configuration">
542-
<Component Directory="ToolchainVersionedAsserts">
540+
<Component Directory="$(ToolchainVersionedVariantDirectory)">
543541
<File Source="$(ToolchainRoot)\ToolchainInfo.plist" />
544542
</Component>
545543
</ComponentGroup>
546544

547545
<ComponentGroup Id="EnvironmentVariables">
548-
<Component Id="UserPathVariable" Condition="NOT ALLUSERS=1" Directory="toolchain_asserts_usr_bin" Guid="ab52b870-23ee-42e8-9581-3fcbdfb9228c">
549-
<Environment Action="set" Name="Path" Part="last" Permanent="no" System="no" Value="[toolchain_asserts_usr_bin]" />
546+
<Component Id="UserPathVariable" Condition="NOT ALLUSERS=1" Directory="toolchain_$(VariantName)_usr_bin" Guid="$(VariantEnvironmentComponentGUID)">
547+
<Environment Action="set" Name="Path" Part="last" Permanent="no" System="no" Value="[toolchain_$(VariantName)_usr_bin]" />
550548
</Component>
551549
</ComponentGroup>
552550

553-
<Feature Id="BuildTools" AllowAbsent="no" Title="!(loc.BldAsserts_ProductName)">
551+
<Feature Id="BuildTools" AllowAbsent="no" Title="$(VariantProductName)">
554552
<ComponentGroupRef Id="cmark_gfm" />
555553

556554
<ComponentGroupRef Id="binutils" />
@@ -571,9 +569,8 @@
571569
<ComponentGroupRef Id="TestingMacros" />
572570
<ComponentGroupRef Id="mimalloc" />
573571

574-
<ComponentGroupRef Id="ClangResources_asserts" />
575-
<ComponentGroupRef Id="SwiftClangResources_asserts" />
576-
<ComponentGroupRef Id="SwiftStaticClangResources_asserts" />
572+
<ComponentGroupRef Id="ClangResources_$(VariantName)" />
573+
<ComponentGroupRef Id="SwiftClangResources_$(VariantName)" />
577574

578575
<ComponentGroupRef Id="Configuration" />
579576
<ComponentGroupRef Id="EnvironmentVariables" />
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2+
<?define ToolchainRoot = $(ImageRoot)\Toolchains\$(ProductVersion)+Asserts?>
3+
<?define VariantName = asserts ?>
4+
<?define VariantUpgradeCode = $(CliAssertsUpgradeCode)?>
5+
<?define VariantProductName = !(loc.CliAsserts_ProductName)?>
6+
<?define VariantCabName = cli.asserts.cab?>
7+
28
<?include ../cli.wxi ?>
39
</Wix>

0 commit comments

Comments
 (0)