# 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 for us and everybody else depending on BoringSSL. config("openssl_config") { include_dirs = [] include_dirs += [ "src/include" ] if (is_component_build) { defines = [ "BORINGSSL_SHARED_LIBRARY", ] } } # Config internal to this build file. config("openssl_internal_config") { visibility = [ ":*" ] # Only targets in this file can depend on this. } # The list of BoringSSL files is kept in boringssl.gypi. gypi_values = exec_script( "//build/gypi_to_gn.py", [ rebase_path("//third_party/boringssl/boringssl.gypi") ], "scope", [ "//third_party/boringssl/boringssl.gypi" ]) component("boringssl") { sources = gypi_values.boringssl_lib_sources public_configs = [ ":openssl_config" ] cflags = [] defines = [ "BORINGSSL_IMPLEMENTATION", "BORINGSSL_NO_STATIC_INITIALIZER", ] if (is_component_build) { defines += [ "BORINGSSL_SHARED_LIBRARY", ] } configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] # Also gets the include dirs from :openssl_config include_dirs = [ "src/include", # This is for arm_arch.h, which is needed by some asm files. Since the # asm files are generated and kept in a different directory, they # cannot use relative paths to find this file. "src/crypto", ] if (cpu_arch == "x64") { if (is_mac) { sources += gypi_values.boringssl_mac_x86_64_sources } else if (is_linux || is_android) { sources += gypi_values.boringssl_linux_x86_64_sources } else if (is_win) { sources += gypi_values.boringssl_win_x86_64_sources } else { defines += [ "OPENSSL_NO_ASM" ] } } else if (cpu_arch == "x86") { if (is_mac) { sources += gypi_values.boringssl_mac_x86_sources } else if (is_linux || is_android) { sources += gypi_values.boringssl_linux_x86_sources } else { defines += [ "OPENSSL_NO_ASM" ] } } else if (cpu_arch == "arm") { sources += gypi_values.boringssl_linux_arm_sources } else { defines += [ "OPENSSL_NO_ASM" ] } }