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

146 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge fa3956cba0 [tests] Fix issues when launching watchOS apps in the simulator. (#2192)
This requires a new mlaunch as well.
2017-06-09 07:24:01 -07:00
Rolf Bjarne Kvinge b09c0ef45c Bump maccore to get new mlaunch. (#2179) 2017-06-07 06:47:51 -07:00
Vincent Dondain 24cd73a5ca Bump to Xcode 9 (#2176)
- Update Versions-ios and Versions-mac file too.
- Bump maccore and maciostools to the xcode9 branch.
- [builds] Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
- [builds] 'system' is not available on iOS (simulator).
- [runtime] Fix: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *'
    - Prevented building xcode9 branch, see: https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/3886/console
  ```
  runtime.m:1122:9: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *'
                              char *last_sep = strrchr (info.dli_fname, '/');
  ```

- [registrar] Apple removed a header, so don't include it anymore.
- [mtouch] Don't run the partial static registrar for tvOS.
  The generated output doesn't compile because Apple forgot to ship headers for
the ExternalAccessory framework in their tvOS simulator SDK.
2017-06-06 16:21:26 -04:00
Matt Sylvia 1d4b21d27d Fix maccore hash (#2175) 2017-06-05 09:18:15 -04:00
Matt Sylvia c7cf8f99a0 Branching for d15-3 2017-06-02 15:25:16 -04:00
Rolf Bjarne Kvinge 241b6e68dc Bump maccore/maciostools and Xamarin.MacDev to line up with other products for the 15.3 release. (#2164) 2017-06-02 12:26:37 +02:00
Rolf Bjarne Kvinge 73fa2e2c4a Bump maccore to get fix for bug #55688. (#2144)
commit xamarin/maciostools@d3b50010fe
Author: Rolf Bjarne Kvinge <rolf@xamarin.com>
Date:   Tue May 30 15:17:33 2017 +0200

    [Xamarin.Hosting] Add support for launching watchOS complications. Fixes #55688.

https://bugzilla.xamarin.com/show_bug.cgi?id=55688
2017-05-31 13:05:40 +02:00
luis.aguilera 8b71efc7a6 Updated reference to maccore 2017-05-28 17:27:48 -04:00
Rolf Bjarne Kvinge a69c85bae7 Remove anything related to using mkbundle, since we're not using mkbundle anymore. (#2132) 2017-05-26 07:05:03 +02:00
Rolf Bjarne Kvinge 3ab52d9cb7 [mk] Explain how to skip version checks when version checks fail. (#2079) 2017-05-10 16:40:31 +02:00
Vincent Dondain a925a8b4e3 Update reference to maccore (#2060)
Includes XIA0005 rule.
2017-05-02 19:24:44 -04:00
Marek Safar 996b582128 Update few mcs calls in src/ 2017-04-14 09:11:01 +02:00
Marek Safar 594a375c02 Update tools to use csc 2017-04-14 09:11:01 +02:00
Vincent Dondain 111d3357f6 Update reference to maccore (#2007) 2017-04-13 17:22:06 -04:00
Rolf Bjarne Kvinge bbbe881747 Fix how we build frameworks. Fixes #53813. (#1952)
Previously we copied any equivalent .dylib and ran install_name_tool on the
library to change the library id to make it a framework.

Unfortunately this does not work when the library contains bitcode, because
bitcode embeds linker flags (-install_name for instance), and
install_name_tool does not change those linker flags.

This means that we need to create frameworks by linking with the proper
arguments, since it's much more difficult to fixup the embedded bitcode linker
flags as well.

So change how be build Mono.framework, Xamarin.framework, and any frameworks
built from assemblies to:

* Always link instead of fixup a dylib. For Mono.framework this means
  extracting all the object files from libmonosgen-2.0.a and linking those,
  for Xamarin.framework this means linking the object files we've already
  built.

* Make sure the library is correctly named when linked (once again: bitcode
  contains embedded linker flags, so renaming the executable later breaks
  stuff as well).

I've also extracted the logic that creates Mono.framework from
libmonosgen-2.0.a to a separate shell script, to deduplicate this logic.

This required a minor change in the mono builds: we need the Mono.framework
when building the `all` target, so make sure that happens.

https://bugzilla.xamarin.com/show_bug.cgi?id=53813
2017-04-03 11:52:29 +02:00
Rolf Bjarne Kvinge b568b2541e [builds] Improve mono/llvm dependencies. (#1948)
* [builds] Improve mono/llvm dependencies.

* Create a list of all the files in the mono and llvm repositories, and save
  these lists as a Make variable (in a generated Makefile - .deps.*.mk). We
  don't list _all_ the files in each repository, because there are quite a few
  (55k for mono), and Make measurably takes a while to check all of them, so
  try to limit it to a sane subset, without risking missing changes to files
  that actually matters.

* Always create stamp files when we're done with mono builds.

* Modify the mono/llvm builds to depend on all the files in their
  repositories.

* Explicitly list the corresponding .stamp-build-* files as dependencies for
  various files that are produced by the mono builds, so that make knows how
  to build these files.

* Rewrite the *-facade-check targets to depend on the corresponding
  *_BCL_TARGETS, so that we can avoid running a submake to the same Makefile
  to execute the facade checks.

  It now takes a little while (less than a second on my machine, which is
  fine) for make to list all dependencies and get their timestamps, but if
  executing multiple submakes this adds up to a multi-second timewaste.

  So avoid the timewaste by not doing submakes, but instead use dependencies
  to enforce the required target execution ordering.

* Don't depend on nicely named intermediate targets, since won't prevent
  rebuilds:

      build-cross64: setup-cross64

  Since the `setup-cross64` file doesn't exist, `build-cross64` will always
  execute. Instead depend on the stamp file:

      build-cross64: .stamp-configure-cross64

  And now `build-cross64` will only rebuild if needed.

* Don't try to list all intermediate files as .SECONDARY dependencies, instead
  list none at all, which works as if all files were listed as dependencies.

* Some targets had to move later in the file, since variables used in dependencies:

       foo: $(VARIABLE)

  must be defined before that point in the file, as opposed to variables used in recipes:

       foo:
           $(MAKE) $(VARIABLE)

  can be defined anywhere in the Makefile.

* Simplify the targets that sign assemblies significantly.

There are a few end results:

* It's now possible to do `make install`, without doing `make all` first. This
  might seem weird, but that also ensures the more common `make all install`
  works properly.

* Remakes (without any mono/llvm changes) in build/ are much faster, because
  we now won't recurse into every mono build:

      $ time make all -C builds/ -j8
      [...]
      real  0m1.873s

  This even means that we might be able to make it a habit to remake in the
  root directory, which doesn't take forever now:

      $ time make all -j8
      [...]
      real  0m4.521s

  Unfortunately adding `make install` to the mix still does some useless
  stuff, and it ends up taking ~30 seconds to complete a full build:

      $ time make all install -j8
      [...]
      real  0m32.542s

* [msbuild] Don't verify the xml syntax of targets files unless the files change.

* [build] Don't depend on installed files.

Don't depend on installed files, because that causes a rebuild when installing
to a different directory (i.e. package creation).

* Bump maccore to get build improvements.

Rebuilds are now very fast:

    $ make all install -j8
    $ time make all install -j8
    real	0m5.735s

Less than 6s to figure out that nothing needs to be done.

And strangely flushing the disk cache doesn't make it much slower:

    $ sudo purge
    $ time make all install -j8
    real	0m7.309s

Which probably means that Make mostly reads file metadata, and not actual file
contents (which is good).
2017-03-31 20:23:38 +02:00
Rolf Bjarne Kvinge d5828ef1a0 Bump maccore to get documentation for the Runtime.AssemblyRegistration event. (#1940) 2017-03-30 14:37:28 +02:00
Sebastien Pouliot 0dfcb1f09f Merge branch 'master' into mono-2017-02 2017-03-28 21:31:33 -05:00
Sebastien Pouliot fe4ce3d7f8 Bump Xcode and SDK versions to match Xcode 8.3 2017-03-28 11:21:02 -05:00
Rolf Bjarne Kvinge 3b30fc2191 Bump maccore to get fix for bug #40287. (#1914)
https://bugzilla.xamarin.com/show_bug.cgi?id=40287
2017-03-27 15:22:52 +02:00
Vincent Dondain 2302931ceb [doc] Add XIA0004 Missing64BitSupportRule to xamarin-ios-analysis (#1912)
- Also update reference to maccore with the xamarin-analysis bump that includes XIA0004.
2017-03-25 13:02:54 -04:00
Rolf Bjarne Kvinge 1dc8c86e5b Merge remote-tracking branch 'origin/master' into mono-2017-02 2017-03-24 13:54:07 +01:00
Matt Sylvia acb9b93e39 [d15-2 prep] bump macdev maccore 2017-03-24 00:14:06 -04:00
Marek Safar 7b7ae3d6c0 Bump maccore 2017-03-22 16:29:45 +01:00
Marek Safar 131ccce6e3 Revert "Bump maccore for mdoc path fix"
This reverts commit 50f4564b6b.
2017-03-22 16:26:35 +01:00
Rolf Bjarne Kvinge 1bf8c67d4a Bump maccore to an official hash. 2017-03-22 14:11:51 +01:00
Marek Safar 50f4564b6b Bump maccore for mdoc path fix 2017-03-14 11:51:08 +01:00
Marek Safar ddb377b7ff [build] Register linker for submodule checks 2017-03-14 11:47:06 +01:00
Rolf Bjarne Kvinge 7837d5d4e0 Bump maccore to get fix for IKVM-based generator. 2017-03-09 12:48:17 +01:00
Rolf Bjarne Kvinge 24dacc6d02 [runtime] Don't look in shared memory for debug data in normal apps (#1841)
* Bump maccore to get fix for launching the simulator for app extensions.

* [runtime] Don't look in shared memory for debug data in normal apps.

Don't look in shared memory for debug data in normal apps, because it
interferes when debugging extensions from the same solution as a container
app:

Example, for a keyboard extension:

1. Run extension in XS.
2. Manually launch the extension's container app (which contains a textbox
   that can be used to launch the keyboard).
3. The container app reads the debug data in shared memory which was intented
   for the extension, and takes over the debugger.
4. Launch keyboard, which will not be able to connect to the IDE because the
   container app already connected to the IDE.
2017-03-08 20:00:58 +01:00
Rolf Bjarne Kvinge 28d2216afb Bump maccore to get partial fix for bug #52710. (#1835)
* Bump maccore to get partial fix for bug #52710.

Bump maccore to get partial fix for bug #52710 (can't launch/debug today
extensions more than once).

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

* Bump maccore to make the (partial) fix for #52710 work on device as well.
2017-03-07 19:57:33 +01:00
Rolf Bjarne Kvinge 73cc729fa0 Bump maccore to get a potential fix for #52968. (#1814)
Bump maccore to get a potential fix for #52968 (random timeouts when launching
watchOS apps on Wrench).

https://bugzilla.xamarin.com/show_bug.cgi?id=52968
2017-03-02 14:59:52 +01:00
Rolf Bjarne Kvinge ae7fc187b0 Bump maccore to get improved mlaunch logging. (#1808)
Bump maccore to get improved logging to track down random launch failures for watchOS apps on wrench.
2017-03-01 16:40:31 +01:00
Rolf Bjarne Kvinge 0889b0d200 Bump maccore to get fix for #52900. (#1789)
https://bugzilla.xamarin.com/show_bug.cgi?id=52900
2017-02-28 20:11:13 +01:00
Rolf Bjarne Kvinge c5bdb08a75 Bump maccore to get fix for #52717. (#1780)
https://bugzilla.xamarin.com/show_bug.cgi?id=52717
2017-02-28 15:40:49 +01:00
Sebastien Pouliot dfc6e7b73f [build] Bump maccore to pickup the revert on how we build mlaunch (#1762)
reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=52732
2017-02-23 23:13:47 -05:00
Rolf Bjarne Kvinge 87b2e73248 Bump maccore to get fix for bug #51700. (#1756)
https://bugzilla.xamarin.com/show_bug.cgi?id=51700
2017-02-23 13:01:31 -05:00
Rolf Bjarne Kvinge 7a60206841 Bump maccore to get fix for bug #52381. (#1734)
https://bugzilla.xamarin.com/show_bug.cgi?id=52381
2017-02-21 14:03:03 -05:00
Rolf Bjarne Kvinge 10890b020c Bump to a mlaunch that hopefully fixes #50419. (#1424)
https://bugzilla.xamarin.com/show_bug.cgi?id=50419
2017-02-17 16:03:40 +01:00
Rolf Bjarne Kvinge 7bfe13396e Bump maccore to get potential fix for #47750. (#1587)
https://bugzilla.xamarin.com/show_bug.cgi?id=47750
2017-01-31 07:07:02 +01:00
Rolf Bjarne Kvinge 3dac0bae81 Use @rpath instead of @executable_path in dylibs. (#1552)
Use @rpath instead of @executable_path in dylibs, since it allows us to be
more flexible when placing dylibs in the app.

In particular with this change it's trivial to put libmonosgen-2.0.dylib in
the container app, and reference it from extensions.
2017-01-24 20:24:32 +01:00
Manuel de la Pena d3c2c53805 Bump maccore which also bump maciotools. (#1511) 2017-01-16 14:01:24 -05:00
Vincent Dondain ebb7dceaa9 Update reference to maccore (#1483)
This includes the new mlaunch -install-progress argument needed by VS
to show a progress bar when deploying to device.
2017-01-12 16:15:47 -05:00
Chris Hamons ffe142d0b5 [XM] AOT support in Xamarin.Mac (#1340) 2017-01-11 14:10:39 -06:00
Rolf Bjarne Kvinge 6e987418f7 Bump maccore to get fix for launching watch apps in the simulator. (#1458) 2017-01-10 18:51:56 +01:00
Alex Soto 9ac69344db [Docsfixer] Bump maccore to get some docsfixer changes 2016-12-15 13:13:19 -06:00
Emanuel 916f8da93e Bumps maccore to get msbuild.zip changes (#1348) 2016-12-15 10:52:29 +01:00
Rolf Bjarne Kvinge b4e458739d Bump maccore to get fix for #48830. (#1333)
https://bugzilla.xamarin.com/show_bug.cgi?id=48830
2016-12-12 13:23:16 +01:00
Rolf Bjarne Kvinge 33e778bd66 Bump maccore to get new mlaunch. (#1296)
* Bump maccore to get new mlaunch.

A new mlaunch that:

* Should have fewer random failures when launching watchOS apps.
* Supports launching extensions on device.
* Supports uninstalling apps from devices.
2016-12-03 01:53:36 +01:00
Vincent Dondain 42775bac58 Update reference to maccore
Includes xamarin-analysis bump with rule XIA0003.
2016-11-21 16:14:09 +01:00