Skip to content

Commit

Permalink
Fixed rebuilding melbourne from dependencies.
Browse files Browse the repository at this point in the history
  • Loading branch information
brixen committed Jun 23, 2011
1 parent d2a88c1 commit fc85189
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
2 changes: 1 addition & 1 deletion lib/ext/melbourne/Rakefile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ melbourne_build = "build/melbourne20.#{$DLEXT}"


file melbourne_build => project_files file melbourne_build => project_files


graph_dependencies source_files graph_dependencies source_files, [], ext_dir


import dependency_file import dependency_file


Expand Down
9 changes: 6 additions & 3 deletions rakelib/dependency_grapher.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -88,10 +88,11 @@ class SourceFile < Node


attr_reader :name, :object_name, :includes, :dependencies attr_reader :name, :object_name, :includes, :dependencies


def initialize(name, parser) def initialize(name, parser, objects_dir=nil)
super parser super parser
@name = name @name = name
@object_name = name.sub(/((c(pp)?)|S)$/, 'o') @object_name = name.sub(/((c(pp)?)|S)$/, 'o')
@objects_dir = objects_dir
@includes = [] @includes = []
end end


Expand All @@ -110,6 +111,7 @@ def collect_dependencies


def print_dependencies(out, max) def print_dependencies(out, max)
str = "#{@object_name}:" str = "#{@object_name}:"
str = "#{@objects_dir}/#{str}" if @objects_dir
out.print str out.print str


width = str.size width = str.size
Expand Down Expand Up @@ -390,14 +392,15 @@ def parse(lines)
end end
end end


attr_accessor :file_names, :directories, :defines, :system_defines attr_accessor :file_names, :directories, :defines, :system_defines, :objects_dir
attr_reader :sources attr_reader :sources


def initialize(files, directories=[], defines=nil) def initialize(files, directories=[], defines=nil)
@file_names = files @file_names = files
@directories = directories @directories = directories
@defines = defines @defines = defines


@objects_dir = nil
@system_defines = {} @system_defines = {}
@sources = [] @sources = []
end end
Expand All @@ -416,7 +419,7 @@ def process
get_system_defines get_system_defines


@file_names.each do |name| @file_names.each do |name|
source = SourceFile.new name, self source = SourceFile.new name, self, @objects_dir
parser = FileParser.new source, @directories parser = FileParser.new source, @directories


parser.parse_file name parser.parse_file name
Expand Down
3 changes: 2 additions & 1 deletion rakelib/ext_helper.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -225,11 +225,12 @@ def dependency_file
".depends.mf" ".depends.mf"
end end


def graph_dependencies(sources, directories=[]) def graph_dependencies(sources, directories=[], objects_dir=nil)
directories = Array(directories) directories = Array(directories)
directories.concat [".", include18_dir, include19_dir] directories.concat [".", include18_dir, include19_dir]


grapher = DependencyGrapher.new sources, directories grapher = DependencyGrapher.new sources, directories
grapher.objects_dir = objects_dir
grapher.process grapher.process


File.open dependency_file, "w" do |file| File.open dependency_file, "w" do |file|
Expand Down

0 comments on commit fc85189

Please sign in to comment.