4242 SO = 'so'
4343end
4444
45+ # Expand GEM_HOME relative to cwd so it cannot be misinterpreted later.
46+ ENV [ 'GEM_HOME' ] = File . expand_path ( ENV [ 'GEM_HOME' ] ) if ENV [ 'GEM_HOME' ]
47+
4548LIBXML_HOME = ENV [ 'LIBXML_HOME' ] = ENV [ 'LIBXML_HOME' ] || '/usr'
4649LIBXML_LIB_HOME = ENV [ 'LIBXML_LIB_HOME' ] = ENV [ 'LIBXML_LIB_HOME' ] || "#{ LIBXML_HOME } /lib"
4750LIBXML_INCLUDE = ENV [ 'LIBXML_INCLUDE' ] = ENV [ 'LIBXML_INCLUDE' ] || "#{ LIBXML_HOME } /include/libxml2"
@@ -59,7 +62,7 @@ module Utilities
5962
6063 def self . truffle_version
6164 File . foreach ( "#{ JRUBY_DIR } /truffle/pom.rb" ) do |line |
62- if /'truffle\. version' => '(\d +\. \d +(?:-SNAPSHOT)?| \h +-SNAPSHOT )'/ =~ line
65+ if /'truffle\. version' => '((?: \d +\. \d +| \h +) (?:-SNAPSHOT)?)'/ =~ line
6366 break $1
6467 end
6568 end
@@ -672,8 +675,10 @@ def cextc(cext_dir, *clang_opts)
672675 config_src = config [ 'src' ]
673676
674677 src = replace_env_vars ( config [ 'src' ] )
678+ # Expand relative to the cext directory
675679 src = File . expand_path ( src , cext_dir )
676- src = Dir [ src ]
680+ src_files = Dir [ src ]
681+ raise "No source files found in #{ src } !" if src_files . empty?
677682
678683 config_cflags = config [ 'cflags' ] || ''
679684 config_cflags = replace_env_vars ( config_cflags )
@@ -692,7 +697,7 @@ def cextc(cext_dir, *clang_opts)
692697
693698 lls = [ ]
694699
695- src . each do |src |
700+ src_files . each do |src |
696701 ll = File . join ( File . dirname ( out ) , File . basename ( src , '.*' ) + '.ll' )
697702
698703 clang "-I#{ SULONG_HOME } /include" , '-Ilib/ruby/truffle/cext' , '-S' , '-emit-llvm' , *config_cflags , *clang_opts , src , '-o' , ll
0 commit comments