| # 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. |
| |
| { |
| 'targets': [ |
| { |
| 'target_name': 'boringssl', |
| 'type': '<(component)', |
| 'includes': [ |
| 'boringssl.gypi', |
| ], |
| 'sources': [ |
| '<@(boringssl_lib_sources)', |
| ], |
| 'defines': [ |
| 'BORINGSSL_IMPLEMENTATION', |
| 'BORINGSSL_NO_STATIC_INITIALIZER', |
| ], |
| # TODO(davidben): Fix size_t truncations in BoringSSL. |
| # https://crbug.com/429039 |
| 'msvs_disabled_warnings': [ 4267, ], |
| 'conditions': [ |
| ['component == "shared_library"', { |
| 'defines': [ |
| 'BORINGSSL_SHARED_LIBRARY', |
| ], |
| }], |
| ['target_arch == "arm"', { |
| 'sources': [ '<@(boringssl_linux_arm_sources)' ], |
| }], |
| ['target_arch == "arm64"', { |
| 'sources': [ '<@(boringssl_linux_aarch64_sources)' ], |
| }], |
| ['target_arch == "ia32"', { |
| 'conditions': [ |
| ['OS == "mac"', { |
| 'sources': [ '<@(boringssl_mac_x86_sources)' ], |
| }], |
| ['OS == "linux" or OS == "android"', { |
| 'sources': [ '<@(boringssl_linux_x86_sources)' ], |
| }], |
| ['OS == "win"', { |
| 'sources': [ '<@(boringssl_win_x86_sources)' ], |
| # Windows' assembly is built with Yasm. The other platforms use |
| # the platform assembler. |
| 'variables': { |
| 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/third_party/boringssl', |
| }, |
| 'includes': [ |
| '../yasm/yasm_compile.gypi', |
| ], |
| }], |
| ['OS != "mac" and OS != "linux" and OS != "win" and OS != "android"', { |
| 'defines': [ 'OPENSSL_NO_ASM' ], |
| }], |
| ] |
| }], |
| ['target_arch == "x64"', { |
| 'conditions': [ |
| ['OS == "mac"', { |
| 'sources': [ '<@(boringssl_mac_x86_64_sources)' ], |
| }], |
| ['OS == "linux" or OS == "android"', { |
| 'sources': [ '<@(boringssl_linux_x86_64_sources)' ], |
| }], |
| ['OS == "win"', { |
| 'sources': [ '<@(boringssl_win_x86_64_sources)' ], |
| # Windows' assembly is built with Yasm. The other platforms use |
| # the platform assembler. |
| 'variables': { |
| 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/third_party/boringssl', |
| }, |
| 'includes': [ |
| '../yasm/yasm_compile.gypi', |
| ], |
| }], |
| ['OS != "mac" and OS != "linux" and OS != "win" and OS != "android"', { |
| 'defines': [ 'OPENSSL_NO_ASM' ], |
| }], |
| ] |
| }], |
| ['target_arch != "arm" and target_arch != "ia32" and target_arch != "x64" and target_arch != "arm64"', { |
| 'defines': [ 'OPENSSL_NO_ASM' ], |
| }], |
| ], |
| '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', |
| ], |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| 'src/include', |
| ], |
| 'conditions': [ |
| ['component == "shared_library"', { |
| 'defines': [ |
| 'BORINGSSL_SHARED_LIBRARY', |
| ], |
| }], |
| ], |
| }, |
| }, |
| ], |
| } |