xamarin-macios/runtime
Rolf Bjarne Kvinge 38bae20618
Fix min macOS version confusion. (#5080)
* MIN_OSX_SDK_VERSION: the minimum macOS version we support for running macOS apps.
* MIN_OSX_VERSION_FOR_MAC: the minimum macOS version we support for running XM/XI themselves.

Change our build to make sure the above is respected, and in particular:

* The mac32 and mac64 builds must use MIN_OSX_SDK_VERSION.
* The runtime/ build must use MIN_OSX_SDK_VERSION.
* The tools64 build should use MIN_OSX_VERSION_FOR_MAC.

Also document a bit better the various version variables.
2018-11-05 14:46:41 +01:00
..
xamarin Add a UserType flag for registered types, and use it to improve the performance for is_user_type. (#5017) 2018-10-22 07:57:16 +02:00
.gitignore [runtime] Generate a header with the function declarations to call into managed code. (#3224) 2018-01-15 15:08:59 +01:00
COOP.md Initial review pass for COOP for watchOS. 2016-05-26 17:47:10 +02:00
Delegates.cs.t4 [runtime] Mark managed callback functions if they're only used in the dynamic registrar. 2018-02-15 10:18:32 +01:00
EXCEPTIONS.md [runtime] Improve documentation about exceptions a little bit. 2016-06-08 20:11:07 +02:00
Makefile Fix min macOS version confusion. (#5080) 2018-11-05 14:46:41 +01:00
README.md Initial review pass for COOP for watchOS. 2016-05-26 17:47:10 +02:00
Xamarin.framework-ios.Info.plist Create a Xamarin[-debug].framework. 2017-02-10 14:29:09 +01:00
Xamarin.framework-tvos.Info.plist Create a Xamarin[-debug].framework. 2017-02-10 14:29:09 +01:00
Xamarin.framework-watchos.Info.plist Create a Xamarin[-debug].framework. 2017-02-10 14:29:09 +01:00
bindings-generator.cs [arkit] Update to Xcode 10 beta 1 (ARKit 2.0) (#4209) 2018-06-14 13:44:45 -04:00
bindings-generator.csproj Merge xcode9 into d15-4[-xi] (#2710) 2017-09-15 17:53:16 -04:00
bindings.h Merge xcode9 into d15-4[-xi] (#2710) 2017-09-15 17:53:16 -04:00
bindings.m Merge xcode9 into d15-4[-xi] (#2710) 2017-09-15 17:53:16 -04:00
delegates.h.t4 [runtime] Mark managed callback functions if they're only used in the dynamic registrar. 2018-02-15 10:18:32 +01:00
delegates.inc.t4 [runtime] Throw a managed exception instead of trying to call a null function pointer if the runtime tries to call a function that has been linked away. (#4770) 2018-09-10 10:56:02 +02:00
delegates.t4 Add support for delegates as return values in protocol members. Fixes #4102. (#4758) 2018-09-06 16:20:23 +02:00
exports.t4 Bump to mono:2018-06 (#4277) 2018-10-10 11:02:28 -04:00
extension-main.m [mtouch/runtime] Implement support for tvOS extensions. 2016-04-25 18:15:02 -04:00
frameworks.h [registrar] Add support for the BindAs attribute. 2017-07-04 07:35:29 +02:00
launcher.h Build our runtime. 2016-04-24 14:47:24 -04:00
launcher.m Store the minimum mono version for Xamarin.Mac in one place only (Make.config) and bump it to 5.14. Fixes #4120. (#4695) 2018-08-29 14:28:56 +02:00
libmonotouch.csproj Fix solutions & projects as VSfM wants them. (#2821) 2017-10-02 11:57:50 +02:00
libxammac.csproj [Mac] Add support for os x extensions (#83) 2016-05-25 17:20:33 -04:00
main-internal.h [Mac] Add support for os x extensions (#83) 2016-05-25 17:20:33 -04:00
mono-runtime.h.t4 [runtime] add support for mono runtime interpreter (#3058) 2018-05-04 23:59:31 +02:00
mono-runtime.m.t4 [runtime] Use public mono API to set the pending exception. Fixes #4271. (#4272) 2018-06-15 23:45:02 +02:00
monotouch-debug.h [runtime] Only enable debugging on watchOS devices if a native debugger is also attached. 2016-09-05 10:05:00 +02:00
monotouch-debug.m [runtime] Improve diagnostics/behavior in case of failure to contact the IDE when debugging. (#5029) 2018-10-24 07:52:58 +02:00
monotouch-main.m Bump to mono:2018-06 (#4277) 2018-10-10 11:02:28 -04:00
monotouch-support.h [runtime] Add dummy _stret symbols for iOS/ARM64 (#66) 2016-05-18 16:51:45 -04:00
nsstring-localization.m Build our runtime. 2016-04-24 14:47:24 -04:00
product.h Build our runtime. 2016-04-24 14:47:24 -04:00
runtime-generated.h.t4 [runtime] Mark managed callback functions if they're only used in the dynamic registrar. 2018-02-15 10:18:32 +01:00
runtime-internal.h [registrar] Add support for the BindAs attribute. 2017-07-04 07:35:29 +02:00
runtime.m Add a UserType flag for registered types, and use it to improve the performance for is_user_type. (#5017) 2018-10-22 07:57:16 +02:00
shared.h Share the same block descriptors between copies of a block. Fixes #43592. (#683) 2016-08-26 19:22:38 +02:00
shared.m [runtime] Work around static analyzer warning about incorrect refcount decrement. (#1718) 2017-02-20 19:30:23 +01:00
slinked-list.h Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-i386-asm.s [runtime] Make the existing trampolines exception-aware. 2016-05-17 11:20:26 +02:00
trampolines-i386-objc_msgSend-copyframe.inc [runtime] Don't store xmm registers where we store other registers. 2016-05-17 11:24:02 +02:00
trampolines-i386-objc_msgSend-post.inc [runtime] Make sure the stack is correctly aligned to 16 bytes. 2016-05-17 11:24:03 +02:00
trampolines-i386-objc_msgSend-pre.inc [runtime] Make sure the stack is correctly aligned to 16 bytes. 2016-05-17 11:24:03 +02:00
trampolines-i386-objc_msgSend.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-i386-objc_msgSendSuper.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-i386-objc_msgSendSuper_stret.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-i386-objc_msgSend_stret.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-i386.h Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-i386.m [registrar] Add support for the BindAs attribute. 2017-07-04 07:35:29 +02:00
trampolines-internal.h [registrar] Add support for the BindAs attribute. 2017-07-04 07:35:29 +02:00
trampolines-invoke.m [registrar] Improve error message when failing to create a managed wrapper for a native handle. (#4360) 2018-06-29 14:38:28 +02:00
trampolines-varargs.h Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-varargs.m [registrar] Add support for the BindAs attribute. 2017-07-04 07:35:29 +02:00
trampolines-x86_64-asm.s [runtime] Make the existing trampolines exception-aware. 2016-05-17 11:20:26 +02:00
trampolines-x86_64-objc_msgSend-copyframe.inc Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSend-post.inc Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSend-pre.inc Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSend.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSendSuper.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSendSuper_stret.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSend_stret.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64.h Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-x86_64.m Merge remote-tracking branch 'origin/master' into bindas-registrar-support 2017-09-22 10:50:07 +02:00
trampolines.m Remove references to bugzilla and replace with github (#4920) 2018-10-04 09:43:55 -04:00
xamarin-support.m [runtime] Only write to NSLog in chunks of max 4096 characters. Fixes maccore#1014. (#4897) 2018-10-04 17:18:09 +02:00

README.md

Native runtime

This directory contains the native runtime for Xamarin.iOS and Xamarin.Mac.

Cooperative GC

See COOP.md

Generated code

A few files are generated automatically:

delegates.h|inc, Delegates.cs

These files contain the code required to glue the native runtime and the managed runtime.

mono-runtime.m, xamarin/mono-runtime.h

These files contain code that makes other code, consumers of the mono runtime, oblivious to whether the mono runtime is linked statically, dynamically, or using dlopen at runtime.

If you need to use a new function from the Mono headers, add it to exports.t4.

If you need a new enum / constant / typedef / etc, add it to mono-runtime.h.t4.

Shipped headers

These are the headers shipped with XI/XM (they're not for public consumption, but we need them to build generated code on customers machine, in particular main.m and registrar.m)

xamarin/runtime.h xamarin/trampolines.h xamarin/main.h xamarin/xamarin.h