| OLD | NEW |
| (Empty) |
| 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. | |
| 4 | |
| 5 # Config for us and everybody else depending on openssl. | |
| 6 config("openssl_config") { | |
| 7 include_dirs = [] | |
| 8 if (cpu_arch == "x64") { | |
| 9 # Ensure the 64-bit opensslconf.h header is used in preference to the one | |
| 10 # in openssl/include. | |
| 11 include_dirs += [ "config/x64" ] | |
| 12 } | |
| 13 | |
| 14 include_dirs += [ "openssl/include" ] | |
| 15 } | |
| 16 | |
| 17 # Config internal to this build file. | |
| 18 config("openssl_internal_config") { | |
| 19 visibility = ":*" # Only targets in this file can depend on this. | |
| 20 } | |
| 21 | |
| 22 # The list of OpenSSL files is kept in openssl.gypi. Read it. | |
| 23 gypi_values = exec_script( | |
| 24 "//build/gypi_to_gn.py", | |
| 25 [ rebase_path("//third_party/openssl/openssl.gypi") ], | |
| 26 "scope", | |
| 27 [ "//third_party/openssl/openssl.gypi" ]) | |
| 28 | |
| 29 component("openssl") { | |
| 30 sources = gypi_values.openssl_common_sources | |
| 31 | |
| 32 defines = gypi_values.openssl_common_defines | |
| 33 defines += [ | |
| 34 "PURIFY", | |
| 35 "MONOLITH", | |
| 36 ] | |
| 37 | |
| 38 direct_dependent_configs = [ ":openssl_config" ] | |
| 39 | |
| 40 cflags = [] | |
| 41 | |
| 42 # Also gets the include dirs from :openssl_config | |
| 43 include_dirs = [ | |
| 44 ".", | |
| 45 "openssl", | |
| 46 "openssl/crypto", | |
| 47 "openssl/crypto/asn1", | |
| 48 "openssl/crypto/evp", | |
| 49 "openssl/crypto/modes", | |
| 50 ] | |
| 51 | |
| 52 if (is_posix && !is_android) { | |
| 53 defines += [ | |
| 54 # ENGINESDIR must be defined if OPENSSLDIR is. | |
| 55 "ENGINESDIR=\"/dev/null\"", | |
| 56 # Set to ubuntu default path for convenience. If necessary, override | |
| 57 # this at runtime with the SSL_CERT_DIR environment variable. | |
| 58 "OPENSSLDIR=\"/etc/ssl\"", | |
| 59 ] | |
| 60 } | |
| 61 | |
| 62 if (cpu_arch == "x64") { | |
| 63 sources += gypi_values.openssl_x86_64_sources | |
| 64 sources -= gypi_values.openssl_x86_64_source_excludes | |
| 65 defines += gypi_values.openssl_x86_64_defines | |
| 66 } else if (cpu_arch == "x86") { | |
| 67 sources += gypi_values.openssl_x86_sources | |
| 68 sources -= gypi_values.openssl_x86_source_excludes | |
| 69 defines += gypi_values.openssl_x86_defines | |
| 70 } else if (cpu_arch == "arm") { | |
| 71 # The ARM sources do not compile with full warnings enabled. | |
| 72 configs -= [ "//build/config/compiler:chromium_code" ] | |
| 73 configs += [ "//build/config/compiler:no_chromium_code" ] | |
| 74 | |
| 75 sources += gypi_values.openssl_arm_sources | |
| 76 sources -= gypi_values.openssl_arm_source_excludes | |
| 77 defines += gypi_values.openssl_arm_defines | |
| 78 } else if (cpu_arch == "mips") { | |
| 79 sources += gypi_values.openssl_mips_sources | |
| 80 sources -= gypi_values.openssl_mips_source_excludes | |
| 81 defines += gypi_values.openssl_mips_defines | |
| 82 } | |
| 83 | |
| 84 if (is_clang) { | |
| 85 cflags += [ | |
| 86 # OpenSSL has a few |if ((foo == NULL))| checks. | |
| 87 "-Wno-parentheses-equality", | |
| 88 # OpenSSL uses several function-style macros and then ignores the | |
| 89 # returned value. | |
| 90 "-Wno-unused-value", | |
| 91 ] | |
| 92 } else { | |
| 93 cflags += [ | |
| 94 "-Wno-unused-variable", | |
| 95 ] | |
| 96 } | |
| 97 } | |
| OLD | NEW |