Curt Hibbs wrote:
I’m very interested in this as well, but I don’t currently have any time to
try it out. So, please continue to post your experience in getting it to
work in this thread. I will save it for later use.
First off, download the main tar.gz (currently
http://downloads.sourceforge.jp/exerb/4788/exerb-2.6.6.tar.gz), AFAIK,
this is the only download that includes the exerb/mkrbc.rb file. I
started with the
http://downloads.sourceforge.jp/exerb/4348/exerb-win32-2.6.5.0.zip
download, which has only what you need, if you can build your own .rbc
file yourself.
So – download exerb-2.6.6.tar.gz
http://downloads.sourceforge.jp/exerb/4788/exerb-2.6.6.tar.gz, run the
install.rb file.
Then run ruby -r exerb/mkrbc yourscripthere.rb
This will actually execute your script and identify dependencies. It
creates both a .mak and an .rbc file. The .mak doesn’t seem necessary
for my needs – my guess it’s used to build your final .exe by also
compiling fresh exerb binaries as well, but you don’t need to do that.
The .rbc file I got looked like this:
# generated by mkrbc.rb
kcode none
script extraction.trace.rb
script cl/util/console.rb
c:/ruby/lib/ruby/site_ruby/1.8/cl/util/console.rb
script sn/util/ado.rb
c:/ruby/lib/ruby/site_ruby/1.8/sn/util/ado.rb
script sn/util/db.rb c:/ruby/lib/ruby/site_ruby/1.8/sn/util/db.rb
library win32ole.so c:/ruby/lib/ruby/1.8/i386-mswin32/win32ole.so
I wanted to move my .rbc file out of the directory it was made in, so I
added a full path to extraction.trace.rb:
# generated by mkrbc.rb
kcode none
script extraction.trace.rb c:/dev/projects/tbe/extraction.trace.rb
script cl/util/console.rb
c:/ruby/lib/ruby/site_ruby/1.8/cl/util/console.rb
script sn/util/ado.rb
c:/ruby/lib/ruby/site_ruby/1.8/sn/util/ado.rb
script sn/util/db.rb c:/ruby/lib/ruby/site_ruby/1.8/sn/util/db.rb
library win32ole.so c:/ruby/lib/ruby/1.8/i386-mswin32/win32ole.so
Then I went back to the directory I installed the
exerb-win32-2.6.5.0.zip in (sorry if this is a little out of order
here…), copied in the extraction.trace.rbc file, and ran the
exerb-win32.exe file. This (no doubt an .exe made from exerb itself) exe
gives me a GUI where I can choose which .rbx file to use, which .rbc
file to use and the name of my resulting .exe.
The .rbx choices:
ruby168c.rbx this option is console app, single file, large
ruby168crt.rbx this option is console app, dependent on
exerb265.dll (included in exerb-win32-2.6.5.0.zip), smaller .exe
ruby168g.rbx same options as before, GUI app I assume.
ruby168grt.rbx --
My first build from the exerb-win32.exe failed, parsing error. I looked
into the .rbc – the full path I added needed a tab delimiter to be
consistent with the other lines generated. I changed that and wha-lah.
Out comes an .exe.
Only problem now is my .exe is segfaulting when trying out some win32ole
stuffs:
C:\Downloads\exerb-win32-2.6.5.0>extraction.trace.exe
sn/util/ado.rb:1: [BUG] Segmentation fault
ruby 1.6.8 (2002-12-24) [i586-mswin32]
abnormal program termination
But, this may be expected – newer 1.8 win32ole.so running with older
1.6.8. I’ll hit up Nathaniel for his 1.8.0.rbx.
So far – so good. Seems like stopping down to mess with this is worthwhile.
···
–
Chris
http://clabs.org/blogki