diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index 368145d23a..4bcf7b9cf0 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -13,12 +13,32 @@ require "mkmf" +ssl_dirs = nil if defined?(::TruffleRuby) # Always respect the openssl prefix chosen by truffle/openssl-prefix require 'truffle/openssl-prefix' - dir_config_given = dir_config("openssl", ENV["OPENSSL_PREFIX"]).any? + ssl_dirs = dir_config("openssl", ENV["OPENSSL_PREFIX"]) else - dir_config_given = dir_config("openssl").any? + ssl_dirs = dir_config("openssl") +end +dir_config_given = ssl_dirs.any? + +_, ssl_ldir = ssl_dirs +if ssl_ldir&.split(File::PATH_SEPARATOR)&.none? { |dir| File.directory?(dir) } + # According to the `mkmf.rb#dir_config`, the `--with-openssl-dir=