Skip to content

Should we stop hardcoding -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE in runtime? #2408

@omajid

Description

@omajid

Back in 5.0 timeframe, we had set up the build system so a user building source-build could do something like this:

./build.sh /p:UseSystemLibunwind=true

To force building runtime against the system libunwind. We could also trigger runtime to fallback to its own detection/building by setting this to false explicitly. This worked mostly well because we could pick what we wanted to do at build time and use that configuration explicitly. This approach accommodated system that had a libunwind as well as when it didn't.

With ArPow, we are forcing the system libunwind unconditionally

<InnerBuildArgs>$(InnerBuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</InnerBuildArgs>

This breaks the cases where libunwind isn't available (eg, RHEL 8) or doesn't work right for .NET (eg, Fedora 34 arm64).

Is there some way to configure ArPow so we can control this using a build-time flag? If not, can we just delete this hardcoded value and let runtime fall back to its own detection?

cc @uweigand

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-buildImprovements in source-build's own build process

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions