diff options
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/build_options.rb | 3 | ||||
| -rw-r--r-- | Library/Homebrew/dependency.rb | 7 | ||||
| -rw-r--r-- | Library/Homebrew/formula_installer.rb | 12 |
3 files changed, 7 insertions, 15 deletions
diff --git a/Library/Homebrew/build_options.rb b/Library/Homebrew/build_options.rb index e104a870a..58348da8a 100644 --- a/Library/Homebrew/build_options.rb +++ b/Library/Homebrew/build_options.rb @@ -1,7 +1,6 @@ require 'options' class BuildOptions - attr_accessor :args attr_accessor :universal def initialize(args, options) @@ -15,7 +14,7 @@ class BuildOptions end def include? name - args.include? '--' + name + @args.include?("--#{name}") end def with? val diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb index d3e8b607a..dfb337446 100644 --- a/Library/Homebrew/dependency.rb +++ b/Library/Homebrew/dependency.rb @@ -29,10 +29,9 @@ class Dependency end def to_formula - f = Formulary.factory(name) - # Add this dependency's options to the formula's build args - f.build.args = f.build.args.concat(options) - f + formula = Formulary.factory(name) + formula.build = BuildOptions.new(options, formula.options) + formula end def installed? diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 63b7fa0df..266d005a2 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -303,15 +303,9 @@ class FormulaInstaller end def effective_build_options_for(dependent, inherited_options=[]) - if dependent == f - build = dependent.build.dup - build.args |= options - build - else - build = dependent.build.dup - build.args |= inherited_options - build - end + args = dependent.build.used_options + args |= dependent == f ? options : inherited_options + BuildOptions.new(args, dependent.options) end def inherited_options_for(dep) |
