diff --git a/Library/Homebrew/build_options.rb b/Library/Homebrew/build_options.rb index 478fd8a848..cbfa790d2b 100644 --- a/Library/Homebrew/build_options.rb +++ b/Library/Homebrew/build_options.rb @@ -120,33 +120,4 @@ class BuildOptions def unused_options Options.new(@options - @args) end - - # Some options are implicitly ON because they are not explictly turned off - # by their counterpart option. This applies only to with-/without- options. - # implicit_options are needed because `depends_on 'spam' => 'with-stuff'` - # complains if 'spam' has stuff as default and only defines `--without-stuff`. - def implicit_options - implicit = unused_options.map do |option| - opposite_of option unless has_opposite_of? option - end.compact - Options.new(implicit) - end - - def has_opposite_of? option - @options.include? opposite_of(option) - end - - def opposite_of option - option = Option.new(option) unless Option === option - - if option.name =~ /^with-(.+)$/ - Option.new("without-#{$1}") - elsif option.name =~ /^without-(.+)$/ - Option.new("with-#{$1}") - elsif option.name =~ /^enable-(.+)$/ - Option.new("disable-#{$1}") - elsif option.name =~ /^disable-(.+)$/ - Option.new("enable-#{$1}") - end - end end diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb index f10ebd27f4..d3e8b607af 100644 --- a/Library/Homebrew/dependency.rb +++ b/Library/Homebrew/dependency.rb @@ -46,7 +46,6 @@ class Dependency def missing_options(inherited_options=[]) missing = options | inherited_options missing -= Tab.for_formula(to_formula).used_options - missing -= to_formula.build.implicit_options missing end diff --git a/Library/Homebrew/test/test_build_options.rb b/Library/Homebrew/test/test_build_options.rb index d8327deac4..95388a0ea8 100644 --- a/Library/Homebrew/test/test_build_options.rb +++ b/Library/Homebrew/test/test_build_options.rb @@ -43,35 +43,6 @@ class BuildOptionsTests < Homebrew::TestCase assert_includes @build.unused_options, "--without-baz" end - def test_implicit_options - # --without-baz is not explicitly specified on the command line (i.e. args) - # therefore --with-baz should be implicitly assumed: - assert_includes @build.implicit_options, "--with-baz" - # But all these should not be in the implict_options: - refute_includes @build.implicit_options, "--without-baz" - refute_includes @build.implicit_options, "--with-bar" - refute_includes @build.implicit_options, "--without-bar" - refute_includes @build.implicit_options, "--with-qux" - end - - def test_opposite_of - assert_equal Option.new("without-foo"), @build.opposite_of(Option.new("with-foo")) - assert_equal Option.new("with-foo"), @build.opposite_of("without-foo") - assert_equal Option.new("disable-spam"), @build.opposite_of(Option.new("enable-spam")) - assert_equal Option.new("enable-beer"), @build.opposite_of("disable-beer") - end - - def test_has_opposite_of? - assert @build.has_opposite_of?("--without-foo") - assert @build.has_opposite_of?(Option.new("--with-qux")) - assert !@build.has_opposite_of?("--without-qux") - assert !@build.has_opposite_of?("--without-nonexisting") - end - - def test_actually_recognizes_implicit_options - assert @build.has_opposite_of?("--with-baz") - end - def test_copies_do_not_share_underlying_options orig = BuildOptions.new [] copy = orig.dup