diff options
author | Jun Aruga <[email protected]> | 2023-05-31 00:10:41 +0200 |
---|---|---|
committer | Kazuki Yamaguchi <[email protected]> | 2023-06-19 01:57:09 +0900 |
commit | 0a84bd6b0b5f947b4727b022c5768222b3e6d7d9 (patch) | |
tree | ac2e61076288e356a6d30120d7965417d943b6d6 | |
parent | 1740482d06a477a712bb6af44d909e524cb8e9e7 (diff) |
[ruby/openssl] Append flags from environment variables.
According to the `mkmf.rb#init_mkmf`, there are command line options below.
* `--with-cflags` to set the `cflags`
* `--with-ldflags` to set the `ldflags`
For example the following command compiles with the specified flags. Note that
`MAKEFLAGS` is to print the compiler command lines.
```
$ MAKEFLAGS="V=1" \
bundle exec rake compile -- \
--with-cflags="-Wundef -Werror" \
--with-ldflags="-fstack-protector"
```
However, I couldn't find command line options to append the flags. And this
commit is to append the `cflags` and `ldflags` by the environment variables.
```
$ MAKEFLAGS="V=1" \
RUBY_OPENSSL_EXTCFLAGS="-Wundef -Werror" \
RUBY_OPENSSL_EXTLDFLAGS="-fstack-protector" \
bundle exec rake compile
```
https://github.com/ruby/openssl/commit/b551eb86f6
-rw-r--r-- | ext/openssl/extconf.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index ef21bd5f43..737d93183f 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -18,6 +18,12 @@ dir_config("kerberos") Logging::message "=== OpenSSL for Ruby configurator ===\n" +# Append flags from environment variables. +extcflags = ENV["RUBY_OPENSSL_EXTCFLAGS"] +append_cflags(extcflags.split) if extcflags +extldflags = ENV["RUBY_OPENSSL_EXTLDFLAGS"] +append_ldflags(extldflags.split) if extldflags + ## # Adds -DOSSL_DEBUG for compilation and some more targets when GCC is used # To turn it on, use: --with-debug or --enable-debug |