[MonoAPI] Split type and function headers, add MONO_API_FUNCTION macro (#65446)
authorAleksey Kliger (λgeek) <alklig@microsoft.com>
Thu, 24 Feb 2022 03:52:46 +0000 (22:52 -0500)
committerGitHub <noreply@github.com>
Thu, 24 Feb 2022 03:52:46 +0000 (22:52 -0500)
commit858221cc3326c55d8df5966ea4bad6336b21dc87
tree3692634ee41f108ba7065dabcca2fc6feed2356a
parent3f99a860ed6130d5cceddf730f8185afa1db7a8b
[MonoAPI] Split type and function headers, add MONO_API_FUNCTION macro (#65446)

* [monoapi] Split type and function headers, add MONO_API_FUNCTION macro

The idea is that the function header can be included multiple times with different definitions of MONO_API_FUNCTION in order to make it easier to re-used the definitions for embedding the runtime in late-binding scenarios

* rename public mono/mini subdirectory to mono/jit

  To match how embedders see the tree.

  Update the runtime to include <mono/jit/jit.h> instead of <mono/mini/jit.h>.

  No change in public API

* Add needed includes to mobile testing host templates

* add unstable API comment to the details headers, too

* use install(FILES) to copy the headers

  not other stray files to the include dir

* update CODEOWNERS

* Remove duplicate definitions of mono_event_get_remove_method

  This was already duplicated before the header reorganization, e.g. here https://github.com/dotnet/runtime/blob/b9a55b4f52243325359ced26e3d4b31ccacdc381/src/native/public/mono/metadata/class.h#L279-L282
103 files changed:
.github/CODEOWNERS
src/mono/mono/eventpipe/test/ep-setup-tests.c
src/mono/mono/eventpipe/test/ep-teardown-tests.c
src/mono/mono/metadata/domain-internals.h
src/mono/mono/metadata/jit-info.h
src/mono/mono/mini/aot-runtime-wasm.c
src/mono/mono/mini/aot-runtime.c
src/mono/mono/mini/debug-mini.c
src/mono/mono/mini/driver.c
src/mono/mono/mini/method-to-ir.c
src/mono/mono/mini/mini.h
src/mono/mono/mini/monovm.h
src/mono/mono/profiler/aot.c
src/mono/mono/profiler/coverage.c
src/mono/mono/profiler/log.c
src/mono/mono/unit-tests/test-embed-invoke.c
src/mono/mono/unit-tests/test-mono-callspec.c
src/mono/mono/unit-tests/test-mono-embed.c
src/mono/mono/unit-tests/test-mono-string.c
src/mono/wasi/mono-wasi-driver/driver.c
src/mono/wasm/runtime/corebindings.c
src/mono/wasm/runtime/driver.c
src/native/public/mono/jit/details/jit-functions.h [new file with mode: 0644]
src/native/public/mono/jit/details/jit-types.h [new file with mode: 0644]
src/native/public/mono/jit/details/mono-private-unstable-functions.h [new file with mode: 0644]
src/native/public/mono/jit/details/mono-private-unstable-types.h [moved from src/native/public/mono/mini/mono-private-unstable.h with 60% similarity]
src/native/public/mono/jit/jit.h [new file with mode: 0644]
src/native/public/mono/jit/mono-private-unstable.h [new file with mode: 0644]
src/native/public/mono/metadata/appdomain.h
src/native/public/mono/metadata/assembly.h
src/native/public/mono/metadata/class.h
src/native/public/mono/metadata/debug-helpers.h
src/native/public/mono/metadata/details/appdomain-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/appdomain-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/assembly-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/assembly-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/class-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/class-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/debug-helpers-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/debug-helpers-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/environment-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/exception-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/exception-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/image-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/image-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/loader-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/loader-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/metadata-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/metadata-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/mono-config-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/mono-config-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/mono-debug-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/mono-debug-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/mono-gc-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/mono-gc-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/mono-private-unstable-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/mono-private-unstable-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/object-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/object-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/opcodes-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/opcodes-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/profiler-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/profiler-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/reflection-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/reflection-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/sgen-bridge-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/sgen-bridge-types.h [new file with mode: 0644]
src/native/public/mono/metadata/details/threads-functions.h [new file with mode: 0644]
src/native/public/mono/metadata/details/threads-types.h [new file with mode: 0644]
src/native/public/mono/metadata/environment.h
src/native/public/mono/metadata/exception.h
src/native/public/mono/metadata/image.h
src/native/public/mono/metadata/loader.h
src/native/public/mono/metadata/metadata.h
src/native/public/mono/metadata/mono-config.h
src/native/public/mono/metadata/mono-debug.h
src/native/public/mono/metadata/mono-gc.h
src/native/public/mono/metadata/mono-private-unstable.h
src/native/public/mono/metadata/object-forward.h
src/native/public/mono/metadata/object.h
src/native/public/mono/metadata/opcodes.h
src/native/public/mono/metadata/profiler.h
src/native/public/mono/metadata/reflection.h
src/native/public/mono/metadata/sgen-bridge.h
src/native/public/mono/metadata/threads.h
src/native/public/mono/mini/jit.h [deleted file]
src/native/public/mono/utils/details/mono-counters-functions.h [new file with mode: 0644]
src/native/public/mono/utils/details/mono-counters-types.h [new file with mode: 0644]
src/native/public/mono/utils/details/mono-dl-fallback-functions.h [new file with mode: 0644]
src/native/public/mono/utils/details/mono-dl-fallback-types.h [new file with mode: 0644]
src/native/public/mono/utils/details/mono-error-functions.h [new file with mode: 0644]
src/native/public/mono/utils/details/mono-error-types.h [new file with mode: 0644]
src/native/public/mono/utils/details/mono-logger-functions.h [new file with mode: 0644]
src/native/public/mono/utils/details/mono-logger-types.h [new file with mode: 0644]
src/native/public/mono/utils/details/mono-publib-functions.h [new file with mode: 0644]
src/native/public/mono/utils/details/mono-publib-types.h [new file with mode: 0644]
src/native/public/mono/utils/mono-counters.h
src/native/public/mono/utils/mono-dl-fallback.h
src/native/public/mono/utils/mono-error.h
src/native/public/mono/utils/mono-logger.h
src/native/public/mono/utils/mono-publib.h
src/native/public/monoapi.cmake
src/tasks/AppleAppBuilder/Templates/runtime.m