Skip to content

Commit

Permalink
Merge pull request #623 from junaruga/wip/enable-mkmf-verbose
Browse files Browse the repository at this point in the history
CI: Enable the verbose mode in the mkmf.rb.
  • Loading branch information
junaruga committed May 23, 2023
2 parents 08b0ed7 + a832f5c commit 78e9197
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .github/workflows/test.yml
Expand Up @@ -42,6 +42,11 @@ jobs:
- name: depends
run: bundle install

# Enable the verbose option in mkmf.rb to print the compiling commands.
- name: enable mkmf verbose
run: tool/enable-mkmf-verbose
if: runner.os == 'Linux' || runner.os == 'macOS'

- name: compile
run: rake compile -- --enable-debug

Expand Down Expand Up @@ -129,6 +134,10 @@ jobs:
- name: depends
run: bundle install

- name: enable mkmf verbose
run: tool/enable-mkmf-verbose
if: runner.os == 'Linux' || runner.os == 'macOS'

- name: compile
run: rake compile -- --enable-debug --with-openssl-dir=$HOME/.openssl/${{ matrix.openssl }}

Expand Down
24 changes: 24 additions & 0 deletions tool/enable-mkmf-verbose
@@ -0,0 +1,24 @@
#!/bin/sh

set -eux

gem_home="$(gem environment home)"
mkmf_rb_path="$(find "${gem_home}"/../.. -name mkmf.rb)"

# Backup the original file.
cp -p "${mkmf_rb_path}" "${mkmf_rb_path}.orig"

# Replace the target line to set the verbose option.
sed -i -e 's/^V = .*/V = 1/' "${mkmf_rb_path}"

# Print the difference between the original and modified file. This is useful
# to debug when the `mkmf.rb` may change in the future. And check if the
#`mkmf.rb` was modified. Because the `sed` command returns the exit status 0 no
# matter it replaces successfully or not.
if diff "${mkmf_rb_path}.orig" "${mkmf_rb_path}"; then
echo "error: ${mkmf_rb_path} was not modified." 1>&2
exit 1
elif [ "${?}" != 1 ]; then
echo "error: diff was failed." 1>&2
exit 1
fi

0 comments on commit 78e9197

Please sign in to comment.