diff -ur rubyscript2exe-0.1.19.tar.gz/rubyscript2exe/ev/dependencies.rb rubyscript2exe-0.1.20.tar.gz/rubyscript2exe/ev/dependencies.rb
--- rubyscript2exe-0.1.19.tar.gz/rubyscript2exe/ev/dependencies.rb 2004-07-30 17:39:52.000000000 +0200
+++ rubyscript2exe-0.1.20.tar.gz/rubyscript2exe/ev/dependencies.rb 2004-07-30 17:39:46.000000000 +0200
@@ -0,0 +1,32 @@
+def dlls(file, notthedefaults=true)
+
+ # Only the dependencies in the same directory as the executable.
+
+ todo = []
+ res = []
+
+ todo << File.expand_path(file)
+
+ while todo.length > 0
+ todo2 = todo
+ todo = []
+
+ todo2.each do |file|
+ File.open(file, "rb") do |f|
+ strings = f.read.scan(/[\w\-\.]+/) # Hack ???
+ strings.delete_if{|s| s !~ /\.dll$/i}
+
+ strings.each do |lib|
+ lib = File.expand_path(lib, File.dirname(file))
+
+ if not lib.nil? and File.file?(lib) and not res.include?(lib)
+ todo << lib
+ res << lib
+ end
+ end
+ end
+ end
+ end
+
+ res
+end
diff -ur rubyscript2exe-0.1.19.tar.gz/rubyscript2exe/init.rb rubyscript2exe-0.1.20.tar.gz/rubyscript2exe/init.rb
--- rubyscript2exe-0.1.19.tar.gz/rubyscript2exe/init.rb 2004-07-26 18:48:26.000000000 +0200
+++ rubyscript2exe-0.1.20.tar.gz/rubyscript2exe/init.rb 2004-07-29 16:31:46.000000000 +0200
@@ -1,7 +1,21 @@
require "ev/oldandnewlocation"
+require "ev/dependencies"
require "ftools"
require "rbconfig"
+def backslashes(s)
+ s = s.gsub(/^\.\//, "").gsub(/\//, "\\\\") if windows?
+ s
+end
+
+def windows?
+ not (target_os.downcase =~ /32/).nil? # Hack ???
+end
+
+def target_os
+ Config::CONFIG["target_os"] or ""
+end
+
script = ARGV.shift
rubyw = false
@@ -9,36 +23,38 @@
rubyw = false if ARGV.include?("--rubyscript2exe-ruby")
rubyw = true if ARGV.include?("--rubyscript2exe-rubyw")
-ARGV.delete_if do |arg|
- arg =~ /^--rubyscript2exe-/
-end
+ARGV.delete_if{|arg| arg =~ /^--rubyscript2exe-/}
bindir = Config::CONFIG["bindir"]
-libruby = Config::CONFIG["LIBRUBY_SO"]
if not script.nil?
script = "#{script}.rb" if not script =~ /\.rbw?$/
app = File.basename(script.gsub(/\.rbw?$/, ""))
libdir = File.expand_path("lib")
- puts "Tracing #{app}..."
+ $stderr.puts "Tracing #{app}..."
+
+ libs = $:.collect{|a| " -I " + a}
oldlocation do
- system("#{bindir}/ruby -r ´#{newlocation("require2lib.rb")}´ ´#{script}´ ´#{libdir}´ #{ARGV.collect{|a| "´" + a + "´"}.join(" ")}".gsub(/^\.\//, "").gsub(/\//, "\\\\"))
+ system(backslashes("#{bindir}/ruby #{libs.join(" ")} -r ´#{newlocation("require2lib.rb")}´ ´#{script}´ ´#{libdir}´ ") + ARGV.collect{|a| "´" + a + "´"}.join(" "))
end
- puts "Copying files..."
+ $stderr.puts "Copying files..."
Dir.mkdir("bin")
Dir.mkdir("app")
File.copy("#{bindir}/ruby.exe" , "bin/ruby.exe" )
File.copy("#{bindir}/rubyw.exe" , "bin/rubyw.exe" )
- File.copy("#{bindir}/#{libruby}" , "bin/#{libruby}" )
- File.copy("#{bindir}/msvcr71.dll" , "bin/msvcr71.dll" ) if File.file?("#{bindir}/msvcr71.dll")
File.copy("#{oldlocation(script)}" , "app/app.rb" )
- puts "Creating #{app}.exe..."
+ dlls("#{bindir}/ruby.exe").each do |dll|
+ file = File.basename(dll)
+ File.copy(dll, "bin/#{file}") unless file == "ruby.exe"
+ end
+
+ $stderr.puts "Creating #{app}.exe..."
File.open("app.eee", "w") do |f|
f.puts "r bin"
@@ -56,11 +72,11 @@
appexe = "#{app}.exe"
appico = "#{app}.ico"
- system(".\\eee app.eee #{appexe} #{eeeexe}")
+ system(backslashes("./eee app.eee #{appexe} #{eeeexe}"))
oldlocation do
File.copy(newlocation(appexe), appexe)
- system("reshacker -modify #{newlocation(appexe)}, #{appexe}, #{appico}, icon,appicon,") if File.file?(appico)
+ system(backslashes("reshacker -modify #{newlocation(appexe)}, #{appexe}, #{appico}, icon,appicon,")) if File.file?(appico)
end
end
Binary files rubyscript2exe-0.1.19.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.1.20.tar.gz/rubyscript2exe/eee.exe differ
Binary files rubyscript2exe-0.1.19.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.1.20.tar.gz/rubyscript2exe/eeew.exe differ