diff --git a/Library/Homebrew/build_options.rb b/Library/Homebrew/build_options.rb index 18285a7a5e..0cd3a5a467 100644 --- a/Library/Homebrew/build_options.rb +++ b/Library/Homebrew/build_options.rb @@ -20,6 +20,15 @@ class BuildOptions @options << Option.new(name, description) end + def add_dep_option(dep) + name = dep.name.split("/").last # strip any tap prefix + if dep.optional? && !has_option?("with-#{name}") + add("with-#{name}", "Build with #{name} support") + elsif dep.recommended? && !has_option?("without-#{name}") + add("without-#{name}", "Build without #{name} support") + end + end + def has_option? name any? { |opt| opt.name == name } end diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 888eefd9fd..bbcb1dab2c 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -692,7 +692,7 @@ class Formula def depends_on dep d = dependencies.add(dep) - post_depends_on(d) unless d.nil? + build.add_dep_option(d) unless d.nil? end def option name, description=nil @@ -754,19 +754,6 @@ class Formula @test_defined = true @test = block end - - private - - def post_depends_on(dep) - # Generate with- or without- options for optional and recommended - # dependencies and requirements - name = dep.name.split("/").last # strip any tap prefix - if dep.optional? && !build.has_option?("with-#{name}") - build.add("with-#{name}", "Build with #{name} support") - elsif dep.recommended? && !build.has_option?("without-#{name}") - build.add("without-#{name}", "Build without #{name} support") - end - end end end