diff --git a/DEPS b/DEPS index 73b47bdb1ac..0d26b689b77 100644 --- a/DEPS +++ b/DEPS @@ -262,7 +262,7 @@ allowed_hosts = [ ] deps = { - 'src': 'https://github.com/flutter/buildroot.git' + '@' + '60415e4cb48742a60ba3859d92bbdcb7d14841b0', + 'src': 'https://github.com/flutter/buildroot.git' + '@' + '6f31be56e1058997feac2e93ff67fef21ae25eaf', # Fuchsia compatibility # @@ -325,7 +325,7 @@ deps = { 'src/third_party/protobuf': Var('fuchsia_git') + '/third_party/protobuf' + '@' + Var('dart_libprotobuf_rev'), - 'src/build/secondary/third_party/protobuf': + 'src/flutter/build/secondary/third_party/protobuf': Var('fuchsia_git') + '/protobuf-gn' + '@' + Var('dart_protobuf_gn_rev'), 'src/third_party/dart': diff --git a/engine/src/flutter/.gitignore b/engine/src/flutter/.gitignore index a19d20d3838..fcd681e7bd9 100644 --- a/engine/src/flutter/.gitignore +++ b/engine/src/flutter/.gitignore @@ -130,3 +130,4 @@ app.*.symbols # Prebuilt binaries. /prebuilts/ +/build/secondary/third_party/protobuf diff --git a/engine/src/flutter/build/secondary/flutter/third_party/glfw/BUILD.gn b/engine/src/flutter/build/secondary/flutter/third_party/glfw/BUILD.gn new file mode 100644 index 00000000000..98c3fe43e7e --- /dev/null +++ b/engine/src/flutter/build/secondary/flutter/third_party/glfw/BUILD.gn @@ -0,0 +1,125 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("glfw_args.gni") + +_checkout_dir = "//flutter/third_party/glfw" + +config("relative_glfw_headers") { + include_dirs = [ + "$_checkout_dir/include", + "$_checkout_dir/include/GLFW", + ] +} + +source_set("glfw") { + public = [ + "$_checkout_dir/include/GLFW/glfw3.h", + "$_checkout_dir/include/GLFW/glfw3native.h", + ] + + sources = [ + "$_checkout_dir/src/context.c", + "$_checkout_dir/src/egl_context.c", + "$_checkout_dir/src/init.c", + "$_checkout_dir/src/input.c", + "$_checkout_dir/src/monitor.c", + "$_checkout_dir/src/null_init.c", + "$_checkout_dir/src/null_joystick.c", + "$_checkout_dir/src/null_joystick.h", + "$_checkout_dir/src/null_monitor.c", + "$_checkout_dir/src/null_platform.h", + "$_checkout_dir/src/null_window.c", + "$_checkout_dir/src/osmesa_context.c", + "$_checkout_dir/src/platform.c", + "$_checkout_dir/src/vulkan.c", + "$_checkout_dir/src/window.c", + ] + + include_dirs = [ "$_checkout_dir/src" ] + + public_configs = [ ":relative_glfw_headers" ] + + if (is_win) { + sources += [ + "$_checkout_dir/src/wgl_context.c", + "$_checkout_dir/src/win32_init.c", + "$_checkout_dir/src/win32_joystick.c", + "$_checkout_dir/src/win32_joystick.h", + "$_checkout_dir/src/win32_module.c", + "$_checkout_dir/src/win32_monitor.c", + "$_checkout_dir/src/win32_platform.h", + "$_checkout_dir/src/win32_thread.c", + "$_checkout_dir/src/win32_time.c", + "$_checkout_dir/src/win32_window.c", + ] + + defines = [ "_GLFW_WIN32" ] + } else if (is_linux) { + sources += [ + "$_checkout_dir/src/glx_context.c", + "$_checkout_dir/src/linux_joystick.c", + "$_checkout_dir/src/linux_joystick.h", + "$_checkout_dir/src/posix_module.c", + "$_checkout_dir/src/posix_poll.c", + "$_checkout_dir/src/posix_poll.h", + "$_checkout_dir/src/posix_thread.c", + "$_checkout_dir/src/posix_thread.h", + "$_checkout_dir/src/posix_time.c", + "$_checkout_dir/src/posix_time.h", + "$_checkout_dir/src/x11_init.c", + "$_checkout_dir/src/x11_monitor.c", + "$_checkout_dir/src/x11_platform.h", + "$_checkout_dir/src/x11_window.c", + "$_checkout_dir/src/xkb_unicode.c", + "$_checkout_dir/src/xkb_unicode.h", + ] + + defines = [ + "_GLFW_X11", + "_GLFW_HAS_XF86VM", + ] + + libs = [ + "X11", + "Xcursor", + "Xinerama", + "Xrandr", + "Xxf86vm", + ] + } else if (is_mac) { + sources += [ + "$_checkout_dir/src/cocoa_init.m", + "$_checkout_dir/src/cocoa_joystick.h", + "$_checkout_dir/src/cocoa_joystick.m", + "$_checkout_dir/src/cocoa_monitor.m", + "$_checkout_dir/src/cocoa_platform.h", + "$_checkout_dir/src/cocoa_time.c", + "$_checkout_dir/src/cocoa_window.m", + "$_checkout_dir/src/nsgl_context.m", + "$_checkout_dir/src/posix_module.c", + "$_checkout_dir/src/posix_thread.c", + "$_checkout_dir/src/posix_thread.h", + ] + + defines = [ "_GLFW_COCOA" ] + + cflags = [ + "-Wno-deprecated-declarations", + "-Wno-objc-multiple-method-names", + ] + + frameworks = [ + "CoreVideo.framework", + "IOKit.framework", + ] + } + + if (glfw_vulkan_library != "") { + defines += [ "_GLFW_VULKAN_LIBRARY=" + glfw_vulkan_library ] + } + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] +} diff --git a/engine/src/flutter/build/secondary/flutter/third_party/glfw/README b/engine/src/flutter/build/secondary/flutter/third_party/glfw/README new file mode 100644 index 00000000000..404ef3cae2e --- /dev/null +++ b/engine/src/flutter/build/secondary/flutter/third_party/glfw/README @@ -0,0 +1,13 @@ +Name: GLFW +License: zlib/libpng (BSD-like) +Upstream Git: https://github.com/glfw/glfw +Version: 3.2.1 +Description: + +GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and +Vulkan development on the desktop. + +To update: +- Advance the pinned hash in DEPS, which should map the repository to + //third_party/glfw +- Update BUILD.gn if necessary for changes. diff --git a/engine/src/flutter/build/secondary/flutter/third_party/glfw/glfw_args.gni b/engine/src/flutter/build/secondary/flutter/third_party/glfw/glfw_args.gni new file mode 100644 index 00000000000..c5903ad2078 --- /dev/null +++ b/engine/src/flutter/build/secondary/flutter/third_party/glfw/glfw_args.gni @@ -0,0 +1,7 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +declare_args() { + glfw_vulkan_library = "" +} diff --git a/engine/src/flutter/build/secondary/testing/gmock/BUILD.gn b/engine/src/flutter/build/secondary/testing/gmock/BUILD.gn new file mode 100644 index 00000000000..ecf49f0ff7f --- /dev/null +++ b/engine/src/flutter/build/secondary/testing/gmock/BUILD.gn @@ -0,0 +1,50 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +config("gmock_config") { + # Gmock headers need to be able to find themselves. + include_dirs = [ "include" ] +} + +static_library("gmock") { + # TODO http://crbug.com/412064 enable this flag all the time. + testonly = !is_component_build + sources = [ + # Sources based on files in r173 of gmock. + "include/gmock/gmock-actions.h", + "include/gmock/gmock-cardinalities.h", + "include/gmock/gmock-generated-actions.h", + "include/gmock/gmock-generated-function-mockers.h", + "include/gmock/gmock-generated-matchers.h", + "include/gmock/gmock-generated-nice-strict.h", + "include/gmock/gmock-matchers.h", + "include/gmock/gmock-spec-builders.h", + "include/gmock/gmock.h", + "include/gmock/internal/gmock-generated-internal-utils.h", + "include/gmock/internal/gmock-internal-utils.h", + "include/gmock/internal/gmock-port.h", + + #"src/gmock-all.cc", # Not needed by our build. + "src/gmock-cardinalities.cc", + "src/gmock-internal-utils.cc", + "src/gmock-matchers.cc", + "src/gmock-spec-builders.cc", + "src/gmock.cc", + ] + + # This project includes some stuff form gtest's guts. + include_dirs = [ "../gtest/include" ] + + public_configs = [ + ":gmock_config", + "//testing/gtest:gtest_config", + ] +} + +static_library("gmock_main") { + # TODO http://crbug.com/412064 enable this flag all the time. + testonly = !is_component_build + sources = [ "src/gmock_main.cc" ] + deps = [ ":gmock" ] +} diff --git a/engine/src/flutter/build/secondary/testing/gtest/BUILD.gn b/engine/src/flutter/build/secondary/testing/gtest/BUILD.gn new file mode 100644 index 00000000000..dad1b7d697b --- /dev/null +++ b/engine/src/flutter/build/secondary/testing/gtest/BUILD.gn @@ -0,0 +1,132 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +config("gtest_config") { + visibility = [ + ":*", + "//testing/gmock:*", # gmock also shares this config. + ] + + defines = [ + # In order to allow regex matches in gtest to be shared between Windows + # and other systems, we tell gtest to always use it's internal engine. + "GTEST_HAS_POSIX_RE=0", + + # Chrome doesn't support / require C++11, yet. + "GTEST_LANG_CXX11=0", + ] + + # Gtest headers need to be able to find themselves. + include_dirs = [ "include" ] + + if (is_win) { + cflags = [ "/wd4800" ] # Unused variable warning. + } + + if (is_posix) { + defines += [ + # gtest isn't able to figure out when RTTI is disabled for gcc + # versions older than 4.3.2, and assumes it's enabled. Our Mac + # and Linux builds disable RTTI, and cannot guarantee that the + # compiler will be 4.3.2. or newer. The Mac, for example, uses + # 4.2.1 as that is the latest available on that platform. gtest + # must be instructed that RTTI is disabled here, and for any + # direct dependents that might include gtest headers. + "GTEST_HAS_RTTI=0", + ] + } + + if (is_android) { + defines += [ + # We want gtest features that use tr1::tuple, but we currently + # don't support the variadic templates used by libstdc++'s + # implementation. gtest supports this scenario by providing its + # own implementation but we must opt in to it. + "GTEST_USE_OWN_TR1_TUPLE=1", + + # GTEST_USE_OWN_TR1_TUPLE only works if GTEST_HAS_TR1_TUPLE is set. + # gtest r625 made it so that GTEST_HAS_TR1_TUPLE is set to 0 + # automatically on android, so it has to be set explicitly here. + "GTEST_HAS_TR1_TUPLE=1", + ] + } +} + +config("gtest_direct_config") { + visibility = [ ":*" ] + defines = [ "UNIT_TEST" ] +} + +config("gtest_warnings") { + visibility = [ ":*" ] + if (is_win && is_clang) { + # The Mutex constructor initializer list in gtest-port.cc is incorrectly + # ordered. See + # https://groups.google.com/d/msg/googletestframework/S5uSV8L2TX8/U1FaTDa6J6sJ. + cflags = [ "-Wno-reorder" ] + } +} + +static_library("gtest") { + # TODO http://crbug.com/412064 enable this flag all the time. + testonly = !is_component_build + sources = [ + "include/gtest/gtest-death-test.h", + "include/gtest/gtest-message.h", + "include/gtest/gtest-param-test.h", + "include/gtest/gtest-printers.h", + "include/gtest/gtest-spi.h", + "include/gtest/gtest-test-part.h", + "include/gtest/gtest-typed-test.h", + "include/gtest/gtest.h", + "include/gtest/gtest_pred_impl.h", + "include/gtest/internal/gtest-death-test-internal.h", + "include/gtest/internal/gtest-filepath.h", + "include/gtest/internal/gtest-internal.h", + "include/gtest/internal/gtest-linked_ptr.h", + "include/gtest/internal/gtest-param-util-generated.h", + "include/gtest/internal/gtest-param-util.h", + "include/gtest/internal/gtest-port.h", + "include/gtest/internal/gtest-string.h", + "include/gtest/internal/gtest-tuple.h", + "include/gtest/internal/gtest-type-util.h", + + #"gtest/src/gtest-all.cc", # Not needed by our build. + "../multiprocess_func_list.cc", + "../multiprocess_func_list.h", + "../platform_test.h", + "src/gtest-death-test.cc", + "src/gtest-filepath.cc", + "src/gtest-internal-inl.h", + "src/gtest-port.cc", + "src/gtest-printers.cc", + "src/gtest-test-part.cc", + "src/gtest-typed-test.cc", + "src/gtest.cc", + ] + + if (is_mac) { + sources += [ + "../gtest_mac.h", + "../gtest_mac.mm", + "../platform_test_mac.mm", + ] + } + + include_dirs = [ "." ] + + all_dependent_configs = [ ":gtest_config" ] + public_configs = [ ":gtest_direct_config" ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ ":gtest_warnings" ] +} + +source_set("gtest_main") { + # TODO http://crbug.com/412064 enable this flag all the time. + testonly = !is_component_build + sources = [ "src/gtest_main.cc" ] + deps = [ ":gtest" ] +} diff --git a/engine/src/flutter/build/secondary/testing/libfuzzer/fuzzer_test.gni b/engine/src/flutter/build/secondary/testing/libfuzzer/fuzzer_test.gni new file mode 100644 index 00000000000..8f8f3e750fe --- /dev/null +++ b/engine/src/flutter/build/secondary/testing/libfuzzer/fuzzer_test.gni @@ -0,0 +1,11 @@ +# Copyright 2019 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# This is a dummy implementation to satisfy the ANGLE build, using the no-op +# implementation from the real (Chromium) fuzzer_test.gni. +template("fuzzer_test") { + not_needed(invoker, "*") + group(target_name) { + } +} diff --git a/engine/src/flutter/build/secondary/testing/test.gni b/engine/src/flutter/build/secondary/testing/test.gni new file mode 100644 index 00000000000..ff724df0896 --- /dev/null +++ b/engine/src/flutter/build/secondary/testing/test.gni @@ -0,0 +1,6 @@ +# Copyright 2019 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# This is a dummy file to satisfy the ANGLE build. Flutter's use of ANGLE +# doesn't actually require any of the real content. diff --git a/engine/src/flutter/build/secondary/third_party/BUILD.gn b/engine/src/flutter/build/secondary/third_party/BUILD.gn new file mode 100644 index 00000000000..c44ca40e888 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/BUILD.gn @@ -0,0 +1,9 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_set("fontconfig") { + if (is_linux) { + libs = [ "fontconfig" ] + } +} diff --git a/engine/src/flutter/build/secondary/third_party/android_ndk/BUILD.gn b/engine/src/flutter/build/secondary/third_party/android_ndk/BUILD.gn new file mode 100644 index 00000000000..697d2873a5e --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/android_ndk/BUILD.gn @@ -0,0 +1,8 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_set("cpu_features") { + public_configs = [ "//third_party/android_tools:cpu_features_include" ] + deps = [ "//third_party/android_tools:cpu_features" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/android_tools/BUILD.gn b/engine/src/flutter/build/secondary/third_party/android_tools/BUILD.gn new file mode 100644 index 00000000000..574472afdb2 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/android_tools/BUILD.gn @@ -0,0 +1,19 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/android/rules.gni") + +config("cpu_features_include") { + include_dirs = [ "ndk/sources/android/cpufeatures" ] +} + +# This is the GN version of +# //build/android/ndk.gyp:cpu_features +source_set("cpu_features") { + sources = [ "ndk/sources/android/cpufeatures/cpu-features.c" ] + public_configs = [ ":cpu_features_include" ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/benchmark/BUILD.gn b/engine/src/flutter/build/secondary/third_party/benchmark/BUILD.gn new file mode 100644 index 00000000000..f88d6bf0c68 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/benchmark/BUILD.gn @@ -0,0 +1,60 @@ +# Copyright 2016 The Fuchsia Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +config("benchmark_config") { + visibility = [ ":*" ] + include_dirs = [ "include" ] +} +static_library("benchmark") { + testonly = true + + sources = [ + "//third_party/benchmark/src/arraysize.h", + "//third_party/benchmark/src/benchmark.cc", + "//third_party/benchmark/src/benchmark_api_internal.cc", + "//third_party/benchmark/src/benchmark_api_internal.h", + "//third_party/benchmark/src/benchmark_main.cc", + "//third_party/benchmark/src/benchmark_name.cc", + "//third_party/benchmark/src/benchmark_register.cc", + "//third_party/benchmark/src/benchmark_register.h", + "//third_party/benchmark/src/benchmark_runner.cc", + "//third_party/benchmark/src/benchmark_runner.h", + "//third_party/benchmark/src/check.h", + "//third_party/benchmark/src/colorprint.cc", + "//third_party/benchmark/src/colorprint.h", + "//third_party/benchmark/src/commandlineflags.cc", + "//third_party/benchmark/src/commandlineflags.h", + "//third_party/benchmark/src/complexity.cc", + "//third_party/benchmark/src/complexity.h", + "//third_party/benchmark/src/console_reporter.cc", + "//third_party/benchmark/src/counter.cc", + "//third_party/benchmark/src/counter.h", + "//third_party/benchmark/src/csv_reporter.cc", + "//third_party/benchmark/src/cycleclock.h", + "//third_party/benchmark/src/internal_macros.h", + "//third_party/benchmark/src/json_reporter.cc", + "//third_party/benchmark/src/log.h", + "//third_party/benchmark/src/mutex.h", + "//third_party/benchmark/src/perf_counters.cc", + "//third_party/benchmark/src/perf_counters.h", + "//third_party/benchmark/src/re.h", + "//third_party/benchmark/src/reporter.cc", + "//third_party/benchmark/src/sleep.cc", + "//third_party/benchmark/src/sleep.h", + "//third_party/benchmark/src/statistics.cc", + "//third_party/benchmark/src/statistics.h", + "//third_party/benchmark/src/string_util.cc", + "//third_party/benchmark/src/string_util.h", + "//third_party/benchmark/src/sysinfo.cc", + "//third_party/benchmark/src/sysinfo.h", + "//third_party/benchmark/src/thread_manager.h", + "//third_party/benchmark/src/thread_timer.h", + "//third_party/benchmark/src/timers.cc", + "//third_party/benchmark/src/timers.h", + ] + public_configs = [ ":benchmark_config" ] + defines = [ + "HAVE_STD_REGEX", + "HAVE_THREAD_SAFETY_ATTRIBUTES", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/cpu-features/BUILD.gn b/engine/src/flutter/build/secondary/third_party/cpu-features/BUILD.gn new file mode 100644 index 00000000000..dadee56df8c --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/cpu-features/BUILD.gn @@ -0,0 +1,8 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_set("cpu-features") { + public_configs = [ "//third_party/android_tools:cpu_features_include" ] + deps = [ "//third_party/android_tools:cpu_features" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/dart/pkg/meta/BUILD.gn b/engine/src/flutter/build/secondary/third_party/dart/pkg/meta/BUILD.gn new file mode 100644 index 00000000000..3ad0e03f66b --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/dart/pkg/meta/BUILD.gn @@ -0,0 +1,26 @@ +# Copyright 2021 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(flutter/flutter#85356): This file was originally generated by the +# fuchsia.git script: `package_importer.py`. The generated `BUILD.gn` files were +# copied to the flutter repo to support `dart_library` targets used for +# Flutter-Fuchsia integration tests. This file can be maintained by hand, but it +# would be better to implement a script for Flutter, to either generate these +# BUILD.gn files or dynamically generate the GN targets. + +import("//flutter/tools/fuchsia/dart/dart_library.gni") + +dart_library("meta") { + package_name = "meta" + + language_version = "2.12" + + deps = [] + + sources = [ + "dart2js.dart", + "meta.dart", + "meta_meta.dart", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/args/BUILD.gn b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/args/BUILD.gn new file mode 100644 index 00000000000..e25404362f6 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/args/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright 2021 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(flutter/flutter#85356): This file was originally generated by the +# fuchsia.git script: `package_importer.py`. The generated `BUILD.gn` files were +# copied to the flutter repo to support `dart_library` targets used for +# Flutter-Fuchsia integration tests. This file can be maintained by hand, but it +# would be better to implement a script for Flutter, to either generate these +# BUILD.gn files or dynamically generate the GN targets. + +import("//flutter/tools/fuchsia/dart/dart_library.gni") + +dart_library("args") { + package_name = "args" + + language_version = "2.12" + + deps = [] + + sources = [ + "args.dart", + "command_runner.dart", + "src/allow_anything_parser.dart", + "src/arg_parser.dart", + "src/arg_parser_exception.dart", + "src/arg_results.dart", + "src/help_command.dart", + "src/option.dart", + "src/parser.dart", + "src/usage.dart", + "src/usage_exception.dart", + "src/utils.dart", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/collection/BUILD.gn b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/collection/BUILD.gn new file mode 100644 index 00000000000..092624f4bed --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/collection/BUILD.gn @@ -0,0 +1,51 @@ +# Copyright 2021 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(flutter/flutter#85356): This file was originally generated by the +# fuchsia.git script: `package_importer.py`. The generated `BUILD.gn` files were +# copied to the flutter repo to support `dart_library` targets used for +# Flutter-Fuchsia integration tests. This file can be maintained by hand, but it +# would be better to implement a script for Flutter, to either generate these +# BUILD.gn files or dynamically generate the GN targets. + +import("//flutter/tools/fuchsia/dart/dart_library.gni") + +dart_library("collection") { + package_name = "collection" + + language_version = "2.12" + + deps = [] + + sources = [ + "algorithms.dart", + "collection.dart", + "equality.dart", + "iterable_zip.dart", + "priority_queue.dart", + "src/algorithms.dart", + "src/canonicalized_map.dart", + "src/combined_wrappers/combined_iterable.dart", + "src/combined_wrappers/combined_iterator.dart", + "src/combined_wrappers/combined_list.dart", + "src/combined_wrappers/combined_map.dart", + "src/comparators.dart", + "src/empty_unmodifiable_set.dart", + "src/equality.dart", + "src/equality_map.dart", + "src/equality_set.dart", + "src/functions.dart", + "src/iterable_extensions.dart", + "src/iterable_zip.dart", + "src/list_extensions.dart", + "src/priority_queue.dart", + "src/queue_list.dart", + "src/union_set.dart", + "src/union_set_controller.dart", + "src/unmodifiable_wrappers.dart", + "src/utils.dart", + "src/wrappers.dart", + "wrappers.dart", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/logging/BUILD.gn b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/logging/BUILD.gn new file mode 100644 index 00000000000..73baa076361 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/logging/BUILD.gn @@ -0,0 +1,27 @@ +# Copyright 2021 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(flutter/flutter#85356): This file was originally generated by the +# fuchsia.git script: `package_importer.py`. The generated `BUILD.gn` files were +# copied to the flutter repo to support `dart_library` targets used for +# Flutter-Fuchsia integration tests. This file can be maintained by hand, but it +# would be better to implement a script for Flutter, to either generate these +# BUILD.gn files or dynamically generate the GN targets. + +import("//flutter/tools/fuchsia/dart/dart_library.gni") + +dart_library("logging") { + package_name = "logging" + + language_version = "2.12" + + deps = [] + + sources = [ + "logging.dart", + "src/level.dart", + "src/log_record.dart", + "src/logger.dart", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/matcher/BUILD.gn b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/matcher/BUILD.gn new file mode 100644 index 00000000000..9bd84e15f70 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/matcher/BUILD.gn @@ -0,0 +1,55 @@ +# Copyright 2021 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(flutter/flutter#85356): This file was originally generated by the +# fuchsia.git script: `package_importer.py`. The generated `BUILD.gn` files were +# copied to the flutter repo to support `dart_library` targets used for +# Flutter-Fuchsia integration tests. This file can be maintained by hand, but it +# would be better to implement a script for Flutter, to either generate these +# BUILD.gn files or dynamically generate the GN targets. + +import("//flutter/tools/fuchsia/dart/dart_library.gni") + +dart_library("matcher") { + package_name = "matcher" + + language_version = "2.12" + + deps = [ "//third_party/dart/third_party/pkg/stack_trace" ] + + sources = [ + "expect.dart", + "matcher.dart", + "mirror_matchers.dart", + "src/core_matchers.dart", + "src/custom_matcher.dart", + "src/description.dart", + "src/equals_matcher.dart", + "src/error_matchers.dart", + "src/expect/async_matcher.dart", + "src/expect/expect.dart", + "src/expect/expect_async.dart", + "src/expect/future_matchers.dart", + "src/expect/never_called.dart", + "src/expect/prints_matcher.dart", + "src/expect/stream_matcher.dart", + "src/expect/stream_matchers.dart", + "src/expect/throws_matcher.dart", + "src/expect/throws_matchers.dart", + "src/expect/util/placeholder.dart", + "src/expect/util/pretty_print.dart", + "src/feature_matcher.dart", + "src/having_matcher.dart", + "src/interfaces.dart", + "src/iterable_matchers.dart", + "src/map_matchers.dart", + "src/numeric_matchers.dart", + "src/operator_matchers.dart", + "src/order_matchers.dart", + "src/pretty_print.dart", + "src/string_matchers.dart", + "src/type_matcher.dart", + "src/util.dart", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/path/BUILD.gn b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/path/BUILD.gn new file mode 100644 index 00000000000..2e692b66eb9 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/path/BUILD.gn @@ -0,0 +1,36 @@ +# Copyright 2021 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(flutter/flutter#85356): This file was originally generated by the +# fuchsia.git script: `package_importer.py`. The generated `BUILD.gn` files were +# copied to the flutter repo to support `dart_library` targets used for +# Flutter-Fuchsia integration tests. This file can be maintained by hand, but it +# would be better to implement a script for Flutter, to either generate these +# BUILD.gn files or dynamically generate the GN targets. + +import("//flutter/tools/fuchsia/dart/dart_library.gni") + +dart_library("path") { + package_name = "path" + + language_version = "2.12" + + deps = [] + + sources = [ + "path.dart", + "src/characters.dart", + "src/context.dart", + "src/internal_style.dart", + "src/parsed_path.dart", + "src/path_exception.dart", + "src/path_map.dart", + "src/path_set.dart", + "src/style.dart", + "src/style/posix.dart", + "src/style/url.dart", + "src/style/windows.dart", + "src/utils.dart", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/stack_trace/BUILD.gn b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/stack_trace/BUILD.gn new file mode 100644 index 00000000000..10dd2983dd0 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/dart/third_party/pkg/stack_trace/BUILD.gn @@ -0,0 +1,33 @@ +# Copyright 2021 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(flutter/flutter#85356): This file was originally generated by the +# fuchsia.git script: `package_importer.py`. The generated `BUILD.gn` files were +# copied to the flutter repo to support `dart_library` targets used for +# Flutter-Fuchsia integration tests. This file can be maintained by hand, but it +# would be better to implement a script for Flutter, to either generate these +# BUILD.gn files or dynamically generate the GN targets. + +import("//flutter/tools/fuchsia/dart/dart_library.gni") + +dart_library("stack_trace") { + package_name = "stack_trace" + + language_version = "2.12" + + deps = [ "//third_party/dart/third_party/pkg/path" ] + + sources = [ + "src/chain.dart", + "src/frame.dart", + "src/lazy_chain.dart", + "src/lazy_trace.dart", + "src/stack_zone_specification.dart", + "src/trace.dart", + "src/unparsed_frame.dart", + "src/utils.dart", + "src/vm_trace.dart", + "stack_trace.dart", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/expat/BUILD.gn b/engine/src/flutter/build/secondary/third_party/expat/BUILD.gn new file mode 100644 index 00000000000..316ec274443 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/expat/BUILD.gn @@ -0,0 +1,26 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +config("expat_config") { + include_dirs = [ + "expat/lib", + "//flutter/build/secondary/third_party/expat/expat_config", + ] + + defines = [ + "XML_STATIC", + "XML_DEV_URANDOM", + ] +} + +static_library("expat") { + sources = [ + "expat/lib/expat.h", + "expat/lib/xmlparse.c", + "expat/lib/xmlrole.c", + "expat/lib/xmltok.c", + ] + + public_configs = [ ":expat_config" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/expat/expat_config/expat_config.h b/engine/src/flutter/build/secondary/third_party/expat/expat_config/expat_config.h new file mode 100644 index 00000000000..d02d0f6005c --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/expat/expat_config/expat_config.h @@ -0,0 +1,14 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#define BYTEORDER 1234 +#define HAVE_INTTYPES_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRING_H 1 +#define STDC_HEADERS 1 +#define XML_CONTEXT_BYTES 1024 +#define XML_DTD 1 +#define XML_NS 1 diff --git a/engine/src/flutter/build/secondary/third_party/flatbuffers/BUILD.gn b/engine/src/flutter/build/secondary/third_party/flatbuffers/BUILD.gn new file mode 100644 index 00000000000..502be760175 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/flatbuffers/BUILD.gn @@ -0,0 +1,100 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +_src_root = "//third_party/flatbuffers" + +config("flatbuffers_public_configs") { + include_dirs = [ "$_src_root/include" ] + + cflags = [ "-Wno-newline-eof" ] +} + +source_set("flatbuffers") { + sources = [ + "$_src_root/include/flatbuffers/allocator.h", + "$_src_root/include/flatbuffers/array.h", + "$_src_root/include/flatbuffers/base.h", + "$_src_root/include/flatbuffers/bfbs_generator.h", + "$_src_root/include/flatbuffers/buffer.h", + "$_src_root/include/flatbuffers/buffer_ref.h", + "$_src_root/include/flatbuffers/default_allocator.h", + "$_src_root/include/flatbuffers/detached_buffer.h", + "$_src_root/include/flatbuffers/flatbuffer_builder.h", + "$_src_root/include/flatbuffers/flatbuffers.h", + "$_src_root/include/flatbuffers/flex_flat_util.h", + "$_src_root/include/flatbuffers/flexbuffers.h", + "$_src_root/include/flatbuffers/hash.h", + "$_src_root/include/flatbuffers/idl.h", + "$_src_root/include/flatbuffers/minireflect.h", + "$_src_root/include/flatbuffers/reflection.h", + "$_src_root/include/flatbuffers/reflection_generated.h", + "$_src_root/include/flatbuffers/registry.h", + "$_src_root/include/flatbuffers/stl_emulation.h", + "$_src_root/include/flatbuffers/string.h", + "$_src_root/include/flatbuffers/struct.h", + "$_src_root/include/flatbuffers/table.h", + "$_src_root/include/flatbuffers/util.h", + "$_src_root/include/flatbuffers/vector.h", + "$_src_root/include/flatbuffers/vector_downward.h", + "$_src_root/include/flatbuffers/verifier.h", + "$_src_root/src/idl_gen_text.cpp", + "$_src_root/src/idl_parser.cpp", + "$_src_root/src/reflection.cpp", + "$_src_root/src/util.cpp", + ] + + public_configs = [ ":flatbuffers_public_configs" ] +} + +executable("flatc") { + sources = [ + "$_src_root/grpc/src/compiler/cpp_generator.cc", + "$_src_root/grpc/src/compiler/cpp_generator.h", + "$_src_root/grpc/src/compiler/go_generator.cc", + "$_src_root/grpc/src/compiler/go_generator.h", + "$_src_root/grpc/src/compiler/java_generator.cc", + "$_src_root/grpc/src/compiler/java_generator.h", + "$_src_root/grpc/src/compiler/python_generator.cc", + "$_src_root/grpc/src/compiler/python_generator.h", + "$_src_root/grpc/src/compiler/schema_interface.h", + "$_src_root/grpc/src/compiler/swift_generator.cc", + "$_src_root/grpc/src/compiler/swift_generator.h", + "$_src_root/grpc/src/compiler/ts_generator.cc", + "$_src_root/grpc/src/compiler/ts_generator.h", + "$_src_root/include/flatbuffers/code_generators.h", + "$_src_root/src/annotated_binary_text_gen.cpp", + "$_src_root/src/annotated_binary_text_gen.h", + "$_src_root/src/bfbs_gen.h", + "$_src_root/src/bfbs_gen_lua.cpp", + "$_src_root/src/bfbs_gen_lua.h", + "$_src_root/src/bfbs_namer.h", + "$_src_root/src/binary_annotator.cpp", + "$_src_root/src/binary_annotator.h", + "$_src_root/src/code_generators.cpp", + "$_src_root/src/flatc.cpp", + "$_src_root/src/flatc_main.cpp", + "$_src_root/src/idl_gen_cpp.cpp", + "$_src_root/src/idl_gen_csharp.cpp", + "$_src_root/src/idl_gen_dart.cpp", + "$_src_root/src/idl_gen_fbs.cpp", + "$_src_root/src/idl_gen_go.cpp", + "$_src_root/src/idl_gen_grpc.cpp", + "$_src_root/src/idl_gen_java.cpp", + "$_src_root/src/idl_gen_json_schema.cpp", + "$_src_root/src/idl_gen_kotlin.cpp", + "$_src_root/src/idl_gen_lobster.cpp", + "$_src_root/src/idl_gen_lua.cpp", + "$_src_root/src/idl_gen_php.cpp", + "$_src_root/src/idl_gen_python.cpp", + "$_src_root/src/idl_gen_rust.cpp", + "$_src_root/src/idl_gen_swift.cpp", + "$_src_root/src/idl_gen_ts.cpp", + "$_src_root/src/idl_namer.h", + "$_src_root/src/namer.h", + ] + + include_dirs = [ "$_src_root/grpc" ] + + deps = [ ":flatbuffers" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/flatbuffers/flatbuffers.gni b/engine/src/flutter/build/secondary/third_party/flatbuffers/flatbuffers.gni new file mode 100644 index 00000000000..ae636d64aee --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/flatbuffers/flatbuffers.gni @@ -0,0 +1,51 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/compiled_action.gni") + +template("flatbuffers") { + assert(defined(invoker.flatbuffers), + "Flatbuffer schema files must be specified.") + + flatc_target_name = "flatc_$target_name" + compiled_action_foreach(flatc_target_name) { + tool = "//third_party/flatbuffers:flatc" + sources = invoker.flatbuffers + outputs = [ "$target_gen_dir/{{source_name_part}}_flatbuffers.h" ] + args = [ + "--warnings-as-errors", + "--cpp", + "--cpp-std", + "c++17", + "--cpp-static-reflection", + "--gen-object-api", + "--filename-suffix", + "_flatbuffers", + "-o", + rebase_path(target_gen_dir, root_build_dir), + "{{source}}", + ] + } + + source_set(target_name) { + forward_variables_from(invoker, + "*", + [ + "flatbuffers", + "sources", + "deps", + ]) + sources = get_target_outputs(":$flatc_target_name") + if (defined(invoker.sources)) { + sources += invoker.sources + } + deps = [ + ":$flatc_target_name", + "//third_party/flatbuffers", + ] + if (defined(invoker.deps)) { + deps += invoker.deps + } + } +} diff --git a/engine/src/flutter/build/secondary/third_party/googletest/BUILD.gn b/engine/src/flutter/build/secondary/third_party/googletest/BUILD.gn new file mode 100644 index 00000000000..72f87cc4749 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/googletest/BUILD.gn @@ -0,0 +1,319 @@ +# Copyright 2018 The Fuchsia Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +if (is_fuchsia) { + import("//build/fuchsia/sdk.gni") +} + +config("gtest_private_config") { + visibility = [ ":*" ] + include_dirs = [ "googletest" ] +} + +config("gtest_config") { + include_dirs = [ "googletest/include" ] +} + +static_library("gtest") { + testonly = true + public = [ + "googletest/include/gtest/gtest-spi.h", + "googletest/include/gtest/gtest.h", + ] + sources = [ + "googletest/include/gtest/gtest-death-test.h", + "googletest/include/gtest/gtest-message.h", + "googletest/include/gtest/gtest-param-test.h", + "googletest/include/gtest/gtest-printers.h", + "googletest/include/gtest/gtest-test-part.h", + "googletest/include/gtest/gtest-typed-test.h", + "googletest/include/gtest/gtest_pred_impl.h", + "googletest/include/gtest/gtest_prod.h", + "googletest/include/gtest/internal/custom/gtest-port.h", + "googletest/include/gtest/internal/custom/gtest-printers.h", + "googletest/include/gtest/internal/custom/gtest.h", + "googletest/include/gtest/internal/gtest-death-test-internal.h", + "googletest/include/gtest/internal/gtest-filepath.h", + "googletest/include/gtest/internal/gtest-internal.h", + "googletest/include/gtest/internal/gtest-linked_ptr.h", + "googletest/include/gtest/internal/gtest-param-util-generated.h", + "googletest/include/gtest/internal/gtest-param-util.h", + "googletest/include/gtest/internal/gtest-port-arch.h", + "googletest/include/gtest/internal/gtest-port.h", + "googletest/include/gtest/internal/gtest-string.h", + "googletest/include/gtest/internal/gtest-tuple.h", + "googletest/include/gtest/internal/gtest-type-util.h", + "googletest/src/gtest-all.cc", + "googletest/src/gtest-death-test.cc", + "googletest/src/gtest-filepath.cc", + "googletest/src/gtest-internal-inl.h", + "googletest/src/gtest-matchers.cc", + "googletest/src/gtest-port.cc", + "googletest/src/gtest-printers.cc", + "googletest/src/gtest-test-part.cc", + "googletest/src/gtest-typed-test.cc", + "googletest/src/gtest.cc", + ] + sources -= [ "googletest/src/gtest-all.cc" ] + public_configs = [ ":gtest_config" ] + configs += [ ":gtest_private_config" ] + + if (is_fuchsia) { + if (using_fuchsia_sdk) { + deps = [ + "$fuchsia_sdk_root/pkg:fdio", + "$fuchsia_sdk_root/pkg:zx", + ] + } else { + deps = [ + "//zircon/public/lib/fdio", + "//zircon/public/lib/zx", + ] + } + } +} + +# Library that defines the FRIEND_TEST macro. +source_set("gtest_prod") { + testonly = false + public = [ "googletest/include/gtest/gtest_prod.h" ] + public_configs = [ ":gtest_config" ] +} + +static_library("gtest_main") { + testonly = true + sources = [ "googletest/src/gtest_main.cc" ] + public_deps = [ ":gtest" ] +} + +executable("gtest_all_test") { + testonly = true + sources = [ + "googletest/test/gtest-death-test_test.cc", + "googletest/test/gtest-filepath_test.cc", + "googletest/test/gtest-linked_ptr_test.cc", + "googletest/test/gtest-message_test.cc", + "googletest/test/gtest-options_test.cc", + "googletest/test/gtest-port_test.cc", + "googletest/test/gtest-printers_test.cc", + "googletest/test/gtest-test-part_test.cc", + "googletest/test/gtest-typed-test2_test.cc", + "googletest/test/gtest-typed-test_test.cc", + "googletest/test/gtest-typed-test_test.h", + "googletest/test/gtest_main_unittest.cc", + "googletest/test/gtest_pred_impl_unittest.cc", + "googletest/test/gtest_prod_test.cc", + "googletest/test/gtest_unittest.cc", + "googletest/test/production.cc", + "googletest/test/production.h", + ] + configs += [ ":gtest_private_config" ] + deps = [ + ":gtest", + ":gtest_main", + ] +} + +executable("gtest_environment_test") { + testonly = true + sources = [ "googletest/test/gtest_environment_test.cc" ] + configs += [ ":gtest_private_config" ] + deps = [ ":gtest" ] +} + +executable("gtest_listener_test") { + testonly = true + sources = [ "googletest/test/gtest-listener_test.cc" ] + deps = [ ":gtest" ] +} + +executable("gtest_no_test") { + testonly = true + sources = [ "googletest/test/gtest_no_test_unittest.cc" ] + deps = [ ":gtest" ] +} + +executable("gtest_param_test") { + testonly = true + sources = [ + "googletest/test/gtest-param-test2_test.cc", + "googletest/test/gtest-param-test_test.cc", + "googletest/test/gtest-param-test_test.h", + ] + configs += [ ":gtest_private_config" ] + deps = [ ":gtest" ] +} + +executable("gtest_premature_exit_test") { + testonly = true + sources = [ "googletest/test/gtest_premature_exit_test.cc" ] + deps = [ ":gtest" ] +} + +executable("gtest_repeat_test") { + testonly = true + sources = [ "googletest/test/gtest_repeat_test.cc" ] + configs += [ ":gtest_private_config" ] + deps = [ ":gtest" ] +} + +executable("gtest_sole_header_test") { + testonly = true + sources = [ "googletest/test/gtest_sole_header_test.cc" ] + deps = [ + ":gtest", + ":gtest_main", + ] +} + +executable("gtest_stress_test") { + testonly = true + sources = [ "googletest/test/gtest_stress_test.cc" ] + configs += [ ":gtest_private_config" ] + deps = [ ":gtest" ] +} + +executable("gtest_unittest_api_test") { + testonly = true + sources = [ "googletest/test/gtest-unittest-api_test.cc" ] + deps = [ ":gtest" ] +} + +group("gtest_all_tests") { + testonly = true + deps = [ + ":gtest_all_test", + ":gtest_environment_test", + ":gtest_listener_test", + ":gtest_no_test", + ":gtest_param_test", + ":gtest_premature_exit_test", + ":gtest_repeat_test", + ":gtest_sole_header_test", + ":gtest_stress_test", + ":gtest_unittest_api_test", + ] +} + +config("gmock_private_config") { + visibility = [ ":*" ] + include_dirs = [ "googlemock" ] +} + +config("gmock_config") { + include_dirs = [ "googlemock/include" ] + + cflags_cc = [ + # The MOCK_METHODn() macros do not specify "override", which triggers this + # warning in users: "error: 'Method' overrides a member function but is not + # marked 'override' [-Werror,-Winconsistent-missing-override]". Suppress + # these warnings until https://github.com/google/googletest/issues/533 is + # fixed. + "-Wno-inconsistent-missing-override", + ] +} + +static_library("gmock") { + testonly = true + public = [ "googlemock/include/gmock/gmock.h" ] + sources = [ + "googlemock/include/gmock/gmock-actions.h", + "googlemock/include/gmock/gmock-cardinalities.h", + "googlemock/include/gmock/gmock-generated-actions.h", + "googlemock/include/gmock/gmock-generated-function-mockers.h", + "googlemock/include/gmock/gmock-generated-matchers.h", + "googlemock/include/gmock/gmock-generated-nice-strict.h", + "googlemock/include/gmock/gmock-matchers.h", + "googlemock/include/gmock/gmock-more-actions.h", + "googlemock/include/gmock/gmock-more-matchers.h", + "googlemock/include/gmock/gmock-spec-builders.h", + "googlemock/include/gmock/internal/custom/gmock-generated-actions.h", + "googlemock/include/gmock/internal/custom/gmock-matchers.h", + "googlemock/include/gmock/internal/custom/gmock-port.h", + "googlemock/include/gmock/internal/gmock-generated-internal-utils.h", + "googlemock/include/gmock/internal/gmock-internal-utils.h", + "googlemock/include/gmock/internal/gmock-port.h", + "googlemock/src/gmock-all.cc", + "googlemock/src/gmock-cardinalities.cc", + "googlemock/src/gmock-internal-utils.cc", + "googlemock/src/gmock-matchers.cc", + "googlemock/src/gmock-spec-builders.cc", + "googlemock/src/gmock.cc", + ] + sources -= [ "googlemock/src/gmock-all.cc" ] + public_configs = [ ":gmock_config" ] + configs += [ ":gmock_private_config" ] + deps = [ ":gtest" ] +} + +static_library("gmock_main") { + testonly = true + sources = [ "googlemock/src/gmock_main.cc" ] + public_deps = [ + ":gmock", + ":gtest", + ] +} + +executable("gmock_all_test") { + testonly = true + sources = [ + "googlemock/test/gmock-actions_test.cc", + "googlemock/test/gmock-cardinalities_test.cc", + "googlemock/test/gmock-generated-actions_test.cc", + "googlemock/test/gmock-generated-function-mockers_test.cc", + "googlemock/test/gmock-generated-internal-utils_test.cc", + "googlemock/test/gmock-generated-matchers_test.cc", + "googlemock/test/gmock-internal-utils_test.cc", + "googlemock/test/gmock-matchers_test.cc", + "googlemock/test/gmock-more-actions_test.cc", + "googlemock/test/gmock-nice-strict_test.cc", + "googlemock/test/gmock-port_test.cc", + "googlemock/test/gmock-spec-builders_test.cc", + "googlemock/test/gmock_test.cc", + ] + configs += [ + ":gmock_private_config", + ":gtest_private_config", + ] + deps = [ + ":gmock", + ":gmock_main", + ":gtest", + ] +} + +executable("gmock_link_test") { + testonly = true + sources = [ + "googlemock/test/gmock_link2_test.cc", + "googlemock/test/gmock_link_test.cc", + "googlemock/test/gmock_link_test.h", + ] + configs += [ ":gmock_private_config" ] + deps = [ + ":gmock", + ":gmock_main", + ":gtest", + ] +} + +executable("gmock_stress_test") { + testonly = true + sources = [ "googlemock/test/gmock_stress_test.cc" ] + configs += [ ":gmock_private_config" ] + deps = [ + ":gmock", + ":gtest", + ] +} + +group("gmock_all_tests") { + testonly = true + deps = [ + ":gmock_all_test", + ":gmock_link_test", + ":gmock_stress_test", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/imgui/BUILD.gn b/engine/src/flutter/build/secondary/third_party/imgui/BUILD.gn new file mode 100644 index 00000000000..dadc4eec3ec --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/imgui/BUILD.gn @@ -0,0 +1,48 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_root = "//third_party/imgui" + +source_set("imgui") { + public = [ + "$source_root/imgui.h", + "$source_root/imgui_internal.h", + "$source_root/imstb_rectpack.h", + "$source_root/imstb_textedit.h", + "$source_root/imstb_truetype.h", + ] + + include_dirs = [ "$source_root" ] + + sources = [ + "$source_root/imgui.cpp", + "$source_root/imgui.h", + "$source_root/imgui_demo.cpp", + "$source_root/imgui_draw.cpp", + "$source_root/imgui_internal.h", + "$source_root/imgui_tables.cpp", + "$source_root/imgui_widgets.cpp", + "$source_root/imstb_rectpack.h", + "$source_root/imstb_textedit.h", + "$source_root/imstb_truetype.h", + ] +} + +config("imgui_headers") { + include_dirs = [ "$source_root" ] +} + +source_set("imgui_glfw") { + public_deps = [ + ":imgui", + "//flutter/third_party/glfw", + ] + + public_configs = [ ":imgui_headers" ] + + sources = [ + "$source_root/backends/imgui_impl_glfw.cpp", + "$source_root/backends/imgui_impl_glfw.h", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/inja/BUILD.gn b/engine/src/flutter/build/secondary/third_party/inja/BUILD.gn new file mode 100644 index 00000000000..59345eb31ce --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/inja/BUILD.gn @@ -0,0 +1,43 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_root = "//third_party/inja" + +config("inja_public_config") { + include_dirs = [ "$source_root/include" ] + + if (is_clang) { + cflags_cc = [ + "-Wno-unused-variable", + "-Wno-newline-eof", + ] + } + + defines = [ "INJA_NOEXCEPTION=1" ] +} + +source_set("inja") { + public_configs = [ ":inja_public_config" ] + + public = [ "$source_root/include/inja/inja.hpp" ] + + sources = [ + "$source_root/include/inja/config.hpp", + "$source_root/include/inja/environment.hpp", + "$source_root/include/inja/exceptions.hpp", + "$source_root/include/inja/function_storage.hpp", + "$source_root/include/inja/inja.hpp", + "$source_root/include/inja/lexer.hpp", + "$source_root/include/inja/node.hpp", + "$source_root/include/inja/parser.hpp", + "$source_root/include/inja/renderer.hpp", + "$source_root/include/inja/statistics.hpp", + "$source_root/include/inja/string_view.hpp", + "$source_root/include/inja/template.hpp", + "$source_root/include/inja/token.hpp", + "$source_root/include/inja/utils.hpp", + ] + + public_deps = [ "//third_party/json" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/json/BUILD.gn b/engine/src/flutter/build/secondary/third_party/json/BUILD.gn new file mode 100644 index 00000000000..bf24ebf1193 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/json/BUILD.gn @@ -0,0 +1,63 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_root = "//third_party/json" + +config("json_public_config") { + include_dirs = [ "$source_root/include" ] +} + +source_set("json") { + public_configs = [ ":json_public_config" ] + + public = [ "$source_root/include/nlohmann/json.hpp" ] + + sources = [ + "$source_root/include/nlohmann/adl_serializer.hpp", + "$source_root/include/nlohmann/byte_container_with_subtype.hpp", + "$source_root/include/nlohmann/detail/abi_macros.hpp", + "$source_root/include/nlohmann/detail/conversions/from_json.hpp", + "$source_root/include/nlohmann/detail/conversions/to_chars.hpp", + "$source_root/include/nlohmann/detail/conversions/to_json.hpp", + "$source_root/include/nlohmann/detail/exceptions.hpp", + "$source_root/include/nlohmann/detail/hash.hpp", + "$source_root/include/nlohmann/detail/input/binary_reader.hpp", + "$source_root/include/nlohmann/detail/input/input_adapters.hpp", + "$source_root/include/nlohmann/detail/input/json_sax.hpp", + "$source_root/include/nlohmann/detail/input/lexer.hpp", + "$source_root/include/nlohmann/detail/input/parser.hpp", + "$source_root/include/nlohmann/detail/input/position_t.hpp", + "$source_root/include/nlohmann/detail/iterators/internal_iterator.hpp", + "$source_root/include/nlohmann/detail/iterators/iter_impl.hpp", + "$source_root/include/nlohmann/detail/iterators/iteration_proxy.hpp", + "$source_root/include/nlohmann/detail/iterators/iterator_traits.hpp", + "$source_root/include/nlohmann/detail/iterators/json_reverse_iterator.hpp", + "$source_root/include/nlohmann/detail/iterators/primitive_iterator.hpp", + "$source_root/include/nlohmann/detail/json_custom_base_class.hpp", + "$source_root/include/nlohmann/detail/json_pointer.hpp", + "$source_root/include/nlohmann/detail/json_ref.hpp", + "$source_root/include/nlohmann/detail/macro_scope.hpp", + "$source_root/include/nlohmann/detail/macro_unscope.hpp", + "$source_root/include/nlohmann/detail/meta/call_std/begin.hpp", + "$source_root/include/nlohmann/detail/meta/call_std/end.hpp", + "$source_root/include/nlohmann/detail/meta/cpp_future.hpp", + "$source_root/include/nlohmann/detail/meta/detected.hpp", + "$source_root/include/nlohmann/detail/meta/identity_tag.hpp", + "$source_root/include/nlohmann/detail/meta/is_sax.hpp", + "$source_root/include/nlohmann/detail/meta/std_fs.hpp", + "$source_root/include/nlohmann/detail/meta/type_traits.hpp", + "$source_root/include/nlohmann/detail/meta/void_t.hpp", + "$source_root/include/nlohmann/detail/output/binary_writer.hpp", + "$source_root/include/nlohmann/detail/output/output_adapters.hpp", + "$source_root/include/nlohmann/detail/output/serializer.hpp", + "$source_root/include/nlohmann/detail/string_concat.hpp", + "$source_root/include/nlohmann/detail/string_escape.hpp", + "$source_root/include/nlohmann/detail/value_t.hpp", + "$source_root/include/nlohmann/json.hpp", + "$source_root/include/nlohmann/json_fwd.hpp", + "$source_root/include/nlohmann/ordered_map.hpp", + "$source_root/include/nlohmann/thirdparty/hedley/hedley.hpp", + "$source_root/include/nlohmann/thirdparty/hedley/hedley_undef.hpp", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/jsoncpp/BUILD.gn b/engine/src/flutter/build/secondary/third_party/jsoncpp/BUILD.gn new file mode 100644 index 00000000000..ff255b0add1 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/jsoncpp/BUILD.gn @@ -0,0 +1,11 @@ +# Copyright 2019 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# The ANGLE build rules have a target that depends on jsoncpp, but the Flutter +# engine never actually builds that target, so just this provides empty dummy +# dependencies to satisfy the generation-time resolution. +config("jsoncpp_config") { +} +group("jsoncpp") { +} diff --git a/engine/src/flutter/build/secondary/third_party/libcxx/BUILD.gn b/engine/src/flutter/build/secondary/third_party/libcxx/BUILD.gn new file mode 100644 index 00000000000..710ebe465d1 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/libcxx/BUILD.gn @@ -0,0 +1,117 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +config("libcxx_config") { + defines = [ "_LIBCPP_DISABLE_AVAILABILITY=1" ] + include_dirs = [ "//flutter/build/secondary/third_party/libcxx/config" ] +} + +config("src_include") { + include_dirs = [ "src" ] +} + +source_set("libcxx") { + sources = [ + "src/algorithm.cpp", + "src/any.cpp", + "src/bind.cpp", + "src/charconv.cpp", + "src/chrono.cpp", + "src/condition_variable.cpp", + "src/condition_variable_destructor.cpp", + "src/debug.cpp", + "src/exception.cpp", + "src/filesystem/directory_iterator.cpp", + "src/filesystem/filesystem_common.h", + "src/filesystem/int128_builtins.cpp", + "src/filesystem/operations.cpp", + "src/functional.cpp", + "src/future.cpp", + "src/hash.cpp", + "src/ios.cpp", + "src/ios.instantiations.cpp", + "src/iostream.cpp", + "src/locale.cpp", + "src/memory.cpp", + "src/mutex.cpp", + "src/mutex_destructor.cpp", + "src/new.cpp", + "src/optional.cpp", + "src/random.cpp", + "src/regex.cpp", + "src/ryu/d2fixed.cpp", + "src/ryu/d2s.cpp", + "src/ryu/f2s.cpp", + "src/shared_mutex.cpp", + "src/stdexcept.cpp", + "src/string.cpp", + "src/strstream.cpp", + "src/system_error.cpp", + "src/thread.cpp", + "src/typeinfo.cpp", + "src/utility.cpp", + "src/valarray.cpp", + "src/variant.cpp", + "src/vector.cpp", + ] + + deps = [ "//third_party/libcxxabi" ] + + # TODO(goderbauer): remove when all sources build with LTO for android_arm64 and android_x64. + if (is_android && (current_cpu == "arm64" || current_cpu == "x64")) { + sources -= [ "src/new.cpp" ] + deps += [ ":libcxx_nolto" ] + } + + public_configs = [ + ":libcxx_config", + "//third_party/libcxxabi:libcxxabi_config", + ] + + defines = [ + "_LIBCPP_NO_EXCEPTIONS", + "_LIBCPP_NO_RTTI", + "_LIBCPP_BUILDING_LIBRARY", + "LIBCXX_BUILDING_LIBCXXABI", + ] + + # While no translation units in Flutter engine enable RTTI, it may be enabled + # in one of the third party dependencies. This mirrors the configuration in + # libcxxabi. + configs -= [ "//build/config/compiler:no_rtti" ] + configs += [ "//build/config/compiler:rtti" ] + + # libcxx requires C++20 + configs -= [ "//build/config/compiler:cxx_version_default" ] + configs += [ "//build/config/compiler:cxx_version_20" ] + + configs += [ ":src_include" ] + + if (is_clang) { + # shared_mutex.cpp and debug.cpp are purposefully in violation. + cflags_cc = [ "-Wno-thread-safety-analysis" ] + } +} + +source_set("libcxx_nolto") { + visibility = [ ":*" ] + + sources = [ "src/new.cpp" ] + + cflags_cc = [ "-fno-lto" ] + + deps = [ "//third_party/libcxxabi" ] + + public_configs = [ + ":libcxx_config", + "//third_party/libcxxabi:libcxxabi_config", + ] + + defines = [ + "_LIBCPP_NO_EXCEPTIONS", + "_LIBCPP_NO_RTTI", + "_LIBCPP_BUILDING_LIBRARY", + "LIBCXX_BUILDING_LIBCXXABI", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/libcxx/config/__config_site b/engine/src/flutter/build/secondary/third_party/libcxx/config/__config_site new file mode 100644 index 00000000000..106c24fc361 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/libcxx/config/__config_site @@ -0,0 +1,39 @@ +#ifndef _LIBCPP_CONFIG_SITE +#define _LIBCPP_CONFIG_SITE + +/* #undef _LIBCPP_ABI_VERSION */ +/* #undef _LIBCPP_ABI_UNSTABLE */ +/* #undef _LIBCPP_ABI_FORCE_ITANIUM */ +/* #undef _LIBCPP_ABI_FORCE_MICROSOFT */ +/* #undef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT */ +/* #undef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE */ +/* #undef _LIBCPP_HAS_NO_STDIN */ +/* #undef _LIBCPP_HAS_NO_STDOUT */ +/* #undef _LIBCPP_HAS_NO_THREADS */ +/* #undef _LIBCPP_HAS_NO_MONOTONIC_CLOCK */ +/* #undef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS */ +/* #undef _LIBCPP_HAS_MUSL_LIBC */ +/* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */ +/* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */ +/* #undef _LIBCPP_HAS_THREAD_API_WIN32 */ +/* #undef _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL */ +/* #undef _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS */ +#define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS +/* #undef _LIBCPP_NO_VCRUNTIME */ +/* #undef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION */ +/* #undef _LIBCPP_ABI_NAMESPACE */ +/* #undef _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY */ +/* #undef _LIBCPP_HAS_PARALLEL_ALGORITHMS */ +/* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */ +/* #undef _LIBCPP_HAS_NO_LOCALIZATION */ + +#define _LIBCPP_REMOVE_TRANSITIVE_INCLUDES + +// This is a workaround for BoringSSL, which is compiled in C11 mode +// and includes stdatomic.h. Defining this macro will cause stdatomic.h +// to redirect to the next version of that header in the include path. +#if !defined(__cplusplus) && defined(__clang__) +#define _LIBCPP_COMPILER_CLANG_BASED +#endif + +#endif // _LIBCPP_CONFIG_SITE diff --git a/engine/src/flutter/build/secondary/third_party/libcxxabi/BUILD.gn b/engine/src/flutter/build/secondary/third_party/libcxxabi/BUILD.gn new file mode 100644 index 00000000000..10e51e78ac8 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/libcxxabi/BUILD.gn @@ -0,0 +1,82 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +config("libcxxabi_config") { + common_cc_flags = [ + "-nostdinc++", + "-fvisibility=hidden", + ] + + cflags_cc = common_cc_flags + cflags_objcc = common_cc_flags + + include_dirs = [ "include" ] + + if (is_ios) { + ldflags = [ "-Wl,-unexported_symbols_list," + + rebase_path("lib/new-delete.exp", root_build_dir) ] + } +} + +source_set("libcxxabi") { + visibility = [ "../libcxx:*" ] + + public_configs = [ ":libcxxabi_config" ] + + defines = [ + "_LIBCPP_BUILDING_LIBRARY", + "_LIBCXXABI_BUILDING_LIBRARY", + "LIBCXXABI_SILENT_TERMINATE", + "_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS", + ] + + sources = [] + + # Compile libcxx ABI using C++11. This replicates the rule in the + # CMakeLists on the "cxx_abiobjects" target. + configs -= [ "//build/config/compiler:cxx_version_default" ] + configs += [ "//build/config/compiler:cxx_version_20" ] + + configs += [ "//third_party/libcxx:src_include" ] + + # No translation units in the engine are built with exceptions. But, using + # Objective-C exceptions requires some infrastructure setup for exceptions. + # Build support for the same in cxxabi on Darwin. + if (is_mac || is_ios) { + configs -= [ "//build/config/gcc:no_exceptions" ] + sources += [ + "src/cxa_exception.cpp", + "src/cxa_personality.cpp", + ] + } else { + if (!is_tsan) { + sources += [ "src/cxa_noexception.cpp" ] + } + } + + # Third party dependencies may depend on RTTI. Add support for the same in + # cxxabi. + configs -= [ "//build/config/compiler:no_rtti" ] + configs += [ "//build/config/compiler:rtti" ] + + sources += [ + "src/abort_message.cpp", + "src/cxa_aux_runtime.cpp", + "src/cxa_default_handlers.cpp", + "src/cxa_demangle.cpp", + "src/cxa_exception_storage.cpp", + "src/cxa_handlers.cpp", + "src/cxa_vector.cpp", + "src/cxa_virtual.cpp", + "src/fallback_malloc.cpp", + "src/private_typeinfo.cpp", + "src/stdlib_exception.cpp", + "src/stdlib_stdexcept.cpp", + "src/stdlib_typeinfo.cpp", + ] + + if (!(is_tsan && is_linux)) { + sources += [ "src/cxa_guard.cpp" ] + } +} diff --git a/engine/src/flutter/build/secondary/third_party/libjpeg-turbo/BUILD.gn b/engine/src/flutter/build/secondary/third_party/libjpeg-turbo/BUILD.gn new file mode 100644 index 00000000000..55f346e49c8 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/libjpeg-turbo/BUILD.gn @@ -0,0 +1,81 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +config("libjpeg_config") { + include_dirs = [ "." ] +} + +source_set("libjpeg") { + public_configs = [ ":libjpeg_config" ] + + defines = [] + + if (!is_win) { + cflags_c = [ + "-Wno-unused-variable", + "-Wno-unused-function", + ] + } else { + defines += [ "TURBO_FOR_WINDOWS" ] + } + + sources = [ + "//third_party/libjpeg-turbo/jcapimin.c", + "//third_party/libjpeg-turbo/jcapistd.c", + "//third_party/libjpeg-turbo/jccoefct.c", + "//third_party/libjpeg-turbo/jccolor.c", + "//third_party/libjpeg-turbo/jcdctmgr.c", + "//third_party/libjpeg-turbo/jchuff.c", + "//third_party/libjpeg-turbo/jcinit.c", + "//third_party/libjpeg-turbo/jcmainct.c", + "//third_party/libjpeg-turbo/jcmarker.c", + "//third_party/libjpeg-turbo/jcmaster.c", + "//third_party/libjpeg-turbo/jcomapi.c", + "//third_party/libjpeg-turbo/jcparam.c", + "//third_party/libjpeg-turbo/jcphuff.c", + "//third_party/libjpeg-turbo/jcprepct.c", + "//third_party/libjpeg-turbo/jcsample.c", + "//third_party/libjpeg-turbo/jdapimin.c", + "//third_party/libjpeg-turbo/jdapistd.c", + "//third_party/libjpeg-turbo/jdcoefct.c", + "//third_party/libjpeg-turbo/jdcolor.c", + "//third_party/libjpeg-turbo/jddctmgr.c", + "//third_party/libjpeg-turbo/jdhuff.c", + "//third_party/libjpeg-turbo/jdinput.c", + "//third_party/libjpeg-turbo/jdmainct.c", + "//third_party/libjpeg-turbo/jdmarker.c", + "//third_party/libjpeg-turbo/jdmaster.c", + "//third_party/libjpeg-turbo/jdmerge.c", + "//third_party/libjpeg-turbo/jdphuff.c", + "//third_party/libjpeg-turbo/jdpostct.c", + "//third_party/libjpeg-turbo/jdsample.c", + "//third_party/libjpeg-turbo/jerror.c", + "//third_party/libjpeg-turbo/jfdctflt.c", + "//third_party/libjpeg-turbo/jfdctfst.c", + "//third_party/libjpeg-turbo/jfdctint.c", + "//third_party/libjpeg-turbo/jidctflt.c", + "//third_party/libjpeg-turbo/jidctfst.c", + "//third_party/libjpeg-turbo/jidctint.c", + "//third_party/libjpeg-turbo/jidctred.c", + "//third_party/libjpeg-turbo/jmemmgr.c", + "//third_party/libjpeg-turbo/jmemnobs.c", + "//third_party/libjpeg-turbo/jquant1.c", + "//third_party/libjpeg-turbo/jquant2.c", + "//third_party/libjpeg-turbo/jutils.c", + ] + + if (current_cpu == "arm" && !is_ios) { + sources += [ + "//third_party/libjpeg-turbo/simd/jsimd_arm.c", + "//third_party/libjpeg-turbo/simd/jsimd_arm_neon.S", + ] + } else if (current_cpu == "arm64") { + sources += [ + "//third_party/libjpeg-turbo/simd/jsimd_arm64.c", + "//third_party/libjpeg-turbo/simd/jsimd_arm64_neon.S", + ] + } else { + sources += [ "//third_party/libjpeg-turbo/jsimd_none.c" ] + } +} diff --git a/engine/src/flutter/build/secondary/third_party/libsrtp/BUILD.gn b/engine/src/flutter/build/secondary/third_party/libsrtp/BUILD.gn new file mode 100644 index 00000000000..5697e3175f0 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/libsrtp/BUILD.gn @@ -0,0 +1,345 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +declare_args() { + use_system_libsrtp = false + use_srtp_boringssl = true +} + +config("libsrtp_config") { + defines = [ + "HAVE_CONFIG_H", + "HAVE_STDLIB_H", + "HAVE_STRING_H", + "TESTAPP_SOURCE", + ] + + include_dirs = [ + "config", + "srtp/include", + "srtp/crypto/include", + ] + + if (use_srtp_boringssl) { + defines += [ "OPENSSL" ] + } + + if (is_posix) { + defines += [ + "HAVE_INT16_T", + "HAVE_INT32_T", + "HAVE_INT8_T", + "HAVE_UINT16_T", + "HAVE_UINT32_T", + "HAVE_UINT64_T", + "HAVE_UINT8_T", + "HAVE_STDINT_H", + "HAVE_INTTYPES_H", + "HAVE_NETINET_IN_H", + "HAVE_ARPA_INET_H", + "HAVE_UNISTD_H", + ] + cflags = [ "-Wno-unused-variable" ] + } + + if (is_win) { + defines += [ + "HAVE_BYTESWAP_METHODS_H", + + # All Windows architectures are this way. + "SIZEOF_UNSIGNED_LONG=4", + "SIZEOF_UNSIGNED_LONG_LONG=8", + ] + } + + if (current_cpu == "x64" || current_cpu == "x86" || current_cpu == "arm") { + defines += [ + # TODO(leozwang): CPU_RISC doesn"t work properly on android/arm + # platform for unknown reasons, need to investigate the root cause + # of it. CPU_RISC is used for optimization only, and CPU_CISC should + # just work just fine, it has been tested on android/arm with srtp + # test applications and libjingle. + "CPU_CISC", + ] + } +} + +config("system_libsrtp_config") { + defines = [ "USE_SYSTEM_LIBSRTP" ] + include_dirs = [ "/usr/include/srtp" ] +} + +if (use_system_libsrtp) { + group("libsrtp") { + public_configs = [ + ":libsrtp_config", + ":system_libsrtp_config", + ] + libs = [ "-lsrtp" ] + } +} else { + static_library("libsrtp") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + public_configs = [ ":libsrtp_config" ] + + sources = [ + # includes + "srtp/include/ekt.h", + "srtp/include/getopt_s.h", + "srtp/include/rtp.h", + "srtp/include/rtp_priv.h", + "srtp/include/srtp.h", + "srtp/include/srtp_priv.h", + "srtp/include/ut_sim.h", + + # headers + "srtp/crypto/include/aes.h", + "srtp/crypto/include/aes_cbc.h", + "srtp/crypto/include/aes_icm.h", + "srtp/crypto/include/alloc.h", + "srtp/crypto/include/auth.h", + "srtp/crypto/include/cipher.h", + "srtp/crypto/include/crypto.h", + "srtp/crypto/include/crypto_kernel.h", + "srtp/crypto/include/crypto_math.h", + "srtp/crypto/include/crypto_types.h", + "srtp/crypto/include/cryptoalg.h", + "srtp/crypto/include/datatypes.h", + "srtp/crypto/include/err.h", + "srtp/crypto/include/gf2_8.h", + "srtp/crypto/include/hmac.h", + "srtp/crypto/include/integers.h", + "srtp/crypto/include/kernel_compat.h", + "srtp/crypto/include/key.h", + "srtp/crypto/include/null_auth.h", + "srtp/crypto/include/null_cipher.h", + "srtp/crypto/include/prng.h", + "srtp/crypto/include/rand_source.h", + "srtp/crypto/include/rdb.h", + "srtp/crypto/include/rdbx.h", + "srtp/crypto/include/sha1.h", + "srtp/crypto/include/stat.h", + "srtp/crypto/include/xfm.h", + + # sources + "srtp/crypto/cipher/aes.c", + "srtp/crypto/cipher/aes_cbc.c", + "srtp/crypto/cipher/aes_icm.c", + "srtp/crypto/cipher/cipher.c", + "srtp/crypto/cipher/null_cipher.c", + "srtp/crypto/hash/auth.c", + "srtp/crypto/hash/hmac.c", + "srtp/crypto/hash/null_auth.c", + "srtp/crypto/hash/sha1.c", + "srtp/crypto/kernel/alloc.c", + "srtp/crypto/kernel/crypto_kernel.c", + "srtp/crypto/kernel/err.c", + "srtp/crypto/kernel/key.c", + "srtp/crypto/math/datatypes.c", + "srtp/crypto/math/gf2_8.c", + "srtp/crypto/math/stat.c", + "srtp/crypto/replay/rdb.c", + "srtp/crypto/replay/rdbx.c", + "srtp/crypto/replay/ut_sim.c", + "srtp/crypto/rng/ctr_prng.c", + "srtp/crypto/rng/prng.c", + "srtp/crypto/rng/rand_source.c", + "srtp/srtp/ekt.c", + "srtp/srtp/srtp.c", + ] + + if (is_clang) { + cflags = [ "-Wno-implicit-function-declaration" ] + } + + if (use_srtp_boringssl) { + deps = [ "//third_party/boringssl:boringssl" ] + public_deps = [ "//third_party/boringssl:boringssl" ] + sources -= [ + "srtp/crypto/cipher/aes_cbc.c", + "srtp/crypto/cipher/aes_icm.c", + "srtp/crypto/hash/hmac.c", + "srtp/crypto/hash/sha1.c", + "srtp/crypto/rng/ctr_prng.c", + "srtp/crypto/rng/prng.c", + ] + sources += [ + "srtp/crypto/cipher/aes_gcm_ossl.c", + "srtp/crypto/cipher/aes_icm_ossl.c", + "srtp/crypto/hash/hmac_ossl.c", + "srtp/crypto/include/aes_gcm_ossl.h", + "srtp/crypto/include/aes_icm_ossl.h", + ] + } + } + + # TODO(GYP): A bunch of these tests don't compile (in gyp either). They're + # not very broken, so could probably be made to work if it's useful. + if (!is_win) { + executable("rdbx_driver") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ + "srtp/include/getopt_s.h", + "srtp/test/getopt_s.c", + "srtp/test/rdbx_driver.c", + ] + } + + executable("srtp_driver") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ + "srtp/include/getopt_s.h", + "srtp/include/srtp_priv.h", + "srtp/test/getopt_s.c", + "srtp/test/srtp_driver.c", + ] + } + + executable("roc_driver") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ + "srtp/crypto/include/rdbx.h", + "srtp/include/ut_sim.h", + "srtp/test/roc_driver.c", + ] + } + + executable("replay_driver") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ + "srtp/crypto/include/rdbx.h", + "srtp/include/ut_sim.h", + "srtp/test/replay_driver.c", + ] + } + + executable("rtpw") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ + "srtp/crypto/include/datatypes.h", + "srtp/include/getopt_s.h", + "srtp/include/rtp.h", + "srtp/include/srtp.h", + "srtp/test/getopt_s.c", + "srtp/test/rtp.c", + "srtp/test/rtpw.c", + ] + if (is_android) { + defines = [ "HAVE_SYS_SOCKET_H" ] + } + if (is_clang) { + cflags = [ "-Wno-implicit-function-declaration" ] + } + } + + executable("srtp_test_cipher_driver") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ + "srtp/crypto/test/cipher_driver.c", + "srtp/include/getopt_s.h", + "srtp/test/getopt_s.c", + ] + } + + executable("srtp_test_datatypes_driver") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ "srtp/crypto/test/datatypes_driver.c" ] + } + + executable("srtp_test_stat_driver") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ "srtp/crypto/test/stat_driver.c" ] + } + + executable("srtp_test_sha1_driver") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ "srtp/crypto/test/sha1_driver.c" ] + } + + executable("srtp_test_kernel_driver") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ + "srtp/crypto/test/kernel_driver.c", + "srtp/include/getopt_s.h", + "srtp/test/getopt_s.c", + ] + } + + executable("srtp_test_aes_calc") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ "srtp/crypto/test/aes_calc.c" ] + } + + executable("srtp_test_rand_gen") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ + "srtp/crypto/test/rand_gen.c", + "srtp/include/getopt_s.h", + "srtp/test/getopt_s.c", + ] + } + + executable("srtp_test_rand_gen_soak") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ + "srtp/crypto/test/rand_gen_soak.c", + "srtp/include/getopt_s.h", + "srtp/test/getopt_s.c", + ] + } + + executable("srtp_test_env") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + deps = [ ":libsrtp" ] + sources = [ "srtp/crypto/test/env.c" ] + } + + group("srtp_runtest") { + deps = [ + ":rdbx_driver", + ":replay_driver", + ":roc_driver", + ":rtpw", + ":srtp_driver", + ":srtp_test_aes_calc", + ":srtp_test_cipher_driver", + ":srtp_test_datatypes_driver", + ":srtp_test_env", + ":srtp_test_kernel_driver", + ":srtp_test_rand_gen", + ":srtp_test_rand_gen_soak", + ":srtp_test_sha1_driver", + ":srtp_test_stat_driver", + ] + } + } +} diff --git a/engine/src/flutter/build/secondary/third_party/libtess2/BUILD.gn b/engine/src/flutter/build/secondary/third_party/libtess2/BUILD.gn new file mode 100644 index 00000000000..4d9ac96f8b0 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/libtess2/BUILD.gn @@ -0,0 +1,29 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_set("libtess2") { + public = [ "//third_party/libtess2/Include/tesselator.h" ] + + include_dirs = [ "//third_party/libtess2/Include/" ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + + sources = [ + "//third_party/libtess2/Source/bucketalloc.c", + "//third_party/libtess2/Source/bucketalloc.h", + "//third_party/libtess2/Source/dict.c", + "//third_party/libtess2/Source/dict.h", + "//third_party/libtess2/Source/geom.c", + "//third_party/libtess2/Source/geom.h", + "//third_party/libtess2/Source/mesh.c", + "//third_party/libtess2/Source/mesh.h", + "//third_party/libtess2/Source/priorityq.c", + "//third_party/libtess2/Source/priorityq.h", + "//third_party/libtess2/Source/sweep.c", + "//third_party/libtess2/Source/sweep.h", + "//third_party/libtess2/Source/tess.c", + "//third_party/libtess2/Source/tess.h", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/libwebp/BUILD.gn b/engine/src/flutter/build/secondary/third_party/libwebp/BUILD.gn new file mode 100644 index 00000000000..4a251062234 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/libwebp/BUILD.gn @@ -0,0 +1,178 @@ +# Copyright 2017 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# This file is based on: +# https://skia.googlesource.com/skia/+/main/third_party/libwebp/BUILD.gn +config("libwebp_config") { + include_dirs = [ + "//third_party/libwebp/src", + "//third_party/libwebp", + ] +} + +config("libwebp_defines") { + defines = [ + # WebP naturally decodes to RGB_565, Skia with BGR_565. + # This makes WebP decode to BGR_565 when we ask for RGB_565. + # (It also swaps the color order for 4444, but we don't care today.) + "WEBP_SWAP_16BIT_CSP", + + # Prevent WebP symbols from being exposed. + "WEBP_EXTERN=extern", + ] +} + +source_set("libwebp_sse41") { + include_dirs = [ + "//third_party/libwebp/src", + "//third_party/libwebp", + ] + configs += [ ":libwebp_defines" ] + sources = [ + "//third_party/libwebp/src/dsp/alpha_processing_sse41.c", + "//third_party/libwebp/src/dsp/dec_sse41.c", + "//third_party/libwebp/src/dsp/enc_sse41.c", + "//third_party/libwebp/src/dsp/lossless_enc_sse41.c", + "//third_party/libwebp/src/dsp/lossless_sse41.c", + "//third_party/libwebp/src/dsp/upsampling_sse41.c", + "//third_party/libwebp/src/dsp/yuv_sse41.c", + ] + if ((current_cpu == "x86" || current_cpu == "x64") && (!is_win || is_clang)) { + cflags_c = [ "-msse4.1" ] + } +} + +source_set("libwebp") { + public_configs = [ ":libwebp_config" ] + include_dirs = [ + "//third_party/libwebp/src", + "//third_party/libwebp", + ] + + deps = [ ":libwebp_sse41" ] + + if (is_android) { + deps += [ "//third_party/cpu-features" ] + } + + configs += [ ":libwebp_defines" ] + + sources = [ + "//third_party/libwebp/sharpyuv/sharpyuv.c", + "//third_party/libwebp/sharpyuv/sharpyuv_cpu.c", + "//third_party/libwebp/sharpyuv/sharpyuv_csp.c", + "//third_party/libwebp/sharpyuv/sharpyuv_dsp.c", + "//third_party/libwebp/sharpyuv/sharpyuv_gamma.c", + "//third_party/libwebp/sharpyuv/sharpyuv_neon.c", + "//third_party/libwebp/sharpyuv/sharpyuv_sse2.c", + "//third_party/libwebp/src/dec/alpha_dec.c", + "//third_party/libwebp/src/dec/buffer_dec.c", + "//third_party/libwebp/src/dec/frame_dec.c", + "//third_party/libwebp/src/dec/idec_dec.c", + "//third_party/libwebp/src/dec/io_dec.c", + "//third_party/libwebp/src/dec/quant_dec.c", + "//third_party/libwebp/src/dec/tree_dec.c", + "//third_party/libwebp/src/dec/vp8_dec.c", + "//third_party/libwebp/src/dec/vp8l_dec.c", + "//third_party/libwebp/src/dec/webp_dec.c", + "//third_party/libwebp/src/demux/anim_decode.c", + "//third_party/libwebp/src/demux/demux.c", + "//third_party/libwebp/src/dsp/alpha_processing.c", + "//third_party/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/alpha_processing_neon.c", + "//third_party/libwebp/src/dsp/alpha_processing_sse2.c", + "//third_party/libwebp/src/dsp/cost.c", + "//third_party/libwebp/src/dsp/cost_mips32.c", + "//third_party/libwebp/src/dsp/cost_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/cost_neon.c", + "//third_party/libwebp/src/dsp/cost_sse2.c", + "//third_party/libwebp/src/dsp/cpu.c", + "//third_party/libwebp/src/dsp/dec.c", + "//third_party/libwebp/src/dsp/dec_clip_tables.c", + "//third_party/libwebp/src/dsp/dec_mips32.c", + "//third_party/libwebp/src/dsp/dec_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/dec_msa.c", + "//third_party/libwebp/src/dsp/dec_neon.c", + "//third_party/libwebp/src/dsp/dec_sse2.c", + "//third_party/libwebp/src/dsp/enc.c", + "//third_party/libwebp/src/dsp/enc_mips32.c", + "//third_party/libwebp/src/dsp/enc_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/enc_msa.c", + "//third_party/libwebp/src/dsp/enc_neon.c", + "//third_party/libwebp/src/dsp/enc_sse2.c", + "//third_party/libwebp/src/dsp/filters.c", + "//third_party/libwebp/src/dsp/filters_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/filters_msa.c", + "//third_party/libwebp/src/dsp/filters_neon.c", + "//third_party/libwebp/src/dsp/filters_sse2.c", + "//third_party/libwebp/src/dsp/lossless.c", + "//third_party/libwebp/src/dsp/lossless_enc.c", + "//third_party/libwebp/src/dsp/lossless_enc_mips32.c", + "//third_party/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/lossless_enc_msa.c", + "//third_party/libwebp/src/dsp/lossless_enc_neon.c", + "//third_party/libwebp/src/dsp/lossless_enc_sse2.c", + "//third_party/libwebp/src/dsp/lossless_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/lossless_msa.c", + "//third_party/libwebp/src/dsp/lossless_neon.c", + "//third_party/libwebp/src/dsp/lossless_sse2.c", + "//third_party/libwebp/src/dsp/rescaler.c", + "//third_party/libwebp/src/dsp/rescaler_mips32.c", + "//third_party/libwebp/src/dsp/rescaler_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/rescaler_msa.c", + "//third_party/libwebp/src/dsp/rescaler_neon.c", + "//third_party/libwebp/src/dsp/rescaler_sse2.c", + "//third_party/libwebp/src/dsp/ssim.c", + "//third_party/libwebp/src/dsp/ssim_sse2.c", + "//third_party/libwebp/src/dsp/upsampling.c", + "//third_party/libwebp/src/dsp/upsampling_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/upsampling_msa.c", + "//third_party/libwebp/src/dsp/upsampling_neon.c", + "//third_party/libwebp/src/dsp/upsampling_sse2.c", + "//third_party/libwebp/src/dsp/yuv.c", + "//third_party/libwebp/src/dsp/yuv_mips32.c", + "//third_party/libwebp/src/dsp/yuv_mips_dsp_r2.c", + "//third_party/libwebp/src/dsp/yuv_neon.c", + "//third_party/libwebp/src/dsp/yuv_sse2.c", + "//third_party/libwebp/src/enc/alpha_enc.c", + "//third_party/libwebp/src/enc/analysis_enc.c", + "//third_party/libwebp/src/enc/backward_references_cost_enc.c", + "//third_party/libwebp/src/enc/backward_references_enc.c", + "//third_party/libwebp/src/enc/config_enc.c", + "//third_party/libwebp/src/enc/cost_enc.c", + "//third_party/libwebp/src/enc/filter_enc.c", + "//third_party/libwebp/src/enc/frame_enc.c", + "//third_party/libwebp/src/enc/histogram_enc.c", + "//third_party/libwebp/src/enc/iterator_enc.c", + "//third_party/libwebp/src/enc/near_lossless_enc.c", + "//third_party/libwebp/src/enc/picture_csp_enc.c", + "//third_party/libwebp/src/enc/picture_enc.c", + "//third_party/libwebp/src/enc/picture_psnr_enc.c", + "//third_party/libwebp/src/enc/picture_rescale_enc.c", + "//third_party/libwebp/src/enc/picture_tools_enc.c", + "//third_party/libwebp/src/enc/predictor_enc.c", + "//third_party/libwebp/src/enc/quant_enc.c", + "//third_party/libwebp/src/enc/syntax_enc.c", + "//third_party/libwebp/src/enc/token_enc.c", + "//third_party/libwebp/src/enc/tree_enc.c", + "//third_party/libwebp/src/enc/vp8l_enc.c", + "//third_party/libwebp/src/enc/webp_enc.c", + "//third_party/libwebp/src/mux/anim_encode.c", + "//third_party/libwebp/src/mux/muxedit.c", + "//third_party/libwebp/src/mux/muxinternal.c", + "//third_party/libwebp/src/mux/muxread.c", + "//third_party/libwebp/src/utils/bit_reader_utils.c", + "//third_party/libwebp/src/utils/bit_writer_utils.c", + "//third_party/libwebp/src/utils/color_cache_utils.c", + "//third_party/libwebp/src/utils/filters_utils.c", + "//third_party/libwebp/src/utils/huffman_encode_utils.c", + "//third_party/libwebp/src/utils/huffman_utils.c", + "//third_party/libwebp/src/utils/quant_levels_dec_utils.c", + "//third_party/libwebp/src/utils/quant_levels_utils.c", + "//third_party/libwebp/src/utils/random_utils.c", + "//third_party/libwebp/src/utils/rescaler_utils.c", + "//third_party/libwebp/src/utils/thread_utils.c", + "//third_party/libwebp/src/utils/utils.c", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/nss/BUILD.gn b/engine/src/flutter/build/secondary/third_party/nss/BUILD.gn new file mode 100644 index 00000000000..95e6347c753 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/nss/BUILD.gn @@ -0,0 +1,1205 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/linux/pkg_config.gni") + +if (is_linux) { + # This is a dependency on NSS with no libssl. On Linux we use a built-in SSL + # library but the system NSS libraries. Non-Linux platforms using NSS use the + # hermetic one in //third_party/nss. + # + # Generally you should depend on //crypto:platform instead of using this + # config since that will properly pick up NSS or OpenSSL depending on + # platform and build config. + pkg_config("system_nss_no_ssl_config") { + packages = [ "nss" ] + extra_args = [ + "-v", + "-lssl3", + ] + } +} else { + include_nss_root_certs = is_ios + include_nss_libpkix = is_ios + + config("nspr_config") { + defines = [ "NO_NSPR_10_SUPPORT" ] + include_dirs = [ + "nspr/pr/include", + "nspr/lib/ds", + "nspr/lib/libc/include", + ] + + if (component_mode != "shared_library") { + defines += [ "NSPR_STATIC" ] + } + } + + component("nspr") { + output_name = "crnspr" + sources = [ + "nspr/lib/ds/plarena.c", + "nspr/lib/ds/plarena.h", + "nspr/lib/ds/plarenas.h", + "nspr/lib/ds/plhash.c", + "nspr/lib/ds/plhash.h", + "nspr/lib/libc/include/plbase64.h", + "nspr/lib/libc/include/plerror.h", + "nspr/lib/libc/include/plgetopt.h", + "nspr/lib/libc/include/plstr.h", + "nspr/lib/libc/src/base64.c", + "nspr/lib/libc/src/plerror.c", + "nspr/lib/libc/src/plgetopt.c", + "nspr/lib/libc/src/strcase.c", + "nspr/lib/libc/src/strcat.c", + "nspr/lib/libc/src/strchr.c", + "nspr/lib/libc/src/strcmp.c", + "nspr/lib/libc/src/strcpy.c", + "nspr/lib/libc/src/strdup.c", + "nspr/lib/libc/src/strlen.c", + "nspr/lib/libc/src/strpbrk.c", + "nspr/lib/libc/src/strstr.c", + "nspr/lib/libc/src/strtok.c", + "nspr/pr/include/md/_darwin.cfg", + "nspr/pr/include/md/_darwin.h", + "nspr/pr/include/md/_pcos.h", + "nspr/pr/include/md/_pth.h", + "nspr/pr/include/md/_unix_errors.h", + "nspr/pr/include/md/_unixos.h", + "nspr/pr/include/md/_win32_errors.h", + "nspr/pr/include/md/_win95.cfg", + "nspr/pr/include/md/_win95.h", + "nspr/pr/include/md/prosdep.h", + "nspr/pr/include/nspr.h", + "nspr/pr/include/obsolete/pralarm.h", + "nspr/pr/include/obsolete/probslet.h", + "nspr/pr/include/obsolete/protypes.h", + "nspr/pr/include/obsolete/prsem.h", + "nspr/pr/include/pratom.h", + "nspr/pr/include/prbit.h", + "nspr/pr/include/prclist.h", + "nspr/pr/include/prcmon.h", + "nspr/pr/include/prcountr.h", + "nspr/pr/include/prcpucfg.h", + "nspr/pr/include/prcvar.h", + "nspr/pr/include/prdtoa.h", + "nspr/pr/include/prenv.h", + "nspr/pr/include/prerr.h", + "nspr/pr/include/prerror.h", + "nspr/pr/include/prinet.h", + "nspr/pr/include/prinit.h", + "nspr/pr/include/prinrval.h", + "nspr/pr/include/prio.h", + "nspr/pr/include/pripcsem.h", + "nspr/pr/include/private/pprio.h", + "nspr/pr/include/private/pprmwait.h", + "nspr/pr/include/private/pprthred.h", + "nspr/pr/include/private/primpl.h", + "nspr/pr/include/private/prpriv.h", + "nspr/pr/include/prlink.h", + "nspr/pr/include/prlock.h", + "nspr/pr/include/prlog.h", + "nspr/pr/include/prlong.h", + "nspr/pr/include/prmem.h", + "nspr/pr/include/prmon.h", + "nspr/pr/include/prmwait.h", + "nspr/pr/include/prnetdb.h", + "nspr/pr/include/prolock.h", + "nspr/pr/include/prpdce.h", + "nspr/pr/include/prprf.h", + "nspr/pr/include/prproces.h", + "nspr/pr/include/prrng.h", + "nspr/pr/include/prrwlock.h", + "nspr/pr/include/prshm.h", + "nspr/pr/include/prshma.h", + "nspr/pr/include/prsystem.h", + "nspr/pr/include/prthread.h", + "nspr/pr/include/prtime.h", + "nspr/pr/include/prtpool.h", + "nspr/pr/include/prtrace.h", + "nspr/pr/include/prtypes.h", + "nspr/pr/include/prvrsion.h", + "nspr/pr/include/prwin16.h", + "nspr/pr/src/io/prdir.c", + "nspr/pr/src/io/prfdcach.c", + "nspr/pr/src/io/prfile.c", + "nspr/pr/src/io/prio.c", + "nspr/pr/src/io/priometh.c", + "nspr/pr/src/io/pripv6.c", + "nspr/pr/src/io/prlayer.c", + "nspr/pr/src/io/prlog.c", + "nspr/pr/src/io/prmapopt.c", + "nspr/pr/src/io/prmmap.c", + "nspr/pr/src/io/prmwait.c", + "nspr/pr/src/io/prpolevt.c", + "nspr/pr/src/io/prprf.c", + "nspr/pr/src/io/prscanf.c", + "nspr/pr/src/io/prsocket.c", + "nspr/pr/src/io/prstdio.c", + "nspr/pr/src/linking/prlink.c", + "nspr/pr/src/malloc/prmalloc.c", + "nspr/pr/src/malloc/prmem.c", + "nspr/pr/src/md/prosdep.c", + "nspr/pr/src/md/unix/darwin.c", + "nspr/pr/src/md/unix/os_Darwin.s", + "nspr/pr/src/md/unix/unix.c", + "nspr/pr/src/md/unix/unix_errors.c", + "nspr/pr/src/md/unix/uxproces.c", + "nspr/pr/src/md/unix/uxrng.c", + "nspr/pr/src/md/unix/uxshm.c", + "nspr/pr/src/md/unix/uxwrap.c", + "nspr/pr/src/md/windows/ntgc.c", + "nspr/pr/src/md/windows/ntinrval.c", + "nspr/pr/src/md/windows/ntmisc.c", + "nspr/pr/src/md/windows/ntsec.c", + "nspr/pr/src/md/windows/ntsem.c", + "nspr/pr/src/md/windows/w32ipcsem.c", + "nspr/pr/src/md/windows/w32poll.c", + "nspr/pr/src/md/windows/w32rng.c", + "nspr/pr/src/md/windows/w32shm.c", + "nspr/pr/src/md/windows/w95cv.c", + "nspr/pr/src/md/windows/w95dllmain.c", + "nspr/pr/src/md/windows/w95io.c", + "nspr/pr/src/md/windows/w95sock.c", + "nspr/pr/src/md/windows/w95thred.c", + "nspr/pr/src/md/windows/win32_errors.c", + "nspr/pr/src/memory/prseg.c", + "nspr/pr/src/memory/prshm.c", + "nspr/pr/src/memory/prshma.c", + "nspr/pr/src/misc/pralarm.c", + "nspr/pr/src/misc/pratom.c", + "nspr/pr/src/misc/praton.c", + "nspr/pr/src/misc/prcountr.c", + "nspr/pr/src/misc/prdtoa.c", + "nspr/pr/src/misc/prenv.c", + "nspr/pr/src/misc/prerr.c", + "nspr/pr/src/misc/prerror.c", + "nspr/pr/src/misc/prerrortable.c", + "nspr/pr/src/misc/prinit.c", + "nspr/pr/src/misc/prinrval.c", + "nspr/pr/src/misc/pripc.c", + "nspr/pr/src/misc/pripcsem.c", + "nspr/pr/src/misc/prlog2.c", + "nspr/pr/src/misc/prlong.c", + "nspr/pr/src/misc/prnetdb.c", + "nspr/pr/src/misc/prolock.c", + "nspr/pr/src/misc/prrng.c", + "nspr/pr/src/misc/prsystem.c", + "nspr/pr/src/misc/prthinfo.c", + "nspr/pr/src/misc/prtime.c", + "nspr/pr/src/misc/prtpool.c", + "nspr/pr/src/misc/prtrace.c", + "nspr/pr/src/pthreads/ptio.c", + "nspr/pr/src/pthreads/ptmisc.c", + "nspr/pr/src/pthreads/ptsynch.c", + "nspr/pr/src/pthreads/ptthread.c", + "nspr/pr/src/threads/combined/prucpu.c", + "nspr/pr/src/threads/combined/prucv.c", + "nspr/pr/src/threads/combined/prulock.c", + "nspr/pr/src/threads/combined/prustack.c", + "nspr/pr/src/threads/combined/pruthr.c", + "nspr/pr/src/threads/prcmon.c", + "nspr/pr/src/threads/prcthr.c", + "nspr/pr/src/threads/prdump.c", + "nspr/pr/src/threads/prmon.c", + "nspr/pr/src/threads/prrwlock.c", + "nspr/pr/src/threads/prsem.c", + "nspr/pr/src/threads/prtpd.c", + ] + + public_configs = [ ":nspr_config" ] + + configs -= [ "//build/config/compiler:chromium_code" ] + if (is_win) { + configs -= [ + "//build/config/win:unicode", # Requires 8-bit mode. + "//build/config/win:lean_and_mean", # Won"t compile with lean and mean. + ] + } + configs += [ + "//build/config/compiler:no_chromium_code", + "//build/config/compiler:no_size_t_to_int_warning", + ] + + cflags = [] + defines = [ + "_NSPR_BUILD_", + "FORCE_PR_LOG", + ] + + include_dirs = [ "nspr/pr/include/private" ] + + if (is_win) { + cflags = [ "/wd4554" ] # Check precidence. + defines += [ + "XP_PC", + "WIN32", + "WIN95", + "_PR_GLOBAL_THREADS_ONLY", + "_CRT_SECURE_NO_WARNINGS", + ] + } else { + sources -= [ + "nspr/pr/src/md/windows/ntgc.c", + "nspr/pr/src/md/windows/ntinrval.c", + "nspr/pr/src/md/windows/ntmisc.c", + "nspr/pr/src/md/windows/ntsec.c", + "nspr/pr/src/md/windows/ntsem.c", + "nspr/pr/src/md/windows/w32ipcsem.c", + "nspr/pr/src/md/windows/w32poll.c", + "nspr/pr/src/md/windows/w32rng.c", + "nspr/pr/src/md/windows/w32shm.c", + "nspr/pr/src/md/windows/w95cv.c", + "nspr/pr/src/md/windows/w95dllmain.c", + "nspr/pr/src/md/windows/w95io.c", + "nspr/pr/src/md/windows/w95sock.c", + "nspr/pr/src/md/windows/w95thred.c", + "nspr/pr/src/md/windows/win32_errors.c", + "nspr/pr/src/threads/combined/prucpu.c", + "nspr/pr/src/threads/combined/prucv.c", + "nspr/pr/src/threads/combined/prulock.c", + "nspr/pr/src/threads/combined/prustack.c", + "nspr/pr/src/threads/combined/pruthr.c", + ] + } + + if (!is_posix) { + sources -= [ + "nspr/pr/src/md/unix/darwin.c", + "nspr/pr/src/md/unix/os_Darwin.s", + "nspr/pr/src/md/unix/unix.c", + "nspr/pr/src/md/unix/unix_errors.c", + "nspr/pr/src/md/unix/uxproces.c", + "nspr/pr/src/md/unix/uxrng.c", + "nspr/pr/src/md/unix/uxshm.c", + "nspr/pr/src/md/unix/uxwrap.c", + "nspr/pr/src/pthreads/ptio.c", + "nspr/pr/src/pthreads/ptmisc.c", + "nspr/pr/src/pthreads/ptsynch.c", + "nspr/pr/src/pthreads/ptthread.c", + ] + } + + if (current_cpu == "x86") { + defines += [ "_X86_" ] + } else if (current_cpu == "x64") { + defines += [ "_AMD64_" ] + } + + if (is_mac || is_ios) { + sources -= [ + "nspr/pr/src/io/prdir.c", + "nspr/pr/src/io/prfile.c", + "nspr/pr/src/io/prio.c", + "nspr/pr/src/io/prsocket.c", + "nspr/pr/src/misc/pripcsem.c", + "nspr/pr/src/threads/prcthr.c", + "nspr/pr/src/threads/prdump.c", + "nspr/pr/src/threads/prmon.c", + "nspr/pr/src/threads/prsem.c", + ] + defines += [ + "XP_UNIX", + "DARWIN", + "XP_MACOSX", + "_PR_PTHREADS", + "HAVE_BSD_FLOCK", + "HAVE_DLADDR", + "HAVE_LCHOWN", + "HAVE_SOCKLEN_T", + "HAVE_STRERROR", + ] + } + + if (is_mac) { + defines += [ "HAVE_CRT_EXTERNS_H" ] + libs = [ + "CoreFoundation.framework", + "CoreServices.framework", + ] + } + + if (is_clang) { + cflags += [ + # nspr uses a bunch of deprecated functions (NSLinkModule etc) in + # prlink.c on mac. + "-Wno-deprecated-declarations", + + # nspr passes "const char*" through "void*". + "-Wno-incompatible-pointer-types", + + # nspr passes "int*" through "unsigned int*". + "-Wno-pointer-sign", + ] + + # nspr uses assert(!"foo") instead of assert(false && "foo"). + configs -= [ "//build/config/clang:extra_warnings" ] + } + } + + component("nss") { + output_name = "crnss" + sources = [ + # Ensure at least one object file is produced, so that MSVC does not + # warn when creating the static/shared library. See the note for + # the "nssckbi" target for why the "nss" target was split as such. + "nss/lib/nss/nssver.c", + ] + + public_deps = [ ":nss_static" ] + + if (include_nss_root_certs) { + public_deps += [ ":nssckbi" ] + } + + if (component_mode == "shared_library") { + if (is_mac) { + ldflags = [ "-all_load" ] + } else if (is_win) { + # Pass the def file to the linker. + ldflags = + [ "/DEF:" + rebase_path("nss/exports_win.def", root_build_dir) ] + } + } + } + + config("nssckbi_config") { + include_dirs = [ "nss/lib/ckfw/builtins" ] + } + + # This is really more of a pseudo-target to work around the fact that + # a single static_library target cannot contain two object files of the + # same name (hash.o / hash.obj). Logically, this is part of the + # "nss_static" target. By separating it out, it creates a possible + # circular dependency between "nss_static" and "nssckbi" when + # "exclude_nss_root_certs" is not specified, as "nss_static" depends on + # the "builtinsC_GetFunctionList" exported by this target. This is an + # artifact of how NSS is being statically built, which is not an + # officially supported configuration - normally, "nssckbi.dll/so" would + # depend on libnss3.dll/so, and the higher layer caller would instruct + # libnss3.dll to dynamically load nssckbi.dll, breaking the circle. + # + # TODO(rsleevi): http://crbug.com/128134 - Break the circular dependency + # without requiring nssckbi to be built as a shared library. + source_set("nssckbi") { + visibility = [ ":nss" ] # This target is internal implementation detail. + + sources = [ + "nss/lib/ckfw/builtins/anchor.c", + "nss/lib/ckfw/builtins/bfind.c", + "nss/lib/ckfw/builtins/binst.c", + "nss/lib/ckfw/builtins/bobject.c", + "nss/lib/ckfw/builtins/bsession.c", + "nss/lib/ckfw/builtins/bslot.c", + "nss/lib/ckfw/builtins/btoken.c", + "nss/lib/ckfw/builtins/builtins.h", + "nss/lib/ckfw/builtins/certdata.c", + "nss/lib/ckfw/builtins/ckbiver.c", + "nss/lib/ckfw/builtins/constants.c", + "nss/lib/ckfw/builtins/nssckbi.h", + "nss/lib/ckfw/ck.h", + "nss/lib/ckfw/ckfw.h", + "nss/lib/ckfw/ckfwm.h", + "nss/lib/ckfw/ckfwtm.h", + "nss/lib/ckfw/ckmd.h", + "nss/lib/ckfw/ckt.h", + "nss/lib/ckfw/crypto.c", + "nss/lib/ckfw/find.c", + "nss/lib/ckfw/hash.c", + "nss/lib/ckfw/instance.c", + "nss/lib/ckfw/mechanism.c", + "nss/lib/ckfw/mutex.c", + "nss/lib/ckfw/nssck.api", + "nss/lib/ckfw/nssckepv.h", + "nss/lib/ckfw/nssckft.h", + "nss/lib/ckfw/nssckfw.h", + "nss/lib/ckfw/nssckfwc.h", + "nss/lib/ckfw/nssckfwt.h", + "nss/lib/ckfw/nssckg.h", + "nss/lib/ckfw/nssckmdt.h", + "nss/lib/ckfw/nssckt.h", + "nss/lib/ckfw/object.c", + "nss/lib/ckfw/session.c", + "nss/lib/ckfw/sessobj.c", + "nss/lib/ckfw/slot.c", + "nss/lib/ckfw/token.c", + "nss/lib/ckfw/wrap.c", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + + if (is_win) { + configs -= [ "//build/config/win:unicode" ] # Requires 8-bit mode. + } + configs += [ "//build/config/compiler:no_chromium_code" ] + + include_dirs = [ "nss/lib/ckfw" ] + public_configs = [ ":nssckbi_config" ] + + public_deps = [ ":nss_static" ] + } + + config("nss_static_config") { + defines = [ + "NSS_STATIC", + "NSS_USE_STATIC_LIBS", + "USE_UTIL_DIRECTLY", + ] + if (is_win) { + defines += [ "_WINDOWS" ] + } + include_dirs = [ + "nspr/pr/include", + "nspr/lib/ds", + "nspr/lib/libc/include", + "nss/lib/base", + "nss/lib/certdb", + "nss/lib/certhigh", + "nss/lib/cryptohi", + "nss/lib/dev", + "nss/lib/freebl", + "nss/lib/freebl/ecl", + "nss/lib/nss", + "nss/lib/pk11wrap", + "nss/lib/pkcs7", + "nss/lib/pki", + "nss/lib/smime", + "nss/lib/softoken", + "nss/lib/util", + ] + } + + if (is_win && current_cpu == "x86") { + source_set("nss_static_avx") { + sources = [ + "nss/lib/freebl/intel-gcm-wrap.c", + "nss/lib/freebl/intel-gcm-x86-masm.asm", + "nss/lib/freebl/intel-gcm.h", + ] + defines = [ + "_WINDOWS", + "_X86_", + "INTEL_GCM", + "MP_API_COMPATIBLE", + "MP_ASSEMBLY_DIV_2DX1D", + "MP_ASSEMBLY_MULTIPLY", + "MP_ASSEMBLY_SQUARE", + "MP_NO_MP_WORD", + "MP_USE_UINT_DIGIT", + "NSS_DISABLE_DBM", + "NSS_STATIC", + "NSS_USE_STATIC_LIBS", + "NSS_X86", + "NSS_X86_OR_X64", + "RIJNDAEL_INCLUDE_TABLES", + "SHLIB_PREFIX=\"\"", + "SHLIB_SUFFIX=\"dll\"", + "SHLIB_VERSION=\"3\"", + "SOFTOKEN_LIB_NAME=\"softokn3.dll\"", + "SOFTOKEN_SHLIB_VERSION=\"3\"", + "USE_HW_AES", + "USE_UTIL_DIRECTLY", + "WIN32", + "WIN95", + "XP_PC", + ] + include_dirs = [ + "nspr/pr/include", + "nspr/lib/ds", + "nspr/lib/libc/include", + "nss/lib/freebl/ecl", + "nss/lib/util", + ] + } + } + + source_set("nss_static") { + visibility = [ ":*" ] # Internal implementation detail. + + sources = [ + "nss/lib/base/arena.c", + "nss/lib/base/base.h", + "nss/lib/base/baset.h", + "nss/lib/base/error.c", + "nss/lib/base/errorval.c", + "nss/lib/base/hash.c", + "nss/lib/base/hashops.c", + "nss/lib/base/item.c", + "nss/lib/base/libc.c", + "nss/lib/base/list.c", + "nss/lib/base/nssbase.h", + "nss/lib/base/nssbaset.h", + "nss/lib/base/nssutf8.c", + "nss/lib/base/tracker.c", + "nss/lib/certdb/alg1485.c", + "nss/lib/certdb/cert.h", + "nss/lib/certdb/certdb.c", + "nss/lib/certdb/certdb.h", + "nss/lib/certdb/certi.h", + "nss/lib/certdb/certt.h", + "nss/lib/certdb/certv3.c", + "nss/lib/certdb/certxutl.c", + "nss/lib/certdb/certxutl.h", + "nss/lib/certdb/crl.c", + "nss/lib/certdb/genname.c", + "nss/lib/certdb/genname.h", + "nss/lib/certdb/polcyxtn.c", + "nss/lib/certdb/secname.c", + "nss/lib/certdb/stanpcertdb.c", + "nss/lib/certdb/xauthkid.c", + "nss/lib/certdb/xbsconst.c", + "nss/lib/certdb/xconst.c", + "nss/lib/certdb/xconst.h", + "nss/lib/certhigh/certhigh.c", + "nss/lib/certhigh/certhtml.c", + "nss/lib/certhigh/certreq.c", + "nss/lib/certhigh/certvfy.c", + "nss/lib/certhigh/crlv2.c", + "nss/lib/certhigh/ocsp.c", + "nss/lib/certhigh/ocsp.h", + "nss/lib/certhigh/ocspi.h", + "nss/lib/certhigh/ocspsig.c", + "nss/lib/certhigh/ocspt.h", + "nss/lib/certhigh/ocspti.h", + "nss/lib/certhigh/xcrldist.c", + "nss/lib/cryptohi/cryptohi.h", + "nss/lib/cryptohi/cryptoht.h", + "nss/lib/cryptohi/dsautil.c", + "nss/lib/cryptohi/key.h", + "nss/lib/cryptohi/keyhi.h", + "nss/lib/cryptohi/keyi.h", + "nss/lib/cryptohi/keyt.h", + "nss/lib/cryptohi/keythi.h", + "nss/lib/cryptohi/sechash.c", + "nss/lib/cryptohi/sechash.h", + "nss/lib/cryptohi/seckey.c", + "nss/lib/cryptohi/secsign.c", + "nss/lib/cryptohi/secvfy.c", + "nss/lib/dev/ckhelper.c", + "nss/lib/dev/ckhelper.h", + "nss/lib/dev/dev.h", + "nss/lib/dev/devm.h", + "nss/lib/dev/devslot.c", + "nss/lib/dev/devt.h", + "nss/lib/dev/devtm.h", + "nss/lib/dev/devtoken.c", + "nss/lib/dev/devutil.c", + "nss/lib/dev/nssdev.h", + "nss/lib/dev/nssdevt.h", + "nss/lib/freebl/aeskeywrap.c", + "nss/lib/freebl/alg2268.c", + "nss/lib/freebl/alghmac.c", + "nss/lib/freebl/alghmac.h", + "nss/lib/freebl/arcfive.c", + "nss/lib/freebl/arcfour.c", + "nss/lib/freebl/blapi.h", + "nss/lib/freebl/blapii.h", + "nss/lib/freebl/blapit.h", + "nss/lib/freebl/camellia.c", + "nss/lib/freebl/camellia.h", + "nss/lib/freebl/chacha20/chacha20.c", + "nss/lib/freebl/chacha20/chacha20.h", + "nss/lib/freebl/chacha20/chacha20_vec.c", + "nss/lib/freebl/chacha20poly1305.c", + "nss/lib/freebl/chacha20poly1305.h", + "nss/lib/freebl/ctr.c", + "nss/lib/freebl/ctr.h", + "nss/lib/freebl/cts.c", + "nss/lib/freebl/cts.h", + "nss/lib/freebl/des.c", + "nss/lib/freebl/des.h", + "nss/lib/freebl/desblapi.c", + "nss/lib/freebl/dh.c", + "nss/lib/freebl/drbg.c", + "nss/lib/freebl/dsa.c", + "nss/lib/freebl/ec.c", + "nss/lib/freebl/ec.h", + "nss/lib/freebl/ecdecode.c", + "nss/lib/freebl/ecl/ec2.h", + "nss/lib/freebl/ecl/ec_naf.c", + "nss/lib/freebl/ecl/ecl-curve.h", + "nss/lib/freebl/ecl/ecl-exp.h", + "nss/lib/freebl/ecl/ecl-priv.h", + "nss/lib/freebl/ecl/ecl.c", + "nss/lib/freebl/ecl/ecl.h", + "nss/lib/freebl/ecl/ecl_curve.c", + "nss/lib/freebl/ecl/ecl_gf.c", + "nss/lib/freebl/ecl/ecl_mult.c", + "nss/lib/freebl/ecl/ecp.h", + "nss/lib/freebl/ecl/ecp_256.c", + "nss/lib/freebl/ecl/ecp_256_32.c", + "nss/lib/freebl/ecl/ecp_384.c", + "nss/lib/freebl/ecl/ecp_521.c", + "nss/lib/freebl/ecl/ecp_aff.c", + "nss/lib/freebl/ecl/ecp_jac.c", + "nss/lib/freebl/ecl/ecp_jm.c", + "nss/lib/freebl/ecl/ecp_mont.c", + "nss/lib/freebl/gcm.c", + "nss/lib/freebl/gcm.h", + "nss/lib/freebl/hmacct.c", + "nss/lib/freebl/hmacct.h", + "nss/lib/freebl/intel-aes-x86-masm.asm", + "nss/lib/freebl/intel-aes.h", + "nss/lib/freebl/jpake.c", + "nss/lib/freebl/md2.c", + "nss/lib/freebl/md5.c", + "nss/lib/freebl/mpi/logtab.h", + "nss/lib/freebl/mpi/mp_gf2m-priv.h", + "nss/lib/freebl/mpi/mp_gf2m.c", + "nss/lib/freebl/mpi/mp_gf2m.h", + "nss/lib/freebl/mpi/mpcpucache.c", + "nss/lib/freebl/mpi/mpi-config.h", + "nss/lib/freebl/mpi/mpi-priv.h", + "nss/lib/freebl/mpi/mpi.c", + "nss/lib/freebl/mpi/mpi.h", + "nss/lib/freebl/mpi/mpi_amd64.c", + "nss/lib/freebl/mpi/mpi_arm.c", + "nss/lib/freebl/mpi/mpi_arm_mac.c", + "nss/lib/freebl/mpi/mpi_x86_asm.c", + "nss/lib/freebl/mpi/mplogic.c", + "nss/lib/freebl/mpi/mplogic.h", + "nss/lib/freebl/mpi/mpmontg.c", + "nss/lib/freebl/mpi/mpprime.c", + "nss/lib/freebl/mpi/mpprime.h", + "nss/lib/freebl/mpi/primes.c", + "nss/lib/freebl/nss_build_config_mac.h", + "nss/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c", + "nss/lib/freebl/poly1305/poly1305.c", + "nss/lib/freebl/poly1305/poly1305.h", + "nss/lib/freebl/pqg.c", + "nss/lib/freebl/pqg.h", + "nss/lib/freebl/rawhash.c", + "nss/lib/freebl/rijndael.c", + "nss/lib/freebl/rijndael.h", + "nss/lib/freebl/rijndael32.tab", + "nss/lib/freebl/rsa.c", + "nss/lib/freebl/rsapkcs.c", + "nss/lib/freebl/secmpi.h", + "nss/lib/freebl/secrng.h", + "nss/lib/freebl/seed.c", + "nss/lib/freebl/seed.h", + "nss/lib/freebl/sha256.h", + "nss/lib/freebl/sha512.c", + "nss/lib/freebl/sha_fast.c", + "nss/lib/freebl/sha_fast.h", + "nss/lib/freebl/shsign.h", + "nss/lib/freebl/shvfy.c", + "nss/lib/freebl/sysrand.c", + "nss/lib/freebl/tlsprfalg.c", + "nss/lib/freebl/unix_rand.c", + "nss/lib/freebl/win_rand.c", + "nss/lib/nss/nss.h", + "nss/lib/nss/nssinit.c", + "nss/lib/nss/nssrenam.h", + "nss/lib/nss/utilwrap.c", + "nss/lib/pk11wrap/debug_module.c", + "nss/lib/pk11wrap/dev3hack.c", + "nss/lib/pk11wrap/dev3hack.h", + "nss/lib/pk11wrap/pk11akey.c", + "nss/lib/pk11wrap/pk11auth.c", + "nss/lib/pk11wrap/pk11cert.c", + "nss/lib/pk11wrap/pk11cxt.c", + "nss/lib/pk11wrap/pk11err.c", + "nss/lib/pk11wrap/pk11func.h", + "nss/lib/pk11wrap/pk11kea.c", + "nss/lib/pk11wrap/pk11list.c", + "nss/lib/pk11wrap/pk11load.c", + "nss/lib/pk11wrap/pk11mech.c", + "nss/lib/pk11wrap/pk11merge.c", + "nss/lib/pk11wrap/pk11nobj.c", + "nss/lib/pk11wrap/pk11obj.c", + "nss/lib/pk11wrap/pk11pars.c", + "nss/lib/pk11wrap/pk11pbe.c", + "nss/lib/pk11wrap/pk11pk12.c", + "nss/lib/pk11wrap/pk11pqg.c", + "nss/lib/pk11wrap/pk11pqg.h", + "nss/lib/pk11wrap/pk11priv.h", + "nss/lib/pk11wrap/pk11pub.h", + "nss/lib/pk11wrap/pk11sdr.c", + "nss/lib/pk11wrap/pk11sdr.h", + "nss/lib/pk11wrap/pk11skey.c", + "nss/lib/pk11wrap/pk11slot.c", + "nss/lib/pk11wrap/pk11util.c", + "nss/lib/pk11wrap/secmod.h", + "nss/lib/pk11wrap/secmodi.h", + "nss/lib/pk11wrap/secmodt.h", + "nss/lib/pk11wrap/secmodti.h", + "nss/lib/pk11wrap/secpkcs5.h", + "nss/lib/pkcs7/certread.c", + "nss/lib/pkcs7/p7common.c", + "nss/lib/pkcs7/p7create.c", + "nss/lib/pkcs7/p7decode.c", + "nss/lib/pkcs7/p7encode.c", + "nss/lib/pkcs7/p7local.c", + "nss/lib/pkcs7/p7local.h", + "nss/lib/pkcs7/pkcs7t.h", + "nss/lib/pkcs7/secmime.c", + "nss/lib/pkcs7/secmime.h", + "nss/lib/pkcs7/secpkcs7.h", + "nss/lib/pki/asymmkey.c", + "nss/lib/pki/certdecode.c", + "nss/lib/pki/certificate.c", + "nss/lib/pki/cryptocontext.c", + "nss/lib/pki/nsspki.h", + "nss/lib/pki/nsspkit.h", + "nss/lib/pki/pki.h", + "nss/lib/pki/pki3hack.c", + "nss/lib/pki/pki3hack.h", + "nss/lib/pki/pkibase.c", + "nss/lib/pki/pkim.h", + "nss/lib/pki/pkistore.c", + "nss/lib/pki/pkistore.h", + "nss/lib/pki/pkit.h", + "nss/lib/pki/pkitm.h", + "nss/lib/pki/symmkey.c", + "nss/lib/pki/tdcache.c", + "nss/lib/pki/trustdomain.c", + "nss/lib/smime/cms.h", + "nss/lib/smime/cmslocal.h", + "nss/lib/smime/cmsreclist.h", + "nss/lib/smime/cmst.h", + "nss/lib/smime/smime.h", + "nss/lib/softoken/fipsaudt.c", + "nss/lib/softoken/fipstest.c", + "nss/lib/softoken/fipstokn.c", + "nss/lib/softoken/jpakesftk.c", + "nss/lib/softoken/lgglue.c", + "nss/lib/softoken/lgglue.h", + "nss/lib/softoken/lowkey.c", + "nss/lib/softoken/lowkeyi.h", + "nss/lib/softoken/lowkeyti.h", + "nss/lib/softoken/lowpbe.c", + "nss/lib/softoken/lowpbe.h", + "nss/lib/softoken/padbuf.c", + "nss/lib/softoken/pkcs11.c", + "nss/lib/softoken/pkcs11c.c", + "nss/lib/softoken/pkcs11i.h", + "nss/lib/softoken/pkcs11ni.h", + "nss/lib/softoken/pkcs11u.c", + "nss/lib/softoken/sdb.c", + "nss/lib/softoken/sdb.h", + "nss/lib/softoken/sftkdb.c", + "nss/lib/softoken/sftkdb.h", + "nss/lib/softoken/sftkdbt.h", + "nss/lib/softoken/sftkdbti.h", + "nss/lib/softoken/sftkhmac.c", + "nss/lib/softoken/sftkpars.c", + "nss/lib/softoken/sftkpars.h", + "nss/lib/softoken/sftkpwd.c", + "nss/lib/softoken/softkver.c", + "nss/lib/softoken/softkver.h", + "nss/lib/softoken/softoken.h", + "nss/lib/softoken/softoknt.h", + "nss/lib/softoken/tlsprf.c", + "nss/lib/ssl/sslerr.h", + "nss/lib/util/SECerrs.h", + "nss/lib/util/base64.h", + "nss/lib/util/ciferfam.h", + "nss/lib/util/derdec.c", + "nss/lib/util/derenc.c", + "nss/lib/util/dersubr.c", + "nss/lib/util/dertime.c", + "nss/lib/util/errstrs.c", + "nss/lib/util/hasht.h", + "nss/lib/util/nssb64.h", + "nss/lib/util/nssb64d.c", + "nss/lib/util/nssb64e.c", + "nss/lib/util/nssb64t.h", + "nss/lib/util/nssilckt.h", + "nss/lib/util/nssilock.c", + "nss/lib/util/nssilock.h", + "nss/lib/util/nsslocks.h", + "nss/lib/util/nssrwlk.c", + "nss/lib/util/nssrwlk.h", + "nss/lib/util/nssrwlkt.h", + "nss/lib/util/nssutil.h", + "nss/lib/util/oidstring.c", + "nss/lib/util/pkcs11.h", + "nss/lib/util/pkcs11f.h", + "nss/lib/util/pkcs11n.h", + "nss/lib/util/pkcs11p.h", + "nss/lib/util/pkcs11t.h", + "nss/lib/util/pkcs11u.h", + "nss/lib/util/pkcs1sig.c", + "nss/lib/util/pkcs1sig.h", + "nss/lib/util/portreg.c", + "nss/lib/util/portreg.h", + "nss/lib/util/quickder.c", + "nss/lib/util/secalgid.c", + "nss/lib/util/secasn1.h", + "nss/lib/util/secasn1d.c", + "nss/lib/util/secasn1e.c", + "nss/lib/util/secasn1t.h", + "nss/lib/util/secasn1u.c", + "nss/lib/util/seccomon.h", + "nss/lib/util/secder.h", + "nss/lib/util/secdert.h", + "nss/lib/util/secdig.c", + "nss/lib/util/secdig.h", + "nss/lib/util/secdigt.h", + "nss/lib/util/secerr.h", + "nss/lib/util/secitem.c", + "nss/lib/util/secitem.h", + "nss/lib/util/secoid.c", + "nss/lib/util/secoid.h", + "nss/lib/util/secoidt.h", + "nss/lib/util/secport.c", + "nss/lib/util/secport.h", + "nss/lib/util/sectime.c", + "nss/lib/util/templates.c", + "nss/lib/util/utf8.c", + "nss/lib/util/utilmod.c", + "nss/lib/util/utilmodt.h", + "nss/lib/util/utilpars.c", + "nss/lib/util/utilpars.h", + "nss/lib/util/utilparst.h", + "nss/lib/util/utilrename.h", + ] + + sources -= [ + # mpi_arm.c is included by mpi_arm_mac.c. + # NOTE: mpi_arm.c can be used directly on Linux. mpi_arm.c will need + # to be excluded conditionally if we start to build NSS on Linux. + "nss/lib/freebl/mpi/mpi_arm.c", + + # primes.c is included by mpprime.c. + "nss/lib/freebl/mpi/primes.c", + + # unix_rand.c and win_rand.c are included by sysrand.c. + "nss/lib/freebl/unix_rand.c", + "nss/lib/freebl/win_rand.c", + + # debug_module.c is included by pk11load.c. + "nss/lib/pk11wrap/debug_module.c", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + if (is_win) { + configs -= [ "//build/config/win:unicode" ] # Requires 8-bit mode. + } + configs += [ + "//build/config/compiler:no_chromium_code", + "//build/config/compiler:no_size_t_to_int_warning", + ] + public_configs = [ ":nss_static_config" ] + + cflags = [] + + # Only need the defines and includes not in nss_static_config. + defines = [ + "MP_API_COMPATIBLE", + "NSS_DISABLE_DBM", + "RIJNDAEL_INCLUDE_TABLES", + "SHLIB_VERSION=\"3\"", + "SOFTOKEN_SHLIB_VERSION=\"3\"", + ] + include_dirs = [ + "nss/lib/freebl/mpi", + "nss/lib/ssl", + ] + + if (is_win) { + cflags += [ "/wd4101" ] # Unreferenced local variable. + } + + if (include_nss_libpkix) { + sources += [ + "nss/lib/certhigh/certvfypkix.c", + "nss/lib/certhigh/certvfypkixprint.c", + "nss/lib/libpkix/include/pkix.h", + "nss/lib/libpkix/include/pkix_certsel.h", + "nss/lib/libpkix/include/pkix_certstore.h", + "nss/lib/libpkix/include/pkix_checker.h", + "nss/lib/libpkix/include/pkix_crlsel.h", + "nss/lib/libpkix/include/pkix_errorstrings.h", + "nss/lib/libpkix/include/pkix_params.h", + "nss/lib/libpkix/include/pkix_pl_pki.h", + "nss/lib/libpkix/include/pkix_pl_system.h", + "nss/lib/libpkix/include/pkix_results.h", + "nss/lib/libpkix/include/pkix_revchecker.h", + "nss/lib/libpkix/include/pkix_sample_modules.h", + "nss/lib/libpkix/include/pkix_util.h", + "nss/lib/libpkix/include/pkixt.h", + "nss/lib/libpkix/pkix/certsel/pkix_certselector.c", + "nss/lib/libpkix/pkix/certsel/pkix_certselector.h", + "nss/lib/libpkix/pkix/certsel/pkix_comcertselparams.c", + "nss/lib/libpkix/pkix/certsel/pkix_comcertselparams.h", + "nss/lib/libpkix/pkix/checker/pkix_basicconstraintschecker.c", + "nss/lib/libpkix/pkix/checker/pkix_basicconstraintschecker.h", + "nss/lib/libpkix/pkix/checker/pkix_certchainchecker.c", + "nss/lib/libpkix/pkix/checker/pkix_certchainchecker.h", + "nss/lib/libpkix/pkix/checker/pkix_crlchecker.c", + "nss/lib/libpkix/pkix/checker/pkix_crlchecker.h", + "nss/lib/libpkix/pkix/checker/pkix_ekuchecker.c", + "nss/lib/libpkix/pkix/checker/pkix_ekuchecker.h", + "nss/lib/libpkix/pkix/checker/pkix_expirationchecker.c", + "nss/lib/libpkix/pkix/checker/pkix_expirationchecker.h", + "nss/lib/libpkix/pkix/checker/pkix_namechainingchecker.c", + "nss/lib/libpkix/pkix/checker/pkix_namechainingchecker.h", + "nss/lib/libpkix/pkix/checker/pkix_nameconstraintschecker.c", + "nss/lib/libpkix/pkix/checker/pkix_nameconstraintschecker.h", + "nss/lib/libpkix/pkix/checker/pkix_ocspchecker.c", + "nss/lib/libpkix/pkix/checker/pkix_ocspchecker.h", + "nss/lib/libpkix/pkix/checker/pkix_policychecker.c", + "nss/lib/libpkix/pkix/checker/pkix_policychecker.h", + "nss/lib/libpkix/pkix/checker/pkix_revocationchecker.c", + "nss/lib/libpkix/pkix/checker/pkix_revocationchecker.h", + "nss/lib/libpkix/pkix/checker/pkix_revocationmethod.c", + "nss/lib/libpkix/pkix/checker/pkix_revocationmethod.h", + "nss/lib/libpkix/pkix/checker/pkix_signaturechecker.c", + "nss/lib/libpkix/pkix/checker/pkix_signaturechecker.h", + "nss/lib/libpkix/pkix/checker/pkix_targetcertchecker.c", + "nss/lib/libpkix/pkix/checker/pkix_targetcertchecker.h", + "nss/lib/libpkix/pkix/crlsel/pkix_comcrlselparams.c", + "nss/lib/libpkix/pkix/crlsel/pkix_comcrlselparams.h", + "nss/lib/libpkix/pkix/crlsel/pkix_crlselector.c", + "nss/lib/libpkix/pkix/crlsel/pkix_crlselector.h", + "nss/lib/libpkix/pkix/params/pkix_procparams.c", + "nss/lib/libpkix/pkix/params/pkix_procparams.h", + "nss/lib/libpkix/pkix/params/pkix_resourcelimits.c", + "nss/lib/libpkix/pkix/params/pkix_resourcelimits.h", + "nss/lib/libpkix/pkix/params/pkix_trustanchor.c", + "nss/lib/libpkix/pkix/params/pkix_trustanchor.h", + "nss/lib/libpkix/pkix/params/pkix_valparams.c", + "nss/lib/libpkix/pkix/params/pkix_valparams.h", + "nss/lib/libpkix/pkix/results/pkix_buildresult.c", + "nss/lib/libpkix/pkix/results/pkix_buildresult.h", + "nss/lib/libpkix/pkix/results/pkix_policynode.c", + "nss/lib/libpkix/pkix/results/pkix_policynode.h", + "nss/lib/libpkix/pkix/results/pkix_valresult.c", + "nss/lib/libpkix/pkix/results/pkix_valresult.h", + "nss/lib/libpkix/pkix/results/pkix_verifynode.c", + "nss/lib/libpkix/pkix/results/pkix_verifynode.h", + "nss/lib/libpkix/pkix/store/pkix_store.c", + "nss/lib/libpkix/pkix/store/pkix_store.h", + "nss/lib/libpkix/pkix/top/pkix_build.c", + "nss/lib/libpkix/pkix/top/pkix_build.h", + "nss/lib/libpkix/pkix/top/pkix_lifecycle.c", + "nss/lib/libpkix/pkix/top/pkix_lifecycle.h", + "nss/lib/libpkix/pkix/top/pkix_validate.c", + "nss/lib/libpkix/pkix/top/pkix_validate.h", + "nss/lib/libpkix/pkix/util/pkix_error.c", + "nss/lib/libpkix/pkix/util/pkix_error.h", + "nss/lib/libpkix/pkix/util/pkix_errpaths.c", + "nss/lib/libpkix/pkix/util/pkix_list.c", + "nss/lib/libpkix/pkix/util/pkix_list.h", + "nss/lib/libpkix/pkix/util/pkix_logger.c", + "nss/lib/libpkix/pkix/util/pkix_logger.h", + "nss/lib/libpkix/pkix/util/pkix_tools.c", + "nss/lib/libpkix/pkix/util/pkix_tools.h", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_aiamgr.c", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_aiamgr.h", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_colcertstore.c", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_colcertstore.h", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.h", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpdefaultclient.c", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpdefaultclient.h", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_nsscontext.c", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_nsscontext.h", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_pk11certstore.c", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_pk11certstore.h", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c", + "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_basicconstraints.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_basicconstraints.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicyinfo.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicyinfo.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicymap.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicymap.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicyqualifier.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicyqualifier.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crl.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crl.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crldp.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crldp.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crlentry.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crlentry.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_date.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_date.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_generalname.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_generalname.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_infoaccess.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_infoaccess.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_nameconstraints.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_nameconstraints.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocspcertid.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocspcertid.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocsprequest.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocsprequest.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocspresponse.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocspresponse.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_publickey.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_publickey.h", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_x500name.c", + "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_x500name.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_bigint.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_bigint.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_bytearray.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_bytearray.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_common.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_common.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_error.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_hashtable.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_hashtable.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_lifecycle.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_lifecycle.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_mem.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_mem.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_monitorlock.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_monitorlock.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_mutex.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_mutex.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_object.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_object.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_oid.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_oid.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_primhash.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_primhash.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_rwlock.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_rwlock.h", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_string.c", + "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_string.h", + ] + + # Disable the LDAP code in libpkix. + defines += [ "NSS_PKIX_NO_LDAP" ] + + include_dirs += [ + "nss/lib/libpkix/include", + "nss/lib/libpkix/pkix/certsel", + "nss/lib/libpkix/pkix/checker", + "nss/lib/libpkix/pkix/crlsel", + "nss/lib/libpkix/pkix/params", + "nss/lib/libpkix/pkix/results", + "nss/lib/libpkix/pkix/store", + "nss/lib/libpkix/pkix/top", + "nss/lib/libpkix/pkix/util", + "nss/lib/libpkix/pkix_pl_nss/module", + "nss/lib/libpkix/pkix_pl_nss/pki", + "nss/lib/libpkix/pkix_pl_nss/system", + ] + } else { + defines += [ "NSS_DISABLE_LIBPKIX" ] + } + + if (!include_nss_root_certs) { + defines += [ "NSS_DISABLE_ROOT_CERTS" ] + } + + if (current_cpu == "x64" && !is_win) { + sources -= [ + "nss/lib/freebl/chacha20/chacha20.c", + "nss/lib/freebl/poly1305/poly1305.c", + ] + } else { + sources -= [ + "nss/lib/freebl/chacha20/chacha20_vec.c", + "nss/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c", + ] + } + + if (is_mac || is_ios) { + sources -= [ "nss/lib/freebl/mpi/mpi_amd64.c" ] + cflags += [ + "-include", + rebase_path("//third_party/nss/nss/lib/freebl/nss_build_config_mac.h", + root_build_dir), + ] + defines += [ + "XP_UNIX", + "DARWIN", + "HAVE_STRERROR", + "HAVE_BSD_FLOCK", + "SHLIB_SUFFIX=\"dylib\"", + "SHLIB_PREFIX=\"lib\"", + "SOFTOKEN_LIB_NAME=\"libsoftokn3.dylib\"", + ] + + configs -= [ "//build/config/gcc:symbol_visibility_hidden" ] + } else { + # Not Mac/iOS. + sources -= [ "nss/lib/freebl/mpi/mpi_arm_mac.c" ] + } + + if (is_win) { + defines += [ + "SHLIB_SUFFIX=\"dll\"", + "SHLIB_PREFIX=\"\"", + "SOFTOKEN_LIB_NAME=\"softokn3.dll\"", + "XP_PC", + "WIN32", + "WIN95", + ] + + if (current_cpu == "x86") { + defines += [ + "NSS_X86_OR_X64", + "NSS_X86", + "_X86_", + "MP_ASSEMBLY_MULTIPLY", + "MP_ASSEMBLY_SQUARE", + "MP_ASSEMBLY_DIV_2DX1D", + "MP_USE_UINT_DIGIT", + "MP_NO_MP_WORD", + "USE_HW_AES", + "INTEL_GCM", + ] + sources -= [ "nss/lib/freebl/mpi/mpi_amd64.c" ] + } else if (current_cpu == "x64") { + sources -= [ + "nss/lib/freebl/intel-aes-x86-masm.asm", + "nss/lib/freebl/mpi/mpi_amd64.c", + "nss/lib/freebl/mpi/mpi_x86_asm.c", + ] + defines += [ + "NSS_USE_64", + "NSS_X86_OR_X64", + "NSS_X64", + "_AMD64_", + "MP_CHAR_STORE_SLOW", + "MP_IS_LITTLE_ENDIAN", + "WIN64", + ] + } + } else { + # Not Windows. + sources -= [ + # mpi_x86_asm.c contains MSVC inline assembly code. + "nss/lib/freebl/mpi/mpi_x86_asm.c", + ] + } + + if (is_clang) { + cflags += [ + # nss doesn"t explicitly cast between different enum types. + "-Wno-conversion", + + # nss passes "const char*" through "void*". + "-Wno-incompatible-pointer-types", + + # nss prefers `a && b || c` over `(a && b) || c`. + "-Wno-logical-op-parentheses", + + # nss doesn"t use exhaustive switches on enums + "-Wno-switch", + + # nss has some `unsigned < 0` checks. + "-Wno-tautological-compare", + ] + } + + public_deps = [ ":nspr" ] + deps = [ + ":nspr", + "//third_party/sqlite", + ] + + if (is_win && current_cpu == "x86") { + deps += [ ":nss_static_avx" ] + } + } +} # Windows/Mac/iOS. diff --git a/engine/src/flutter/build/secondary/third_party/ocmock/BUILD.gn b/engine/src/flutter/build/secondary/third_party/ocmock/BUILD.gn new file mode 100644 index 00000000000..66f2e49f30f --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/ocmock/BUILD.gn @@ -0,0 +1,121 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +ocmock_path = "//third_party/ocmock/Source" + +# OCMock headers use `#import `. +config("ocmock_config") { + include_dirs = [ "$ocmock_path" ] +} + +# Target that compiles all sources to .o files but does not produce a static +# library for use in macOS desktop tests. +source_set("ocmock_src") { + configs -= [ + "//build/config/compiler:chromium_code", + "//build/config/gcc:symbol_visibility_hidden", + "//build/config:symbol_visibility_hidden", + ] + all_dependent_configs = [ ":ocmock_config" ] + cflags = [ + "-fvisibility=default", + "-Wno-misleading-indentation", + ] + if (is_ios) { + cflags += [ "-mios-simulator-version-min=$ios_testing_deployment_target" ] + } + + sources = [ + "$ocmock_path/OCMock/NSInvocation+OCMAdditions.h", + "$ocmock_path/OCMock/NSInvocation+OCMAdditions.m", + "$ocmock_path/OCMock/NSMethodSignature+OCMAdditions.h", + "$ocmock_path/OCMock/NSMethodSignature+OCMAdditions.m", + "$ocmock_path/OCMock/NSNotificationCenter+OCMAdditions.h", + "$ocmock_path/OCMock/NSNotificationCenter+OCMAdditions.m", + "$ocmock_path/OCMock/NSObject+OCMAdditions.h", + "$ocmock_path/OCMock/NSObject+OCMAdditions.m", + "$ocmock_path/OCMock/NSValue+OCMAdditions.h", + "$ocmock_path/OCMock/NSValue+OCMAdditions.m", + "$ocmock_path/OCMock/OCClassMockObject.h", + "$ocmock_path/OCMock/OCClassMockObject.m", + "$ocmock_path/OCMock/OCMArg.h", + "$ocmock_path/OCMock/OCMArg.m", + "$ocmock_path/OCMock/OCMArgAction.h", + "$ocmock_path/OCMock/OCMArgAction.m", + "$ocmock_path/OCMock/OCMBlockArgCaller.h", + "$ocmock_path/OCMock/OCMBlockArgCaller.m", + "$ocmock_path/OCMock/OCMBlockCaller.h", + "$ocmock_path/OCMock/OCMBlockCaller.m", + "$ocmock_path/OCMock/OCMBoxedReturnValueProvider.h", + "$ocmock_path/OCMock/OCMBoxedReturnValueProvider.m", + "$ocmock_path/OCMock/OCMConstraint.h", + "$ocmock_path/OCMock/OCMConstraint.m", + "$ocmock_path/OCMock/OCMExceptionReturnValueProvider.h", + "$ocmock_path/OCMock/OCMExceptionReturnValueProvider.m", + "$ocmock_path/OCMock/OCMExpectationRecorder.h", + "$ocmock_path/OCMock/OCMExpectationRecorder.m", + "$ocmock_path/OCMock/OCMFunctions.h", + "$ocmock_path/OCMock/OCMFunctions.m", + "$ocmock_path/OCMock/OCMFunctionsPrivate.h", + "$ocmock_path/OCMock/OCMIndirectReturnValueProvider.h", + "$ocmock_path/OCMock/OCMIndirectReturnValueProvider.m", + "$ocmock_path/OCMock/OCMInvocationExpectation.h", + "$ocmock_path/OCMock/OCMInvocationExpectation.m", + "$ocmock_path/OCMock/OCMInvocationMatcher.h", + "$ocmock_path/OCMock/OCMInvocationMatcher.m", + "$ocmock_path/OCMock/OCMInvocationStub.h", + "$ocmock_path/OCMock/OCMInvocationStub.m", + "$ocmock_path/OCMock/OCMLocation.h", + "$ocmock_path/OCMock/OCMLocation.m", + "$ocmock_path/OCMock/OCMMacroState.h", + "$ocmock_path/OCMock/OCMMacroState.m", + "$ocmock_path/OCMock/OCMNonRetainingObjectReturnValueProvider.h", + "$ocmock_path/OCMock/OCMNonRetainingObjectReturnValueProvider.m", + "$ocmock_path/OCMock/OCMNotificationPoster.h", + "$ocmock_path/OCMock/OCMNotificationPoster.m", + "$ocmock_path/OCMock/OCMObjectReturnValueProvider.h", + "$ocmock_path/OCMock/OCMObjectReturnValueProvider.m", + "$ocmock_path/OCMock/OCMObserverRecorder.h", + "$ocmock_path/OCMock/OCMObserverRecorder.m", + "$ocmock_path/OCMock/OCMPassByRefSetter.h", + "$ocmock_path/OCMock/OCMPassByRefSetter.m", + "$ocmock_path/OCMock/OCMQuantifier.h", + "$ocmock_path/OCMock/OCMQuantifier.m", + "$ocmock_path/OCMock/OCMRealObjectForwarder.h", + "$ocmock_path/OCMock/OCMRealObjectForwarder.m", + "$ocmock_path/OCMock/OCMRecorder.h", + "$ocmock_path/OCMock/OCMRecorder.m", + "$ocmock_path/OCMock/OCMStubRecorder.h", + "$ocmock_path/OCMock/OCMStubRecorder.m", + "$ocmock_path/OCMock/OCMVerifier.h", + "$ocmock_path/OCMock/OCMVerifier.m", + "$ocmock_path/OCMock/OCMock.h", + "$ocmock_path/OCMock/OCMockObject.h", + "$ocmock_path/OCMock/OCMockObject.m", + "$ocmock_path/OCMock/OCObserverMockObject.h", + "$ocmock_path/OCMock/OCObserverMockObject.m", + "$ocmock_path/OCMock/OCPartialMockObject.h", + "$ocmock_path/OCMock/OCPartialMockObject.m", + "$ocmock_path/OCMock/OCProtocolMockObject.h", + "$ocmock_path/OCMock/OCProtocolMockObject.m", + ] + + frameworks = [ "Foundation.framework" ] +} + +shared_library("ocmock_shared") { + deps = [ ":ocmock_src" ] + cflags = [ "-fvisibility=default" ] + ldflags = [ "-Wl,-install_name,@rpath/Frameworks/libocmock_shared.dylib" ] +} + +# Generates a static library, used in iOS unit test targets +static_library("ocmock") { + # Force the static lib to include code from dependencies + complete_static_lib = true + if (is_ios) { + cflags = [ "-mios-simulator-version-min=$ios_testing_deployment_target" ] + } + public_deps = [ ":ocmock_src" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/pkg/quiver/BUILD.gn b/engine/src/flutter/build/secondary/third_party/pkg/quiver/BUILD.gn new file mode 100644 index 00000000000..8917550b308 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/pkg/quiver/BUILD.gn @@ -0,0 +1,83 @@ +# Copyright 2021 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(flutter/flutter#85356): This file was originally generated by the +# fuchsia.git script: `package_importer.py`. The generated `BUILD.gn` files were +# copied to the flutter repo to support `dart_library` targets used for +# Flutter-Fuchsia integration tests. This file can be maintained by hand, but it +# would be better to implement a script for Flutter, to either generate these +# BUILD.gn files or dynamically generate the GN targets. + +import("//flutter/tools/fuchsia/dart/dart_library.gni") + +dart_library("quiver") { + package_name = "quiver" + + # The current version of this library is not null safe + language_version = "2.0" + + deps = [ + "//third_party/dart/pkg/meta", + "//third_party/dart/third_party/pkg/matcher", + ] + + sources = [ + "async.dart", + "cache.dart", + "check.dart", + "collection.dart", + "core.dart", + "io.dart", + "iterables.dart", + "mirrors.dart", + "pattern.dart", + "src/async/collect.dart", + "src/async/concat.dart", + "src/async/countdown_timer.dart", + "src/async/enumerate.dart", + "src/async/future_stream.dart", + "src/async/iteration.dart", + "src/async/metronome.dart", + "src/async/stream_buffer.dart", + "src/async/stream_router.dart", + "src/async/string.dart", + "src/cache/cache.dart", + "src/cache/map_cache.dart", + "src/collection/bimap.dart", + "src/collection/delegates/iterable.dart", + "src/collection/delegates/list.dart", + "src/collection/delegates/map.dart", + "src/collection/delegates/queue.dart", + "src/collection/delegates/set.dart", + "src/collection/lru_map.dart", + "src/collection/multimap.dart", + "src/collection/treeset.dart", + "src/core/hash.dart", + "src/core/optional.dart", + "src/iterables/concat.dart", + "src/iterables/count.dart", + "src/iterables/cycle.dart", + "src/iterables/enumerate.dart", + "src/iterables/generating_iterable.dart", + "src/iterables/infinite_iterable.dart", + "src/iterables/merge.dart", + "src/iterables/min_max.dart", + "src/iterables/partition.dart", + "src/iterables/range.dart", + "src/iterables/zip.dart", + "src/time/clock.dart", + "src/time/duration_unit_constants.dart", + "src/time/util.dart", + "strings.dart", + "testing/async.dart", + "testing/equality.dart", + "testing/runtime.dart", + "testing/src/async/fake_async.dart", + "testing/src/equality/equality.dart", + "testing/src/runtime/checked_mode.dart", + "testing/src/time/time.dart", + "testing/time.dart", + "time.dart", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/shaderc_flutter/BUILD.gn b/engine/src/flutter/build/secondary/third_party/shaderc_flutter/BUILD.gn new file mode 100644 index 00000000000..ec41f7ac753 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/shaderc_flutter/BUILD.gn @@ -0,0 +1,83 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +shaderc_base = "//third_party/shaderc" + +config("shaderc_util_config") { + include_dirs = [ "$shaderc_base/libshaderc_util/include/" ] +} + +source_set("shaderc_util_flutter") { + public_configs = [ ":shaderc_util_config" ] + + configs += + [ "//third_party/vulkan-deps/spirv-tools/src:spvtools_public_config" ] + + public_deps = [ + "//third_party/vulkan-deps/glslang/src:glslang_sources", + "//third_party/vulkan-deps/spirv-tools/src:spvtools", + ] + + defines = [ "ENABLE_HLSL=1" ] + + if (is_clang) { + cflags_cc = [ + "-Wno-deprecated-copy", + "-Wno-unknown-warning-option", + ] + } + + sources = [ + "$shaderc_base/libshaderc_util/include/libshaderc_util/counting_includer.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/exceptions.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/file_finder.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/format.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/io_shaderc.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/message.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/mutex.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/resources.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/spirv_tools_wrapper.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/string_piece.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/universal_unistd.h", + "$shaderc_base/libshaderc_util/include/libshaderc_util/version_profile.h", + "$shaderc_base/libshaderc_util/src/compiler.cc", + "$shaderc_base/libshaderc_util/src/file_finder.cc", + "$shaderc_base/libshaderc_util/src/io_shaderc.cc", + "$shaderc_base/libshaderc_util/src/message.cc", + "$shaderc_base/libshaderc_util/src/resources.cc", + "$shaderc_base/libshaderc_util/src/shader_stage.cc", + "$shaderc_base/libshaderc_util/src/spirv_tools_wrapper.cc", + "$shaderc_base/libshaderc_util/src/version_profile.cc", + ] +} + +config("shaderc_config") { + include_dirs = [ "$shaderc_base/libshaderc/include/" ] +} + +source_set("shaderc_flutter") { + defines = [ "SHADERC_IMPLEMENTATION" ] + + public_configs = [ ":shaderc_config" ] + + configs += + [ "//third_party/vulkan-deps/spirv-tools/src:spvtools_public_config" ] + + deps = [ ":shaderc_util_flutter" ] + + public_deps = [ + "//third_party/vulkan-deps/glslang/src:glslang_sources", + "//third_party/vulkan-deps/spirv-tools/src:spvtools", + ] + + sources = [ + "$shaderc_base/libshaderc/include/shaderc/env.h", + "$shaderc_base/libshaderc/include/shaderc/shaderc.h", + "$shaderc_base/libshaderc/include/shaderc/shaderc.hpp", + "$shaderc_base/libshaderc/include/shaderc/status.h", + "$shaderc_base/libshaderc/include/shaderc/visibility.h", + "$shaderc_base/libshaderc/src/shaderc.cc", + "$shaderc_base/libshaderc/src/shaderc_private.h", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/spirv_cross_flutter/BUILD.gn b/engine/src/flutter/build/secondary/third_party/spirv_cross_flutter/BUILD.gn new file mode 100644 index 00000000000..2429fefe6be --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/spirv_cross_flutter/BUILD.gn @@ -0,0 +1,41 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_root = "//third_party/vulkan-deps/spirv-cross/src" + +config("spirv_cross_public") { + include_dirs = [ source_root ] + + defines = [ "SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS" ] +} + +source_set("spirv_cross_flutter") { + public_configs = [ ":spirv_cross_public" ] + + sources = [ + "$source_root/GLSL.std.450.h", + "$source_root/spirv.hpp", + "$source_root/spirv_cfg.cpp", + "$source_root/spirv_cfg.hpp", + "$source_root/spirv_common.hpp", + "$source_root/spirv_cross.cpp", + "$source_root/spirv_cross.hpp", + "$source_root/spirv_cross_containers.hpp", + "$source_root/spirv_cross_error_handling.hpp", + "$source_root/spirv_cross_parsed_ir.cpp", + "$source_root/spirv_cross_parsed_ir.hpp", + "$source_root/spirv_cross_util.cpp", + "$source_root/spirv_cross_util.hpp", + "$source_root/spirv_glsl.cpp", + "$source_root/spirv_glsl.hpp", + "$source_root/spirv_hlsl.cpp", + "$source_root/spirv_hlsl.hpp", + "$source_root/spirv_msl.cpp", + "$source_root/spirv_msl.hpp", + "$source_root/spirv_parser.cpp", + "$source_root/spirv_parser.hpp", + "$source_root/spirv_reflect.cpp", + "$source_root/spirv_reflect.hpp", + ] +} diff --git a/engine/src/flutter/build/secondary/third_party/stb/BUILD.gn b/engine/src/flutter/build/secondary/third_party/stb/BUILD.gn new file mode 100644 index 00000000000..68be14ffb5d --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/stb/BUILD.gn @@ -0,0 +1,15 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_root = "//third_party/stb" + +source_set("stb_truetype") { + testonly = true + + public = [ "$source_root/stb_truetype.h" ] + + include_dirs = [ "$source_root" ] + + sources = [ "//flutter/build/secondary/third_party/stb/stb_truetype_stub.cc" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/stb/stb_truetype_stub.cc b/engine/src/flutter/build/secondary/third_party/stb/stb_truetype_stub.cc new file mode 100644 index 00000000000..eaca9020be0 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/stb/stb_truetype_stub.cc @@ -0,0 +1,6 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#define STB_TRUETYPE_IMPLEMENTATION +#include "third_party/stb/stb_truetype.h" diff --git a/engine/src/flutter/build/secondary/third_party/tinygltf/BUILD.gn b/engine/src/flutter/build/secondary/third_party/tinygltf/BUILD.gn new file mode 100644 index 00000000000..d5f6b6cfff4 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/tinygltf/BUILD.gn @@ -0,0 +1,23 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_root = "//third_party/tinygltf" + +source_set("tinygltf") { + public = [ "$source_root/tiny_gltf.h" ] + + if (is_clang) { + cflags_cc = [ "-Wno-sign-compare" ] + } + + include_dirs = [ + "$source_root", + "$source_root/third_party/include", + ] + + sources = + [ "//flutter/build/secondary/third_party/tinygltf/tinygltf_stub.cc" ] + + deps = [ "//third_party/json" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/tinygltf/tinygltf_stub.cc b/engine/src/flutter/build/secondary/third_party/tinygltf/tinygltf_stub.cc new file mode 100644 index 00000000000..88e369d44f5 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/tinygltf/tinygltf_stub.cc @@ -0,0 +1,11 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "nlohmann/json.hpp" + +#define TINYGLTF_IMPLEMENTATION +#define TINYGLTF_NO_INCLUDE_JSON +#define STB_IMAGE_IMPLEMENTATION +#define STB_IMAGE_WRITE_IMPLEMENTATION +#include "third_party/tinygltf/tiny_gltf.h" diff --git a/engine/src/flutter/build/secondary/third_party/vulkan_memory_allocator/BUILD.gn b/engine/src/flutter/build/secondary/third_party/vulkan_memory_allocator/BUILD.gn new file mode 100644 index 00000000000..8d4587d9130 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/vulkan_memory_allocator/BUILD.gn @@ -0,0 +1,40 @@ +# Copyright 2020 The ANGLE Project Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +# +# Custom GN integration for VulkanMemoryAllocator. + +declare_args() { + vma_vulkan_headers_dir = "//third_party/vulkan-deps/vulkan-headers/src" +} + +config("vulkan_memory_allocator_config") { + include_dirs = [ "include" ] + if (is_clang) { + cflags_cc = [ + "-Wno-c++98-compat-extra-semi", + "-Wno-deprecated-copy", + "-Wno-implicit-fallthrough", + "-Wno-nullability-completeness", + "-Wno-suggest-destructor-override", + "-Wno-suggest-override", + "-Wno-unused-private-field", + "-Wno-unused-variable", + ] + } + if (is_win && !is_clang) { + cflags_cc = [ + "/wd4189", # local variable is initialized but not referenced + ] + } + defines = [ + "VMA_DYNAMIC_VULKAN_FUNCTIONS=0", + "VMA_STATIC_VULKAN_FUNCTIONS=0", + ] +} + +source_set("vulkan_memory_allocator") { + sources = [ "include/vk_mem_alloc.h" ] + deps = [ "${vma_vulkan_headers_dir}:vulkan_headers" ] + public_configs = [ ":vulkan_memory_allocator_config" ] +} diff --git a/engine/src/flutter/build/secondary/third_party/vulkan_validation_layers/BUILD.gn b/engine/src/flutter/build/secondary/third_party/vulkan_validation_layers/BUILD.gn new file mode 100644 index 00000000000..688ba45fda9 --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/vulkan_validation_layers/BUILD.gn @@ -0,0 +1,493 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +################################################################################ +# This is a temporary secondary build file until the rtti issue is solved +# in vulkan-deps +################################################################################ + +import("//build_overrides/vulkan_validation_layers.gni") + +_checkout_dir = "//third_party/vulkan-deps/vulkan-validation-layers/src" + +vulkan_undefine_configs = [] +if (is_win) { + vulkan_undefine_configs += [ "//build/config/win:unicode" ] +} + +vulkan_gen_dir = "$target_gen_dir/$vulkan_gen_subdir" +raw_vulkan_gen_dir = rebase_path(vulkan_gen_dir, root_build_dir) + +vulkan_data_dir = "$root_out_dir/$vulkan_data_subdir" +raw_vulkan_data_dir = rebase_path(vulkan_data_dir, root_build_dir) + +raw_root_out_dir = rebase_path(root_out_dir, root_build_dir) + +# This special action is needed to remove old VVL objects that are now renamed. +action("vulkan_clean_old_validation_layer_objects") { + script = "$_checkout_dir/build-gn/remove_files.py" + + # inputs is a (random) new file since the vvl roll, used to ensure the cleanup is done only once + inputs = [ "$_checkout_dir/layers/gpu_validation/gpu_validation.cpp" ] + outputs = [ "$vulkan_gen_dir/old_vvl_files_are_removed" ] + args = [ + "$raw_vulkan_gen_dir/old_vvl_files_are_removed", + "$raw_root_out_dir/libVkLayer*", + "$raw_root_out_dir/VkLayer*", + "$raw_vulkan_data_dir/VkLayer*.json", + ] +} + +config("generated_layers_config") { + if (is_clang) { + cflags = [ + "-Wno-conversion", + "-Wno-deprecated-copy", + "-Wno-extra-semi", + "-Wno-implicit-fallthrough", + "-Wno-missing-field-initializers", + "-Wno-newline-eof", + "-Wno-sign-compare", + "-Wno-unused-const-variable", + ] + } +} + +config("vulkan_internal_config") { + defines = [ + "VULKAN_NON_CMAKE_BUILD", + "VK_ENABLE_BETA_EXTENSIONS", + ] + + if (!is_win) { + cflags_cc = [ "-std=c++17" ] + } else { + cflags_cc = [ "/std:c++17" ] + } + + cflags = [] + if (is_clang || !is_win) { + cflags += [ "-Wno-unused-function" ] + } + if (is_clang && is_mac) { + cflags += [ "-Wno-unguarded-availability-new" ] + } + if (is_linux) { + defines += [ + "SYSCONFDIR=\"/etc\"", + "FALLBACK_CONFIG_DIRS=\"/etc/xdg\"", + "FALLBACK_DATA_DIRS=\"/usr/local/share:/usr/share\"", + ] + } + + # Suppress warnings the vulkan code doesn't comply with. + if (is_fuchsia) { + configs = [ "//build/config:Wno-unused-but-set-variable" ] + } + if (is_clang) { + cflags += [ "-Wno-extra-semi" ] + } +} + +# The validation layers +# --------------------- + +config("vulkan_layer_config") { + include_dirs = [ + "$_checkout_dir/layers", + "$_checkout_dir/layers/external", + "$_checkout_dir/layers/generated", + ] + if (is_clang) { + cflags = [ "-Wno-extra-semi" ] + } +} + +core_validation_sources = [ + "$_checkout_dir/layers/containers/qfo_transfer.h", + "$_checkout_dir/layers/containers/range_vector.h", + "$_checkout_dir/layers/containers/subresource_adapter.cpp", + "$_checkout_dir/layers/containers/subresource_adapter.h", + "$_checkout_dir/layers/core_checks/cc_android.cpp", + "$_checkout_dir/layers/core_checks/cc_buffer.cpp", + "$_checkout_dir/layers/core_checks/cc_buffer_address.h", + "$_checkout_dir/layers/core_checks/cc_cmd_buffer.cpp", + "$_checkout_dir/layers/core_checks/cc_cmd_buffer_dynamic.cpp", + "$_checkout_dir/layers/core_checks/cc_copy_blit_resolve.cpp", + "$_checkout_dir/layers/core_checks/cc_descriptor.cpp", + "$_checkout_dir/layers/core_checks/cc_device.cpp", + "$_checkout_dir/layers/core_checks/cc_device_memory.cpp", + "$_checkout_dir/layers/core_checks/cc_drawdispatch.cpp", + "$_checkout_dir/layers/core_checks/cc_external_object.cpp", + "$_checkout_dir/layers/core_checks/cc_image.cpp", + "$_checkout_dir/layers/core_checks/cc_image_layout.cpp", + "$_checkout_dir/layers/core_checks/cc_pipeline.cpp", + "$_checkout_dir/layers/core_checks/cc_pipeline_compute.cpp", + "$_checkout_dir/layers/core_checks/cc_pipeline_graphics.cpp", + "$_checkout_dir/layers/core_checks/cc_pipeline_ray_tracing.cpp", + "$_checkout_dir/layers/core_checks/cc_query.cpp", + "$_checkout_dir/layers/core_checks/cc_queue.cpp", + "$_checkout_dir/layers/core_checks/cc_ray_tracing.cpp", + "$_checkout_dir/layers/core_checks/cc_render_pass.cpp", + "$_checkout_dir/layers/core_checks/cc_shader.cpp", + "$_checkout_dir/layers/core_checks/cc_shader.h", + "$_checkout_dir/layers/core_checks/cc_synchronization.cpp", + "$_checkout_dir/layers/core_checks/cc_video.cpp", + "$_checkout_dir/layers/core_checks/cc_wsi.cpp", + "$_checkout_dir/layers/core_checks/cc_ycbcr.cpp", + "$_checkout_dir/layers/core_checks/core_validation.h", + "$_checkout_dir/layers/error_message/core_error_location.cpp", + "$_checkout_dir/layers/error_message/core_error_location.h", + "$_checkout_dir/layers/error_message/validation_error_enums.h", + "$_checkout_dir/layers/external/vma/vk_mem_alloc.h", + "$_checkout_dir/layers/external/vma/vma.cpp", + "$_checkout_dir/layers/external/vma/vma.h", + "$_checkout_dir/layers/generated/command_validation.cpp", + "$_checkout_dir/layers/generated/command_validation.h", + "$_checkout_dir/layers/generated/gpu_as_inspection_comp.h", + "$_checkout_dir/layers/generated/gpu_pre_dispatch_comp.h", + "$_checkout_dir/layers/generated/gpu_pre_draw_vert.h", + "$_checkout_dir/layers/generated/spirv_grammar_helper.cpp", + "$_checkout_dir/layers/generated/spirv_grammar_helper.h", + "$_checkout_dir/layers/generated/spirv_validation_helper.cpp", + "$_checkout_dir/layers/generated/sync_validation_types.cpp", + "$_checkout_dir/layers/generated/sync_validation_types.h", + "$_checkout_dir/layers/gpu_shaders/gpu_shaders_constants.h", + "$_checkout_dir/layers/gpu_validation/gpu_utils.cpp", + "$_checkout_dir/layers/gpu_validation/gpu_utils.h", + "$_checkout_dir/layers/gpu_validation/gpu_validation.cpp", + "$_checkout_dir/layers/gpu_validation/gpu_validation.h", + "$_checkout_dir/layers/gpu_validation/gpu_vuids.h", + "$_checkout_dir/layers/state_tracker/base_node.cpp", + "$_checkout_dir/layers/state_tracker/base_node.h", + "$_checkout_dir/layers/state_tracker/buffer_state.cpp", + "$_checkout_dir/layers/state_tracker/buffer_state.h", + "$_checkout_dir/layers/state_tracker/cmd_buffer_state.cpp", + "$_checkout_dir/layers/state_tracker/cmd_buffer_state.h", + "$_checkout_dir/layers/state_tracker/descriptor_sets.cpp", + "$_checkout_dir/layers/state_tracker/descriptor_sets.h", + "$_checkout_dir/layers/state_tracker/device_memory_state.cpp", + "$_checkout_dir/layers/state_tracker/device_memory_state.h", + "$_checkout_dir/layers/state_tracker/device_state.h", + "$_checkout_dir/layers/state_tracker/image_layout_map.cpp", + "$_checkout_dir/layers/state_tracker/image_layout_map.h", + "$_checkout_dir/layers/state_tracker/image_state.cpp", + "$_checkout_dir/layers/state_tracker/image_state.h", + "$_checkout_dir/layers/state_tracker/pipeline_layout_state.cpp", + "$_checkout_dir/layers/state_tracker/pipeline_layout_state.h", + "$_checkout_dir/layers/state_tracker/pipeline_state.cpp", + "$_checkout_dir/layers/state_tracker/pipeline_state.h", + "$_checkout_dir/layers/state_tracker/pipeline_sub_state.cpp", + "$_checkout_dir/layers/state_tracker/pipeline_sub_state.h", + "$_checkout_dir/layers/state_tracker/query_state.h", + "$_checkout_dir/layers/state_tracker/queue_state.cpp", + "$_checkout_dir/layers/state_tracker/queue_state.h", + "$_checkout_dir/layers/state_tracker/ray_tracing_state.h", + "$_checkout_dir/layers/state_tracker/render_pass_state.cpp", + "$_checkout_dir/layers/state_tracker/render_pass_state.h", + "$_checkout_dir/layers/state_tracker/sampler_state.h", + "$_checkout_dir/layers/state_tracker/shader_instruction.cpp", + "$_checkout_dir/layers/state_tracker/shader_instruction.h", + "$_checkout_dir/layers/state_tracker/shader_module.cpp", + "$_checkout_dir/layers/state_tracker/shader_module.h", + "$_checkout_dir/layers/state_tracker/state_tracker.cpp", + "$_checkout_dir/layers/state_tracker/state_tracker.h", + "$_checkout_dir/layers/state_tracker/video_session_state.cpp", + "$_checkout_dir/layers/state_tracker/video_session_state.h", + "$_checkout_dir/layers/sync/sync_utils.cpp", + "$_checkout_dir/layers/sync/sync_utils.h", + "$_checkout_dir/layers/sync/sync_validation.cpp", + "$_checkout_dir/layers/sync/sync_validation.h", + "$_checkout_dir/layers/sync/sync_vuid_maps.cpp", + "$_checkout_dir/layers/sync/sync_vuid_maps.h", + "$_checkout_dir/layers/utils/android_ndk_types.h", + "$_checkout_dir/layers/utils/convert_to_renderpass2.cpp", + "$_checkout_dir/layers/utils/convert_to_renderpass2.h", +] + +object_lifetimes_sources = [ + "$_checkout_dir/layers/generated/object_tracker.cpp", + "$_checkout_dir/layers/generated/object_tracker.h", + "$_checkout_dir/layers/object_tracker/object_lifetime_validation.h", + "$_checkout_dir/layers/object_tracker/object_tracker_utils.cpp", +] + +stateless_validation_sources = [ + "$_checkout_dir/layers/generated/enum_flag_bits.h", + "$_checkout_dir/layers/generated/parameter_validation.cpp", + "$_checkout_dir/layers/generated/parameter_validation.h", + "$_checkout_dir/layers/stateless/parameter_name.h", + "$_checkout_dir/layers/stateless/sl_buffer.cpp", + "$_checkout_dir/layers/stateless/sl_cmd_buffer.cpp", + "$_checkout_dir/layers/stateless/sl_cmd_buffer_dynamic.cpp", + "$_checkout_dir/layers/stateless/sl_descriptor.cpp", + "$_checkout_dir/layers/stateless/sl_device_memory.cpp", + "$_checkout_dir/layers/stateless/sl_external_object.cpp", + "$_checkout_dir/layers/stateless/sl_framebuffer.cpp", + "$_checkout_dir/layers/stateless/sl_image.cpp", + "$_checkout_dir/layers/stateless/sl_instance_device.cpp", + "$_checkout_dir/layers/stateless/sl_pipeline.cpp", + "$_checkout_dir/layers/stateless/sl_ray_tracing.cpp", + "$_checkout_dir/layers/stateless/sl_render_pass.cpp", + "$_checkout_dir/layers/stateless/sl_synchronization.cpp", + "$_checkout_dir/layers/stateless/sl_wsi.cpp", + "$_checkout_dir/layers/stateless/stateless_validation.h", +] + +thread_safety_sources = [ + "$_checkout_dir/layers/generated/thread_safety.cpp", + "$_checkout_dir/layers/generated/thread_safety.h", +] + +unique_objects_sources = [] + +best_practices_sources = [ + "$_checkout_dir/layers/best_practices/best_practices_error_enums.h", + "$_checkout_dir/layers/best_practices/best_practices_utils.cpp", + "$_checkout_dir/layers/best_practices/best_practices_validation.h", + "$_checkout_dir/layers/best_practices/bp_buffer.cpp", + "$_checkout_dir/layers/best_practices/bp_cmd_buffer.cpp", + "$_checkout_dir/layers/best_practices/bp_copy_blit_resolve.cpp", + "$_checkout_dir/layers/best_practices/bp_descriptor.cpp", + "$_checkout_dir/layers/best_practices/bp_device_memory.cpp", + "$_checkout_dir/layers/best_practices/bp_drawdispatch.cpp", + "$_checkout_dir/layers/best_practices/bp_framebuffer.cpp", + "$_checkout_dir/layers/best_practices/bp_image.cpp", + "$_checkout_dir/layers/best_practices/bp_instance_device.cpp", + "$_checkout_dir/layers/best_practices/bp_pipeline.cpp", + "$_checkout_dir/layers/best_practices/bp_ray_tracing.cpp", + "$_checkout_dir/layers/best_practices/bp_render_pass.cpp", + "$_checkout_dir/layers/best_practices/bp_synchronization.cpp", + "$_checkout_dir/layers/best_practices/bp_video.cpp", + "$_checkout_dir/layers/best_practices/bp_wsi.cpp", + "$_checkout_dir/layers/generated/best_practices.cpp", + "$_checkout_dir/layers/generated/best_practices.h", +] + +debug_printf_sources = [ + "$_checkout_dir/layers/gpu_validation/debug_printf.cpp", + "$_checkout_dir/layers/gpu_validation/debug_printf.h", +] + +chassis_sources = [ + "$_checkout_dir/layers/generated/chassis.cpp", + "$_checkout_dir/layers/generated/chassis.h", + "$_checkout_dir/layers/generated/chassis_dispatch_helper.h", + "$_checkout_dir/layers/generated/layer_chassis_dispatch.cpp", + "$_checkout_dir/layers/generated/layer_chassis_dispatch.h", + "$_checkout_dir/layers/generated/valid_param_values.cpp", + "$_checkout_dir/layers/generated/valid_param_values.h", + "$_checkout_dir/layers/generated/vk_dispatch_table_helper.h", + "$_checkout_dir/layers/generated/vk_extension_helper.h", + "$_checkout_dir/layers/generated/vk_safe_struct.cpp", + "$_checkout_dir/layers/layer_options.cpp", + "$_checkout_dir/layers/layer_options.h", + "$_checkout_dir/layers/vk_layer_settings_ext.h", + "$vulkan_headers_dir/include/vulkan/vk_layer.h", + "$vulkan_headers_dir/include/vulkan/vulkan.h", +] + +layers = [ [ + "khronos_validation", + core_validation_sources + object_lifetimes_sources + + stateless_validation_sources + thread_safety_sources + + unique_objects_sources + best_practices_sources + + debug_printf_sources + chassis_sources, + [ ":vulkan_core_validation_glslang" ], + [], + ] ] + +if (!is_android) { + action("vulkan_gen_json_files") { + script = "$_checkout_dir/build-gn/generate_vulkan_layers_json.py" + + deps = [ "$vulkan_headers_dir:vulkan_headers" ] + if (!is_fuchsia) { + # Make sure that the cleanup of old layer JSON files happens before the new ones are generated. + deps += [ ":vulkan_clean_old_validation_layer_objects" ] + } + + sources = [ "$_checkout_dir/layers/VkLayer_khronos_validation.json.in" ] + outputs = [ "$vulkan_data_dir/VkLayer_khronos_validation.json" ] + + if (is_linux) { + _platform = "Linux" + } else if (is_win) { + _platform = "Windows" + } else if (is_mac) { + _platform = "Darwin" + } else if (is_fuchsia) { + _platform = "Fuchsia" + } else { + _platform = "Other" + } + + args = [ + "--platform", + _platform, + rebase_path("$_checkout_dir/layers/", root_build_dir), + rebase_path(vulkan_data_dir, root_build_dir), + ] + rebase_path(sources, root_build_dir) + if (is_fuchsia) { + args += [ "--no-path-prefix" ] + } + + # The layer JSON files are part of the necessary data deps. + data = outputs + } +} + +config("vulkan_memory_allocator_config") { + if (is_clang) { + cflags_cc = [ "-Wno-nullability-completeness" ] + } +} + +source_set("vulkan_layer_utils") { + include_dirs = [ + "$_checkout_dir/layers", + "$_checkout_dir/layers/external", + "$_checkout_dir/layers/generated", + ] + sources = [ + "$_checkout_dir/layers/containers/custom_containers.h", + "$_checkout_dir/layers/containers/sparse_containers.h", + "$_checkout_dir/layers/error_message/logging.cpp", + "$_checkout_dir/layers/error_message/logging.h", + "$_checkout_dir/layers/external/xxhash.cpp", + "$_checkout_dir/layers/external/xxhash.h", + "$_checkout_dir/layers/generated/vk_enum_string_helper.h", + "$_checkout_dir/layers/generated/vk_extension_helper.h", + "$_checkout_dir/layers/generated/vk_format_utils.cpp", + "$_checkout_dir/layers/generated/vk_format_utils.h", + "$_checkout_dir/layers/generated/vk_layer_dispatch_table.h", + "$_checkout_dir/layers/generated/vk_object_types.h", + "$_checkout_dir/layers/generated/vk_safe_struct.h", + "$_checkout_dir/layers/generated/vk_typemap_helper.h", + "$_checkout_dir/layers/generated/vk_validation_error_messages.h", + "$_checkout_dir/layers/utils/android_ndk_types.h", + "$_checkout_dir/layers/utils/cast_utils.h", + "$_checkout_dir/layers/utils/hash_util.h", + "$_checkout_dir/layers/utils/hash_vk_types.h", + "$_checkout_dir/layers/utils/vk_layer_extension_utils.cpp", + "$_checkout_dir/layers/utils/vk_layer_extension_utils.h", + "$_checkout_dir/layers/utils/vk_layer_utils.cpp", + "$_checkout_dir/layers/utils/vk_layer_utils.h", + "$_checkout_dir/layers/vk_layer_config.cpp", + "$_checkout_dir/layers/vk_layer_config.h", + "$vulkan_headers_dir/include/vulkan/vk_layer.h", + "$vulkan_headers_dir/include/vulkan/vulkan.h", + ] + defines = [ "XXH_NO_LONG_LONG" ] + public_configs = [ + ":vulkan_internal_config", + ":vulkan_memory_allocator_config", + ] + public_deps = [ "$vulkan_headers_dir:vulkan_headers" ] + + configs -= vulkan_undefine_configs + if (!is_fuchsia) { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + } +} + +config("vulkan_core_validation_config") { + include_dirs = [ "$vvl_glslang_dir" ] +} + +source_set("vulkan_core_validation_glslang") { + public_deps = [ + "${vvl_spirv_tools_dir}:spvtools", + "${vvl_spirv_tools_dir}:spvtools_opt", + "${vvl_spirv_tools_dir}:spvtools_val", + ] + public_configs = [ + "$vulkan_headers_dir:vulkan_headers_config", + ":vulkan_core_validation_config", + ] +} + +config("vulkan_stateless_validation_config") { + if (is_clang) { + cflags_cc = [ "-Wno-unused-const-variable" ] + } +} + +if (is_fuchsia) { + library_type = "loadable_module" +} else { + library_type = "shared_library" +} + +foreach(layer_info, layers) { + name = layer_info[0] + target(library_type, "VkLayer_$name") { + defines = [] + ldflags = [] + if (is_fuchsia) { + configs -= [ "//build/config:thread_safety_annotations" ] + ldflags += [ "-static-libstdc++" ] + configs += [ "//build/config:rtti" ] + } else { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + + # The following line is what has to change to fix chromium compilation. + configs -= [ "//build/config/compiler:no_rtti" ] + configs += [ "//build/config/compiler:rtti" ] + } + configs -= vulkan_undefine_configs + configs += [ ":generated_layers_config" ] + public_configs = [ ":vulkan_layer_config" ] + deps = [ ":vulkan_layer_utils" ] + if (!is_fuchsia) { + deps += [ + # Make sure the cleanup of old layers happen before the new ones are compiled. + ":vulkan_clean_old_validation_layer_objects", + ] + } + if (layer_info[2] != "") { + deps += layer_info[2] + } + sources = layer_info[1] + if (is_win) { + defines += [ "NOMINMAX" ] + sources += [ "$_checkout_dir/layers/VkLayer_$name.def" ] + } + if (is_linux || is_android || is_fuchsia) { + ldflags += [ "-Wl,-Bsymbolic,--exclude-libs,ALL" ] + } + if (defined(ozone_platform_x11) && ozone_platform_x11) { + defines += [ "VK_USE_PLATFORM_XLIB_KHR" ] + } + if (is_android) { + libs = [ + "c++", # Note: C++ added by Flutter. + "log", + "nativewindow", + ] + # Note: config edit removed by Flutter + # configs -= [ "//build/config/android:hide_all_but_jni_onload" ] + } + defines += layer_info[3] + } +} + +group("vulkan_validation_layers") { + public_deps = [] + data_deps = [] + foreach(layer_info, layers) { + name = layer_info[0] + if (is_fuchsia) { + public_deps += [ ":VkLayer_$name" ] + } else { + data_deps += [ ":VkLayer_$name" ] + } + } +} + +group("tests") { + # TODO(fxbug.dev/13288) +} diff --git a/engine/src/flutter/build/secondary/third_party/wuffs/BUILD.gn b/engine/src/flutter/build/secondary/third_party/wuffs/BUILD.gn new file mode 100644 index 00000000000..a78200b1e8f --- /dev/null +++ b/engine/src/flutter/build/secondary/third_party/wuffs/BUILD.gn @@ -0,0 +1,59 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +config("wuffs_public") { + include_dirs = [ "release/c" ] + + cflags = [] + + if (is_clang) { + cflags += [ + "-Wno-unused-function", + "-Wno-c++11-narrowing", + ] + } +} + +source_set("wuffs") { + public_configs = [ ":wuffs_public" ] + + defines = [ + # Copy/pasting from "../externals/wuffs/release/c/wuffs-*.c": + # + # ---- + # + # Wuffs ships as a "single file C library" or "header file library" as per + # https://github.com/nothings/stb/blob/master/docs/stb_howto.txt + # + # To use that single file as a "foo.c"-like implementation, instead of a + # "foo.h"-like header, #define WUFFS_IMPLEMENTATION before #include'ing or + # compiling it. + # + # ---- + "WUFFS_IMPLEMENTATION", + + # Continuing to copy/paste: + # + # ---- + # + # Defining the WUFFS_CONFIG__MODULE* macros are optional, but it lets users + # of Wuffs' .c file explicitly include which parts of Wuffs to build. That + # file contains the entire Wuffs standard library, implementing a variety of + # codecs and file formats. Without this macro definition, an optimizing + # compiler or linker may very well discard Wuffs code for unused codecs, + # but listing the Wuffs modules we use makes that process explicit. + # Preprocessing means that such code simply isn't compiled. + # + # ---- + # + # For Skia, we're only interested in particular image codes (e.g. GIF) and + # their dependencies (e.g. BASE, LZW). + "WUFFS_CONFIG__MODULES", + "WUFFS_CONFIG__MODULE__BASE", + "WUFFS_CONFIG__MODULE__GIF", + "WUFFS_CONFIG__MODULE__LZW", + ] + + sources = [ "release/c/wuffs-v0.3.c" ] +} diff --git a/engine/src/flutter/ci/pylint.sh b/engine/src/flutter/ci/pylint.sh index a3e3422152b..e94f5248cb8 100755 --- a/engine/src/flutter/ci/pylint.sh +++ b/engine/src/flutter/ci/pylint.sh @@ -34,7 +34,6 @@ echo "$(date +%T) Running pylint" cd "$FLUTTER_DIR" pylint-2.7 --rcfile=.pylintrc \ - "build/" \ "ci/" \ "impeller/" \ "sky/" \