-
Notifications
You must be signed in to change notification settings - Fork 6k
Manual roll dart to 470117150f34d712ee6d8c4558b3c656d973f656 #56915
Changes from all commits
cb211de
9713431
82e6df6
3ee789d
760ce30
b866958
404bae1
8c87615
367c75f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we move //flutter/third_party/boringssl/src to //flutter/third_party/dart/third_party/boringssl/src or put a forwarding GN file in the secondary tree to avoid duplicating this?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure - I had to make changes to it : added
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, I misunderstood - you talked about
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Talked offline, confirmed that you did mean to get rid of copy of |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,93 @@ | ||
| # Copyright 2014 The Chromium Authors | ||
| # Use of this source code is governed by a BSD-style license that can be | ||
| # found in the LICENSE file. | ||
|
|
||
| import("//build/config/android/config.gni") | ||
| import("//build/config/arm.gni") | ||
| import("//build/config/compiler/compiler.gni") | ||
| import("//build/config/sanitizers/sanitizers.gni") | ||
| import("//build_overrides/build.gni") | ||
| import("src/gen/sources.gni") | ||
|
|
||
| # Config for us and everybody else depending on BoringSSL. | ||
| config("external_config") { | ||
| include_dirs = [ "src/include" ] | ||
| if (is_component_build) { | ||
| defines = [ "BORINGSSL_SHARED_LIBRARY" ] | ||
| } | ||
| } | ||
|
|
||
| # The config used by the :boringssl component itself, and the fuzzer copies. | ||
| config("component_config") { | ||
| visibility = [ ":*" ] | ||
| configs = [ ":internal_config" ] | ||
| defines = [ "BORINGSSL_IMPLEMENTATION" ] | ||
|
|
||
| cflags_c = [ "-std=c17" ] | ||
| } | ||
|
|
||
| # This config is used by anything that consumes internal headers. Tests consume | ||
| # this rather than :component_config. | ||
| config("internal_config") { | ||
| visibility = [ ":*" ] | ||
| defines = [ | ||
| "OPENSSL_SMALL", | ||
| "OPENSSL_STATIC_ARMCAP", | ||
| ] | ||
| if (is_posix) { | ||
| defines += [ "_XOPEN_SOURCE=700" ] | ||
| } | ||
| } | ||
|
|
||
| config("no_asm_config") { | ||
| visibility = [ ":*" ] | ||
| defines = [ "OPENSSL_NO_ASM" ] | ||
| } | ||
|
|
||
| # TODO(crbug.com/42290535): Move Chromium's use of libpki to the public API and | ||
| # unexport pki_internal_headers. | ||
| all_sources = bcm_internal_headers + bcm_sources + crypto_internal_headers + | ||
| crypto_sources + ssl_internal_headers + ssl_sources + pki_sources | ||
| all_headers = crypto_headers + ssl_headers + pki_headers + pki_internal_headers | ||
|
|
||
| if (is_msan) { | ||
| # MSan instrumentation is incompatible with assembly optimizations. | ||
| # BoringSSL's GAS-compatible assembly knows how to detect MSan, but the NASM | ||
| # assembly does not, so we check for MSan explicitly. | ||
| source_set("boringssl_asm") { | ||
| visibility = [ ":*" ] | ||
| public_configs = [ ":no_asm_config" ] | ||
| } | ||
| } else if (is_win && (current_cpu == "x86" || current_cpu == "x64")) { | ||
| # Windows' x86 and x86_64 assembly is built with NASM. | ||
| source_set("boringssl_asm") { | ||
| visibility = [ ":*" ] | ||
| public_configs = [ ":no_asm_config" ] | ||
| } | ||
| } else { | ||
| # All other targets use GAS-compatible assembler. BoringSSL's assembly files | ||
| # are all wrapped in processor checks for the corresponding target, so there | ||
| # is no need to add target conditions in the build. | ||
| source_set("boringssl_asm") { | ||
| visibility = [ ":*" ] | ||
| sources = rebase_path(bcm_sources_asm + crypto_sources_asm, ".", "src") | ||
| include_dirs = [ "src/include" ] | ||
| } | ||
| } | ||
|
|
||
| source_set("boringssl") { | ||
| sources = rebase_path(all_sources, ".", "src") | ||
| public = rebase_path(all_headers, ".", "src") | ||
|
|
||
| if (is_win) { | ||
| configs += [ ":no_asm_config" ] | ||
| } else { | ||
| deps = [ ":boringssl_asm" ] | ||
| } | ||
|
|
||
| public_configs = [ ":external_config" ] | ||
| configs += [ ":component_config" ] | ||
|
|
||
| configs -= [ "//build/config/compiler:chromium_code" ] | ||
| configs += [ "//build/config/compiler:no_chromium_code" ] | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should probably come after the section that re-includes (
!boringssl/etc.), and have a comment that explains why it's needed.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, good point.
The intent to clean it up further - remove this /boringssl/src from this
.gitignore.The intent is to avoid copying boringssl/BUILD.gn, reuse third_party/dart/third_party/boringssl/BUILD.gn instead and check boringssl sources out into third_party/dart/third_party/boringssl/src. See b866958 that kind of attempted to do it - the attempt was not quite correct as we do need to add
cflags_c = [ "-std=c17" ]to dart's third_party/dart/third_party/boringssl/BUILD.gn - inserting it via flutter/engine/third_party/boringssl/BUILD.gn doesn't work.