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

959 Коммитов

Автор SHA1 Сообщение Дата
Aleksey Kliger 8eaf097104 Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-09-20 16:40:54 -04:00
Sebastien Pouliot f333b3aed6
[apidiff] Update API diff to be based on XI 12.0 (#4845)
* XI references updated from `xcode10` (XI 12.0)
* XM references are not updated, we continue to compare with `d15.8`
* references_/* were temporary files that should not have been committed (old mistake)
2018-09-20 09:28:31 -04:00
Vincent Dondain 089cb63b7f [tools] Fix merge issue in Frameworks.cs 2018-09-19 12:27:43 -04:00
Vincent Dondain 2174ec41a2 Merge branch 'xcode10' 2018-09-18 14:12:39 -04:00
Marek Safar ec02eb8f9f Merge remote-tracking branch 'origin/master' into mono-2018-06 2018-09-18 14:41:28 +02:00
Rolf Bjarne Kvinge fc673dcf96
[mtouch/mmp] Always show the complete version. (#4817)
This makes failure diagnosis based on the exact XI/XM version much easier when
builds aren't verbose.

Example: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/632392
2018-09-14 19:12:59 +02:00
Rolf Bjarne Kvinge 7f966cfc74
[mtouch] Don't pass -read_only_relocs to clang when compiling 64-bit code. Fixes #4735. (#4809)
Fixes this ld warning:

    ld : warning : -read_only_relocs cannot be used with arm64

Fixes https://github.com/xamarin/xamarin-macios/issues/4735.
2018-09-14 07:35:53 +02:00
Marek Safar 7a4ee2e135 [linker] Updates SDKs facades list 2018-09-13 10:21:15 +02:00
Bernhard Urban cdbf1227d2 [mtouch] add mixed-mode support (#4751)
* [mtouch] add --interp-mixed option

When enabling this option, mtouch will AOT compile `mscorlib.dll`.  At
runtime that means every method that wasn't AOT'd will be executed by
the runtime interpreter.

* [mtouch] Add support to --interpreter to list the assemblies to (not) interpret.

* [msbuild] Simplify interpreter code to use a single variable.

* Fix whitespace.

* [mtouch] Move mtouch-specific code to mtouch-specific file.

* [msbuild] An empty string is a valid value for 'Interpreter', so make it a non-required property.

* [mtouch] Add sanity check for aot-compiling interpreted assemblies.
2018-09-11 14:06:53 +02:00
Rolf Bjarne Kvinge 93c672fbf1 Disable the GC pump by default. Fixes #4772. (#4781)
Fixes https://github.com/xamarin/xamarin-macios/issues/4772
2018-09-10 16:42:42 -04:00
Sebastien Pouliot ce207d263f
Order additional arguments after response file (#4607) (#4612) (#4769)
- https://github.com/xamarin/xamarin-macios/issues/4594
- There were being adding _before_ the response file which meant options that were overriding defaults were not being honored
2018-09-07 08:52:38 -04:00
Rolf Bjarne Kvinge 72c3b33284
[registrar] Ignore availability warnings from clang. Fixes #4255. (#4768)
Fixes https://github.com/xamarin/xamarin-macios/issues/4255.
2018-09-07 07:20:04 +02:00
Rolf Bjarne Kvinge 28347f9167 Merge remote-tracking branch 'origin/master' into mono-2018-06 2018-09-06 16:37:37 +02:00
Rolf Bjarne Kvinge bd32b74347
Add support for delegates as return values in protocol members. Fixes #4102. (#4758)
* Add support for delegates as return values in protocol members. Fixes #4102.

This required a few changes:

* The generator now emits the DelegateProxy attribute for property getters in
  protocol interfaces.
* The generator now emits the DelegateProxy attribute in ProtocolMember
  attributes (and the ProtocolMember attribute has been extended with
  additional properties for this purpose).
* The generator now emits the BlockProxy attribute for the parameter in
  property setters.
* The generator now emits the BlockProxy attribute in ProtocolMember
  attributes for property setters.
* The static registrar now emits the metadata token for the
  DelegateProxy.DelegateType property into the generated code so that the
  DelegateProxy attribute itself isn't needed at runtime. This is required
  when the dynamic registrar has been optimized away.

Fixes https://github.com/xamarin/xamarin-macios/issues/4102.

* [tests] Update MX4105 test to expect new warnings.
2018-09-06 16:20:23 +02:00
Rolf Bjarne Kvinge f69a8fc169 [linker] Add new Facade (System.Threading.Tasks.Extensions).
Fixes these MTouch test failures:

    1. Xamarin.Linker.SdkTest.iOS_Unified :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    2. Xamarin.Linker.SdkTest.tvOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    3. Xamarin.Linker.SdkTest.watchOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >
2018-08-30 15:01:44 +02:00
Marek Safar c844903be5 Merge remote-tracking branch 'origin/master' into mono-2018-06 2018-08-29 14:52:33 +02:00
Rolf Bjarne Kvinge 33c1db4b68
Store the minimum mono version for Xamarin.Mac in one place only (Make.config) and bump it to 5.14. Fixes #4120. (#4695)
* Store the minimum mono version for Xamarin.Mac in one place only (Make.config) and bump it to 5.14. Fixes #4120.

I've verified that we fail at launch of running on 5.12, while 5.14 works fine
(to launch at least), so the minimum system mono version is _at least_ 5.14.

Fixes https://github.com/xamarin/xamarin-macios/issues/4120.

* [mmp] Load mono's version file instead of using pkg-config to get mono's version.

pkg-config will only get three parts of the version, while the version file
has all four parts.

This is important, since we're now verifying the four parts of the version
file, and without loading those four from the system, we'll fail builds like
this:

    error MM0001: This version of Xamarin.Mac requires Mono 5.14.0.136 (the current Mono version is 5.14.0).

because the three part version's fourth number is assumed to be 0.

* Only verify mono runtime version when running with system/dynamic mono.

There should be no need to verify the mono runtime version when embedding mono:

* If it's a mono we're shipping, something very bad happened in our
  build/package for it to be an invalid mono.
* If it's a system mono that's being embedded, then we verify in mmp at build
  time.

In the first scenario (a mono we're shipping), the problem is that the mono
we've built does not report back the full version number (with four parts) [1],
which means we'll fail any check whose requirements are identical for the
first three parts, and non-zero for the last.

[1] The fourth part of the version number is created/calculated when packaging
mono, and we're not packaging it.
2018-08-29 14:28:56 +02:00
Sebastien Pouliot 9f0d2f52f5
[apidiff] Update XML references with 15.8 as the new base (master) (#4673) 2018-08-27 18:29:44 -04:00
Rolf Bjarne Kvinge 3e661ae5f2
Make the bgen build respect the BUILD_DIR variable. Fixes maccore#959. (#4700)
* [src] Fix bgen build to support custom output directory for api comparison. Fixes maccore#959.

This broke in 87c27e0c3f, which made bgen
compile using a project file (I forgot to verify that it wouldn't affect the
API comparison, and the PR build didn't complain because problems with the API
comparison typically show up in subsequent PRs).

https://github.com/xamarin/maccore/issues/959

* [src] Fix response file usage to use BUILD_DIR, so that API comparison can redirect as expected.

* [src] Fix generation of generator.csproj's dependency file to use BUILD_DIR, so that API comparison can redirect as expected.

* [src] Fix bgen.exe's dependencies.

* Use full paths to create-makefile-fragment.sh.
2018-08-27 16:46:01 +02:00
Rolf Bjarne Kvinge e51c2af9f8 [mmp] Set DEVELOPER_DIR to our Xcode. (#4691)
This makes it possible to build mmp (the partial static registrar code) with
the wrong system Xcode (which is not supported, but that doesn't mean we can't
try to make it mostly work to ease our lives).
2018-08-24 14:14:53 -04:00
Sebastien Pouliot 19173951d0
[apidiff] Update XML references to the new 15.8 stable release (#4687) 2018-08-24 08:25:14 -04:00
Rolf Bjarne Kvinge 5da88bfbc7
[mmp] Show an error if trying to build a 32-bit app with Xcode 10. Fixes #4569. (#4684)
Fixes https://github.com/xamarin/xamarin-macios/issues/4569.
2018-08-24 12:28:10 +02:00
Rolf Bjarne Kvinge 759c3f22b4 [mtouch] Build using csproj instead of manual csc command. Partial fix for #4384.
* Make sure mtouch.csproj builds using the same compiler arguments as the makefile used.
* Build mtouch.exe using msbuild in the makefile, and clean up the resulting unused make logic.

Partial fix for https://github.com/xamarin/xamarin-macios/issues/4384.
2018-08-23 13:49:40 +02:00
Rolf Bjarne Kvinge 0d6c74e3d0 [mmp] Build using csproj instead of manual csc command. Partial fix for #4384.
* Make sure mmp.csproj builds using the same compiler arguments as the makefile used.
* Clean up mmp.csproj by removing stuff that was left over from when it was a Xamarin.Mac project.
* Build mmp.exe using msbuild in the makefile, and clean up the resulting unused make logic.

Partial fix for https://github.com/xamarin/xamarin-macios/issues/4384.
2018-08-23 13:49:40 +02:00
Rolf Bjarne Kvinge 03075f1142 Add a tool that can list all inputs for a given csproj, and create a corresponding make variable. 2018-08-23 13:49:40 +02:00
Rolf Bjarne Kvinge 30af5e34ad Remove unneeded solution to simplify things / avoid confusion. 2018-08-23 12:32:57 +02:00
Sebastien Pouliot d99be7a03e
Merge d15-8 into xcode 10 2018-08-21 09:29:35 -04:00
Sebastien Pouliot 9f90691820
[mtouch] Add the option of always weak link a framework. Fixes #4628 (#4641)
Linking with CoreNFC crash applications on iOS 12 on iPad (and likely
other device not supporting, or supported, for NFC).

This used to work on iOS 11.x (when introduced). The solution is to
always **weak** link CoreNFC (since we can't guess devices)

https://github.com/xamarin/xamarin-macios/issues/4628
2018-08-20 08:34:29 -04:00
Vincent Dondain eec95e881c Merge branch 'd15-8' into xcode10-rebase-15.8 2018-08-13 21:04:56 -04:00
Chris Hamons ecfc5ce917
Order additional arguments after response file (#4607)
- https://github.com/xamarin/xamarin-macios/issues/4594
- There were being adding _before_ the response file which meant options that were overriding defaults were not being honored
2018-08-13 13:09:31 -05:00
Manuel de la Pena 7c7f46da28
[iTunesLibrary] Xcode 10 beta 3 support. (#4462) 2018-08-08 16:34:16 +02:00
Miguel de Icaza 8960cc0022
Merge pull request #4251 from migueldeicaza/xcode10-network
[Network, Security] Bindings for Network, Security, DispatchIO and some classes needed to port samples
2018-08-08 09:55:06 -04:00
Zoltan Varga 6c5544ebb8 [builds] Install the old llvm binaries into the LLVM36 directory and make the 32 bit builds use that. 2018-08-07 04:07:54 -04:00
Rolf Bjarne Kvinge 9d65e42f58 Fix testing 32-bit XM apps. Fixes maccore issue 884. (#4555)
* [jenkins] Only XM apps with variations are Classic/32-bit apps, so adjust ignore logic accordingly. Fixes maccore issue 884.

Fixes https://github.com/xamarin/maccore/issues/884.

* [mmp] Fix passing -stdlib=libc++ to clang.

* [tests] Fix 32-bit XM issues.

* [xharness] Add support for building 32-bit XM apps by using Xcode 9.4.

* [xharness] Since xharness can now build 32-bit mac apps, enable them by default.

* Remove debug code.

* Remove unused variable.
2018-08-03 17:06:23 -04:00
Marek Safar fdf3536170 Merge branch 'master' into mono-2018-06 2018-08-01 22:17:19 +02:00
Miguel de Icaza 4f33e6ab7b [CoreFoundation, Network, Security] Address review comments
* CoreFoundation/DispatchData: avoid possible integer overflow

* Network: move attributes for types introduced in Xcode10 from the
  members to the types.

* Network: for callbacks that surface INativeObjects, rather than using

* Hide P/Invokes that are not currently surfaced so xtro tests can track this

* guidelines: Ip -> IP

* SecIdentity2: fix a leak by releasing the returned array, check for handle being null.

* SecTrust2: check for handle being null.
2018-07-31 16:30:23 -04:00
Zoltan Varga 609f7b609f Revert 4bacab3d5c, it doesn't fix the ios aot problems. 2018-07-31 11:08:18 -04:00
Rolf Bjarne Kvinge d871a503f5
Specify when iOS got headers for MetalPerformanceShaders. (#4524)
Fixes this problem in the MT4134 test:

    Process exited with code 1, command:
    /Applications/Xcode83.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang  -Wno-receiver-forward-class -Wno-objc-missing-super-calls -gdwarf-2 -I/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/include -isysroot /Applications/Xcode83.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk -Qunused-arguments -fobjc-legacy-dispatch -fobjc-abi-version=2 -mios-simulator-version-min=11.4 -arch x86_64 -c -o /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory513/mtouch-test-cache/x86_64/registrar.o -x objective-c++ /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory513/mtouch-test-cache/registrar.m
    In file included from /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory513/mtouch-test-cache/registrar.m:2:
    /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory513/mtouch-test-cache/registrar.h:47:9: fatal error: 'MetalPerformanceShaders/MetalPerformanceShaders.h' file not found
    #import <MetalPerformanceShaders/MetalPerformanceShaders.h>

Note that the error is because the test is building with Xcode 8.3 (and this
is also why the problem wasn't found by the PR bots: they don't have older
Xcodes installed to run this particular test).
2018-07-30 16:11:11 +02:00
Rolf Bjarne Kvinge fd05ba6a79
[mtouch] Show warnings when we can't find referenced assemblies. (#4511)
* [mtouch] Show warnings when we can't find referenced assemblies.

This would have helped track down #4235.

* Improve MT0137 warning to indicate the type of the attribute causing the warning.
2018-07-30 10:55:23 +02:00
Miguel de Icaza b8cf7b2bd8 Merge remote-tracking branch 'remotes/origin/xcode10' into xcode10-network 2018-07-27 13:45:55 -04:00
Rolf Bjarne Kvinge 69eb5cf1a7
[mtouch] Rename method that clashes with new method in base class to fix compiler warning. (#4516)
Rename a method that clashes with a new method in a base class to avoid a
compiler warning about hidden inherited members.

Fixes:

    xamarin-macios/tools/linker/MobileSweepStep.cs(41,26): warning CS0114: 'MobileSweepStep.SweepAssembly(AssemblyDefinition)' hides inherited member 'SweepStep.SweepAssembly(AssemblyDefinition)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword.
2018-07-27 17:06:27 +02:00
Rolf Bjarne Kvinge 215ab7fc1a
[mtouch] Unify code to detect and handle frameworks that aren't supported in the simulator. Fixes #4422. (#4510)
Unify the code to detect frameworks that aren't supported in the simulator (we
had switches in two places, now this data is stored per framework).

Also remove some of the Metal frameworks for some of the platforms from these
lists (since they're now available in the simulator in some cases), which
fixes #4422.

It also seems CoreAudioKit is now available in the simulator (it wasn't in the
first Xcode 7 beta, but apparently added in a later beta. This made our
exclusion incorrect, but we never noticed).

https://github.com/xamarin/xamarin-macios/issues/4422
2018-07-27 16:30:08 +02:00
Rolf Bjarne Kvinge 923b93309c
[mmp] Bump project file to v4.6 to fix compiler error when building in VSfM. (#4515)
Fixes:

    xamarin-macios/external/mono/external/linker/linker/Linker.Steps/MarkStep.cs(310,60,310,73): error CS0117: 'Array' does not contain a definition for 'Empty'
2018-07-27 16:29:27 +02:00
Alexis Christoforides 3b18aee934 Include libmono-system-native on Xamarin.Mac 2018-07-26 21:07:47 +02:00
Marek Safar 4bacab3d5c Testing with Zoltan's patch 2018-07-26 14:40:24 +02:00
Rolf Bjarne Kvinge 9e31d07ecc [mtouch] Fix build from csproj. (#4503) 2018-07-25 15:43:38 -04:00
Rolf Bjarne Kvinge 72124256f9
Merge pull request #4501: Use libc++ instead of stdlibc++ for Xamarin.Mac too.
Use libc++ instead of stdlibc++ for Xamarin.Mac too.

See 0d31720770 for more info.

Also revert a series of commits that bumps min macOS version from 10.7 to 10.9
2018-07-25 17:10:21 +02:00
Rolf Bjarne Kvinge f12c7259a8
Revert "[mtouch] Work around broken tvOS headers in Xcode 10 beta 1." (#4502)
This reverts commit 663eaeb389.
2018-07-25 16:00:22 +02:00
Rolf Bjarne Kvinge a339290fac Revert "More 10.7 -> 10.9 bumps"
This reverts commit 24a4360600.
2018-07-25 11:56:18 +02:00
Marek Safar b183101350 Merge branch 'master' into mono-2018-06 2018-07-25 11:25:46 +02:00