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