Граф коммитов

536 Коммитов

Автор SHA1 Сообщение Дата
Chris Hamons c67bd9096c [XM] Add partial static registrar support (#1191) 2016-12-01 10:18:30 -06:00
Chris Hamons 441ae8c4ec Merge pull request #1178 from xamarin/xm_fix_touchbar_mess
Re-add touchbar APIs to master, this time with the correct StaticRegistar fix...
2016-11-14 10:59:51 -06:00
Rolf Bjarne Kvinge 9979cb1b82 [mtouch] Don't copy mdb files if they haven't changed. (#1182)
This fixes an mtouch test:

```
1) Failed : Xamarin.MTouch.RebuildTest("debug","-sdkroot {2} -v -v -v -v --dev {0} -sdk {3} --targetver 6.0 {1} -r:{4} --cache={5}/cache --debug")
  debug-rebuilt
/var/folders/9t/bhhqghxd4131b5k43v0yk7yc0000gn/T/tmp3fef2cc4.tmp/testApp.app/.monotouch-32/System.dll.mdb is modified, timestamp: 11/12/2016 1:17:59 AM
/var/folders/9t/bhhqghxd4131b5k43v0yk7yc0000gn/T/tmp3fef2cc4.tmp/testApp.app/.monotouch-32/Xamarin.iOS.dll.mdb is modified, timestamp: 11/12/2016 1:17:59 AM
/var/folders/9t/bhhqghxd4131b5k43v0yk7yc0000gn/T/tmp3fef2cc4.tmp/testApp.app/.monotouch-32/mscorlib.dll.mdb is modified, timestamp: 11/12/2016 1:17:59 AM
```
2016-11-14 14:50:08 +01:00
Chris Hamons cc9a99f996 [XM] 10.12.1 APIs are in Xcode 8.1 not 8.2 2016-11-11 14:02:55 -06:00
Chris Hamons 6422000c27 [XM] Fix static registrar under Xcode 8.2 with another hack (#1164)
- Generalized the hack a bit. If we continue to need them
we can make it more data driven
2016-11-11 13:19:26 -06:00
Rolf Bjarne Kvinge 7728c4cd19 [registrar] Use metadata tokens instead of strings to find types and methods. (#1085)
Use metadata tokens instead of strings to find types and methods.

This makes the code to find methods more compact (a lot less strings in the
executable, and additionally in most cases a compact representation (32-bit
integer) of the corresponding metadata token and additional information can be
used, which results in less executable code (fewer parameters to methods,
etc)), resulting in smaller executables.

Size savings are around 200kb for dont link apps, and 20-60kb for linked apps
(this obviously varies a lot depending on how much has to registered by the
registrar).

|                |    Before     |     After     |       Diff        |
|----------------|--------------:|--------------:|------------------:|
| dontlink/32bit |  102.810.144  |  102.609.456  | -200.688 = -0,20% |
| dontlink/64bit |  107.420.576  |  107.221.792  | -198.784 = -0,19% |
| linksdk/32bit  |   40.957.296  |   40.936.864  |  -20.432 = -0,05% |
| linksdk/64bit  |   43.113.136  |   43.093.936  |  -19.200 = -0,04% |
| linkall/32bit  |   38.410.032  |   38.348.288  |  -61.744 = -0,16% |
| linkall/64bit  |   40.315.200  |   40.267.344  |  -47.856 = -0,12% |

Additionally I've removed the `lazy_map` dictionary, which we populated at
startup and was used to map between Class instances and the corresponding
managed type's FullName, and instead iterate over a native array of Class ->
metadata token mappings whenever we need to look up the managed type for a
certain Class instance.

This is slightly slower for each type we need to look up (for a non-linked app
there might be a 2000-3000 entries in the native array, which would be
iterated instead of using a hashtable lookup), but it's only done once per
type and there's a significant startup memory improvement.

For a non-linked test app I get the following using the Xamarin profiler:

|                   |  Before |  After  |       Diff      |
|-------------------|--------:|--------:|----------------:|
| Memory allocated  |  2,8 MB |  2,4 MB | -0,4 MB = -14 % |
| Objects allocated |   43678 |   38463 |   -5215 = -12 % |
| Private bytes     | 26,6 MB | 24,4 MB | -2,2 MB = -8,3% |
| Working set       | 26,6 MB | 24,4 MB | -2,2 MB = -8,3% |
2016-11-01 14:34:56 -04:00
Sebastien Pouliot 7b38187479 [mtouch][mmp] Unify user resources removal as a link step (#1026)
Right now the logic exists in a few places, both in and outside the
linker. We recently began to use part of the linker pipeline in normal /
all builds so it's easier to share (and unify) the code now.

The real gain is to avoid copying assemblies, in particular large ones,
more than strictly needed while building.

E.g. a build including a very large 1.3GB assembly, with several
native libraries embedded, save a lot of time avoiding the rewrites

mtouch (before)
		Total time: 64202 ms

mtouch (after)
		Total time: 34840 ms

* Add XM support for RemoveUserResourcesSubStep

* Tests supplied by @chamons
2016-11-01 13:11:25 -04:00
Sebastien Pouliot 4bb5c6d255 [mtouch] Remove incorrect comment and extraneous call to LoadSymbols (#1013)
* Comment is wrong: the code is never executed in parallel

* If reached then RemoveResources will be called and already check for
  symbols (and load them when needed). Just a simplification (it won't
  really save time as it's not loaded twice)
2016-11-01 09:09:27 -04:00
Sebastien Pouliot f015a954ec [mtouch] Add missing HasParameters check inside linker and static registrar (#1010)
* [mtouch] Add missing HasParameters check inside linker and static registrar

Without the checks new, empty collections can be allocated and their
whole and only purpose will be to iterate up to 0 (nop).

The checks saves a small amount of memory (collections) and time.

* [registrar] Fix method comparison when they have no parameters
2016-10-31 22:31:07 -04:00
Rolf Bjarne Kvinge 1c81c8a5a8 [mtouch] Improve logging a bit. (#1071)
* Show log statements from assembly comparison.
2016-10-31 16:53:02 -04:00
Rolf Bjarne Kvinge 0c43ddc615 Disable managed exception marshaling when the debugger is attached. Fixes #45116. (#1055)
Managed exception marshaling interferes with the debugger, because it adds
exception handlers to executing code, which makes the Mono runtime think an
exception is handled when logically it's not (although technically it is).

The consequence is that the IDEs will only be notified when we re-throw the
exception after catching it, making it impossible for the IDEs to stop when
the exception is thrown (they will instead stop when we re-throw the
exception).

So disable managed exception marshaling (unless the user changed the default
behavior) when a debugger is attached.

This is the same behavior as Xamarin.Android.

https://bugzilla.xamarin.com/show_bug.cgi?id=45116
2016-10-28 19:07:01 +02:00
Rolf Bjarne Kvinge 4371ea4540 [static registrar] Fix registration of generic types. Fixes #44926. (#1063)
https://bugzilla.xamarin.com/show_bug.cgi?id=44926
2016-10-28 18:42:45 +02:00
Rolf Bjarne Kvinge dde242c32a Allow using LinkWith attribute without a native library. (#997)
This makes it possible to set linker flags per assembly:

    [assembly: LinkWith (LinkerFlags = "-lsqlite3")]

Which is required when incremental builds is enabled and a particular assembly
needs special linker flags (because we don't propagate the global -gcc_flags
to each dylib we build when doing incremental builds).

Also add an option to set the dlsym mode for an assembly (using the LinkWith
attribute).
2016-10-28 10:50:42 -04:00
Rolf Bjarne Kvinge 6104a514fc [registrar] Cache the System.Void type. (#1024)
Duration before: 1,60s
Duration after:  1,54s
Difference:     -0,06s = -3,8%

Memory usage hardly changed (-21 kb of 540 MB), but the number of method calls
shrunk significantly.

Method calls before: 86.720.379
Method calls after:  74.390.061
Difference:         -12.330.318 = -14,2%

The call to `GetSystemVoidType` was #2 on the list of method calls (whens
sorted by 'self'), called 1072 times taking 1429 ms each time. After this
change it's only called once (and obviously pushed way down the list).
2016-10-28 09:52:58 -04:00
Rolf Bjarne Kvinge a1644f6e13 [registrar] Improve an error message. (#1047) 2016-10-28 08:38:38 -04:00
Rolf Bjarne Kvinge 23a0186a99 [registrar] Fix compiler warning. (#1054) 2016-10-28 08:33:18 -04:00
Rolf Bjarne Kvinge 89eb5dd430 [registrar] Mark our generated code as 'extern C'. (#1049)
This makes the function names smaller, saving a tiny bit of space (about 700
bytes for the dont link test app).

It also looks nicer in crash reports.
2016-10-27 16:12:16 -04:00
Rolf Bjarne Kvinge 0dd27141d6 [mtouch/mmp] Fix check if an assembly is a framework assembly. Fixes #36109. (#1000)
Fix check if an assembly is a framework assembly to take into account symlinks.

https://bugzilla.xamarin.com/show_bug.cgi?id=36109
2016-10-14 14:14:27 -04:00
Rolf Bjarne Kvinge cf0be91860 [mtouch] CoreAudioKit didn't exist in the simulator until iOS 9. Fixes #44996. (#998)
https://bugzilla.xamarin.com/show_bug.cgi?id=44996
2016-10-14 18:56:08 +02:00
Rolf Bjarne Kvinge 2c950a84ea [mtouch] Treat P/Invokes to 'sqlite3' as equal to 'libsqlite3'. Fixes #42372. (#996)
https://bugzilla.xamarin.com/show_bug.cgi?id=42372
2016-10-14 12:34:51 +02:00
Rolf Bjarne Kvinge c533db66bf [mtouch] Always use ordinal string comparisons. (#995) 2016-10-14 12:34:35 +02:00
Rolf Bjarne Kvinge 2f60dd2220 [mtouch] Fix NullReferenceException in PInvoke wrapper generation. Fixes #44763. (#956)
Fix NullReferenceException in PInvoke wrapper generation when incremental
builds are enabled and the linker didn't run because cached results were
found.

https://bugzilla.xamarin.com/show_bug.cgi?id=44763
2016-10-06 16:13:01 +02:00
Rolf Bjarne Kvinge 7e1d9820b3 [mtouch] Bundle libpinvokes.dylib in the app. (#954)
Building a dylib is somewhat useless unless it ends up in the app bundle.
2016-10-06 14:16:55 +02:00
Rolf Bjarne Kvinge 1fdd17e611 [mtouch] Add (another) workaround for file descriptor leak in System.Diagnostics.Process. (#934) 2016-10-03 20:02:28 +02:00
Rolf Bjarne Kvinge 0863e412b4 Remove XI/Classic support (#926)
* [tests] Remove Classic SDK tests.

* Remove XI/Classic support.

This also means we can remove support for the legacy registrars.

* [monotouch-test] Remove legacy registrar tests.

* [tests/mtouch] Remove Classic tests (and legacy registrar logic).

* [tests/scripted] Fix tests to reference Xamarin.iOS.dll.
2016-09-30 15:02:17 -04:00
Rolf Bjarne Kvinge 86e1e0e882 [mtouch] Show more information about LinkWith attributes. (#895)
* [mtouch] Fix source analysis warning about culture-aware string comparison.

* [mtouch] Show more information about LinkWith attributes.
2016-09-26 16:23:28 +02:00
Sebastien Pouliot 38148c718a Merge branch 'xcode8' 2016-09-09 15:29:37 -04:00
Rolf Bjarne Kvinge 7a34f5e9bf [mtouch] Fix incremental builds when generating P/Invoke wrappers. Fixes #44048. (#788)
We need to compile the generated P/Invoke wrappers to a dylib, and link the
dylib for the product assembly (Xamarin.WatchOS.dll) with the generated
P/Invoke wrappers.

Since there might be P/Invokes in any assembly, just link in the P/Invoke
wrapper dylib for every assembly.

https://bugzilla.xamarin.com/show_bug.cgi?id=44048
2016-09-07 17:22:34 +02:00
Rolf Bjarne Kvinge 2eb6ba12c7 [mtouch/mmp] Fix build after breaking cecil update in mono.
Also use mono's cecil instead of our own cecil submodule for mtouch.
2016-09-01 18:28:35 +02:00
Sebastien Pouliot 7149661251 [mtouch|mmp] Add missing frameworks with platform versions (#703)
note: AVFoundation is commented on watchOS 3 as this breaks the static
registrar .a helper built for watchOS.

AVFoundation does a file check to enable some types - but the watchSimulator
include that file, leading to compilation errors later (missing CMTime.h)

	#if TARGET_OS_WATCH
	#if ! __has_include(<AVFoundation/AVAnimation.h>)
	#define AVF_IS_WATCHOS_SDK 1
	#endif
	#endif
2016-08-29 19:22:34 -04:00
Rolf Bjarne Kvinge e291f1717d Revert "Bump [watch-]mono to master to get fix for #43658." (#665) 2016-08-25 14:44:53 +02:00
Rolf Bjarne Kvinge f6b1ccd748 Bump [watch-]mono to master to get fix for #43658. (#653)
* Bump [watch-]mono to master to get fix for #43658.

https://bugzilla.xamarin.com/show_bug.cgi?id=43658

* [mtouch/mmp] Fix build after breaking cecil update in mono.

Also use mono's cecil instead of our own cecil submodule for mtouch.

* Bump [watch-]mono to get compilation fixes after cecil bump in mono.

* Remove cecil submodule, we only use the one in mono now.
2016-08-25 13:10:14 +02:00
Rolf Bjarne Kvinge e0b1ac4f75 [mtouch/mmp] Fix debug spew to compile. (#654) 2016-08-24 14:26:56 -04:00
Sebastien Pouliot 7619702459 [registrar] Remove tvOS/simulator hack for ExternalAccessory (#619)
Apple now ships the required ExternalAccessory header files

references:
* commit 1190aac04c
  Author: Sebastien Pouliot <sebastien.pouliot@gmail.com>
  Date:   Sun Jul 24 10:44:19 2016 -0400
* rdar#27476259 https://trello.com/c/Okdw58IO
2016-08-16 20:49:22 -04:00
Sebastien Pouliot 89ffd0c7a8 [tvos][photos[ui]] Enable both Photos[UI] frameworks in mtouch for tvOS (#581) 2016-08-09 15:39:15 -04:00
Sebastien Pouliot ff77f85a4c Merge branch 'cycle8' into xcode8 2016-08-08 15:29:36 -04:00
Sebastien Pouliot 921b254adc [watchos][scenekit] Enable SceneKit on watchOS (#563)
* Enable some SceneKit-related WatchKit API
* Enable some SceneKit-related SpriteKit API
* Enable some SceneKit-related Foundation API
* Fix generator to include `using SceneKit;` on watchOS
* Adjust xtro tests since watchOS headers include some stuff that's not available in reality
* Lots of [Watch (3,0)] attributes
2016-08-06 10:59:16 -04:00
Rolf Bjarne Kvinge 44b30892e9 [registrar] Skip any assemblies with the DelayedRegistrationAttribute in the static registrar. (#557) 2016-08-05 18:43:22 +02:00
Chris Hamons 6f4be16d3a [XM] Fix static registrar.
Rip out all 64-bit registration in 32-bit XM.
2016-08-04 11:54:59 +02:00
Chris Hamons a3b31d154b [XM] Fix static registrar on 10.12 by teaching it that QTKit is dead (#472) 2016-08-04 11:54:59 +02:00
Rolf Bjarne Kvinge c66a44bc12 Teach the static registrar about the lack of ExternalAccessory headers in the tvOS simulator.
This is only applicable to tvOS 10 (i.e. the xcode8 branch),
but applying the patch already helps avoiding merge failures
for other fixes in the same area.
2016-08-04 11:54:58 +02:00
Chris Hamons 798aca0767 [XM] Fix static registrar.
Rip out all 64-bit registration in 32-bit XM.
2016-08-02 17:44:10 +02:00
Rolf Bjarne Kvinge e7a1675436 [registrar] Skip any assemblies with the DelayedRegistrationAttribute in the static registrar. (#507) 2016-07-29 11:33:18 +02:00
Manuel de la Pena c1d2b5c2dc [mtouch] Remove warning when building mtouch. (#491) 2016-07-27 10:58:23 +02:00
Chris Hamons 88d83532ef [XM] Fix static registrar on 10.12 by teaching it that QTKit is dead (#472) 2016-07-25 11:58:28 -05:00
Sebastien Pouliot cb38c14bf8 Merge branch 'cycle8' into xcode8 2016-07-25 08:28:26 -04:00
Sebastien Pouliot 1190aac04c [tvos][externalaccessory] Enable framework on platform (#470)
* Enable ExternalAccessory for tvOS and teach the static registrar about the lack of simulator headers.
2016-07-24 10:44:19 -04:00
Sebastien Pouliot 5a9d8240c2 [watchos][gamekit] Enable GameKit on watchOS (#452)
Apple does not (yet?) ship the headers for GameKit on the watch simulator (radar [1]). The static registrar was tweaked to skip this on the simulator.

[1] https://trello.com/c/Okdw58IO/51-27476259-gamekit-header-files-are-missing-for-watchsimulator
2016-07-22 13:35:59 -04:00
Rolf Bjarne Kvinge 7144ffc53d [registrar] Make sure we include the headers for NS[U]Integer / CGFloat to compile. Fixes #42673. (#464)
https://bugzilla.xamarin.com/show_bug.cgi?id=42673
2016-07-22 19:11:15 +02:00
Rolf Bjarne Kvinge 59aae5425f [registrar] Make sure we include the headers for NS[U]Integer / CGFloat to compile. Fixes #42673. (#465)
https://bugzilla.xamarin.com/show_bug.cgi?id=42673
2016-07-22 19:11:09 +02:00
Sebastien Pouliot 52ffb2b251 Merge branch 'cycle8' into xcode8 2016-07-18 14:34:12 -04:00
Alex Soto af8289880e [IntentsUI] Add IntentsUI framework from Xcode 8 b2 (#400) 2016-07-14 20:42:48 -04:00
Rolf Bjarne Kvinge 63811c85e5 [registrar] Use the correct parameters when generating category methods. Fixes #42489. (#385)
Category methods are exposed like extension methods, and the first parameter
specifies the class, which means we need to skip the first type when generating
the ObjC signature.

https://bugzilla.xamarin.com/show_bug.cgi?id=42489
2016-07-14 15:33:21 -04:00
Rolf Bjarne Kvinge 724308cb0d [registrar] Forward-declare ObjC classes. Fixes #42454. (#395)
There can be circular dependencies between Objective-C classes,
so make sure we don't fail compilation when that occurs by
forward declaring any Objective-C classes/protocols.

The test case in question does not contain a circular dependency,
but the same issue occurs due to types not being generated in the
correct order (a correct order could be constructed for the test
case, but there's no general solution since circular dependencies
can exist).

https://bugzilla.xamarin.com/show_bug.cgi?id=42454
2016-07-14 15:28:57 -04:00
Rolf Bjarne Kvinge ddfad1bc88 [registrar] Use the correct parameters when generating category methods. Fixes #42489. (#396)
Category methods are exposed like extension methods, and the first parameter
specifies the class, which means we need to skip the first type when generating
the ObjC signature.

https://bugzilla.xamarin.com/show_bug.cgi?id=42489
2016-07-14 18:42:30 +02:00
Alex Soto aef1775532 [Intents] Add Intents bindings from Xcode 8 b2 2016-07-14 04:02:12 -05:00
Sebastien Pouliot cf27c2e7a8 Merge branch 'cycle8' into xcode8 2016-07-13 16:43:00 -04:00
Rolf Bjarne Kvinge a7a0bb4f05 [registrar] Forward-declare ObjC classes. Fixes #42454. (#387)
There can be circular dependencies between Objective-C classes,
so make sure we don't fail compilation when that occurs by
forward declaring any Objective-C classes/protocols.

The test case in question does not contain a circular dependency,
but the same issue occurs due to types not being generated in the
correct order (a correct order could be constructed for the test
case, but there's no general solution since circular dependencies
can exist).

https://bugzilla.xamarin.com/show_bug.cgi?id=42454
2016-07-12 20:34:18 -04:00
Sebastien Pouliot b16a95b0d1 [tvos] Enable MultipeerConnectivity and ReplayKit frameworks, existing in iOS but just added in tvOS 10 (#361)
* Xcode 8 beta 2 tvOS SDK does not ship ExternalAccessory headers for the simulator (but the framework itself is present) so it's not yet enabled (causing registrar build issues)

https://trello.com/c/2e2VdbGR/49-27266975-externalaccessory-header-files-are-missing-for-appletvsimulator

* MapKit was not added for 9.2 - it's added now (and will be fixed in master/cycle8 later)
2016-07-10 11:15:45 -04:00
Alex Soto 074c4f6530 [UserNotificationsUI] Add UserNotificationsUI framework from xcode 8 beta 1 2016-07-04 14:41:22 -05:00
Alex Soto 046a3fad30 [UserNotifications] Add UserNotifications framework xcode 8 beta 1 2016-07-04 14:39:45 -05:00
Vincent Dondain 5be3587db5 [homekit] Update for iOS 10 beta 1 (#324) 2016-06-30 08:31:40 -04:00
Rolf Bjarne Kvinge e2cd699b27 [registrar] Don't return from trampolines without going through proper state handling code. (#322)
Fixes a COOP crash due to invalid state.
2016-06-29 15:10:24 -04:00
Rolf Bjarne Kvinge 7e773080a9 Merge remote-tracking branch 'origin/master' into xcode8 2016-06-29 10:23:03 +02:00
Manuel de la Pena 19cceab4d5 [mtouch] Reenable the symbolication to allow debugging and update its implementation. (#284) 2016-06-28 14:35:05 -04:00
Timothy Risi c94d0e7b70 Merge branch 'master' into xcode8 2016-06-23 10:45:09 -08:00
Rolf Bjarne Kvinge c560fee268 [registrar] Managed characters are equivalent to shorts in native code. (#259)
Fixes NSCharacterSetTest.NSMutableCharacterSet_TestStaticSets when
running with the P/Invoke wrapper (for exceptions) enabled (i.e.
watchOS), since otherwise the wrapper would truncate char parameters
to byte.
2016-06-22 05:47:13 -07:00
Vincent Dondain aae5a73543 [messages] New framework in iOS 10.0 beta1 (#190) 2016-06-21 08:56:38 -04:00
Alex Soto 5225450521 [VideoSubscriberAccount] Add VideoSubscriberAccount from xcode8 beta1
* Added VideoSubscriberAccount binding
* Ensured we link against VideoSubscriberAccount
* Ensured introspection tests pass
2016-06-18 14:38:02 -05:00
Alex Soto 29b47a8c7d [Speech] Add Speech Framework from Xcode 8 Beta 1
* Added Speech Framework bindings
* Ensured introspection test pass
* Ensured we link against Speech framework
* FIXME: SFSpeechRecordingRecognitionRequest is not in the public api
  filled radar://26799291 https://trello.com/c/s6s6YKua
2016-06-18 14:22:06 -05:00
Alex Soto 7c66cbf736 [CallKit] Add CallKit framework binding from xcode 10 beta1 (#189)
* Added CallKit Bindings
* Ensure CallKit.framework is linked
* Ensure CallKit passes introspection tests
* FIXME: https://trello.com/c/afWXDZ3A
  Headers says CallKit is available on macOS 10.12
  but uses AVAudioSession and it is iOS only
  Opened Radar awaiting response.
2016-06-18 06:20:38 -07:00
Rolf Bjarne Kvinge 386c15c503 Merge pull request #153 from rolfbjarne/more-exceptions
Handle any exceptions when returning from managed code back to our native runtime.
2016-06-09 18:13:23 +02:00
Rolf Bjarne Kvinge fac7270eb8 [registrar] Rewrite ctor's super call to invoke objc_msgSendSuper directly. Fixes #41319. (#159)
There's a clang bug [2] where if a selector is marked as unavailable,
it's marked as unavailable for every class, not just the class where
the unavailable selector is.

This means that we can't do `[super initWithCoder:x]` anywhere,
because `initWithCoder:` is marked as unavailable for UIActivityViewController.

So instead rewrite the call to super to call objc_msgSendSuper
directly, circumventing clang's broken availability checks.

[1] https://bugzilla.xamarin.com/show_bug.cgi?id=41319
[2] https://llvm.org/bugs/show_bug.cgi?id=28058
2016-06-09 17:18:35 +02:00
Rolf Bjarne Kvinge 2d28e24837 [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
Rolf Bjarne Kvinge af0d01c93a Initial review pass for COOP for watchOS. 2016-05-26 17:47:10 +02:00
Rolf Bjarne Kvinge ac5ff5e321 [runtime] Replace xamarin_try_get_nsobject with xamarin_has_nsobject.
Removes one usage of ObjectWrapper, since we don't actually need
the return value, we just need to know if an object exists.
2016-05-26 17:47:10 +02:00
Rolf Bjarne Kvinge 0537fa6622 [registrar] Cope with nameless parameters. (#91) 2016-05-26 16:12:16 +02:00
Rolf Bjarne Kvinge 54976d90ce [registrar] Remove debug spew. (#89) 2016-05-26 16:03:32 +02:00
Rolf Bjarne Kvinge cffc2e9181 Rewrite user-visible messages to use 'cooperative mode' instead of 'coop'.
This seems to be how we describe it publicly: http://tirania.org/blog/archive/2015/Dec-22.html
2016-05-17 11:30:38 +02:00
Rolf Bjarne Kvinge 1f1f6991a3 Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
Rolf Bjarne Kvinge 86c73f8fc0 Refactor static registrar to produce both a header and a source file.
This way we can re-use the header in other files.
2016-05-17 11:23:47 +02:00
Rolf Bjarne Kvinge 3903e01076 [mmp/mtouch] Add a Driver.WriteIfDifferent overload that takes a byte array. 2016-05-17 11:20:26 +02:00
Rolf Bjarne Kvinge 9b4f7532ab Add runtime variable to specify the exception marshalling modes, and mmp/mtouch options to select it. 2016-05-17 11:20:26 +02:00
Rolf Bjarne Kvinge b8abf3db01 Add runtime variable to specify if the Coop GC should be used, and a mmp/mtouch option to select it.
The mmp/mtouch option is hidden for now, since it's not actually possible
to select the Coop GC yet.
2016-05-17 11:20:26 +02:00
Rolf Bjarne Kvinge 56308e7eb6 [mmp/mtouch] Don't mkbundle anymore.
mtouch only uses Xamarin.Mac to read plists, so change to use
our purely managed plist reader in Xamarin.MacDev instead.

That makes us able to change mtouch to be a normal command-line
executable (and project).

Which makes it logical to not mkbundle mtouch anymore,
it executes just fine with the system mono (and there's
no code to protect anymore either).

And since mmp and mtouch share some files, do the same
for mmp.
2016-04-25 18:14:56 -04:00
Rolf Bjarne Kvinge 82ab3fc106 Build mmp. 2016-04-24 14:47:26 -04:00