# Copyright (c) 2013 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.

# This file declares build flags for the SSL library configuration.
#
# TODO(brettw) this should probably be moved to src/crypto or somewhere, and
# the global build dependency on it should be removed.

declare_args() {
  # Use OpenSSL instead of NSS. This is used for Android, Mac, NaCl untrusted
  # code, and Windows, and is experimental in other cases (see
  # http://crbug.com/62803).
  use_openssl = is_android || is_mac || is_nacl || is_win
}

# True when we're using OpenSSL for representing certificates. When targeting
# Android, the platform certificate library is used for certificate
# verification. On other targets, this flag also enables OpenSSL for certificate
# verification, but this configuration is unsupported.
use_openssl_certs = is_android

# True if NSS is used for certificate verification. Note that this is
# independent from use_openssl. It is possible to use OpenSSL for the crypto
# library, but NSS for the platform certificate library.
use_nss_certs = is_linux
