1 # Copyright (c) 2012 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.
12 'openssl_fips%': 'false',
16 'target_name': 'openssl',
18 'includes': ['openssl.gypi'],
19 'sources': ['<@(openssl_sources)'],
21 ['exclude', 'md2/.*$'],
22 ['exclude', 'store/.*$']
26 ['openssl_fips != ""', {
31 '<(openssl_fips)/include',
34 # Trick fipsld, it expects to see libcrypto.a
35 'product_name': 'crypto',
37 'direct_dependent_settings': {
42 '<(openssl_fips)/include',
46 [ 'node_byteorder=="big"', {
48 'defines': ['B_ENDIAN']
50 # Define Little Endian
51 'defines':['L_ENDIAN']
53 ['openssl_no_asm!=0', {
58 'sources': ['<@(openssl_sources_no_asm)'],
60 # "else if" was supported in https://codereview.chromium.org/601353002
62 ['target_arch=="arm"', {
63 'defines': ['<@(openssl_defines_asm)'],
64 'sources': ['<@(openssl_sources_arm_void_gas)'],
65 }, 'target_arch=="ia32" and OS=="mac"', {
67 '<@(openssl_defines_asm)',
68 '<@(openssl_defines_ia32_mac)',
70 'sources': ['<@(openssl_sources_ia32_mac_gas)'],
71 }, 'target_arch=="ia32" and OS=="win"', {
73 '<@(openssl_defines_asm)',
74 '<@(openssl_defines_ia32_win)',
76 'sources': ['<@(openssl_sources_ia32_win_masm)'],
77 }, 'target_arch=="ia32"', {
80 '<@(openssl_defines_asm)',
81 '<@(openssl_defines_ia32_elf)',
83 'sources': ['<@(openssl_sources_ia32_elf_gas)'],
84 }, 'target_arch=="x64" and OS=="mac"', {
86 '<@(openssl_defines_asm)',
87 '<@(openssl_defines_x64_mac)',
89 'sources': ['<@(openssl_sources_x64_mac_gas)'],
90 }, 'target_arch=="x64" and OS=="win"', {
92 '<@(openssl_defines_asm)',
93 '<@(openssl_defines_x64_win)',
95 'sources': ['<@(openssl_sources_x64_win_masm)'],
96 }, 'target_arch=="x64"', {
99 '<@(openssl_defines_asm)',
100 '<@(openssl_defines_x64_elf)',
102 'sources': ['<@(openssl_sources_x64_elf_gas)'],
103 }, 'target_arch=="arm64"', {
104 'defines': ['<@(openssl_defines_arm64)',],
105 'sources': ['<@(openssl_sources_arm64_linux64_gas)'],
107 # Other architectures don't use assembly.
108 'defines': ['OPENSSL_NO_ASM'],
109 'sources': ['<@(openssl_sources_no_asm)'],
112 }], # end of conditions of openssl_no_asm
114 'defines' : ['<@(openssl_defines_all_win)'],
115 'includes': ['masm_compile.gypi',],
117 'defines' : ['<@(openssl_defines_all_non_win)']
120 'include_dirs': ['<@(openssl_include_dirs)'],
121 'direct_dependent_settings': {
129 'includes': ['openssl-cli.gypi',],
133 'includes': ['openssl.gypi'],
134 'include_dirs': ['<@(openssl_default_include_dirs)'],
135 'defines': ['<@(openssl_default_defines_all)'],
138 'defines': ['<@(openssl_default_defines_win)'],
140 'libraries': ['<@(openssl_default_libraries_win)'],
143 'defines': ['<@(openssl_default_defines_not_win)'],
144 'cflags': ['-Wno-missing-field-initializers'],
147 'defines': ['<@(openssl_default_defines_mac)'],
149 'defines': ['<@(openssl_default_defines_linux_others)'],
153 ['is_clang==1 or gcc_version>=43', {
154 'cflags': ['-Wno-old-style-declaration'],
157 'defines': ['__EXTENSIONS__'],
165 # indent-tabs-mode:nil
167 # vim: set expandtab tabstop=2 shiftwidth=2: