summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorYuta Saito <[email protected]>2024-06-22 05:04:49 +0000
committerYuta Saito <[email protected]>2024-06-22 15:12:00 +0900
commit73b7eebf07a5045a47bff72a7fc70e5e6aee7b94 (patch)
tree62336984a0927cccfca45c7d9b852e9ff1f350fa /configure.ac
parentcab0d03037d8bc2fce19d1ba2d709f1436890f01 (diff)
build: fix crossruby build by handling empty `ac_abs_builddir`
`ac_abs_builddir` can be empty when the build is top-level (not subdirs, and Ruby is usually the case). In such case, the MINIRUBY is expanded to `$RUBY -I -r'$(arch)-fake'`, which interprets `-r$(arch)-fake` as an argument to `-I` option. This led to: - Not loading the fake config file - Then not setting `CROSS_COMPILING` constant during extmk.rb execution - Then misusing cross-compiled `./miniruby` instead of baseruby to generate files used in exts. This commit fixes the issue by handling the empty `ac_abs_builddir` case properly.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac2
1 files changed, 1 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 0d757eb998..6d6ae6a6c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3501,7 +3501,7 @@ done
BTESTRUBY='$(MINIRUBY)'
AS_IF([test x"$cross_compiling" = xyes], [
- test x"$MINIRUBY" = x && MINIRUBY="${RUBY-$BASERUBY} -I$ac_abs_builddir "-r'$(arch)-fake'
+ test x"$MINIRUBY" = x && MINIRUBY="${RUBY-$BASERUBY} -I${ac_abs_builddir-.} "-r'$(arch)-fake'
XRUBY_LIBDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["libdir"]']`
XRUBY_RUBYLIBDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["rubylibdir"]']`
XRUBY_RUBYHDRDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["rubyhdrdir"]']`