Vincent Fiack made a script to build the CVS version of Ruby for the Zaurus. You will need to have the cross compiler installed and a x86 version of ruby to run it.
See Programming for the Zaurus for cross-compiling help.
http://web.archive.org/web/20030321084413/http://equinoxe.dnsalias.org/PERSO/zruby.rb
The author, Vincent Fiack
Content-Length: 1721 Date: Fri, 24 Oct 2003 03:42:09 GMT Connection: close ETag: "1721-1028369781000" Server: Apache Tomcat/4.0.3 (HTTP/1.1 Connector) Last-Modified: Sat, 03 Aug 2002 10:16:21 GMT
#!/bin/env ruby def fetch() `cvs -z4 -d :pserver:anonymous:anonymous@cvs.ruby-lang.org:/src co ruby` end def setArmEnv() ENV["CROSSCOMPILE"]="/opt/Embedix/tools" ENV["QPEDIR"]="/opt/Qtopia/sharp" ENV["QTDIR"]="/opt/Qtopia/sharp" ENV["PATH"]="#{ENV['QTDIR']}/bin:#{ENV['QPEDIR']}/bin:#{ENV['CROSSCOMPILE']}/bin:#{ENV['PATH']}" ENV["TMAKEPATH"]="/opt/Qtopia/tmake/lib/qws/linux-sharp-g++/" ENV["LD_LIBRARY_PATH"]="#{ENV['QTDIR']}/lib:#{ENV['LD_LIBRARY_PATH']}" end def editCompiler(filename) puts "*** EDIT MAKEFILE: #{filename} ***" data = "" File.open(filename) do |f| data = f.readlines.join data.gsub! 'gcc', 'arm-linux-gcc' end File.open(filename, "w+") do |f| f.write data end end def compile() puts "*** STARTING COMPILATION ***" Dir.chdir("ruby") system "autoconf" system "./configure --build=arm-linux --disable-ipv6 --prefix=/tmp/zruby" setArmEnv() editCompiler('Makefile') editCompiler('ext/extmk.rb') puts "*** FIRST STAGE MAKE ***" system "make" system "cp /usr/bin/ruby miniruby" system "rm -rf ext/dl" puts "*** SECOND STAGE MAKE ***" system "make" puts "*** MAKE TEMP INSTALL ***" system "make install" Dir.chdir(".."); end def strip() olddir = Dir.pwd Dir.chdir("/tmp/zruby") system "rm -r man" system "arm-linux-strip bin/ruby" system "arm-linux-strip lib/ruby/1.7/arm-linux/*.so" system "arm-linux-strip lib/ruby/1.7/arm-linux/*.a" system "arm-linux-strip lib/ruby/1.7/arm-linux/*/*.so" Dir.chdir(olddir) end def package() olddir = Dir.pwd Dir.chdir("/tmp/") system "tar zcvf zruby.tgz zruby" system "mv zruby.tgz #{olddir}" Dir.chdir(olddir) end fetch() compile() strip() package()
