[macruby-changes] [3245] MacRuby/trunk/rakelib/builder.rake

source_changes at macosforge.org source_changes at macosforge.org
Mon Jan 11 15:01:10 PST 2010


Revision: 3245
          http://trac.macosforge.org/projects/ruby/changeset/3245
Author:   lsansonetti at apple.com
Date:     2010-01-11 15:01:09 -0800 (Mon, 11 Jan 2010)
Log Message:
-----------
created a macruby:weak_symbols task which dumps a list of weak symbols

Modified Paths:
--------------
    MacRuby/trunk/rakelib/builder.rake

Modified: MacRuby/trunk/rakelib/builder.rake
===================================================================
--- MacRuby/trunk/rakelib/builder.rake	2010-01-11 22:57:50 UTC (rev 3244)
+++ MacRuby/trunk/rakelib/builder.rake	2010-01-11 23:01:09 UTC (rev 3245)
@@ -318,6 +318,14 @@
   task :build => :dylib do
     $builder.link_executable(RUBY_INSTALL_NAME, ['main', 'gc-stub'], "-L. -l#{RUBY_SO_NAME} -lobjc")
   end
+
+  # Generates a list of weak symbols in libmacruby.dylib. You must not pass a unexported symbols list to
+  # rake when calling this command.
+  task :weak_symbols => :dylib do
+    sh("nm -m -P -arch i386 libmacruby.1.9.0.dylib | grep 'weak external' | grep -v 'undefined' | egrep -v '__ZT[IS]' | awk '{print$5}' > /tmp/syms-i386")
+    sh("nm -m -P -arch x86_64 libmacruby.1.9.0.dylib | grep 'weak external' | grep -v 'undefined' | egrep -v '__ZT[IS]' | awk '{print$5}' > /tmp/syms-x86_64")
+    sh("cat /tmp/syms-i386 /tmp/syms-x86_64 | uniq > unexported_symbols.list")
+  end
 end
 
 DESTDIR = (ENV['DESTDIR'] or "")
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100111/2274e865/attachment-0001.html>


More information about the macruby-changes mailing list