1# Copyright 2020 Google LLC 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15import("//build_overrides/pigweed.gni") 16import("//third_party/boringssl/BUILD.generated.gni") 17import("$dir_pw_build/target_types.gni") 18 19config("external_config") { 20 include_dirs = [ "src/include" ] 21 cflags = [ "-Wno-cast-qual" ] 22 cflags_c = [ "-std=c17" ] 23} 24 25config("internal_config") { 26 visibility = [ ":*" ] # Only targets in this file can depend on this. 27 defines = [ 28 "BORINGSSL_ALLOW_CXX_RUNTIME", 29 "BORINGSSL_IMPLEMENTATION", 30 "BORINGSSL_NO_STATIC_INITIALIZER", 31 "OPENSSL_SMALL", 32 "OPENSSL_NO_ASM", 33 "OPENSSL_NO_THREADS_CORRUPT_MEMORY_AND_LEAK_SECRETS_IF_THREADED", 34 ] 35 cflags_c = [ 36 "-Wno-unused-parameter", 37 "-no-pedantic", 38 ] 39} 40 41config("no_cast_function_type_warnings") { 42 cflags = [ 43 # Disable "-Wcast-fuction-type-strict" 44 # and "-Wcast-function-type-mismatch" which enforce an exact type match 45 # between a function pointer and the target function. 46 "-Wno-cast-function-type-strict", 47 "-Wno-cast-function-type-mismatch", 48 "-Wno-unknown-warning-option", 49 ] 50} 51 52pw_static_library("crypto") { 53 sources = crypto_sources 54 public = crypto_headers 55 public_configs = [ ":external_config" ] 56 configs = [ 57 ":internal_config", 58 ":no_cast_function_type_warnings", 59 ] 60} 61