aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/software_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/software_spec.rb')
-rw-r--r--Library/Homebrew/software_spec.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb
index 7b4004ecb..81adc83ff 100644
--- a/Library/Homebrew/software_spec.rb
+++ b/Library/Homebrew/software_spec.rb
@@ -2,11 +2,12 @@ require 'forwardable'
require 'resource'
require 'checksum'
require 'version'
+require 'build_options'
class SoftwareSpec
extend Forwardable
- attr_reader :resources, :owner
+ attr_reader :build, :resources, :owner
def_delegators :@resource, :stage, :fetch
def_delegators :@resource, :download_strategy, :verify_download_integrity
@@ -16,6 +17,7 @@ class SoftwareSpec
def initialize url=nil, version=nil
@resource = Resource.new(:default, url, version)
@resources = {}
+ @build = BuildOptions.new(ARGV.options_only)
end
def owner= owner
@@ -35,6 +37,13 @@ class SoftwareSpec
resources.fetch(name) { raise ResourceMissingError.new(owner, name) }
end
end
+
+ def option name, description=nil
+ name = name.to_s if Symbol === name
+ raise "Option name is required." if name.empty?
+ raise "Options should not start with dashes." if name[0, 1] == "-"
+ build.add(name, description)
+ end
end
class HeadSoftwareSpec < SoftwareSpec