2016-04-21 15:58:45 +03:00
|
|
|
|
TOP=../..
|
|
|
|
|
include $(TOP)/Make.config
|
|
|
|
|
|
|
|
|
|
# without this many compiler warnings about unused functions and variables
|
|
|
|
|
# in system headers show up.
|
|
|
|
|
export CCACHE_CPP2=1
|
|
|
|
|
|
|
|
|
|
LINKER_DIR=../linker
|
|
|
|
|
|
2016-08-24 16:43:35 +03:00
|
|
|
|
CECIL_PATH=$(MONO_PATH)/external/cecil
|
2017-02-08 16:57:37 +03:00
|
|
|
|
MONO_CECIL_FILES = $(wildcard $(CECIL_PATH)/*.cs) $(wildcard $(CECIL_PATH)/*/*.cs) $(wildcard $(CECIL_PATH)/*/*/*.cs) $(wildcard $(CECIL_PATH)/*/*/*/*.cs) $(wildcard $(CECIL_PATH)/*/*/*/*/*.cs)
|
2016-08-24 16:43:35 +03:00
|
|
|
|
|
2016-04-21 15:58:45 +03:00
|
|
|
|
MONO_DIR=$(MONO_PATH)
|
2016-11-29 02:23:26 +03:00
|
|
|
|
MONOLINKER=$(LINKER_TOOLS_PATH)/linker
|
|
|
|
|
MONO_TUNER=$(LINKER_TOOLS_PATH)/tuner
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
LINKER_RESOURCES = \
|
|
|
|
|
$(LINKER_DIR)/Descriptors/mscorlib.xml
|
|
|
|
|
|
|
|
|
|
LINKER_SOURCES = \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/Annotations.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/AssemblyAction.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/AssemblyResolver.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/I18nAssemblies.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/IXApiVisitor.cs \
|
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
* [builds] Pass --with-cross-offsets= to crosstv's configure.
* Bump mono to 2017-08.
* Bump mono to 2017-08.
* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
This is also needed to build with Xcode 8.3 on High Sierra.
* Remove old AppleTls implementation.
* Bump mono.
* Bump mono to 2017-08.
* Bump mono to 2017-08
* Reenable link-keep-resources-2 test
- This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4.
- 2017-08 has linker fix
* Bump mono to 2017-10
* Revert "Bump mono to 2017-10"
This reverts commit bb7832724e18f8578449e46426382a537f3f4823.
* Bump system mono to 2017-10
* Bump embedded mono to 2017-10
* [runtime] reflect eglib move
https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7
* bump mono
* [btouch] remove Security.Tls usage from test
* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
see
https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e
fixes:
```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
2) Failed : Xamarin.MTouch.Profiling(watchOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```
* [mmptest] update log profiler options.
https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091
deprecated the dash prefix for the mlpd path.
`noallocs` or `nocalls` are not needed, neither of them are default anymore.
* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.
another corlib resource (mscorlib.xml) was added:
https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d
* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."
This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7.
* [XHarness] Add the Mono.Data.Tds tests.
* Address comments from rolf in the review.
* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped
the test was failing in that way:
> Executing link-keep-resources-2...
> [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml
also update the output, because it's actually expected at least three
elements.
fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277
* bump mono
fixes crash in tvOS: https://github.com/mono/mono/pull/5812
* bump mono for updated BCL tests
see https://github.com/mono/mono/pull/5820
* [mono] set 2017-10 branch in .gitmodules
* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
* Revert changes in the paths for GuiUnit.
* [XHarness] Add the System.IO.Compression bcl tests. (#2918)
* [XHarness] Add the System.IO.Compression bcl tests.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)
* [XHarness] Add the System.IO.Compression bcl tests.
* Ensure that resources are correctly copied in the bundles.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.
* As per review, make the Mac test app name match the tests that are ran.
* [XHarness] Add Mono.CSharp tests on ios. (#2927)
* [XHarness] Add Mono.CSharp tests on ios.
* Bump mono to bring changes in the mono.csharp tests.
* [xtro-sharpie] fix TypeDefinition access due to Cecil change
* Bump mono
* bump mono
fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482
* bump mono
more fixes around conflicting paths when tests are run in parallel.
* Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
|
|
|
|
$(MONOLINKER)/Mono.Linker/ILogger.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/ConsoleLogger.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(MONOLINKER)/Mono.Linker/LinkContext.cs \
|
[Do not merge yet] Update to mono 2017-04 branch (#1960)
* Update to mono 2017-04 branch
* Patch from Zoltan to fix build error with CppSharp.CppParser.dll
* Include new linker files in Makefile, based on mareks commit
* [msbuild] Fix running bgen for Xamarin.Mac.
bgen must be executed with the system mono, not bmac-mobile-mono, and without
the MONO_PATH variable set.
* System.Data tests should act as if they are running on mobile profile
* Add --runtime=mobile to mono flags in Modern
* Move runtime launcher options up
* System.Data tests should use Mobile profile (mac fix)
* Bump 2017-04 to pick up AOT and assembly resolution fixes
* Build fixes for netstandard.dll and System.Drawing.Primitives.dll
The new handling went in with https://github.com/mono/mono/pull/4501.
I also noticed that WatchOS was missing a target for System.Drawing.Primitives.dll, so I added that.
* Add netstandard.dll to 2.1/Facades and System.Drawing.Primitives.dll to WatchOS
* Fix 2.1/Facades/netstandard.dll build
* Fix the netstandard targets
* Bump mono to latest 2017-04 commit
* [xharness] Fix adding defines to csproj by correctly detecting existing defines.
* Bump mono to latest 2017-04 commit
* [mtouch] Update csproj with new files.
* [mtouch] Improve reporting for MarkExceptions from the linker.
* Bump mono to latest 2017-04 commit
* Bump mono to pick up latest 2017-04 branch commit (Fixes #55436)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55436
* Add a missing Makefile dependency
* Chris Hamons patch to apply --runtime=mobile as necessary at AOT time
(It is currently being applied for some configurations at runtime only)
* Bump system mono
* Bump mono for assembly loader changes
* Bump system mono
* Update assemblies list as some where moved to facades
https://github.com/mono/mono/commit/6ca5ec442b494bed8cfb44258c1c73c091ba3122
https://github.com/mono/mono/commit/c38e4d9220b16488e6f8f9e1f05aed4a8af16e62
* Bump mono to latest 2017-04 commit
* Add another new facade
* Bump mono to tip of 2017-04.
* Bump mono to tip of 2017-04.
* [tests][mtouch] Adjust tests to cope with fewer assemblies being included in linked apps. Fixes #56307 and #56308.
System.dll is now completely linked away unless the app actually uses any
System.dll API.
This is the change that caused this to change: https://github.com/mono/mono/commit/4960d5d2a28a08476ee4239e1746f04afce41c13
Previously the following types would always be kept by the linker:
```
$ monodis --typedef System.dll
Typedef Table
1: (null) (flist=1, mlist=1, flags=0x0, extends=0x0)
2: ObjCRuntime.INativeObject (flist=1, mlist=1, flags=0xa0, extends=0x0)
3: Mono.Net.CFObject (flist=1, mlist=2, flags=0x100000, extends=0x5)
4: Mono.Net.CFArray (flist=4, mlist=19, flags=0x100, extends=0xc)
5: Mono.Net.CFNumber (flist=5, mlist=32, flags=0x100100, extends=0xc)
6: Mono.Net.CFRange (flist=5, mlist=41, flags=0x100108, extends=0x25)
7: Mono.Net.CFString (flist=7, mlist=42, flags=0x100100, extends=0xc)
8: Mono.Net.CFData (flist=8, mlist=53, flags=0x100100, extends=0xc)
9: Mono.Net.CFDictionary (flist=8, mlist=63, flags=0x0, extends=0xc)
10: Mono.Net.CFMutableDictionary (flist=10, mlist=75, flags=0x100100, extends=0x24)
11: Mono.Net.CFUrl (flist=10, mlist=80, flags=0x100100, extends=0xc)
12: Mono.Net.CFRunLoop (flist=10, mlist=83, flags=0x100100, extends=0xc)
13: Mono.Net.CFBoolean (flist=10, mlist=94, flags=0x100, extends=0x5)
14: Mono.AppleTls.SecCertificate (flist=13, mlist=106, flags=0x100100, extends=0x5)
15: Mono.AppleTls.SecIdentity (flist=14, mlist=122, flags=0x100, extends=0x5)
16: Mono.AppleTls.SecIdentity/ImportOptions (flist=19, mlist=134, flags=0x100105, extends=0x5)
17: Mono.AppleTls.SecKey (flist=19, mlist=134, flags=0x100100, extends=0x5)
18: Mono.AppleTls.SecStatusCode (flist=21, mlist=141, flags=0x100, extends=0x69)
19: Mono.AppleTls.SecTrustResult (flist=395, mlist=141, flags=0x100, extends=0x69)
20: Mono.AppleTls.SecImportExport (flist=404, mlist=141, flags=0x100100, extends=0x5)
21: Mono.AppleTls.SecImportExport/<>c (flist=404, mlist=144, flags=0x102103, extends=0x5)
22: Mono.AppleTls.SecPolicy (flist=406, mlist=147, flags=0x100100, extends=0x5)
23: Mono.AppleTls.SecTrust (flist=407, mlist=154, flags=0x100100, extends=0x5)
24: System.Security.Cryptography.OidGroup (flist=408, mlist=174, flags=0x101, extends=0x69)
25: System.Security.Cryptography.Oid (flist=420, mlist=174, flags=0x100101, extends=0x5)
26: System.Security.Cryptography.CAPI (flist=423, mlist=176, flags=0x100180, extends=0x5)
27: System.Security.Cryptography.AsnEncodedData (flist=423, mlist=178, flags=0x100101, extends=0x5)
28: System.Security.Cryptography.X509Certificates.X509Utils (flist=424, mlist=179, flags=0x100100, extends=0x5)
29: System.Security.Cryptography.X509Certificates.PublicKey (flist=424, mlist=181, flags=0x100101, extends=0x5)
30: System.Security.Cryptography.X509Certificates.X509Certificate2 (flist=429, mlist=188, flags=0x102101, extends=0x51)
31: System.Security.Cryptography.X509Certificates.X509Certificate2Impl (flist=431, mlist=204, flags=0x100080, extends=0x55)
32: System.Security.Cryptography.X509Certificates.X509CertificateCollection (flist=431, mlist=209, flags=0x102101, extends=0x6d)
33: System.Security.Cryptography.X509Certificates.X509CertificateCollection/X509CertificateEnumerator (flist=431, mlist=212, flags=0x100102, extends=0x5)
34: System.Security.Cryptography.X509Certificates.X509Helper2 (flist=432, mlist=217, flags=0x100180, extends=0x5)
35: <PrivateImplementationDetails> (flist=432, mlist=218, flags=0x100, extends=0x5)
36: <PrivateImplementationDetails>/__StaticArrayInitTypeSize=9 (flist=433, mlist=219, flags=0x113, extends=0x25)
```
Some of the above types from System.dll implemented ObjCRuntime.INativeObject
(from System.dll), which our linker detected as implementing
ObjCRuntime.INativeObject (from Xamarin.iOS.dll), so these types were treated
as custom NSObject subclasses, and the MarkNSObjects linker step would mark
them (which would in turn cause all the other types in the list to be marked).
With that change, these types now implement ObjCRuntimeInternal.INativeObject,
and the linker does not treat them as custom NSObject subclasses anymore.
I think the new behavior is correct: these types do not actually inherit from
the real NSObject/INativeObject, so the linker should not treat them as such.
This may run into different bugs because the linker might now remove more
stuff than before, but that would be a different issue.
This means that the fix is to modify these tests accordingly.
https://bugzilla.xamarin.com/show_bug.cgi?id=56307
https://bugzilla.xamarin.com/show_bug.cgi?id=56308
* Bump mono to latest.
* Fix merge conflict that was missed
* [mtouch] Renumber new error which clashes with an existing error number in master.
2017-05-29 19:39:29 +03:00
|
|
|
|
$(MONOLINKER)/Mono.Linker/LoadException.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/MarkException.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(MONOLINKER)/Mono.Linker/MethodAction.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/Pipeline.cs \
|
2017-09-05 21:48:09 +03:00
|
|
|
|
$(MONOLINKER)/Mono.Linker/MethodReferenceExtensions.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/TypeReferenceExtensions.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(MONOLINKER)/Mono.Linker/TypePreserve.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker/XApiReader.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/BaseStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/BlacklistStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/CleanStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/IStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/LoadI18nAssemblies.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/LoadReferencesStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/MarkStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/OutputStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/ResolveFromAssemblyStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/ResolveFromXApiStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/ResolveFromXmlStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/ResolveStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/SweepStep.cs \
|
|
|
|
|
$(MONOLINKER)/Mono.Linker.Steps/TypeMapStep.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/ApplyPreserveAttributeBase.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/CecilRocks.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/CustomizeActions.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/Dispatcher.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/Extensions.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/FixModuleFlags.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/PreserveSoapHttpClients.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/Profile.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/RemoveAttributesBase.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/RemoveResources.cs \
|
|
|
|
|
$(MONO_TUNER)/Mono.Tuner/RemoveSecurity.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/Extensions.cs \
|
[linker] Add an well known candidate inliner substep along with tests (#1513)
TL&DR: This is *how* it should be done and tested, it's not complete
(single, simple case) nor the most interesting case ;-)
The trick is to make sure each case is covered by tests so a mono
_bump_ won't give us a BCL that does not conform to what the linker
expect.
What's the impact ?
1. There is the expected reduction of metadata in mscorlib. Since both
methods don't call other API there's no indirect effect (removal).
--- before 2017-01-15 11:12:44.000000000 -0500
+++ after 2017-01-15 11:12:56.000000000 -0500
@@ -13166,9 +13166,6 @@
System.Void System.Security.SecurityException::.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
System.Void System.Security.SecurityException::.ctor(System.String)
System.Void System.Security.SecurityException::GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
-System.Boolean System.Security.SecurityManager::CheckElevatedPermissions()
-System.Security.SecurityManager
-System.Void System.Security.SecurityManager::EnsureElevatedPermissions()
System.Security.SecurityRulesAttribute
System.Security.SecurityRuleSet System.Security.SecurityRulesAttribute::m_ruleSet
System.Void System.Security.SecurityRulesAttribute::.ctor(System.Security.SecurityRuleSet)
2. There is no visible size change (even with #1) in mscorlib.dll due to
padding (compiler /filealign)
mscorlib.dll 793,600 793,600 0 0.00 %
3. there's a *very* small reduction of mscorlib.*.aotdata size
mscorlib.armv7.aotdata 717,264 717,216 -48 -0.01 %
mscorlib.arm64.aotdata 712,840 712,704 -136 -0.02 %
AOT data *.aotdata 6,460,064 6,459,880 -184 0.00 %
4. there's no change in executable size - normal as the AOT compiler has
_likely_ already doing the same optimization (before this commit)
Executable 29,270,272 29,270,272 0 0.00 %
Full comparison: https://gist.github.com/spouliot/0464c8fa3a92b6486dfd90595d9eb718
2017-01-18 05:49:44 +03:00
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/InlinerSubStep.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/ListExportedSymbols.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/MetadataReducerSubStep.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/MonoTouchMarkStep.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/MonoTouchProfile.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/MonoTouchSweepStep.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/MonoTouchTypeMap.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/OptimizeGeneratedCodeSubStep.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/PreserveCode.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/ProcessExportedFields.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/RemoveAttributes.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/RemoveCode.cs \
|
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/SealerSubStep.cs \
|
2017-07-06 11:42:27 +03:00
|
|
|
|
$(LINKER_DIR)/MonoTouch.Tuner/PreserveSmartEnumConversionsSubStep.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(TOP)/tools/linker/ApplyPreserveAttribute.cs \
|
|
|
|
|
$(TOP)/tools/linker/BaseProfile.cs \
|
|
|
|
|
$(TOP)/tools/linker/CoreHttpMessageHandler.cs \
|
|
|
|
|
$(TOP)/tools/linker/CoreMarkStep.cs \
|
|
|
|
|
$(TOP)/tools/linker/CoreOptimizeGeneratedCode.cs \
|
|
|
|
|
$(TOP)/tools/linker/CorePreserveCode.cs \
|
|
|
|
|
$(TOP)/tools/linker/CoreRemoveAttributes.cs \
|
|
|
|
|
$(TOP)/tools/linker/CoreRemoveSecurity.cs \
|
2016-09-28 18:46:14 +03:00
|
|
|
|
$(TOP)/tools/linker/ExceptionalSubStep.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(TOP)/tools/linker/MarkNSObjects.cs \
|
|
|
|
|
$(TOP)/tools/linker/MobileExtensions.cs \
|
|
|
|
|
$(TOP)/tools/linker/MobileMarkStep.cs \
|
|
|
|
|
$(TOP)/tools/linker/MobileProfile.cs \
|
|
|
|
|
$(TOP)/tools/linker/MobileRemoveAttributes.cs \
|
|
|
|
|
$(TOP)/tools/linker/MobileResolveMainAssemblyStep.cs \
|
|
|
|
|
$(TOP)/tools/linker/MobileSweepStep.cs \
|
|
|
|
|
$(TOP)/tools/linker/ObjCExtensions.cs \
|
2016-11-01 20:11:25 +03:00
|
|
|
|
$(TOP)/tools/linker/RemoveUserResourcesSubStep.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
COMMON_SOURCES = \
|
|
|
|
|
$(TOP)/src/build/ios/Constants.cs \
|
|
|
|
|
error.cs \
|
|
|
|
|
$(TOP)/src/ObjCRuntime/ErrorHelper.cs \
|
2016-05-11 13:47:26 +03:00
|
|
|
|
$(TOP)/src/ObjCRuntime/ExceptionMode.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(MONO_DIR)/mcs/class/Mono.Options/Mono.Options/Options.cs
|
|
|
|
|
|
|
|
|
|
MTOUCH_SOURCES = \
|
|
|
|
|
$(COMMON_SOURCES) \
|
|
|
|
|
$(LINKER_SOURCES) \
|
|
|
|
|
$(TOP)/src/ObjCRuntime/ArgumentSemantic.cs \
|
|
|
|
|
$(TOP)/src/ObjCRuntime/LinkWithAttribute.cs \
|
|
|
|
|
$(TOP)/src/ObjCRuntime/NativeAttribute.cs \
|
|
|
|
|
$(TOP)/src/ObjCRuntime/PlatformAvailability2.cs \
|
|
|
|
|
$(TOP)/src/ObjCRuntime/ObjectWrapper.cs \
|
|
|
|
|
Application.cs \
|
|
|
|
|
Assembly.cs \
|
|
|
|
|
$(TOP)/tools/common/cache.cs \
|
|
|
|
|
$(TOP)/tools/common/Driver.cs \
|
|
|
|
|
$(TOP)/tools/common/Frameworks.cs \
|
|
|
|
|
$(TOP)/tools/common/MachO.cs \
|
[mtouch] Improve how we make sure native symbols aren't stripped away. Fixes #51710 and #54417. (#2162)
* [mtouch] Improve how we make sure native symbols aren't stripped away. Fixes #51710 and #54417.
* Refactor required symbol collection to store more information about each
symbol (field, function, Objective-C class), and in general make the code
more straight forward.
* Implement support for generating source code that references these symbols,
and do this whenever we can't ask the native linker to keep these symbols
(when using bitcode). Additionally make it possible to do this manually, so
that the source code can be generated for non-bitcode platforms too (which
is useful if the number of symbols is enormous, in which case we might
surpass the maximum command-line length).
* Also make it possible to completely ignore native symbols, or ignore them on
a per-symbol basis. This provides a fallback for users if we get something
right and we try to preserve something that shouldn't be preserved (for
instance if it doesn't exist), and the user ends up with unfixable linker
errors.
* Don't collect Objective-C classes unless they're in an assembly with
LinkWith attributes. We don't need to preserve Objective-C classes in any
other circumstances.
* Implement everything for both Xamarin.iOS and Xamarin.Mac, and share the
code between them.
* Remove previous workaround for bug #51710, since it's no longer needed.
* Add tests.
https://bugzilla.xamarin.com/show_bug.cgi?id=54417
https://bugzilla.xamarin.com/show_bug.cgi?id=51710
* [mtouch] Make sure to only keep symbols from the current app when code sharing.
This fixes a build problem with the interdependent-binding-projects test when
testing in Today Extension mode.
2017-06-02 19:29:19 +03:00
|
|
|
|
$(TOP)/tools/common/Symbols.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
mtouch.cs \
|
2016-05-11 14:27:51 +03:00
|
|
|
|
$(TOP)/tools/common/PInvokeWrapperGenerator.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(TOP)/tools/common/TargetFramework.cs \
|
2017-01-19 14:42:27 +03:00
|
|
|
|
$(TOP)/tools/common/BuildTasks.cs \
|
2017-06-06 23:32:25 +03:00
|
|
|
|
$(TOP)/tools/common/StringUtils.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(TOP)/tools/common/StaticRegistrar.cs \
|
|
|
|
|
$(TOP)/src/ObjCRuntime/Registrar.core.cs \
|
|
|
|
|
$(TOP)/src/ObjCRuntime/Registrar.cs \
|
|
|
|
|
$(TOP)/src/ObjCRuntime/RuntimeOptions.cs \
|
|
|
|
|
Tuning.cs \
|
|
|
|
|
Stripper.cs \
|
|
|
|
|
AssemblyResolver.cs \
|
|
|
|
|
Target.cs \
|
|
|
|
|
SdkVersions.cs \
|
|
|
|
|
BitcodeConverter.cs \
|
2017-01-19 14:42:27 +03:00
|
|
|
|
BuildTasks.mtouch.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(TOP)/tools/common/Application.cs \
|
|
|
|
|
$(TOP)/tools/common/Assembly.cs \
|
2017-01-18 11:22:19 +03:00
|
|
|
|
$(TOP)/tools/common/DerivedLinkContext.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(TOP)/tools/common/Target.cs \
|
|
|
|
|
$(TOP)/tools/common/CompilerFlags.cs \
|
2016-04-25 01:49:28 +03:00
|
|
|
|
$(TOP)/src/Foundation/ExportAttribute.cs \
|
|
|
|
|
$(TOP)/src/Foundation/ConnectAttribute.cs \
|
|
|
|
|
$(XAMARIN_MACDEV_PATH)/Xamarin.MacDev/PListObject.cs \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-08-24 16:43:35 +03:00
|
|
|
|
CECIL_CONFIG=net_4_0_Release
|
|
|
|
|
MONO_CECIL_DLL=$(CECIL_PATH)/bin/$(CECIL_CONFIG)/Mono.Cecil.dll
|
|
|
|
|
MONO_CECIL_MDB_DLL=$(CECIL_PATH)/bin/$(CECIL_CONFIG)/Mono.Cecil.Mdb.dll
|
2017-02-08 16:57:37 +03:00
|
|
|
|
MONO_CECIL_FILES=$(wildcard $(CECIL_PATH)/*.cs) $(wildcard $(CECIL_PATH)/*/*.cs) $(wildcard $(CECIL_PATH)/*/*/*.cs) $(wildcard $(CECIL_PATH)/*/*/*/*.cs) $(wildcard $(CECIL_PATH)/*/*/*/*/*.cs)
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2017-02-08 16:57:37 +03:00
|
|
|
|
$(MONO_CECIL_DLL): $(CECIL_PATH)/Mono.Cecil.csproj $(MONO_CECIL_FILES)
|
2016-08-24 16:43:35 +03:00
|
|
|
|
$(Q_XBUILD) cd $(CECIL_PATH) && $(SYSTEM_XBUILD) /p:Configuration=$(CECIL_CONFIG) Mono.Cecil.csproj $(XBUILD_VERBOSITY)
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2017-02-08 16:57:37 +03:00
|
|
|
|
$(MONO_CECIL_MDB_DLL): $(MONO_CECIL_DLL) $(CECIL_PATH)/symbols/mdb/Mono.Cecil.Mdb.csproj $(MONO_CECIL_FILES)
|
2016-08-24 16:43:35 +03:00
|
|
|
|
$(Q_XBUILD) cd $(CECIL_PATH) && $(SYSTEM_XBUILD) /p:Configuration=$(CECIL_CONFIG) symbols/mdb/Mono.Cecil.Mdb.csproj $(XBUILD_VERBOSITY)
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-09-30 22:02:17 +03:00
|
|
|
|
SIMLAUNCHERS = simlauncher32-sgen simlauncher64-sgen
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
monotouch-fixes.i386.dylib: monotouch-fixes.c Makefile
|
|
|
|
|
$(SIMULATOR_CCOMPILE) -DDEBUG -Wl,-headerpad_max_install_names -g -dynamiclib -gdwarf-2 -I$(TOP)/runtime/.libs -L$(TOP)/runtime/.libs $(SIMULATOR86_CFLAGS) monotouch-fixes.c -o $@ -Wall
|
|
|
|
|
|
|
|
|
|
monotouch-fixes.x86_64.dylib: monotouch-fixes.c Makefile
|
|
|
|
|
$(SIMULATOR_CCOMPILE) -DDEBUG -Wl,-headerpad_max_install_names -g -dynamiclib -gdwarf-2 -I$(TOP)/runtime/.libs -L$(TOP)/runtime/.libs $(SIMULATOR64_CFLAGS) monotouch-fixes.c -o $@ -Wall
|
|
|
|
|
|
|
|
|
|
monotouch-fixes.dylib: monotouch-fixes.i386.dylib monotouch-fixes.x86_64.dylib
|
|
|
|
|
$(Q_LIPO) lipo -create -output $@ $^
|
|
|
|
|
|
|
|
|
|
UNREFERENCED_SYMBOLS = \
|
2016-05-13 14:16:37 +03:00
|
|
|
|
_xamarin_dyn_objc_msgSend \
|
|
|
|
|
_xamarin_dyn_objc_msgSendSuper \
|
|
|
|
|
_xamarin_dyn_objc_msgSend_stret \
|
|
|
|
|
_xamarin_dyn_objc_msgSendSuper_stret \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
_xamarin_init_nsthread \
|
|
|
|
|
_xamarin_get_block_descriptor \
|
|
|
|
|
_xamarin_get_locale_country_code \
|
|
|
|
|
_xamarin_log \
|
|
|
|
|
_xamarin_start_wwan \
|
|
|
|
|
_xamarin_timezone_get_data \
|
|
|
|
|
_xamarin_timezone_get_names \
|
|
|
|
|
_xamarin_IntPtr_objc_msgSend_IntPtr \
|
|
|
|
|
_xamarin_IntPtr_objc_msgSendSuper_IntPtr \
|
|
|
|
|
_xamarin_release_managed_ref \
|
|
|
|
|
_xamarin_create_managed_ref \
|
|
|
|
|
_CloseZStream \
|
|
|
|
|
_CreateZStream \
|
|
|
|
|
_Flush \
|
|
|
|
|
_ReadZStream \
|
|
|
|
|
_WriteZStream
|
|
|
|
|
|
|
|
|
|
# The frameworks order is important as some symbols can be duplicated
|
|
|
|
|
# e.g. NSURLResponse is both in CFNetwork and Foundation in iOS8 but linking to
|
|
|
|
|
# CFNetwork will result in binaries that won't work with earlier iOS versions
|
|
|
|
|
SIMLAUNCHER_FRAMEWORKS = \
|
|
|
|
|
-framework CoreFoundation \
|
|
|
|
|
-framework CoreGraphics \
|
|
|
|
|
-framework Foundation \
|
|
|
|
|
-framework AVFoundation \
|
|
|
|
|
-framework Accelerate \
|
|
|
|
|
-framework AddressBook \
|
|
|
|
|
-framework AddressBookUI \
|
|
|
|
|
-framework AudioToolbox \
|
|
|
|
|
-framework CFNetwork \
|
|
|
|
|
-framework CoreAudio \
|
|
|
|
|
-framework CoreData \
|
|
|
|
|
-framework CoreLocation \
|
|
|
|
|
-framework CoreText \
|
|
|
|
|
-framework ExternalAccessory \
|
|
|
|
|
-framework GameKit \
|
|
|
|
|
-framework IOKit \
|
|
|
|
|
-framework MapKit \
|
|
|
|
|
-framework MediaPlayer \
|
|
|
|
|
-framework MessageUI \
|
|
|
|
|
-framework MobileCoreServices \
|
|
|
|
|
-framework OpenAL \
|
|
|
|
|
-framework OpenGLES \
|
|
|
|
|
-framework StoreKit \
|
|
|
|
|
-framework SystemConfiguration \
|
|
|
|
|
-framework UIKit \
|
|
|
|
|
\
|
|
|
|
|
-weak_framework AssetsLibrary \
|
|
|
|
|
-weak_framework CoreMedia \
|
|
|
|
|
-weak_framework CoreMidi \
|
|
|
|
|
-weak_framework CoreMotion \
|
|
|
|
|
-weak_framework CoreTelephony \
|
|
|
|
|
-weak_framework CoreVideo \
|
|
|
|
|
-weak_framework EventKit \
|
|
|
|
|
-weak_framework EventKitUI \
|
|
|
|
|
-weak_framework ImageIO \
|
|
|
|
|
-weak_framework Security \
|
|
|
|
|
-weak_framework QuickLook \
|
|
|
|
|
-weak_framework iAd \
|
|
|
|
|
-weak_framework Accounts \
|
|
|
|
|
-weak_framework GLKit \
|
|
|
|
|
-weak_framework NewsstandKit \
|
|
|
|
|
-weak_framework CoreImage \
|
|
|
|
|
-weak_framework CoreBluetooth \
|
|
|
|
|
-weak_framework Twitter \
|
|
|
|
|
-weak_framework PassKit \
|
|
|
|
|
-weak_framework Social \
|
|
|
|
|
-weak_framework AdSupport \
|
|
|
|
|
-weak_framework JavaScriptCore \
|
|
|
|
|
-weak_framework MultipeerConnectivity \
|
|
|
|
|
-weak_framework SafariServices \
|
|
|
|
|
-weak_framework SpriteKit \
|
|
|
|
|
\
|
|
|
|
|
-weak_framework HomeKit \
|
|
|
|
|
-weak_framework HealthKit \
|
|
|
|
|
-weak_framework LocalAuthentication \
|
|
|
|
|
-weak_framework NotificationCenter \
|
|
|
|
|
-weak_framework PushKit \
|
|
|
|
|
-weak_framework Photos \
|
|
|
|
|
-weak_framework PhotosUI \
|
|
|
|
|
-weak_framework SceneKit \
|
|
|
|
|
-weak_framework CloudKit \
|
|
|
|
|
-weak_framework AVKit \
|
|
|
|
|
-weak_framework WebKit \
|
|
|
|
|
-weak_framework NetworkExtension \
|
|
|
|
|
-weak_framework Metal \
|
|
|
|
|
-weak_framework CoreAudioKit \
|
|
|
|
|
\
|
|
|
|
|
-weak_framework WatchKit \
|
|
|
|
|
\
|
|
|
|
|
-weak_framework ReplayKit \
|
|
|
|
|
-weak_framework Contacts \
|
|
|
|
|
-weak_framework ContactsUI \
|
|
|
|
|
-weak_framework CoreSpotlight \
|
|
|
|
|
-weak_framework WatchConnectivity \
|
|
|
|
|
-weak_framework ModelIO \
|
|
|
|
|
-weak_framework GameplayKit \
|
|
|
|
|
\
|
2016-06-18 16:20:38 +03:00
|
|
|
|
-weak_framework HealthKitUI \
|
|
|
|
|
\
|
2016-06-15 22:32:48 +03:00
|
|
|
|
-weak_framework CallKit \
|
2016-06-21 15:56:38 +03:00
|
|
|
|
-weak_framework Messages \
|
2016-06-15 23:51:21 +03:00
|
|
|
|
-weak_framework Speech \
|
2016-06-21 15:56:38 +03:00
|
|
|
|
-weak_framework VideoSubscriberAccount \
|
2016-07-04 22:41:22 +03:00
|
|
|
|
-weak_framework UserNotifications \
|
2016-07-13 00:21:35 +03:00
|
|
|
|
-weak_framework UserNotificationsUI \
|
2016-07-15 03:42:48 +03:00
|
|
|
|
-weak_framework Intents \
|
2017-06-23 03:02:17 +03:00
|
|
|
|
-weak_framework IntentsUI \
|
|
|
|
|
\
|
2017-07-24 18:12:30 +03:00
|
|
|
|
-weak_framework ARKit \
|
|
|
|
|
-weak_framework FileProvider \
|
2018-02-27 14:53:13 +03:00
|
|
|
|
-weak_framework FileProviderUI \
|
|
|
|
|
-weak_framework BusinessChat
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
# note: there _was_ no CoreAudioKit.framework or Metal.framework for the simulator (before recent iOS9 betas)
|
|
|
|
|
# note 2: there's no GameKit, in iOS 9 (beta 3 at least), you're supposed to reference GameCenter instead (looks fixed in beta 4)
|
|
|
|
|
# note 3: there's no MetalKit or MetalPerformanceShaders in iOS 9 beta 4 - but other frameworks were added
|
|
|
|
|
# note 4: GameCenter was removed in Xcode 7 beta 5, and GameKit is back.
|
|
|
|
|
|
|
|
|
|
# keep the above list of weak_framework in sync with mtouch.cs
|
|
|
|
|
# except it is no a mistake that GameController and MediaAccessibility (#13636) are not built into simlauncher
|
|
|
|
|
|
|
|
|
|
define SimlauncherTemplate
|
|
|
|
|
|
|
|
|
|
simlauncher$(5)$(1): simlauncher.m $(TOP)/runtime/.libs/ios/libxamarin.a $(BUILD_DESTDIR)/simulator$(4)/lib/libmono$(3)-2.0.a Makefile Xamarin.iOS.registrar.ios.a
|
|
|
|
|
$(QT_CC) $(SIMULATOR_CC) -DDEBUG -DSIMLAUNCHER $(2) -gdwarf-2 \
|
|
|
|
|
-L$(TOP)/runtime/.libs/ios \
|
|
|
|
|
-L$(BUILD_DESTDIR)/simulator$(4)/lib/ \
|
|
|
|
|
-I$(TOP)/runtime \
|
|
|
|
|
-I$(BUILD_DESTDIR)/simulator$(4)/include/mono-2.0 \
|
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
* [builds] Pass --with-cross-offsets= to crosstv's configure.
* Bump mono to 2017-08.
* Bump mono to 2017-08.
* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
This is also needed to build with Xcode 8.3 on High Sierra.
* Remove old AppleTls implementation.
* Bump mono.
* Bump mono to 2017-08.
* Bump mono to 2017-08
* Reenable link-keep-resources-2 test
- This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4.
- 2017-08 has linker fix
* Bump mono to 2017-10
* Revert "Bump mono to 2017-10"
This reverts commit bb7832724e18f8578449e46426382a537f3f4823.
* Bump system mono to 2017-10
* Bump embedded mono to 2017-10
* [runtime] reflect eglib move
https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7
* bump mono
* [btouch] remove Security.Tls usage from test
* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
see
https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e
fixes:
```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
2) Failed : Xamarin.MTouch.Profiling(watchOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```
* [mmptest] update log profiler options.
https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091
deprecated the dash prefix for the mlpd path.
`noallocs` or `nocalls` are not needed, neither of them are default anymore.
* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.
another corlib resource (mscorlib.xml) was added:
https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d
* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."
This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7.
* [XHarness] Add the Mono.Data.Tds tests.
* Address comments from rolf in the review.
* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped
the test was failing in that way:
> Executing link-keep-resources-2...
> [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml
also update the output, because it's actually expected at least three
elements.
fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277
* bump mono
fixes crash in tvOS: https://github.com/mono/mono/pull/5812
* bump mono for updated BCL tests
see https://github.com/mono/mono/pull/5820
* [mono] set 2017-10 branch in .gitmodules
* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
* Revert changes in the paths for GuiUnit.
* [XHarness] Add the System.IO.Compression bcl tests. (#2918)
* [XHarness] Add the System.IO.Compression bcl tests.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)
* [XHarness] Add the System.IO.Compression bcl tests.
* Ensure that resources are correctly copied in the bundles.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.
* As per review, make the Mac test app name match the tests that are ran.
* [XHarness] Add Mono.CSharp tests on ios. (#2927)
* [XHarness] Add Mono.CSharp tests on ios.
* Bump mono to bring changes in the mono.csharp tests.
* [xtro-sharpie] fix TypeDefinition access due to Cecil change
* Bump mono
* bump mono
fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482
* bump mono
more fixes around conflicting paths when tests are run in parallel.
* Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
|
|
|
|
-I$(TOP)/builds/simulator$(4)/mono/eglib \
|
|
|
|
|
-I$(MONO_PATH)/mono/eglib \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(BUILD_DESTDIR)/simulator$(4)/lib/libmono$(3)-2.0.a \
|
|
|
|
|
$(foreach u,$(UNREFERENCED_SYMBOLS),-u $u) \
|
|
|
|
|
$(TOP)/runtime/.libs/ios/libapp.a \
|
|
|
|
|
-Wl,-w \
|
|
|
|
|
-lz -liconv $(TOP)/runtime/.libs/ios/libxamarin-debug.a simlauncher.m $(SIMLAUNCHER_FRAMEWORKS) $(SIMULATOR$(4)_OBJC_CFLAGS) -o $$@
|
|
|
|
|
|
|
|
|
|
endef
|
|
|
|
|
|
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
* [builds] Pass --with-cross-offsets= to crosstv's configure.
* Bump mono to 2017-08.
* Bump mono to 2017-08.
* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
This is also needed to build with Xcode 8.3 on High Sierra.
* Remove old AppleTls implementation.
* Bump mono.
* Bump mono to 2017-08.
* Bump mono to 2017-08
* Reenable link-keep-resources-2 test
- This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4.
- 2017-08 has linker fix
* Bump mono to 2017-10
* Revert "Bump mono to 2017-10"
This reverts commit bb7832724e18f8578449e46426382a537f3f4823.
* Bump system mono to 2017-10
* Bump embedded mono to 2017-10
* [runtime] reflect eglib move
https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7
* bump mono
* [btouch] remove Security.Tls usage from test
* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
see
https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e
fixes:
```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
2) Failed : Xamarin.MTouch.Profiling(watchOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```
* [mmptest] update log profiler options.
https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091
deprecated the dash prefix for the mlpd path.
`noallocs` or `nocalls` are not needed, neither of them are default anymore.
* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.
another corlib resource (mscorlib.xml) was added:
https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d
* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."
This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7.
* [XHarness] Add the Mono.Data.Tds tests.
* Address comments from rolf in the review.
* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped
the test was failing in that way:
> Executing link-keep-resources-2...
> [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml
also update the output, because it's actually expected at least three
elements.
fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277
* bump mono
fixes crash in tvOS: https://github.com/mono/mono/pull/5812
* bump mono for updated BCL tests
see https://github.com/mono/mono/pull/5820
* [mono] set 2017-10 branch in .gitmodules
* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
* Revert changes in the paths for GuiUnit.
* [XHarness] Add the System.IO.Compression bcl tests. (#2918)
* [XHarness] Add the System.IO.Compression bcl tests.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)
* [XHarness] Add the System.IO.Compression bcl tests.
* Ensure that resources are correctly copied in the bundles.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.
* As per review, make the Mac test app name match the tests that are ran.
* [XHarness] Add Mono.CSharp tests on ios. (#2927)
* [XHarness] Add Mono.CSharp tests on ios.
* Bump mono to bring changes in the mono.csharp tests.
* [xtro-sharpie] fix TypeDefinition access due to Cecil change
* Bump mono
* bump mono
fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482
* bump mono
more fixes around conflicting paths when tests are run in parallel.
* Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
|
|
|
|
$(eval $(call SimlauncherTemplate,-sgen,$(BUILD_DESTDIR)/simulator86/lib/libmono-profiler-log.a -u _mono_profiler_init_log -DXAMCORE_2_0 Xamarin.iOS.registrar.ios.a,sgen,86,32))
|
|
|
|
|
$(eval $(call SimlauncherTemplate,-sgen,$(BUILD_DESTDIR)/simulator64/lib/libmono-profiler-log.a -u _mono_profiler_init_log -DXAMCORE_2_0 Xamarin.iOS.registrar.ios.a,sgen,64,64))
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
IOS_DEFINES = -d:MONOTOUCH -d:MTOUCH $(APPLETLS_DEFINES)
|
|
|
|
|
|
2016-05-20 22:03:36 +03:00
|
|
|
|
ifdef ENABLE_BITCODE_ON_IOS
|
|
|
|
|
MTOUCH_DEFINES= -define:ENABLE_BITCODE_ON_IOS
|
|
|
|
|
endif
|
|
|
|
|
|
2016-04-25 01:49:28 +03:00
|
|
|
|
MTOUCH_COMPILE_DEPS = $(MTOUCH_SOURCES) $(MONO_CECIL_DLL) $(MONO_CECIL_MDB_DLL) Makefile $(LINKER_RESOURCES)
|
2017-04-11 17:59:18 +03:00
|
|
|
|
MTOUCH_COMPILE_ARGS = -unsafe $(IOS_DEFINES) -r:$(MONO_CECIL_DLL) -r:$(MONO_CECIL_MDB_DLL) -r:System.Xml.Linq.dll $(MTOUCH_SOURCES) -nowarn:0436 $(LINKER_RESOURCES:%=-resource:%) $(MTOUCH_DEFINES) -debug:portable
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
# bin/Debug/mtouch.exe is used from mtouch.csproj when debugging
|
|
|
|
|
bin/Debug/mtouch.exe: $(MTOUCH_COMPILE_DEPS)
|
|
|
|
|
$(Q) mkdir -p bin/Debug
|
2017-04-11 17:59:18 +03:00
|
|
|
|
$(Q_CSC) $(SYSTEM_CSC) $(MTOUCH_COMPILE_ARGS) -out:$@ -d:DEV
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-04-25 01:49:28 +03:00
|
|
|
|
# bin/Makefile/mtouch.exe is what we build from the makefile (and end up releasing)
|
|
|
|
|
bin/Makefile/mtouch.exe: $(MTOUCH_COMPILE_DEPS)
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(Q) mkdir -p $(dir $@)
|
2017-04-11 17:59:18 +03:00
|
|
|
|
$(Q_CSC) $(SYSTEM_CSC) $(MTOUCH_COMPILE_ARGS) -out:$@
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-04-26 00:04:23 +03:00
|
|
|
|
LOCAL_MTOUCH = \
|
|
|
|
|
bin/Makefile/mtouch.exe \
|
|
|
|
|
bin/Makefile/Mono.Cecil.dll \
|
|
|
|
|
bin/Makefile/Mono.Cecil.Mdb.dll \
|
|
|
|
|
|
|
|
|
|
bin/Makefile/Mono.Cecil.dll: $(MONO_CECIL_DLL) | bin/Makefile
|
|
|
|
|
$(Q) cp $<* $(dir $@)
|
|
|
|
|
|
|
|
|
|
bin/Makefile/Mono.Cecil.Mdb.dll: $(MONO_CECIL_MDB_DLL) | bin/Makefile
|
|
|
|
|
$(Q) cp $<* $(dir $@)
|
|
|
|
|
|
2016-11-01 18:41:41 +03:00
|
|
|
|
%.registrar.ios.i386.m %.registrar.ios.i386.h: $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/32bits/%.dll $(LOCAL_MTOUCH)
|
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug bin/Makefile/mtouch.exe --xamarin-framework-directory=$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX) $(MTOUCH_VERBOSITY) --runregistrar:$(abspath $(basename $@).m) --sdkroot $(XCODE_DEVELOPER_ROOT) --sdk $(IOS_SDK_VERSION) $< --registrar:static --target-framework Xamarin.iOS,v1.0 --abi i386
|
|
|
|
|
$(Q) touch $(basename $@).m $(basename $@).h
|
|
|
|
|
|
|
|
|
|
%.registrar.ios.x86_64.m %.registrar.ios.x86_64.h: $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/64bits/%.dll $(LOCAL_MTOUCH)
|
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug bin/Makefile/mtouch.exe --xamarin-framework-directory=$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX) $(MTOUCH_VERBOSITY) --runregistrar:$(abspath $(basename $@).m) --sdkroot $(XCODE_DEVELOPER_ROOT) --sdk $(IOS_SDK_VERSION) $< --registrar:static --target-framework Xamarin.iOS,v1.0 --abi x86_64
|
|
|
|
|
$(Q) touch $(basename $@).m $(basename $@).h
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-05-11 14:10:35 +03:00
|
|
|
|
%.registrar.watchos.m %.registrar.watchos.h: $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.WatchOS/%.dll $(LOCAL_MTOUCH)
|
2016-11-01 18:41:41 +03:00
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug bin/Makefile/mtouch.exe --xamarin-framework-directory=$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX) $(MTOUCH_VERBOSITY) --runregistrar:$(abspath $(basename $@).m) --sdkroot $(XCODE_DEVELOPER_ROOT) --sdk $(WATCH_SDK_VERSION) $< --registrar:static --target-framework Xamarin.WatchOS,1.0 --abi i386
|
|
|
|
|
$(Q) touch $(basename $@).m $(basename $@).h
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-05-11 14:10:35 +03:00
|
|
|
|
%.registrar.tvos.m %.registrar.tvos.h: $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.TVOS/%.dll $(LOCAL_MTOUCH)
|
2016-11-01 18:41:41 +03:00
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug bin/Makefile/mtouch.exe --xamarin-framework-directory=$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX) $(MTOUCH_VERBOSITY) --runregistrar:$(abspath $(basename $@).m) --sdkroot $(XCODE_DEVELOPER_ROOT) --sdk $(TVOS_SDK_VERSION) $< --registrar:static --target-framework Xamarin.TVOS,1.0 --abi x86_64
|
|
|
|
|
$(Q) touch $(basename $@).m $(basename $@).h
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
%.registrar.ios.a: %.registrar.ios.i386.a %.registrar.ios.x86_64.a
|
|
|
|
|
$(Q_LIPO) $(DEVICE_BIN_PATH)/lipo -create -output $@ $^
|
|
|
|
|
|
2016-11-01 18:41:41 +03:00
|
|
|
|
%.registrar.ios.i386.a: %.registrar.ios.i386.m %.registrar.ios.i386.h
|
2017-08-08 15:49:20 +03:00
|
|
|
|
$(Q_CC) $(IOS_CC) -DDEBUG -g -gdwarf-2 $(SIMULATOR86_CFLAGS) -x objective-c++ -o $@ -c $< -Wall -Wno-unguarded-availability-new -I$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/SDKs/MonoTouch.iphonesimulator.sdk/usr/include
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-11-01 18:41:41 +03:00
|
|
|
|
%.registrar.ios.x86_64.a: %.registrar.ios.x86_64.m %.registrar.ios.x86_64.h
|
2017-08-08 15:49:20 +03:00
|
|
|
|
$(Q_CC) $(IOS_CC) -DDEBUG -g -gdwarf-2 $(SIMULATOR64_CFLAGS) -x objective-c++ -o $@ -c $< -Wall -Wno-unguarded-availability-new -I$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/SDKs/MonoTouch.iphonesimulator.sdk/usr/include
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-05-11 14:10:35 +03:00
|
|
|
|
%.registrar.watchos.a: %.registrar.watchos.m %.registrar.watchos.h
|
2017-08-08 15:49:20 +03:00
|
|
|
|
$(Q_CC) $(IOS_CC) -DDEBUG -g -gdwarf-2 $(SIMULATORWATCH_CFLAGS) -x objective-c++ -o $@ -c $< -Wall -Wno-unguarded-availability-new -I$(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/include
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-05-11 14:10:35 +03:00
|
|
|
|
%.registrar.tvos.a: %.registrar.tvos.m %.registrar.tvos.h
|
2017-08-08 15:49:20 +03:00
|
|
|
|
$(Q_CC) $(IOS_CC) -DDEBUG -g -gdwarf-2 $(SIMULATORTV_CFLAGS) -x objective-c++ -o $@ -c $< -Wall -Wno-unguarded-availability-new -I$(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/include
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
TARGETS = \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/mtouch \
|
2016-04-25 01:49:28 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/mtouch.exe \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/Mono.Cecil.dll \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/Mono.Cecil.Mdb.dll \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(foreach launcher,$(SIMLAUNCHERS),$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/$(launcher)) \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/monotouch-fixes.dylib \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/Xamarin.iOS.registrar.a \
|
|
|
|
|
|
|
|
|
|
ifdef INCLUDE_WATCH
|
|
|
|
|
TARGETS += $(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/lib/Xamarin.WatchOS.registrar.a
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifdef INCLUDE_TVOS
|
|
|
|
|
TARGETS += \
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/lib/Xamarin.TVOS.registrar.a \
|
2016-11-01 18:41:41 +03:00
|
|
|
|
|
2016-04-21 15:58:45 +03:00
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
TARGET_DIRS = \
|
2016-04-25 01:49:28 +03:00
|
|
|
|
bin/Makefile \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib \
|
2016-04-25 01:49:28 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/etc/mono/assemblies/System \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_SIMULATOR_SDK)/usr/lib \
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/lib \
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/lib \
|
|
|
|
|
|
|
|
|
|
$(TARGET_DIRS):
|
|
|
|
|
$(Q) mkdir -p $@
|
|
|
|
|
|
2016-04-25 01:49:28 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/mtouch.exe: bin/Makefile/mtouch.exe | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch
|
2017-04-18 16:45:05 +03:00
|
|
|
|
$(Q) cp $< $(dir $@)
|
|
|
|
|
$(Q) cp $(<:.exe=.pdb) $(dir $@)
|
2016-04-25 01:49:28 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/Mono.Cecil.dll: $(MONO_CECIL_DLL) | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch
|
2017-04-18 16:45:05 +03:00
|
|
|
|
$(Q) cp $< $(dir $@)
|
|
|
|
|
$(Q) cp $(<:.exe=.pdb) $(dir $@)
|
2016-04-25 01:49:28 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/Mono.Cecil.Mdb.dll: $(MONO_CECIL_MDB_DLL) | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch
|
2017-04-18 16:45:05 +03:00
|
|
|
|
$(Q) cp $< $(dir $@)
|
|
|
|
|
$(Q) cp $(<:.exe=.pdb) $(dir $@)
|
2016-04-25 01:49:28 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/mtouch: mtouch.in | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin
|
|
|
|
|
$(Q_GEN) sed 's!@MONOTOUCH_PREFIX@!$(abspath $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX))!g' $< > $@
|
|
|
|
|
$(Q) chmod +x $@
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/%: % | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin
|
|
|
|
|
$(Q) cp $< $@
|
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/%: % | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib
|
|
|
|
|
$(Q) cp $< $@
|
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/monotouch-fixes.dylib: monotouch-fixes.dylib | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib
|
|
|
|
|
$(Q) cp $< $@
|
|
|
|
|
$(Q) install_name_tool -id $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/monotouch-fixes.dylib $@
|
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_SIMULATOR_SDK)/usr/lib/%.registrar.a: %.registrar.ios.a | $(IOS_DESTDIR)$(MONOTOUCH_SIMULATOR_SDK)/usr/lib
|
|
|
|
|
$(Q) cp $< $@
|
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/lib/%.registrar.a: %.registrar.watchos.a | $(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/lib
|
|
|
|
|
$(Q) cp $< $@
|
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/lib/%.registrar.a: %.registrar.tvos.a | $(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/lib
|
|
|
|
|
$(Q) cp $< $@
|
|
|
|
|
|
|
|
|
|
ifdef INCLUDE_IOS
|
|
|
|
|
install-local:: $(TARGETS)
|
|
|
|
|
all-local:: $(TARGETS)
|
|
|
|
|
endif
|
|
|
|
|
|
2017-01-04 00:34:33 +03:00
|
|
|
|
mtouch: \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/mtouch \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/mtouch.exe \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/Mono.Cecil.dll \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/Mono.Cecil.Mdb.dll
|
|
|
|
|
|
2016-04-21 15:58:45 +03:00
|
|
|
|
clean-local::
|
2016-05-05 13:16:38 +03:00
|
|
|
|
rm -Rf bin obj
|
2016-04-21 15:58:45 +03:00
|
|
|
|
rm -f $(SIMLAUNCHERS)
|
|
|
|
|
$(SYSTEM_XBUILD) /t:Clean /p:Configuration=$(CECIL_CONFIG) $(CECIL_PATH)/Mono.Cecil.csproj
|
|
|
|
|
$(SYSTEM_XBUILD) /t:Clean /p:Configuration=$(CECIL_CONFIG) $(CECIL_PATH)/symbols/mdb/Mono.Cecil.Mdb.csproj
|
|
|
|
|
|
|
|
|
|
include $(TOP)/mk/rules.mk
|
2017-09-29 20:45:53 +03:00
|
|
|
|
include ../common/Make.common
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
# make will automatically consider files created in chained implicit rules as temporary files, and delete them afterwards
|
|
|
|
|
# marking those files as .SECONDARY will prevent that deletion.
|
2016-11-01 18:41:41 +03:00
|
|
|
|
.SECONDARY: $(foreach ext,a h m,Xamarin.iOS.registrar.ios.i386.$(ext) Xamarin.iOS.registrar.ios.x86_64.$(ext))
|
|
|
|
|
.SECONDARY: $(foreach ext,a h m,Xamarin.WatchOS.registrar.watchos.$(ext))
|
|
|
|
|
.SECONDARY: $(foreach ext,a h m,Xamarin.TVOS.registrar.tvos.$(ext))
|