36 lines
1.6 KiB
Diff
36 lines
1.6 KiB
Diff
diff --git a/bindings/ruby/extconf.rb b/bindings/ruby/extconf.rb
|
|
index ba97670f..07d9fa56 100644
|
|
--- a/bindings/ruby/extconf.rb
|
|
+++ b/bindings/ruby/extconf.rb
|
|
@@ -12,8 +12,30 @@ if not ENV['LIBNOTMUCH']
|
|
exit 1
|
|
end
|
|
|
|
+# Use cross-compiler toolchain
|
|
+if ENV['_TARGET_PLATFORM']
|
|
+ RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
|
|
+ RbConfig::MAKEFILE_CONFIG['CXX'] = ENV['CXX'] if ENV['CXX']
|
|
+ RbConfig::MAKEFILE_CONFIG['LD'] = ENV['LD'] if ENV['LD']
|
|
+ RbConfig::MAKEFILE_CONFIG['AR'] = ENV['AR'] if ENV['AR']
|
|
+ RbConfig::MAKEFILE_CONFIG['CFLAGS'] = ENV['CFLAGS'] if ENV['CFLAGS']
|
|
+ RbConfig::MAKEFILE_CONFIG['LDFLAGS'] = ENV['LDFLAGS'] if ENV['LDFLAGS']
|
|
+end
|
|
+
|
|
$LOCAL_LIBS = ENV['LIBNOTMUCH']
|
|
|
|
# Create Makefile
|
|
dir_config('notmuch')
|
|
create_makefile('notmuch')
|
|
+
|
|
+# Fix makefile definitions for cross compile
|
|
+if ENV['_TARGET_PLATFORM']
|
|
+ system("sed -i 's|^V =.*|V = 1|' Makefile")
|
|
+ system("sed -i 's|^CFLAGS.*|CFLAGS = \$(CCDLFLAGS) #{ENV['VOID_TARGET_CFLAGS']} \$(ARCH_FLAG)|' Makefile")
|
|
+ system("sed -i 's|^topdir.*|topdir = #{ENV['XBPS_CROSS_BASE']}/usr/include/ruby-\$(ruby_version)|' Makefile")
|
|
+ system("sed -i 's|^hdrdir.*|hdrdir = #{ENV['XBPS_CROSS_BASE']}/usr/include/ruby-\$(ruby_version)|' Makefile")
|
|
+ system("sed -i 's|^arch_hdrdir.*|arch_hdrdir = #{ENV['XBPS_CROSS_BASE']}/usr/include/ruby-\$(ruby_version)/\$(arch)|' Makefile")
|
|
+ system("sed -i 's|^arch =.*|arch = #{ENV['_TARGET_PLATFORM']}|' Makefile")
|
|
+ system("sed -i 's|^dldflags =.*|dldflags = $(LDFLAGS)|' Makefile")
|
|
+ system("sed -i 's|^libdir =.*|libdir = $(exec_prefix)/lib#{ENV['XBPS_TARGET_WORDSIZE']}|' Makefile")
|
|
+end
|