# Configuration defaults for import_from_android.sh
# See README.chromium for details.

# Location of Android source git server, used to retrieve configuration
# and import script, which are placed under openssl/
ANDROID_OPENSSL_GIT_SOURCE=https://android.googlesource.com/platform/external/openssl.git

# The exact commit used to checkout sources from the git server.
ANDROID_OPENSSL_GIT_COMMIT=c1b05eb57fadc3796aff6079d5a65e3c809aa9de

# Location of official OpenSSL release tarballs.
OPENSSL_TAR_SOURCE=http://www.openssl.org/source

# SHA-1 hash of openssl-<version>.tar.gz as downloaded from the official
# OpenSSL server. Note that <version> is automatically taken from
# openssl/opensls.version after that file is downloaded from the Android
# git server.
OPENSSL_TAR_SHA1=3f1b1223c9e8189bfe4e186d86449775bd903460
