diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2022-03-25 17:33:30 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2022-03-27 19:34:07 +0900 |
commit | ca85f16a7dc50145a61998c5caed2d49ef48b73c (patch) | |
tree | 860f5148dbe55e2a86210aed2b68a95a2f630a53 /ext/psych/extconf.rb | |
parent | 1b0f05168d802c92b1b5f870954cf503dad6e3b1 (diff) | |
download | ruby-ca85f16a7dc50145a61998c5caed2d49ef48b73c.tar.gz |
ext/psych/extconf.rb: Fail when libyaml is unavailable
WHen libyaml is not installed, make fails with the following cryptic
message:
```
gmake[2]: Entering directory '/home/chkbuild/chkbuild-crossruby/tmp/build/20220325T045825Z/ruby/ext/psych'
gmake[2]: *** No rule to make target 'yaml/yaml.h', needed by 'psych.o'. Stop.
gmake[2]: Leaving directory '/home/chkbuild/chkbuild-crossruby/tmp/build/20220325T045825Z/ruby/ext/psych'
```
I think it should give up building psych with a clear message.
Diffstat (limited to 'ext/psych/extconf.rb')
-rw-r--r-- | ext/psych/extconf.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/psych/extconf.rb b/ext/psych/extconf.rb index 7da73760e3..0e4fb86a0b 100644 --- a/ext/psych/extconf.rb +++ b/ext/psych/extconf.rb @@ -10,6 +10,11 @@ dir_config 'libyaml' if enable_config("bundled-libyaml", false) || !pkg_config('yaml-0.1') && !(find_header('yaml.h') && find_library('yaml', 'yaml_get_version')) # Embed libyaml since we could not find it. + unless File.exist?("#{$srcdir}/yaml") + puts "failed to build psych because no libyaml is available" + exit + end + $VPATH << "$(srcdir)/yaml" $INCFLAGS << " -I$(srcdir)/yaml" |