diff -ur allinoneruby-0.2.0.tar.gz/allinoneruby/README allinoneruby-0.2.1.tar.gz/allinoneruby/README
--- allinoneruby-0.2.0.tar.gz/allinoneruby/README	2004-12-08 10:21:38.000000000 +0100
+++ allinoneruby-0.2.1.tar.gz/allinoneruby/README	2005-03-24 10:13:09.000000000 +0100
@@ -2,9 +2,10 @@
 The latter is just for playing with the internals. Both are
 available on the site.
 
- Usage: ruby init.rb [-d|-w|--ruby|--rubyw] [-s|--site]
+ Usage: ruby init.rb [allinoneruby.exe] [-d|-w|--ruby|--rubyw] [-s|--site] [-ns|--nostrip] [-v|-q|--verbose|--quite]
 
-On Linux, there´s no difference between ruby and rubyw.
+On Linux and Darwin, there´s no difference between ruby and
+rubyw.
 
 For more information, see
 http://www.erikveen.dds.nl/allinoneruby/index.html .
diff -ur allinoneruby-0.2.0.tar.gz/allinoneruby/SUMMARY allinoneruby-0.2.1.tar.gz/allinoneruby/SUMMARY
--- allinoneruby-0.2.0.tar.gz/allinoneruby/SUMMARY	2005-03-26 18:12:25.000000000 +0100
+++ allinoneruby-0.2.1.tar.gz/allinoneruby/SUMMARY	2005-03-26 18:12:22.000000000 +0100
@@ -0,0 +1 @@
+A "Just-in-Time and Temporary Installation of Ruby"
diff -ur allinoneruby-0.2.0.tar.gz/allinoneruby/VERSION allinoneruby-0.2.1.tar.gz/allinoneruby/VERSION
--- allinoneruby-0.2.0.tar.gz/allinoneruby/VERSION	2005-03-26 18:12:25.000000000 +0100
+++ allinoneruby-0.2.1.tar.gz/allinoneruby/VERSION	2005-03-26 18:12:22.000000000 +0100
@@ -0,0 +1 @@
+0.2.1
diff -ur allinoneruby-0.2.0.tar.gz/allinoneruby/_/init.rb allinoneruby-0.2.1.tar.gz/allinoneruby/_/init.rb
--- allinoneruby-0.2.0.tar.gz/allinoneruby/_/init.rb	2005-03-26 18:12:25.000000000 +0100
+++ allinoneruby-0.2.1.tar.gz/allinoneruby/_/init.rb	2005-01-29 15:30:10.000000000 +0100
@@ -0,0 +1,198 @@
+$: << File.dirname(File.expand_path(__FILE__))
+
+require "ev/oldandnewlocation"
+require "ev/dependencies"
+require "ev/ftools"
+require "rbconfig"
+
+exit	if ARGV.include?("--exit")
+
+def backslashes(s)
+  s	= s.gsub(/^\.\//, "").gsub(/\//, "\\\\")	if windows?
+  s
+end
+
+def linux?
+  not darwin? and not windows? and not cygwin?	# Hack ???
+end
+
+def darwin?
+  not (target_os.downcase =~ /darwin/).nil?	# Hack ???
+end
+
+def windows?
+  not (target_os.downcase =~ /32/).nil?		# Hack ???
+end
+
+def cygwin?
+  not (target_os.downcase =~ /cyg/).nil?	# Hack ???
+end
+
+def target_os
+  Config::CONFIG["target_os"] or ""
+end
+
+rubyw	= false
+rubyw	= false		if (ARGV.include?("-d") or ARGV.include?("--ruby"))
+rubyw	= true		if (ARGV.include?("-w") or ARGV.include?("--rubyw"))
+site	= false
+site	= true		if (ARGV.include?("-s") or ARGV.include?("--site"))
+
+ARGV.delete_if{|s| s	=~ /^-/}
+
+exefile		= (ARGV.shift or (windows? ? "allinoneruby.exe" : "allinoneruby.bin"))
+
+bindir1		= Config::CONFIG["bindir"]
+libdir1		= Config::CONFIG["libdir"]
+bindir2		= tmplocation("bin/")
+libdir2		= tmplocation("lib/")
+rubylibdir1	= Config::CONFIG["rubylibdir"]
+sitelibdir1	= Config::CONFIG["sitelibdir"]
+
+Dir.mkdir(bindir2)	unless File.directory?(bindir2)
+Dir.mkdir(libdir2)	unless File.directory?(libdir2)
+
+if linux?
+  rubyexe	= "#{bindir1}/ruby"
+else
+  rubyexe	= "#{bindir1}/ruby.exe"
+  rubywexe	= "#{bindir1}/rubyw.exe"
+end
+
+if linux?
+  tocopy	= ldds(rubyexe)
+  tocopy << rubyexe	if File.file?(rubyexe)
+else
+  tocopy	= dlls(rubyexe)
+  tocopy << rubyexe	if File.file?(rubyexe)
+  tocopy << rubywexe	if File.file?(rubywexe)
+end
+
+tocopy.each do |s1|
+  file	= File.basename(s1)
+  s2	= File.expand_path(file, bindir2)
+
+  #$stderr.puts "Copying #{s1} ..."
+  File.copy(s1, s2)	unless File.file?(s2)
+end
+
+begin
+  file	= rubylibdir1[libdir1.length..-1].gsub(/^[\/\\]*/, "")
+  s1	= rubylibdir1
+  s2	= File.expand_path(file, libdir2)
+
+  #$stderr.puts "Copying #{s1}/ ..."
+  Dir.copy(s1, s2)	unless File.directory?(s2)
+end
+
+if site
+  file	= sitelibdir1[libdir1.length..-1].gsub(/^[\/\\]*/, "")
+  s1	= sitelibdir1
+  s2	= File.expand_path(file, libdir2)
+
+  #$stderr.puts "Copying #{s1}/ ..."
+  Dir.copy(s1, s2)	unless File.directory?(s2)
+end
+
+if linux?
+  tocopy	= Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| ldds(file)}.flatten.sort.uniq
+else
+  tocopy	= Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| dlls(file, bindir1)}.flatten.sort.uniq
+end
+
+tocopy.each do |s1|
+  file	= File.basename(s1)
+  s2	= File.expand_path(file, bindir2)
+
+  #$stderr.puts "Copying #{s1} ..."
+  File.copy(s1, s2)	unless File.file?(s2)
+end
+
+eeeexe	= "eee.exe"
+eeeexe	= "eeew.exe"	if rubyw
+eeeexe	= "eee.bin"	if linux?
+appexe	= exefile
+
+$stderr.puts "Creating #{appexe} ..."
+
+if linux?
+  File.open(tmplocation("eee.sh"), "w") do |f|
+    f.puts "PDIR=$1;shift"
+    f.puts "DIR=$(pwd)"
+    f.puts "cd $PDIR"
+    f.puts "  chmod +x bin/ruby"
+    f.puts "  export PATH=$(pwd)/bin:$PATH"
+    f.puts "  export LD_LIBRARY_PATH=$(pwd)/bin:LD_LIBRARY_PATH"
+    f.puts "cd $DIR"
+    f.puts "$*"
+  end
+end
+
+File.open(tmplocation("eee.rb"), "w") do |f|
+  f.puts "lib	= File.expand_path(File.dirname(__FILE__)) + ´/lib´"
+  f.puts "lib.sub!(/^.:/, ´/cygdrive/%s´ % $&[0..0].downcase)	if lib =~ /^.:/"	if cygwin?
+  f.puts "$:.clear"
+  $:.each do |s|
+    f.puts "$: << \"%s\"" % s.sub(libdir1, ´#{lib}´)
+  end
+end
+
+File.open(tmplocation("bootstrap.rb"), "w") do |f|
+  f.puts "load($0 = ARGV.shift)"
+end
+
+File.open(tmplocation("empty.rb"), "w") do |f|
+end
+
+File.open(tmplocation("app.eee"), "w") do |f|
+  rubyexe	= "ruby.exe"
+  rubyexe	= "rubyw.exe"	if rubyw
+  rubyexe	= "ruby"	if linux?
+
+  f.puts "r bin"
+  f.puts "r lib"
+  f.puts "f eee.sh"	if linux?
+  f.puts "f eee.rb"
+  f.puts "f bootstrap.rb"
+  f.puts "f empty.rb"
+  if linux?
+    f.puts "c source %tempdir%/eee.sh %tempdir% %tempdir%/bin/#{rubyexe} -r %tempdir%/eee.rb -r %tempdir1%/bootstrap.rb -T1 %tempdir1%/empty.rb %quotedparms%"
+  elsif cygwin?
+    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir1%/eee.rb -r %tempdir1%/bootstrap.rb -T1 %tempdir1%/empty.rb %quotedparms%"
+  else
+    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir%\\eee.rb -r %tempdir%\\bootstrap.rb -T1 %tempdir%\\empty.rb %quotedparms%"
+  end
+end
+
+from	= newlocation(eeeexe)
+to	= tmplocation(eeeexe)
+
+File.copy(from, to)	unless from == to
+File.chmod(0755, to)	if linux?
+
+tmplocation do
+  ENV["EEE_EXE"]	= eeeexe
+  ENV["EEE_DIR"]	= Dir.pwd
+
+  eeebin1	= newlocation("eee.exe")
+  eeebin1	= newlocation("eee.bin")	if linux?
+  eeebin1	= newlocation("eee.bin2")	if darwin?
+
+  eeebin2	= tmplocation("eee.exe")
+  eeebin2	= tmplocation("eee.bin")	if linux?
+  eeebin2	= tmplocation("eee.bin")	if darwin?
+
+  from	= eeebin1
+  to	= eeebin2
+
+  File.copy(from, to)	unless from == to
+  File.chmod(0755, to)	if linux? or darwin?
+
+  system(backslashes("#{eeebin2} app.eee #{appexe}"))
+end
+
+from	= tmplocation(appexe)
+to	= oldlocation(appexe)
+
+File.copy(from, to)	unless from == to
+File.chmod(0755, to)	if linux?
diff -ur allinoneruby-0.2.0.tar.gz/allinoneruby/ev/dependencies.rb allinoneruby-0.2.1.tar.gz/allinoneruby/ev/dependencies.rb
--- allinoneruby-0.2.0.tar.gz/allinoneruby/ev/dependencies.rb	2004-12-27 13:34:11.000000000 +0100
+++ allinoneruby-0.2.1.tar.gz/allinoneruby/ev/dependencies.rb	2005-03-26 18:12:23.000000000 +0100
@@ -14,7 +14,7 @@
     todo2.each do |file|
       File.open(file, "rb") do |f|
         strings	= f.read.scan(/[\w\-\.]+/)	# Hack ???
-        strings.delete_if{|s| s !~ /\.dll$/i}
+        strings.delete_if{|s| s !~ /\.(so|o|dll)$/i}
 
         strings.each do |lib|
           lib	= File.expand_path(lib, path)
@@ -49,7 +49,10 @@
       File.copy(file, tempfile)		# Libraries on Debian are no executables.
       File.chmod(0755, tempfile)
 
-      `ldd #{tempfile}`.split(/\r*\n/).collect{|line| line.split(/\s+/)[3]}.each do |lib|
+      libs	= `ldd #{tempfile}`.split(/\r*\n/).collect{|line| line.split(/\s+/)[3]}			if linux?
+      libs	= `otool -L #{tempfile}`.split(/\r*\n/)[1..-1].collect{|line| line.split(/\s+/)[1]}	if darwin?
+
+      libs.each do |lib|
         if not lib.nil? and File.file?(lib) and not res.include?(lib)
           todo << lib
           res << lib
diff -ur allinoneruby-0.2.0.tar.gz/allinoneruby/ev/ftools.rb allinoneruby-0.2.1.tar.gz/allinoneruby/ev/ftools.rb
--- allinoneruby-0.2.0.tar.gz/allinoneruby/ev/ftools.rb	2004-12-27 13:34:11.000000000 +0100
+++ allinoneruby-0.2.1.tar.gz/allinoneruby/ev/ftools.rb	2005-03-26 18:12:23.000000000 +0100
@@ -1,22 +1,12 @@
 require "ftools"
 
 class Dir
-  def self.mkdirrec(dir)
-    pdir	= File.dirname(dir)
-
-    if not pdir.empty? and not File.directory?(pdir)
-      Dir.mkdirrec(pdir)
-    end
-
-    Dir.mkdir(dir)	rescue nil
-  end
-
   def self.copy(from, to)
     if File.directory?(from)
       pdir	= Dir.pwd
       todir	= File.expand_path(to)
 
-      mkdirrec(todir)
+      File.mkpath(todir)
 
       Dir.chdir(from)
         Dir.new(".").each do |e|
@@ -26,7 +16,7 @@
     else
       todir	= File.dirname(File.expand_path(to))
 
-      mkdirrec(todir)
+      File.mkpath(todir)
 
       File.copy(from, to)
     end
@@ -38,6 +28,8 @@
   end
 
   def self.rm_rf(entry)
+    File.chmod(0755, entry)
+
     if File.ftype(entry) == "directory"
       pdir	= Dir.pwd
 
@@ -47,16 +39,24 @@
         end
       Dir.chdir(pdir)
 
-      Dir.delete(entry)
+      begin
+        Dir.delete(entry)
+      rescue => e
+        $stderr.puts e.message
+      end
     else
-      File.delete(entry)
+      begin
+        File.delete(entry)
+      rescue => e
+        $stderr.puts e.message
+      end
     end
   end
 
   def self.find(entry=nil, mask=nil)
     entry	= "."	if entry.nil?
 
-    entry	= entry.gsub!(/[\/\\]*$/, "")	unless entry.nil?
+    entry	= entry.gsub(/[\/\\]*$/, "")	unless entry.nil?
 
     mask	= /^#{mask}$/i	if mask.kind_of?(String)
 
@@ -77,8 +77,8 @@
         ensure
           Dir.chdir(pdir)
         end
-      rescue Errno::EACCES => error
-        puts error
+      rescue Errno::EACCES => e
+        $stderr.puts e.message
       end
     else
       res += [entry]	if mask.nil? or entry =~ mask
@@ -99,7 +99,7 @@
 	# Rollback
 
     if File.file?(backupfile) and File.file?(controlfile)
-      $stdout.puts "Restoring #{file}..."
+      $stderr.puts "Restoring #{file}..."
 
       File.copy(backupfile, file)				# Rollback from phase 3
     end
diff -ur allinoneruby-0.2.0.tar.gz/allinoneruby/ev/oldandnewlocation.rb allinoneruby-0.2.1.tar.gz/allinoneruby/ev/oldandnewlocation.rb
--- allinoneruby-0.2.0.tar.gz/allinoneruby/ev/oldandnewlocation.rb	2004-12-27 13:34:11.000000000 +0100
+++ allinoneruby-0.2.1.tar.gz/allinoneruby/ev/oldandnewlocation.rb	2005-03-26 18:12:23.000000000 +0100
@@ -1,12 +1,14 @@
-temp	= (ENV["TMPDIR"] or ENV["TMP"] or ENV["TEMP"] or "/tmp").gsub(/\\/, "/")
+temp	= File.expand_path((ENV["TMPDIR"] or ENV["TMP"] or ENV["TEMP"] or "/tmp").gsub(/\\/, "/"))
 dir	= "#{temp}/oldandnewlocation.#{Process.pid}"
 
-ENV["OLDDIR"]	= Dir.pwd		unless ENV.include?("OLDDIR")
-ENV["NEWDIR"]	= File.dirname($0)	unless ENV.include?("NEWDIR")
-ENV["TEMPDIR"]	= dir			unless ENV.include?("TEMPDIR")
+ENV["OLDDIR"]	= Dir.pwd				unless ENV.include?("OLDDIR")
+ENV["NEWDIR"]	= File.expand_path(File.dirname($0))	unless ENV.include?("NEWDIR")
+ENV["TEMPDIR"]	= dir					unless ENV.include?("TEMPDIR")
 
 class Dir
   def self.rm_rf(entry)
+    File.chmod(0755, entry)
+
     if File.ftype(entry) == "directory"
       pdir	= Dir.pwd
 
@@ -16,9 +18,17 @@
         end
       Dir.chdir(pdir)
 
-      Dir.delete(entry)
+      begin
+        Dir.delete(entry)
+      rescue => e
+        $stderr.puts e.message
+      end
     else
-      File.delete(entry)
+      begin
+        File.delete(entry)
+      rescue => e
+        $stderr.puts e.message
+      end
     end
   end
 end
diff -ur allinoneruby-0.2.0.tar.gz/allinoneruby/init.rb allinoneruby-0.2.1.tar.gz/allinoneruby/init.rb
--- allinoneruby-0.2.0.tar.gz/allinoneruby/init.rb	2004-12-26 20:09:53.000000000 +0100
+++ allinoneruby-0.2.1.tar.gz/allinoneruby/init.rb	2005-03-23 22:49:16.000000000 +0100
@@ -1,9 +1,11 @@
+$: << File.dirname(File.expand_path(__FILE__))
+
 require "ev/oldandnewlocation"
 require "ev/dependencies"
 require "ev/ftools"
 require "rbconfig"
 
-exit	if ARGV.include?("--exit")
+exit	if defined?(REQUIRE2LIB)
 
 def backslashes(s)
   s	= s.gsub(/^\.\//, "").gsub(/\//, "\\\\")	if windows?
@@ -11,30 +13,50 @@
 end
 
 def linux?
-  not windows? and not cygwin?			# Hack ???
+  not darwin? and not windows? and not cygwin?
+end
+
+def darwin?
+  not (target_os.downcase =~ /darwin/).nil?
 end
 
 def windows?
-  not (target_os.downcase =~ /32/).nil?		# Hack ???
+  not (target_os.downcase =~ /32/).nil?
 end
 
 def cygwin?
-  not (target_os.downcase =~ /cyg/).nil?	# Hack ???
+  not (target_os.downcase =~ /cyg/).nil?
 end
 
 def target_os
   Config::CONFIG["target_os"] or ""
 end
 
+def copyto(files, dest)
+  [files].flatten.sort.uniq.each do |fromfile|
+    tofile	= File.expand_path(File.basename(fromfile), dest)
+
+    $stderr.puts "Copying #{fromfile} ..."	if VERBOSE
+    File.copy(fromfile, tofile)			unless File.file?(tofile)
+  end
+end
+
 rubyw	= false
 rubyw	= false		if (ARGV.include?("-d") or ARGV.include?("--ruby"))
 rubyw	= true		if (ARGV.include?("-w") or ARGV.include?("--rubyw"))
 site	= false
 site	= true		if (ARGV.include?("-s") or ARGV.include?("--site"))
 
+STRIP	= (not (ARGV.include?("-ns") or ARGV.include?("--nostrip")))
+VERBOSE	= (ARGV.include?("-v") or ARGV.include?("--verbose"))
+QUIET	= ((ARGV.include?("-q") or ARGV.include?("--quiet")) and not VERBOSE)
+
 ARGV.delete_if{|s| s	=~ /^-/}
 
-exefile		= (ARGV.shift or (windows? ? "allinoneruby.exe" : "allinoneruby.bin"))
+exefile		= ARGV.shift
+exefile		= (exefile or "allinoneruby.exe")	if windows? or cygwin?
+exefile		= (exefile or "allinoneruby_linux")	if linux?
+exefile		= (exefile or "allinoneruby_darwin")	if darwin?
 
 bindir1		= Config::CONFIG["bindir"]
 libdir1		= Config::CONFIG["libdir"]
@@ -46,36 +68,19 @@
 Dir.mkdir(bindir2)	unless File.directory?(bindir2)
 Dir.mkdir(libdir2)	unless File.directory?(libdir2)
 
-if linux?
+if linux? or darwin?
   rubyexe	= "#{bindir1}/ruby"
 else
   rubyexe	= "#{bindir1}/ruby.exe"
   rubywexe	= "#{bindir1}/rubyw.exe"
 end
 
-if linux?
-  tocopy	= ldds(rubyexe)
-  tocopy << rubyexe	if File.file?(rubyexe)
-else
-  tocopy	= dlls(rubyexe)
-  tocopy << rubyexe	if File.file?(rubyexe)
-  tocopy << rubywexe	if File.file?(rubywexe)
-end
-
-tocopy.each do |s1|
-  file	= File.basename(s1)
-  s2	= File.expand_path(file, bindir2)
-
-  $stderr.puts "Copying #{s1} ..."
-  File.copy(s1, s2)	unless File.file?(s2)
-end
-
 begin
   file	= rubylibdir1[libdir1.length..-1].gsub(/^[\/\\]*/, "")
   s1	= rubylibdir1
   s2	= File.expand_path(file, libdir2)
 
-  $stderr.puts "Copying #{s1}/ ..."
+  $stderr.puts "Copying #{s1}/ ..."	if VERBOSE
   Dir.copy(s1, s2)	unless File.directory?(s2)
 end
 
@@ -84,68 +89,83 @@
   s1	= sitelibdir1
   s2	= File.expand_path(file, libdir2)
 
-  $stderr.puts "Copying #{s1}/ ..."
+  $stderr.puts "Copying #{s1}/ ..."	if VERBOSE
   Dir.copy(s1, s2)	unless File.directory?(s2)
 end
 
-if linux?
-  tocopy	= Dir.find(libdir2, /\.so$/).collect{|file| ldds(file)}.flatten.sort.uniq
-else
-  tocopy	= Dir.find(libdir2, /\.so$/).collect{|file| dlls(file, bindir1)}.flatten.sort.uniq
-end
+copyto(rubyexe, bindir2)	if linux? or darwin?	if File.file?(rubyexe)
+copyto(ldds(rubyexe), bindir2)	if linux? or darwin?
+
+copyto(rubyexe, bindir2)	if windows? or cygwin?	if File.file?(rubyexe)
+copyto(rubywexe, bindir2)	if windows? or cygwin?	if File.file?(rubyexe)
+copyto(dlls(rubyexe), bindir2)	if windows? or cygwin?
+
+copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| ldds(file)}, bindir2)			if linux? or darwin?
+copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| dlls(file, bindir1)}, bindir2)	if windows? or cygwin?
 
