From e6816c7bf69f2b04238625cce9fca8b261ecd52b Mon Sep 17 00:00:00 2001
From: Lyle Johnson <lyle@lylejohnson.name>
Date: Tue, 15 Sep 2009 10:42:04 -0500
Subject: [PATCH] Added a task to create the librb.c file

---
 Rakefile | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/Rakefile b/Rakefile
index 484c41b..d0375c7 100755
--- a/Rakefile
+++ b/Rakefile
@@ -215,6 +215,7 @@ end
 namespace :swig do
   SWIG = "/usr/local/bin/swig"
   SWIGFLAGS = "-fcompact -noruntime -c++ -ruby -no_default -I../fox-includes"
+  SWIG_LIB = `#{SWIG} -swiglib`.chomp
   SWIG_MODULES = {
     "core.i" => "core_wrap.cpp",
     "dcmodule.i" => "dc_wrap.cpp",
@@ -275,9 +276,21 @@ namespace :swig do
       end
     end
   end
+  
+  task :swig_librb do
+    Dir.chdir "swig-interfaces" do
+      File.open(wrapper_src_file_path("librb.c"), "w") do |io|
+        io.puts "#define SWIG_GLOBAL 1"
+        io.write(IO.read(File.join(SWIG_LIB, "ruby", "precommon.swg")))
+        io.write(IO.read(File.join(SWIG_LIB, "common.swg")))
+        io.write(IO.read(File.join(SWIG_LIB, "ruby", "rubyhead.swg")))
+        io.write(IO.read(File.join(SWIG_LIB, "ruby", "rubydef.swg")))
+      end
+    end
+  end
 
   desc "Run SWIG to generate the wrapper files."
-  task :swig => [:swig_dependencies] do
+  task :swig => [:swig_dependencies, :swig_librb] do
     Dir.chdir "swig-interfaces" do
       SWIG_MODULES.each do |key, value|
         swig(key, value)
-- 
GitLab