152 Commits

Author SHA1 Message Date
Chinmay Garde
3f0cf1869f
Allow creation of symlinks for Goma via an environment variable. (#23765)
Setting `FLUTTER_GOMA_CREATE_XCODE_SYMLINKS=1` as an environment variable should
achieve the same result as manually specifying the `--xcode-symlinks` flag
(which I often forget). This is in keeping with the pattern of setting the
`GOMA_DIR` environment variable. The variable has a the `FLUTTER_` prefix
because environment variable with the `GOMA_` prefix are reserved for use by
Goma and variable unknown to Goma will cause a fatal error.
2021-01-19 10:35:24 -08:00
Dan Field
609036f2bf
Roll buildroot to 7832e9ed954bd5b22d043ab49a67e93babd291e6, clang to 12.0.0 mark 2 (#23742) 2021-01-16 20:12:36 -08:00
Dan Field
b6ace05f87
Revert "Roll buildroot to 92a8d2eb7aad592068f808e39b8330fd2bce25e3, Clang to 12.0.0 (#23698)" (#23734)
This reverts commit 98d3b474134f635534d4196db06e1907c642a06c.
2021-01-15 16:38:30 -08:00
Dan Field
98d3b47413
Roll buildroot to 92a8d2eb7aad592068f808e39b8330fd2bce25e3, Clang to 12.0.0 (#23698) 2021-01-15 16:16:22 -08:00
Kaushik Iska
f69d8874aa
Skia can now build with 10.11 as the min deployment version (#23717)
https://bugs.chromium.org/p/skia/issues/detail?id=11160
was blocking this from happening, now that its addresses we can
work on a build to support both metal and opengl.
2021-01-15 13:24:12 -08:00
Jason Simmons
b41dc1a29c
SkParagraph: enable the ICU breaker cache (#23667) 2021-01-14 14:39:05 -08:00
Robert Ancell
41e3906a69 Add winuwp as one of the choices in --target-os.
It's set by --winuwp.
2021-01-15 11:33:57 +13:00
Jason Simmons
f1278d0e71
Link SkShaper/SkParagraph into the engine by default (#23626) 2021-01-12 15:49:01 -08:00
Kaushik Iska
911aa7a4b3
[metal] [macos] Suffix for metal builds macos (#23432) 2021-01-05 14:59:25 -08:00
George Wright
a84c4edbec Add support for different simulator architectures 2021-01-05 11:46:27 -08:00
Kaushik Iska
70f070263a
[embedder] [metal] Add support for Metal Renderer Config in the embedder API (#22854)
This change adds a FlutterMetalRendererConfig that lets embedders
specify metal as rendering api.

Also adds a test that validates rendering a gradient using metal.
2021-01-01 20:39:36 -08:00
Dan Field
4b5e4e6057
Make it easier to turn on Xcode symlinks (#23150) 2020-12-17 13:44:01 -08:00
James Clarke
3295bebabd
Windows: Add UWP target stub [Flutter#14697] (#21754) 2020-12-06 11:03:02 -08:00
gaaclarke
f9bb4d14c2
Made tools/gn error out if it can't find goma (#22591) 2020-11-19 09:58:02 -08:00
Kaushik Iska
e9d426aef7
[goma] USe depot_tools vended goma is present (#22550) 2020-11-17 14:08:01 -08:00
stuartmorgan
5f660ce784
Roll ANGLE to latest version (#22177)
Rolls ANGLE to the latest master. This will help support upcoming UWP work.
2020-11-10 13:32:16 -08:00
Chinmay Garde
e0bc31b1f7
Fix engine Xcode projection for newer versions of Xcode. (#21701) 2020-10-08 11:40:16 -07:00
Pieter van Loon
85ed656722
Enabled metal on ios simulator (#17881) 2020-10-07 17:47:03 -07:00
Filip Filmar
4e99e6f2e1
Git versioning flag (#20748)
* [gn] Adds a flag to turn off git hash versioning

Without this flag, it is excessively tedious to build Dart SDK
for local testing on Fuchsia, since Fuchsia runner will reject
a Dart SDK without a matching version.

* [gn] Add flag --no-dart-version-git-info

This flag suppresses the SDK stamping by git hash, which allows
deploying self-built Dart SDK.  Without this flag, it is impossible
to build and deploy a development Dart SDK on Fuchsia.
2020-09-24 14:52:32 -07:00
Siva
26488499b8
Remove support for option 'dart_custom_version_for_pub' that generates (#20765)
a custom version string of Dart for Flutter.

Dart is going to be removing support for this ability to generate
a custom version string (only dev branch hashes are being rolled into
flutter).
2020-08-25 19:55:01 -07:00
David Worsham
4dc866283d
fuchsia: Convert legacy permutations to build flag (#20647) 2020-08-19 19:09:51 -07:00
Yuqian Li
9a244b2152
Revert "Revert "Add preliminary Windows arm64 plumbing (#20156)" (#20236)" (#20243)
This reverts commit 4126c0662296f977f5d02a0b3a5a27dea6c4ce50.

The LUCI recipe issue should have already been fixed by @christopherfujino 

Try to trigger the LUCI tests with this as the "retry" button is somehow disabled for https://ci.chromium.org/p/flutter/builders/prod/Linux%20Fuchsia/4755 even if I logged in.
2020-08-04 14:08:47 -07:00
Yuqian Li
4126c06622
Revert "Add preliminary Windows arm64 plumbing (#20156)" (#20236)
This reverts commit 00e75747e3cc33efcb3a8f7e4e14e9aadeed13b3.

Try to fix the LUCI Fuchsia build.
2020-08-04 11:35:21 -07:00
stuartmorgan
00e75747e3
Add preliminary Windows arm64 plumbing (#20156)
- Rolls buildroot to pick up
  https://github.com/flutter/buildroot/pull/389
- Adds support to the gn wrapper for setting the traget CPU on Windows

Attempting to generate Windows arm64 GN files will currently fail, due
to lack of arm64 support for an OpenGL test support target, but this
sets the foundation, and makes experimentation easier.

Part of https://github.com/flutter/flutter/issues/62597
2020-08-04 09:28:14 -07:00
Siva
406891841f
Manual roll of Dart 40fd1c456e...7e8348f4ce (#20125)
* Manual roll of Dart 40fd1c456e...7e8348f4ce

dart-lang/sdk@7e8348f4ce [dart2js] Assume `isPotentialSubtype` is always true.
dart-lang/sdk@5671730c5a [dart2js] Pass type arguments to callable properties even with --omit-implicit-checks.
dart-lang/sdk@4c74ebb367 [benchmark] Add dartdevc-null targets.
dart-lang/sdk@56708696a9 [vm/nnbd/bytecode] Distinguish function types with different nullabilities in bytecode generator
dart-lang/sdk@d2f7039e9c [dart:io] Parse scoped IPv6 in constructor of InternetAddress
dart-lang/sdk@c2d28d1569 Rename Null Safety tests.
dart-lang/sdk@4d3ec06277 Add more data and performance operations for Cider.
dart-lang/sdk@3103d859e4 Remove unused TypeSystemImpl.mostSpecificTypeArgument().
dart-lang/sdk@6d9a4f16dd Issue 42757. Implement null spread element typing with null-safety.
dart-lang/sdk@8c316a99de Remove unnecessary null checks.
dart-lang/sdk@6c9b885e57 Remove StrongModeCode.INVALID_PARAMETER_DECLARATION; it's redundant
dart-lang/sdk@b98eb386ea [ddc] Use prebuilt_dart_action to build js
dart-lang/sdk@8796382840 Analyzer: Move invalid_super_invocation to compile-time error
dart-lang/sdk@cece303eb4 Check diagnostics in List/Map/SetLiteralTest(s).
dart-lang/sdk@cc519b9a03 Test that during partial resolution for Cider we don't resolve some nodes.
dart-lang/sdk@4ea6d6e130 [tests/ffi] Re-enable commented out tests
dart-lang/sdk@2225b6f472 Migration: fix handling of async functions that return FutureOr.
dart-lang/sdk@f907e561c9 Migration: never produce a type of the form `FutureOr<T?>?`.
dart-lang/sdk@69ba6e5f80 Make FileSystemEntity.absolutePath understand more Windows paths.
dart-lang/sdk@202e32afeb [vm] Native API: Introduce Dart_FinalizableHandle
dart-lang/sdk@debb4dddea [co19] Language/Types and Language/Variables tests enabled
dart-lang/sdk@3661464297 [infra] Update checked-in SDKs to 2.10.0-0.0.dev
dart-lang/sdk@b8dc7627a9 [cfe] Handle NullCheck in constant evaluation

* Switch Android windows builds to also use clang.

* Bump buildroot version to fe3b46e595e7ce1350e11aa0c90365976051f4a3

* Update license.
2020-07-29 20:52:06 -07:00
Jonah Williams
d13861da2b
Remove simulator build mode restrictions (#18898) 2020-06-08 12:33:02 -07:00
Dan Field
fa0e464a71
use clang on Windows (#17407)
* use clang on Windows for everything but Android

This pulls the Clang build from Chromium. We should eventually switch to use the Fuchsia toolchain when it is available.
2020-04-29 09:38:15 -07:00
stuartmorgan
e6a2534b63
Add a gn flag to disable desktop embeddings (#17708)
Desktop embedding dependencies can trigger gn-generation-time
requiremenets; e.g., the Linux embeddings have pkg-config dependencies.
This can be problematic in some build environments, such as building
flutter_engine.so with a custom sysroot where those higher-level
dependencies aren't available.

This flag allows generating build files that don't have those
dependencies.
2020-04-14 17:48:18 -07:00
stuartmorgan
dfe13788ed
Adjust the GLFW build options (#17704)
- Adds an explicit option for not building the GLFW embedding.
- Disables GLFW by default on Windows, where it's no longer the
  uploaded embedding.
- Moves the X11 pkg-config, which is only used by the GLFW embedding,
  behind the GLFW build flag.
2020-04-14 12:45:21 -07:00
Chinmay Garde
f58967fbd3
Re-land "Enable unified OpenGL/Metal builds." (#17230) 2020-03-20 15:56:05 -07:00
Chinmay Garde
fd60ddf751
Revert "Enable unified OpenGL/Metal builds. (#17217)" (#17218)
This reverts commit 8581937c49d6b63be61d9596012d29293a9271d3.
2020-03-19 20:38:22 -07:00
Chinmay Garde
8581937c49
Enable unified OpenGL/Metal builds. (#17217) 2020-03-19 19:46:02 -07:00
Chinmay Garde
b1af234b74
Disable the use of the API_AVAILABLE macro in Skia in iOS release builds. (#17213)
The use of this macro in C++ translation units leads to the symbol visibility
being switched to default instead of hidden. This only happens in bitcode
enabled builds. A toolchain upgrade will be necessary to undo this workaround.
2020-03-19 18:13:40 -07:00
Chinmay Garde
758de2d05d
Revert "Add support for the Metal backend on all iOS builds." (#17197)
This reverts commit 4196207ee70e1f35557441ba65fa11d14e3a47f0.
2020-03-18 11:29:47 -07:00
Chinmay Garde
4196207ee7
Reland "Add support for the Metal backend on all iOS builds." (#17191) 2020-03-17 22:31:01 -07:00
Chinmay Garde
ec2c624f95
Revert "Add support for the Metal backend on all iOS builds. (#17080)" (#17088)
This reverts commit e8e0e0b51b47017c950cdc2465ef92e66194c7a7.
2020-03-10 23:32:18 -07:00
Chinmay Garde
e8e0e0b51b
Add support for the Metal backend on all iOS builds. (#17080) 2020-03-10 19:31:02 -07:00
Jason Simmons
cc0e21b5d2
[SkParagraph] Set the skia_use_icu GN flag required to build SkParagraph (#16840)
This flag is disabled by default on iOS targets.
2020-02-28 09:33:00 -08:00
Kaushik Iska
201cfae8c7
[vulkan] Bundle vulkan validation layer so files (#13930)
Enable vulkan validation for Fuchsia in debug mode as well.
2019-11-25 16:09:56 -08:00
Chinmay Garde
ed30d77ab9 Setup a Metal test surface and add a new unit-test target that tests the testing utilities.
`//flutter/testing` now contains a lot of utilities used by other test targets.
This includes stuff like working with render targets that use either OpenGL or
Metal, fixtures for interacting with the Dart VM, test assertion predicates,
etc.. However, these utilities themselves are not tested as part of a standalone
test suite. Instead, only the test targets that include it exercise these
utilities. Since these are no longer trivial, a new test target has been added
that tests the testing utilities directly.
2019-11-22 23:03:34 -08:00
sjindel-google
d9080029af
Remove use of the blobs snapshot format from unittests (#12563)
* Remove uses of the "blobs" snapshot format in Engine tests.

* Comments

* Rebasing against updated ELF loader API.
2019-10-10 14:03:42 +02:00
Chinmay Garde
ed1557f82d
Don’t bump iOS deployment target for Metal builds. (#13051)
Fixed by https://skia-review.googlesource.com/c/skia/+/245957
Fixes https://github.com/flutter/flutter/issues/41807
2019-10-09 20:37:38 -07:00
Chinmay Garde
b785ab902a
Update buildroot to pull in ubsan updates. (#12821) 2019-10-05 19:55:07 -07:00
Chinmay Garde
348108ec74
Enable sanitizer build variants. (#12816) 2019-10-04 17:32:00 -07:00
Jonah Williams
6f5eb1332f
Add support for JIT release mode (#12446) 2019-09-27 11:20:54 -07:00
Chinmay Garde
72ca6035b7
Roll buildroot and remove toolchain prefix. (#12324) 2019-09-23 11:29:13 -07:00
Dan Field
0cfee1f677
Bitcode only for release (#11520) 2019-08-27 11:25:59 -07:00
xster
fd25f80a1d
make it possible to disable debug symbols stripping (#11265) 2019-08-26 16:53:00 -07:00
Dan Field
eb92b09568
Roll buildroot and update gn script for bitcode_marker (#11449) 2019-08-26 12:58:14 -07:00
Chinmay Garde
81f1819213
Remove ability to override mac_sdk_path in flutter/tools/gn (#11013)
This was only required to use an older i386 enabled Mac SDK with a newer version of Xcode for gen_snapshot. This limitation has been patched already.
2019-08-15 16:33:12 -07:00