-tocopy.each do |s1|
-  file	= File.basename(s1)
-  s2	= File.expand_path(file, bindir2)
+if STRIP and (linux? or darwin?)
+  $stderr.puts "Stripping..."	unless QUIET
 
-  $stderr.puts "Copying #{s1} ..."
-  File.copy(s1, s2)	unless File.file?(s2)
+  system("cd #{bindir2} ; strip --strip-all * 2> /dev/null")
+  system("cd #{libdir2} ; strip --strip-all * 2> /dev/null")
 end
 
+rubyexe	= "ruby.exe"
+rubyexe	= "rubyw.exe"		if rubyw
+rubyexe	= "ruby"		if linux?
+rubyexe	= "ruby"		if darwin?
 eeeexe	= "eee.exe"
-eeeexe	= "eeew.exe"	if rubyw
-eeeexe	= "eee.bin"	if linux?
+eeeexe	= "eeew.exe"		if rubyw
+eeeexe	= "eee_linux"		if linux?
+eeeexe	= "eee_darwin"		if darwin?
 appexe	= exefile
 
-$stderr.puts "Creating #{appexe} ..."
+$stderr.puts "Creating #{appexe} ..."	unless QUIET
 
-if linux?
+if linux? or darwin?
   File.open(tmplocation("eee.sh"), "w") do |f|
     f.puts "PDIR=$1;shift"
     f.puts "DIR=$(pwd)"
     f.puts "cd $PDIR"
     f.puts "  chmod +x bin/ruby"
     f.puts "  export PATH=$(pwd)/bin:$PATH"
