diff options
author | Mark Allen <[email protected]> | 2016-09-24 21:49:19 -0500 |
---|---|---|
committer | Mark Allen <[email protected]> | 2016-09-24 21:49:19 -0500 |
commit | db6a9aaa44cc8e0cfe1a0823c74ddf0388af0c8e (patch) | |
tree | 5bf10e027b5be8d271aa59eaaa6fc7bd1588237e | |
parent | 462f9554488d98509508c119a95b7f79a14effef (diff) | |
download | kerl-db6a9aaa44cc8e0cfe1a0823c74ddf0388af0c8e.tar.gz kerl-db6a9aaa44cc8e0cfe1a0823c74ddf0388af0c8e.tar.bz2 kerl-db6a9aaa44cc8e0cfe1a0823c74ddf0388af0c8e.zip |
Ask homebrew for openssl location if available
-rw-r--r-- | README.md | 16 | ||||
-rwxr-xr-x | kerl | 13 |
2 files changed, 24 insertions, 5 deletions
@@ -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) @@ -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 ;; *) |