Skip to content

[Bug] StandaloneCrt.cmake limits ability to enable microTVM build on other platforms #13533

@alanmacd

Description

@alanmacd

Expected behavior

When enabling the USE_MICRO build flag, builds complete successfully on various platforms.

Actual behavior

Enabling USE_MICRO build flag can be problematic on various platforms, including Windows (worked-around for now), MacOS, and other cross-compilation environments.

Details

StandaloneCrt.make builds a number of libraries when USE_MICRO is enabled. The object files and libraries are written to the host_standalone_crt directory in the TVM build directory. Only one of those libraries, libmicrotvm_rpc_common, is linked into the TVM runtime library. The other libraries in host standalone_ crt are built only to assure they are still buildable.

Additionally, StandaloneCrt.make copies a number of source files to the standalone_ crt in the build directory for use later by the microTVM Project API server as well as for building the libraries mentioned above.

The issue is that the both the makefile used to build those libraries as well as the commands to link in libmicrotvm_rpc_common to TVM in StandaloneCrt.cmake are tailored to only support GCC (or clang) and can cause issues on other platforms or in cross-compilation environments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugvert:microMicroTVM: src/runtime/micro, src/runtime/crt, apps/microtvm

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions