mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Push dependency option generation into BuildOptions
This commit is contained in:
parent
6ed24d3877
commit
0c75f2d280
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user