Skip to content

[BUG] libSkiaSharp.dll gets build with /DEBUG:FULL without reenabling linker opts #3240

@MichalPetryka

Description

@MichalPetryka

Description

The Windows Cake build script passes /DEBUG:FULL in all configuration in the linker args which disables linker optimizations like removal of unused code or identical code folding as per:

/DEBUG changes the defaults for the /OPT option from REF to NOREF and from ICF to NOICF, so if you want the original defaults, you must explicitly specify /OPT:REF or /OPT:ICF after the /DEBUG option.

I believe the script should reenable those to reduce release build sizes.

Code

$"extra_ldflags=[ '/DEBUG:FULL', '/DEBUGTYPE:CV,FIXUP' ] " +

Expected Behavior

/OPT:REF and /OPT:ICF get passed to the linker on build.

Actual Behavior

Only /DEBUG:FULL seems to be passed.

Version of SkiaSharp

3.118.0-preview.2 (Next Preview)

Last Known Good Version of SkiaSharp

Other (Please indicate in the description)

IDE / Editor

Other (Please indicate in the description)

Platform / Operating System

Windows

Platform / Operating System Version

No response

Devices

No response

Relevant Screenshots

No response

Relevant Log Output

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions