aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Allen <[email protected]>2016-09-24 21:49:19 -0500
committerMark Allen <[email protected]>2016-09-24 21:49:19 -0500
commitdb6a9aaa44cc8e0cfe1a0823c74ddf0388af0c8e (patch)
tree5bf10e027b5be8d271aa59eaaa6fc7bd1588237e
parent462f9554488d98509508c119a95b7f79a14effef (diff)
downloadkerl-db6a9aaa44cc8e0cfe1a0823c74ddf0388af0c8e.tar.gz
kerl-db6a9aaa44cc8e0cfe1a0823c74ddf0388af0c8e.tar.bz2
kerl-db6a9aaa44cc8e0cfe1a0823c74ddf0388af0c8e.zip
Ask homebrew for openssl location if available
-rw-r--r--README.md16
-rwxr-xr-xkerl13
2 files changed, 24 insertions, 5 deletions
diff --git a/README.md b/README.md
index 4b65f31..640e545 100644
--- a/README.md
+++ b/README.md
@@ -440,8 +440,24 @@ Prints the available builds and installations as well as the currently active in
----------
No Erlang/OTP kerl installation is currently active
+
+Compiling crypto on Macs
+------------------------
+Apple stopped shipping OpenSSL in OS X 10.11 (El Capitan) in favor of Apple's
+own SSL library. That makes using homebrew the most convenient way to install
+openssl on macOS 10.12 (Sierra) or El Capitan. Recently, homebrew [decided to
+stop creating](https://github.com/Homebrew/brew/pull/612) symlinks from the
+homebrew installation directory to `/usr/local`, so in response to this, *if*
+you running El Capitan or Sierra, *and* you have homebrew installed, *and* you
+used it to install openssl, kerl will ask homebrew for the openssl installation
+prefix and configure Erlang to build with that location automatically.
+
+**Important**: If you already have `--with-ssl` in your .kerlrc, kerl
+will honor that instead, and will not do any automatic configuration.
+
Changelog
---------
+
20 July 2016 - 1.3.2
- Optionally enhance the activation prompt (#149)
diff --git a/kerl b/kerl
index 89d042c..38da876 100755
--- a/kerl
+++ b/kerl
@@ -508,16 +508,19 @@ _do_build()
{
case "$KERL_SYSTEM" in
Darwin)
- # Apple removed OpenSSL from El Capitan, but its still in this
- # funky location, so set ssl headers to look here
OSVERSION=`uname -r`
RELVERSION=`get_otp_version "$1"`
case "$OSVERSION" in
- 15*)
+ 16*|15*)
echo -n $KERL_CONFIGURE_OPTIONS | grep "ssl" 1>/dev/null 2>&1
# Reminder to self: 0 from grep means the string was detected
if [ $? -ne 0 ]; then
- if [ ! -d /usr/include/openssl -o ! -d /usr/local/include/openssl ]; then
+ brew_prefix=$(brew --prefix openssl)
+ if [ -n "$brew_prefix" -a -d "$brew_prefix" ]; then
+ KERL_CONFIGURE_OPTIONS="$KERL_CONFIGURE_OPTIONS --with-ssl=$brew_prefix"
+ elif [ ! -d /usr/include/openssl -o ! -d /usr/local/include/openssl ]; then
+ # Apple removed OpenSSL from El Capitan, but its still in this
+ # funky location, so set ssl headers to look here
xc_ssl='/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr'
if [ -d "$xc_ssl/include/openssl" ]
then
@@ -526,7 +529,7 @@ _do_build()
echo 'WARNING: No OpenSSL library was found in the usual places. Your Erlang will be built without crypto support!'
fi
unset xc_ssl
- fi
+ fi
fi
;;
*)