Skip to content

Consolidate Android cross-build setup for mono and coreclr #56622

Open
@am11

Description

@am11

The cross-build in :/eng/ requires user to pass -cross argument to :/build.sh and set ROOTFS_DIR environment variable.

During the native build, it relies on setup done by the scripts under :/eng/common/cross. We have multiple examples in our platform matrix ({os}-{arch}) which make use of this infrastructure.

Android, however, is at the odds. For coreclr, it uses setup from :/eng/common/cross/build-android-rootfs.sh and :/eng/common/cross/toolchain.cmake, but for mono it uses a different setup. The impact is that:

The cross-build in :/eng/ requires user to pass -cross argument to :/build.sh and set ROOTFS_DIR environment variable.

does not hold for "Android on mono", due to which it requires us to add a few exceptions in the build infra and need us to remember about this exceptional case. Another down side is that the coreclr Android setup gets stale every now and then because no CI leg is exercising it.

I am opening this issue to discuss what can be done to consolidate Android build on mono and coreclr without losing any flexibility and still adapt to -cross / CrossBuild infrastructure.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions