blob: 22e504fed832bdf6a08c3a65b667e5cb72c682f7 [file] [log] [blame]
# Copyright 2019 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_overrides/build.gni")
import("BUILD.generated.gni")
import("BUILD.generated_tests.gni")
if (build_with_chromium) {
group("boringssl") {
public_configs = [ "//build/config/compiler:default_include_dirs" ]
public_deps = [
"//third_party/boringssl",
]
}
} else {
# Config for us and everybody else depending on BoringSSL.
config("external_config") {
include_dirs = [ "src/include" ]
cflags = []
if (is_clang) {
cflags += [ "-Wno-extra-semi" ]
}
}
# Config internal to this build file, shared by boringssl and boringssl_fuzzer.
config("internal_config") {
visibility = [ ":*" ] # Only targets in this file can depend on this.
defines = [
"BORINGSSL_ALLOW_CXX_RUNTIME",
"BORINGSSL_IMPLEMENTATION",
"BORINGSSL_NO_STATIC_INITIALIZER",
"OPENSSL_SMALL",
]
cflags = [ "-w" ] # Disable all warnings.
cflags_c = [ "-std=c99" ]
defines += [ "_XOPEN_SOURCE=700" ]
}
config("no_asm_config") {
visibility = [ ":*" ] # Only targets in this file can depend on this.
defines = [ "OPENSSL_NO_ASM" ]
}
all_sources = crypto_sources + ssl_sources
all_headers = crypto_headers + ssl_headers
# This has no sources on some platforms so must be a source_set.
source_set("boringssl_asm") {
visibility = [ ":*" ] # Only targets in this file can depend on this.
sources = []
asmflags = []
if (is_linux) {
if (current_cpu == "x64") {
sources += crypto_sources_linux_x86_64
} else if (current_cpu == "x86") {
sources += crypto_sources_linux_x86
} else {
public_configs = [ ":no_asm_config" ]
}
} else if (is_mac) {
if (current_cpu == "x64") {
sources += crypto_sources_mac_x86_64
} else if (current_cpu == "x86") {
sources += crypto_sources_mac_x86
} else {
public_configs = [ ":no_asm_config" ]
}
} else {
public_configs = [ ":no_asm_config" ]
}
}
source_set("boringssl") {
sources = all_sources
public = all_headers
deps = [
":boringssl_asm",
"src/third_party/fiat:fiat_license",
]
public_configs = [ ":external_config" ]
configs += [ ":internal_config" ]
}
}