From 9fe5769513b464efcdd435dca891282b865b5e4b Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Wed, 27 Apr 2005 14:01:11 +0000 Subject: [PATCH] Build system fixes. --- Rakefile | 15 ++++++--------- library.rb | 19 ++++++++++++------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Rakefile b/Rakefile index aef6855..fcae887 100644 --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,4 @@ -# $Id: Rakefile 320 2005-04-26 21:19:53Z tilman $ +# $Id: Rakefile 321 2005-04-27 14:01:11Z tilman $ require "library" require "rake/clean" @@ -11,23 +11,20 @@ require "rake/contrib/sshpublisher" CLOBBER.include("src/*/*.{s,}o") ext_libs = ["ecore", "ecore_evas", "ecore_job", "ecore_x"].map do |lib| - Library.new(lib, "src/#{lib}") + Library.new(lib, ENV["ECORE_PREFIX"] || "/usr/local", "src/#{lib}") end task :default => ext_libs.map { |l| l.so } ext_libs.each do |lib| file lib.so => lib.objects do |t| - sh "cc #{lib.ldflags} -shared -Wl " + - "-L #{Config::CONFIG['libdir']} " + - Config::CONFIG["LIBRUBYARG_SHARED"] + - " #{t.prerequisites.join(" ")} -o #{t.name}" + sh "cc #{lib.ldflags} #{t.prerequisites.join(" ")} -o #{t.name}" end lib.objects.each do |object| file object => object.sub(/\.[^.]+$/, ".c") do |t| - source = t.prerequisites.first - sh "cc #{lib.cflags} -fPIC #{source} -c -o #{t.name}" + sh "cc #{lib.cflags} #{t.prerequisites.first} " + + "-c -o #{t.name}" end end end @@ -36,7 +33,7 @@ task :install => ext_libs.map { |l| l.so } do |t| destdir = "#{ENV["DESTDIR"]}" sitearchdir = Config::CONFIG['sitearchdir'] - FileUtils::Verbose.install(t.prerequisites, destdir + sitearchdir, + FileUtils::Verbose.install(t.prerequisites.to_a, destdir + sitearchdir, :mode => 0755) ddir = destdir + sitearchdir + "/ecore" diff --git a/library.rb b/library.rb index f84c8eb..da4f8bb 100644 --- a/library.rb +++ b/library.rb @@ -1,23 +1,28 @@ -# $Id: library.rb 319 2005-04-26 21:19:30Z tilman $ +# $Id: library.rb 321 2005-04-27 14:01:11Z tilman $ require "rbconfig" class Library - PREFIX = ENV["ECORE_PREFIX"] || "/usr/local/" - - def initialize(name, dir) + def initialize(name, prefix, dir, lib = name) @name = name + @prefix = prefix @dir = dir + @lib = lib end def ldflags - "#{ENV["LDFLAGS"]} -L #{PREFIX}/lib -l#{@name}" + 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 " + + "#{ENV["CFLAGS"]} -I #{@prefix}/include " + "-I #{Config::CONFIG['archdir']} " + - "-I #{Config::CONFIG['sitearchdir']}" + "-I #{Config::CONFIG['sitearchdir']} -fPIC" end def so -- 2.30.2