Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / third_party / boringssl / boringssl.gyp
blob5118fc7cc28fba2dcb537651b0d5c3448de3439f
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6   'targets': [
7     {
8       'target_name': 'boringssl',
9       'type': '<(component)',
10       'includes': [
11         'boringssl.gypi',
12       ],
13       'sources': [
14         '<@(boringssl_crypto_sources)',
15         '<@(boringssl_ssl_sources)',
16       ],
17       'defines': [
18         'BORINGSSL_IMPLEMENTATION',
19         'BORINGSSL_NO_STATIC_INITIALIZER',
20       ],
21       # TODO(davidben): Fix size_t truncations in BoringSSL.
22       # https://crbug.com/429039
23       'msvs_disabled_warnings': [ 4267, ],
24       'conditions': [
25         ['component == "shared_library"', {
26           'defines': [
27             'BORINGSSL_SHARED_LIBRARY',
28           ],
29         }],
30         ['target_arch == "arm" and msan == 0', {
31           'conditions': [
32             ['OS == "linux" or OS == "android"', {
33               'sources': [ '<@(boringssl_linux_arm_sources)' ],
34             }, {
35               'defines': [ 'OPENSSL_NO_ASM' ],
36             }],
37           ],
38         }],
39         ['target_arch == "arm64" and msan == 0', {
40           'conditions': [
41             ['OS == "linux" or OS == "android"', {
42               'sources': [ '<@(boringssl_linux_aarch64_sources)' ],
43             }, {
44               'defines': [ 'OPENSSL_NO_ASM' ],
45             }],
46           ],
47         }],
48         ['target_arch == "ia32" and msan == 0', {
49           'conditions': [
50             ['OS == "mac" or OS == "ios"', {
51               'sources': [ '<@(boringssl_mac_x86_sources)' ],
52             }],
53             ['OS == "linux" or OS == "android"', {
54               'sources': [ '<@(boringssl_linux_x86_sources)' ],
55             }],
56             ['OS == "win"', {
57               'sources': [ '<@(boringssl_win_x86_sources)' ],
58               # Windows' assembly is built with Yasm. The other platforms use
59               # the platform assembler.
60               'variables': {
61                 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/third_party/boringssl',
62               },
63               'includes': [
64                 '../yasm/yasm_compile.gypi',
65               ],
66             }],
67             ['OS != "mac" and OS != "ios" and OS != "linux" and OS != "win" and OS != "android"', {
68               'defines': [ 'OPENSSL_NO_ASM' ],
69             }],
70           ]
71         }],
72         ['target_arch == "x64" and msan == 0', {
73           'conditions': [
74             ['OS == "mac" or OS == "ios"', {
75               'sources': [ '<@(boringssl_mac_x86_64_sources)' ],
76             }],
77             ['OS == "linux" or OS == "android"', {
78               'sources': [ '<@(boringssl_linux_x86_64_sources)' ],
79             }],
80             ['OS == "win"', {
81               'sources': [ '<@(boringssl_win_x86_64_sources)' ],
82               # Windows' assembly is built with Yasm. The other platforms use
83               # the platform assembler.
84               'variables': {
85                 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/third_party/boringssl',
86               },
87               'includes': [
88                 '../yasm/yasm_compile.gypi',
89               ],
90             }],
91             ['OS != "mac" and OS != "ios" and OS != "linux" and OS != "win" and OS != "android"', {
92               'defines': [ 'OPENSSL_NO_ASM' ],
93             }],
94           ]
95         }],
96         ['msan == 1 or (target_arch != "arm" and target_arch != "ia32" and target_arch != "x64" and target_arch != "arm64")', {
97           'defines': [ 'OPENSSL_NO_ASM' ],
98         }],
99       ],
100       'include_dirs': [
101         'src/include',
102         # This is for arm_arch.h, which is needed by some asm files. Since the
103         # asm files are generated and kept in a different directory, they
104         # cannot use relative paths to find this file.
105         'src/crypto',
106       ],
107       'direct_dependent_settings': {
108         'include_dirs': [
109           'src/include',
110         ],
111         'conditions': [
112           ['component == "shared_library"', {
113             'defines': [
114               'BORINGSSL_SHARED_LIBRARY',
115             ],
116           }],
117         ],
118       },
119     },
120   ],