-    f.puts "  export LD_LIBRARY_PATH=$(pwd)/bin:LD_LIBRARY_PATH"
+    f.puts "  export LD_LIBRARY_PATH=$(pwd)/bin:LD_LIBRARY_PATH"	if linux?
+    f.puts "  export DYLD_LIBRARY_PATH=$(pwd)/bin:DYLD_LIBRARY_PATH"	if darwin?
     f.puts "cd $DIR"
     f.puts "$*"
   end
 end
 
 File.open(tmplocation("eee.rb"), "w") do |f|
-  f.puts "lib = File.expand_path(File.dirname(__FILE__)) + ´/lib´"
-  f.puts "lib.sub!(/^.:/, ´/cygdrive/%s´ % $&[0..0].downcase) if lib =~ /^.:/"	if cygwin?
+  f.puts "lib	= File.expand_path(File.dirname(__FILE__)) + ´/lib´"
+  f.puts "lib.sub!(/^.:/, ´/cygdrive/%s´ % $&[0..0].downcase)	if lib =~ /^.:/"	if cygwin?
   f.puts "$:.clear"
   $:.each do |s|
     f.puts "$: << \"%s\"" % s.sub(libdir1, ´#{lib}´)
   end
 end
 
-File.open(tmplocation("app.eee"), "w") do |f|
-  rubyexe	= "ruby.exe"
-  rubyexe	= "rubyw.exe"	if rubyw
-  rubyexe	= "ruby"	if linux?
+File.open(tmplocation("bootstrap.rb"), "w") do |f|
+  f.puts "ALLINONERUBY	= ´#{rubyexe}´"
+  f.puts "load($0 = ARGV.shift)"
+end
 
+File.open(tmplocation("empty.rb"), "w") do |f|
+end
+
+File.open(tmplocation("app.eee"), "w") do |f|
   f.puts "r bin"
   f.puts "r lib"
-  f.puts "f eee.sh"	if linux?
+  f.puts "f eee.sh"	if linux? or darwin?
   f.puts "f eee.rb"
-  if linux?
-    f.puts "c source %tempdir%/eee.sh %tempdir% %tempdir%/bin/#{rubyexe} -r %tempdir%/eee.rb %quotedparms%"
+  f.puts "f bootstrap.rb"
+  f.puts "f empty.rb"
+  if linux? or darwin?
+    f.puts "c echo source %tempdir%/eee.sh %tempdir% %tempdir%/bin/#{rubyexe} -r %tempdir%/eee.rb -r %tempdir1%/bootstrap.rb -T1 %tempdir1%/empty.rb %quotedparms% | sh -s"
   elsif cygwin?
-    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir1%/eee.rb %quotedparms%"
+    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir1%/eee.rb -r %tempdir1%/bootstrap.rb -T1 %tempdir1%/empty.rb %quotedparms%"
   else
-    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir%\\eee.rb %quotedparms%"
+    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir%\\eee.rb -r %tempdir%\\bootstrap.rb -T1 %tempdir%\\empty.rb %quotedparms%"
   end
 end
 
@@ -153,17 +173,31 @@
 to	= tmplocation(eeeexe)
 
 File.copy(from, to)	unless from == to
-File.chmod(0755, to)	if linux?
+File.chmod(0755, to)	if linux? or darwin?
 
 tmplocation do
-  ENV["EEEEXE"]	= eeeexe
-  ENV["EEEDIR"]	= Dir.pwd
+  ENV["EEE_EXE"]	= eeeexe
+  ENV["EEE_DIR"]	= Dir.pwd
+
+  eeebin1	= newlocation("eee.exe")
+  eeebin1	= newlocation("eee_linux")	if linux?
+  eeebin1	= newlocation("eee_darwin")	if darwin?
+
+  eeebin2	= tmplocation("eee.exe")
+  eeebin2	= tmplocation("eee_linux")	if linux?
+  eeebin2	= tmplocation("eee_darwin")	if darwin?
+
+  from	= eeebin1
+  to	= eeebin2
+
+  File.copy(from, to)	unless from == to
+  File.chmod(0755, to)	if linux? or darwin?
 
-  system(backslashes("#{newlocation(linux? ? "eee.bin" : "eee")} app.eee #{appexe}"))
+  system(backslashes("#{eeebin2} app.eee #{appexe}"))
 end
 
 from	= tmplocation(appexe)
 to	= oldlocation(appexe)
 
 File.copy(from, to)	unless from == to
-File.chmod(0755, to)	if linux?
+#File.chmod(0755, to)	if linux? or darwin?
Binary files allinoneruby-0.2.0.tar.gz/allinoneruby/eee.bin and allinoneruby-0.2.1.tar.gz/allinoneruby/eee.bin differ
Binary files allinoneruby-0.2.0.tar.gz/allinoneruby/eee.exe and allinoneruby-0.2.1.tar.gz/allinoneruby/eee.exe differ
Binary files allinoneruby-0.2.0.tar.gz/allinoneruby/eee_linux and allinoneruby-0.2.1.tar.gz/allinoneruby/eee_linux differ
Binary files allinoneruby-0.2.0.tar.gz/allinoneruby/eeew.exe and allinoneruby-0.2.1.tar.gz/allinoneruby/eeew.exe differ