Skip to content

Commit

Permalink
better COM overload mechanism
Browse files Browse the repository at this point in the history
This switches to a manual overload resolution mechanism.  When an overload
is found that has not been configured, the code generator will print
configuration code to stderr for you to copy/paste into ComOverloads.txt.
Copy/paste that code and fill in the desired overload suffxes for each
variation.
  • Loading branch information
marler8997 committed Jul 19, 2024
1 parent c7263e6 commit 7f1ed24
Show file tree
Hide file tree
Showing 5 changed files with 529 additions and 67 deletions.
216 changes: 216 additions & 0 deletions ComOverloads.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
AI.MachineLearning.WinML IMLOperatorKernelContext GetOutputTensor 1 WithShape
AI.MachineLearning.WinML IMLOperatorKernelContext GetOutputTensor 2 Default
Data.HtmlHelp IITPropList Set 0 String
Data.HtmlHelp IITPropList Set 1 Pointer
Data.HtmlHelp IITPropList Set 2 Dword
Data.HtmlHelp IITPropList SetPersist 6 All
Data.HtmlHelp IITPropList SetPersist 7 One
Data.HtmlHelp IITWordWheel Lookup 5 _TODO_A
Data.HtmlHelp IITWordWheel Lookup 6 _TODO_B
Data.HtmlHelp IITWordWheel Lookup 7 _TODO_C
Data.HtmlHelp IITResultSet Add 3 _TODO_A
Data.HtmlHelp IITResultSet Add 4 _TODO_B
Data.HtmlHelp IITResultSet Add 5 _TODO_C
Data.HtmlHelp IITResultSet Add 6 _TODO_D
Data.HtmlHelp IITResultSet Set 8 _TODO_A
Data.HtmlHelp IITResultSet Set 9 _TODO_B
Data.HtmlHelp IITResultSet Set 10 _TODO_C
Data.HtmlHelp IITResultSet Set 11 _TODO_D
Data.HtmlHelp IITResultSet GetColumn 19 _TODO_A
Data.HtmlHelp IITResultSet GetColumn 20 _TODO_B
Graphics.Direct2D ID2D1SvgStrokeDashArray UpdateDashes 1 Units
Graphics.Direct2D ID2D1SvgStrokeDashArray UpdateDashes 2 Floats
Graphics.Direct2D ID2D1SvgStrokeDashArray GetDashes 3 Units
Graphics.Direct2D ID2D1SvgStrokeDashArray GetDashes 4 Floats
Graphics.Direct2D ID2D1SvgElement SetAttributeValue 23 Obj
Graphics.Direct2D ID2D1SvgElement SetAttributeValue 24 Pod
Graphics.Direct2D ID2D1SvgElement SetAttributeValue 25 String
Graphics.Direct2D ID2D1SvgElement GetAttributeValue 26 Obj
Graphics.Direct2D ID2D1SvgElement GetAttributeValue 27 Pod
Graphics.Direct2D ID2D1SvgElement GetAttributeValue 28 String
Graphics.DirectComposition IDCompositionVisual SetOffsetX 0 _TODO_A
Graphics.DirectComposition IDCompositionVisual SetOffsetX 1 _TODO_B
Graphics.DirectComposition IDCompositionVisual SetOffsetY 2 _TODO_A
Graphics.DirectComposition IDCompositionVisual SetOffsetY 3 _TODO_B
Graphics.DirectComposition IDCompositionVisual SetTransform 4 _TODO_A
Graphics.DirectComposition IDCompositionVisual SetTransform 5 _TODO_B
Graphics.DirectComposition IDCompositionVisual SetClip 10 _TODO_A
Graphics.DirectComposition IDCompositionVisual SetClip 11 _TODO_B
Graphics.DirectComposition IDCompositionTranslateTransform SetOffsetX 0 _TODO_A
Graphics.DirectComposition IDCompositionTranslateTransform SetOffsetX 1 _TODO_B
Graphics.DirectComposition IDCompositionTranslateTransform SetOffsetY 2 _TODO_A
Graphics.DirectComposition IDCompositionTranslateTransform SetOffsetY 3 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform SetScaleX 0 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform SetScaleX 1 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform SetScaleY 2 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform SetScaleY 3 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform SetCenterX 4 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform SetCenterX 5 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform SetCenterY 6 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform SetCenterY 7 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform SetAngle 0 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform SetAngle 1 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform SetCenterX 2 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform SetCenterX 3 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform SetCenterY 4 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform SetCenterY 5 _TODO_B
Graphics.DirectComposition IDCompositionSkewTransform SetAngleX 0 _TODO_A
Graphics.DirectComposition IDCompositionSkewTransform SetAngleX 1 _TODO_B
Graphics.DirectComposition IDCompositionSkewTransform SetAngleY 2 _TODO_A
Graphics.DirectComposition IDCompositionSkewTransform SetAngleY 3 _TODO_B
Graphics.DirectComposition IDCompositionSkewTransform SetCenterX 4 _TODO_A
Graphics.DirectComposition IDCompositionSkewTransform SetCenterX 5 _TODO_B
Graphics.DirectComposition IDCompositionSkewTransform SetCenterY 6 _TODO_A
Graphics.DirectComposition IDCompositionSkewTransform SetCenterY 7 _TODO_B
Graphics.DirectComposition IDCompositionMatrixTransform SetMatrixElement 1 _TODO_A
Graphics.DirectComposition IDCompositionMatrixTransform SetMatrixElement 2 _TODO_B
Graphics.DirectComposition IDCompositionEffectGroup SetOpacity 0 _TODO_A
Graphics.DirectComposition IDCompositionEffectGroup SetOpacity 1 _TODO_B
Graphics.DirectComposition IDCompositionTranslateTransform3D SetOffsetX 0 _TODO_A
Graphics.DirectComposition IDCompositionTranslateTransform3D SetOffsetX 1 _TODO_B
Graphics.DirectComposition IDCompositionTranslateTransform3D SetOffsetY 2 _TODO_A
Graphics.DirectComposition IDCompositionTranslateTransform3D SetOffsetY 3 _TODO_B
Graphics.DirectComposition IDCompositionTranslateTransform3D SetOffsetZ 4 _TODO_A
Graphics.DirectComposition IDCompositionTranslateTransform3D SetOffsetZ 5 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform3D SetScaleX 0 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform3D SetScaleX 1 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform3D SetScaleY 2 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform3D SetScaleY 3 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform3D SetScaleZ 4 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform3D SetScaleZ 5 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform3D SetCenterX 6 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform3D SetCenterX 7 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform3D SetCenterY 8 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform3D SetCenterY 9 _TODO_B
Graphics.DirectComposition IDCompositionScaleTransform3D SetCenterZ 10 _TODO_A
Graphics.DirectComposition IDCompositionScaleTransform3D SetCenterZ 11 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform3D SetAngle 0 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform3D SetAngle 1 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform3D SetAxisX 2 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform3D SetAxisX 3 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform3D SetAxisY 4 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform3D SetAxisY 5 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform3D SetAxisZ 6 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform3D SetAxisZ 7 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform3D SetCenterX 8 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform3D SetCenterX 9 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform3D SetCenterY 10 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform3D SetCenterY 11 _TODO_B
Graphics.DirectComposition IDCompositionRotateTransform3D SetCenterZ 12 _TODO_A
Graphics.DirectComposition IDCompositionRotateTransform3D SetCenterZ 13 _TODO_B
Graphics.DirectComposition IDCompositionMatrixTransform3D SetMatrixElement 1 _TODO_A
Graphics.DirectComposition IDCompositionMatrixTransform3D SetMatrixElement 2 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetLeft 0 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetLeft 1 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetTop 2 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetTop 3 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetRight 4 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetRight 5 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetBottom 6 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetBottom 7 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetTopLeftRadiusX 8 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetTopLeftRadiusX 9 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetTopLeftRadiusY 10 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetTopLeftRadiusY 11 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetTopRightRadiusX 12 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetTopRightRadiusX 13 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetTopRightRadiusY 14 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetTopRightRadiusY 15 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetBottomLeftRadiusX 16 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetBottomLeftRadiusX 17 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetBottomLeftRadiusY 18 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetBottomLeftRadiusY 19 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetBottomRightRadiusX 20 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetBottomRightRadiusX 21 _TODO_B
Graphics.DirectComposition IDCompositionRectangleClip SetBottomRightRadiusY 22 _TODO_A
Graphics.DirectComposition IDCompositionRectangleClip SetBottomRightRadiusY 23 _TODO_B
Graphics.DirectComposition IDCompositionVisual3 SetOffsetZ 1 _TODO_A
Graphics.DirectComposition IDCompositionVisual3 SetOffsetZ 2 _TODO_B
Graphics.DirectComposition IDCompositionVisual3 SetOpacity 3 _TODO_A
Graphics.DirectComposition IDCompositionVisual3 SetOpacity 4 _TODO_B
Graphics.DirectComposition IDCompositionVisual3 SetTransform 5 _TODO_A
Graphics.DirectComposition IDCompositionVisual3 SetTransform 6 _TODO_B
Graphics.DirectComposition IDCompositionGaussianBlurEffect SetStandardDeviation 0 _TODO_A
Graphics.DirectComposition IDCompositionGaussianBlurEffect SetStandardDeviation 1 _TODO_B
Graphics.DirectComposition IDCompositionBrightnessEffect SetWhitePointX 2 _TODO_A
Graphics.DirectComposition IDCompositionBrightnessEffect SetWhitePointX 3 _TODO_B
Graphics.DirectComposition IDCompositionBrightnessEffect SetWhitePointY 4 _TODO_A
Graphics.DirectComposition IDCompositionBrightnessEffect SetWhitePointY 5 _TODO_B
Graphics.DirectComposition IDCompositionBrightnessEffect SetBlackPointX 6 _TODO_A
Graphics.DirectComposition IDCompositionBrightnessEffect SetBlackPointX 7 _TODO_B
Graphics.DirectComposition IDCompositionBrightnessEffect SetBlackPointY 8 _TODO_A
Graphics.DirectComposition IDCompositionBrightnessEffect SetBlackPointY 9 _TODO_B
Graphics.DirectComposition IDCompositionColorMatrixEffect SetMatrixElement 1 _TODO_A
Graphics.DirectComposition IDCompositionColorMatrixEffect SetMatrixElement 2 _TODO_B
Graphics.DirectComposition IDCompositionShadowEffect SetStandardDeviation 0 _TODO_A
Graphics.DirectComposition IDCompositionShadowEffect SetStandardDeviation 1 _TODO_B
Graphics.DirectComposition IDCompositionShadowEffect SetRed 3 _TODO_A
Graphics.DirectComposition IDCompositionShadowEffect SetRed 4 _TODO_B
Graphics.DirectComposition IDCompositionShadowEffect SetGreen 5 _TODO_A
Graphics.DirectComposition IDCompositionShadowEffect SetGreen 6 _TODO_B
Graphics.DirectComposition IDCompositionShadowEffect SetBlue 7 _TODO_A
Graphics.DirectComposition IDCompositionShadowEffect SetBlue 8 _TODO_B
Graphics.DirectComposition IDCompositionShadowEffect SetAlpha 9 _TODO_A
Graphics.DirectComposition IDCompositionShadowEffect SetAlpha 10 _TODO_B
Graphics.DirectComposition IDCompositionHueRotationEffect SetAngle 0 _TODO_A
Graphics.DirectComposition IDCompositionHueRotationEffect SetAngle 1 _TODO_B
Graphics.DirectComposition IDCompositionSaturationEffect SetSaturation 0 _TODO_A
Graphics.DirectComposition IDCompositionSaturationEffect SetSaturation 1 _TODO_B
Graphics.DirectComposition IDCompositionLinearTransferEffect SetRedYIntercept 0 _TODO_A
Graphics.DirectComposition IDCompositionLinearTransferEffect SetRedYIntercept 1 _TODO_B
Graphics.DirectComposition IDCompositionLinearTransferEffect SetRedSlope 2 _TODO_A
Graphics.DirectComposition IDCompositionLinearTransferEffect SetRedSlope 3 _TODO_B
Graphics.DirectComposition IDCompositionLinearTransferEffect SetGreenYIntercept 5 _TODO_A
Graphics.DirectComposition IDCompositionLinearTransferEffect SetGreenYIntercept 6 _TODO_B
Graphics.DirectComposition IDCompositionLinearTransferEffect SetGreenSlope 7 _TODO_A
Graphics.DirectComposition IDCompositionLinearTransferEffect SetGreenSlope 8 _TODO_B
Graphics.DirectComposition IDCompositionLinearTransferEffect SetBlueYIntercept 10 _TODO_A
Graphics.DirectComposition IDCompositionLinearTransferEffect SetBlueYIntercept 11 _TODO_B
Graphics.DirectComposition IDCompositionLinearTransferEffect SetBlueSlope 12 _TODO_A
Graphics.DirectComposition IDCompositionLinearTransferEffect SetBlueSlope 13 _TODO_B
Graphics.DirectComposition IDCompositionLinearTransferEffect SetAlphaYIntercept 15 _TODO_A
Graphics.DirectComposition IDCompositionLinearTransferEffect SetAlphaYIntercept 16 _TODO_B
Graphics.DirectComposition IDCompositionLinearTransferEffect SetAlphaSlope 17 _TODO_A
Graphics.DirectComposition IDCompositionLinearTransferEffect SetAlphaSlope 18 _TODO_B
Graphics.DirectComposition IDCompositionTableTransferEffect SetRedTableValue 9 _TODO_A
Graphics.DirectComposition IDCompositionTableTransferEffect SetRedTableValue 10 _TODO_B
Graphics.DirectComposition IDCompositionTableTransferEffect SetGreenTableValue 11 _TODO_A
Graphics.DirectComposition IDCompositionTableTransferEffect SetGreenTableValue 12 _TODO_B
Graphics.DirectComposition IDCompositionTableTransferEffect SetBlueTableValue 13 _TODO_A
Graphics.DirectComposition IDCompositionTableTransferEffect SetBlueTableValue 14 _TODO_B
Graphics.DirectComposition IDCompositionTableTransferEffect SetAlphaTableValue 15 _TODO_A
Graphics.DirectComposition IDCompositionTableTransferEffect SetAlphaTableValue 16 _TODO_B
Graphics.DirectComposition IDCompositionArithmeticCompositeEffect SetCoefficient1 2 _TODO_A
Graphics.DirectComposition IDCompositionArithmeticCompositeEffect SetCoefficient1 3 _TODO_B
Graphics.DirectComposition IDCompositionArithmeticCompositeEffect SetCoefficient2 4 _TODO_A
Graphics.DirectComposition IDCompositionArithmeticCompositeEffect SetCoefficient2 5 _TODO_B
Graphics.DirectComposition IDCompositionArithmeticCompositeEffect SetCoefficient3 6 _TODO_A
Graphics.DirectComposition IDCompositionArithmeticCompositeEffect SetCoefficient3 7 _TODO_B
Graphics.DirectComposition IDCompositionArithmeticCompositeEffect SetCoefficient4 8 _TODO_A
Graphics.DirectComposition IDCompositionArithmeticCompositeEffect SetCoefficient4 9 _TODO_B
Graphics.DirectComposition IDCompositionAffineTransform2DEffect SetTransformMatrixElement 3 _TODO_A
Graphics.DirectComposition IDCompositionAffineTransform2DEffect SetTransformMatrixElement 4 _TODO_B
Graphics.DirectComposition IDCompositionAffineTransform2DEffect SetSharpness 5 _TODO_A
Graphics.DirectComposition IDCompositionAffineTransform2DEffect SetSharpness 6 _TODO_B
Graphics.DirectWrite IDWriteFactory3 CreateFontFaceReference 2 _TODO_A
Graphics.DirectWrite IDWriteFactory3 CreateFontFaceReference 3 _TODO_B
Graphics.DirectWrite IDWriteFontSet GetPropertyValues 4 _TODO_A
Graphics.DirectWrite IDWriteFontSet GetPropertyValues 5 _TODO_B
Graphics.DirectWrite IDWriteFontSet GetPropertyValues 6 _TODO_C
Graphics.DirectWrite IDWriteFontSet GetMatchingFonts 8 _TODO_A
Graphics.DirectWrite IDWriteFontSet GetMatchingFonts 9 _TODO_B
Graphics.DirectWrite IDWriteFontSetBuilder AddFontFaceReference 0 _TODO_A
Graphics.DirectWrite IDWriteFontSetBuilder AddFontFaceReference 1 _TODO_B
Graphics.DirectWrite IDWriteGdiInterop1 GetFontSignature 1 _TODO_A
Graphics.DirectWrite IDWriteGdiInterop1 GetFontSignature 2 _TODO_B
Graphics.DirectWrite IDWriteFontFace4 GetGlyphImageFormats 0 _TODO_A
Graphics.DirectWrite IDWriteFontFace4 GetGlyphImageFormats 1 _TODO_B
Graphics.DirectWrite IDWriteFactory4 ComputeGlyphOrigins 1 _TODO_A
Graphics.DirectWrite IDWriteFactory4 ComputeGlyphOrigins 2 _TODO_B
Graphics.DirectWrite IDWriteFontSet1 GetFilteredFonts 2 _TODO_A
Graphics.DirectWrite IDWriteFontSet1 GetFilteredFonts 3 _TODO_B
Graphics.DirectWrite IDWriteFontSet1 GetFilteredFonts 4 _TODO_C
Graphics.DirectWrite IDWriteFontSet1 GetFilteredFontIndices 5 _TODO_A
Graphics.DirectWrite IDWriteFontSet1 GetFilteredFontIndices 6 _TODO_C
Graphics.DirectWrite IDWriteFontSet1 GetFontAxisRanges 7 _TODO_A
Graphics.DirectWrite IDWriteFontSet1 GetFontAxisRanges 8 _TODO_B
38 changes: 34 additions & 4 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@ comptime {
pub fn build(b: *Build) !void {
patchstep.init(b.allocator);

const default_steps = "install diff unittest";
const default_steps = "install diff test";
b.default_step = b.step(
"default",
"The default step, equivalent to: " ++ default_steps,
);
const test_step = b.step("test", "Run all the tests (except the examples)");
const unittest_step = b.step("unittest", "Unit test the generated bindings");
test_step.dependOn(unittest_step);
const desc_line_prefix = [_]u8{ ' ' } ** 31;
const diff_step = b.step("diff", (
"Updates 'diffrepo' then installs the latest generated\n" ++ desc_line_prefix ++
Expand All @@ -31,7 +33,7 @@ pub fn build(b: *Build) !void {

{
const release_step = b.step("release", "Generate the bindings and run tests for a release");
release_step.dependOn(unittest_step);
release_step.dependOn(test_step);
release_step.dependOn(b.getInstallStep());
}

Expand Down Expand Up @@ -76,6 +78,7 @@ pub fn build(b: *Build) !void {
run.addFileArg(b.path("unionpointers.json"));
run.addDirectoryArg(win32json_dep.path(""));
run.addFileArg(pass1_out_file);
run.addFileArg(b.path("ComOverloads.txt"));
const out_dir = run.addOutputDirectoryArg(".");
gen_step.dependOn(&run.step);
break :blk out_dir;
Expand Down Expand Up @@ -117,12 +120,13 @@ pub fn build(b: *Build) !void {
}

{
const test_step = b.addTest(.{
const unittest = b.addTest(.{
.root_source_file = gen_out_dir.path(b, "win32.zig"),
.target = b.host,
.optimize = optimize,
});
unittest_step.dependOn(&test_step.step);
unittest.pie = true;
unittest_step.dependOn(&unittest.step);
}

const win32 = b.createModule(.{
Expand All @@ -143,6 +147,31 @@ pub fn build(b: *Build) !void {
try addExample(b, arches, optimize, win32, "d2dcircle", .Windows, examples_step);
try addExample(b, arches, optimize, win32, "opendialog", .Windows, examples_step);
try addExample(b, arches, optimize, win32, "unionpointers", .Windows, examples_step);

{
const exe = b.addExecutable(.{
.name = "comoverload",
.root_source_file = b.path("test/comoverload.zig"),
.target = b.host,
});
exe.root_module.addImport("win32", win32);
const run = b.addRunArtifact(exe);
b.step("comoverload", "").dependOn(&run.step);
test_step.dependOn(&run.step);
}
{
const compile = b.addSystemCommand(&.{
b.graph.zig_exe,
"build-exe",
"--dep", "win32",
});
compile.addPrefixedFileArg("-Mroot=", b.path("test/badcomoverload.zig"));
compile.addPrefixedFileArg("-Mwin32=", gen_out_dir.path(b, "win32.zig"));
compile.addCheck(.{ .expect_stderr_match =
"COM method 'GetAttributeValue' must be called using one of the following overload names: GetAttributeValueString, GetAttributeValueObj, GetAttributeValuePod"
});
test_step.dependOn(&compile.step);
}
}

const PrintLazyPath = struct {
Expand Down Expand Up @@ -216,6 +245,7 @@ fn addExample(
exe.subsystem = subsystem;
exe.root_module.addImport("win32", win32);
examples_step.dependOn(&exe.step);
exe.pie = true;

const desc_suffix: []const u8 = if (cross_arch_opt) |_| "" else " for the native target";
const build_desc = b.fmt("Build {s}{s}", .{name, desc_suffix});
Expand Down
Loading

0 comments on commit 7f1ed24

Please sign in to comment.