X-Git-Url: http://git.code-monkey.de/?p=ruby-esmart.git;a=blobdiff_plain;f=library.rb;fp=library.rb;h=e9bb925fcf8732846a3e991f56af5be8ab472d2c;hp=0000000000000000000000000000000000000000;hb=a798ac2f31578df885d633737d3b799b31c8a60a;hpb=442a877da882d6b38a5ed267d2f0024f9212eb58 diff --git a/library.rb b/library.rb new file mode 100644 index 0000000..e9bb925 --- /dev/null +++ b/library.rb @@ -0,0 +1,35 @@ +# $Id: library.rb 326 2005-04-27 14:25:18Z tilman $ + +require "rbconfig" + +class Library + def initialize(name, prefix, dir, lib = name) + @name = name + @prefix = prefix + @dir = dir + @lib = lib + end + + def ldflags + s = "#{ENV["LDFLAGS"]} -L #{@prefix}/lib -L " + + Config::CONFIG["libdir"] + " " + + Config::CONFIG["LIBRUBYARG_SHARED"] + + " -shared -Wl" + s << " -l#{@lib}" unless @lib.nil? + s + end + + def cflags + "#{ENV["CFLAGS"]} -I #{@prefix}/include " + + "-I #{Config::CONFIG['archdir']} " + + "-I #{Config::CONFIG['sitearchdir']} -fPIC" + end + + def so + "#{@dir}/#{@name}.so" + end + + def objects + Dir["#{@dir}/*.c"].map { |f| f.sub(/\.[^.]+$/, ".o") } + end +end