Class: BuildOptions

Inherits:
Object
  • Object
show all
Defined in:
brew/Library/Homebrew/build_options.rb

Instance Method Summary collapse

Instance Method Details

#any_args_or_options?Boolean

True if the build has any arguments or options specified.

Returns:

  • (Boolean)


90
91
92
# File 'brew/Library/Homebrew/build_options.rb', line 90

def any_args_or_options?
  !@args.empty? || !@options.empty?
end

#bottle?Boolean

True if a Formula is being built as a bottle (i.e. binary package).

Returns:

  • (Boolean)


49
50
51
# File 'brew/Library/Homebrew/build_options.rb', line 49

def bottle?
  include? "build-bottle"
end

#cxx11?Boolean

True if a Formula is being built in C++11 mode.

Returns:

  • (Boolean)


85
86
87
# File 'brew/Library/Homebrew/build_options.rb', line 85

def cxx11?
  include?("c++11") && option_defined?("c++11")
end

#devel?Boolean

True if a Formula is being built with Formula.devel instead of Formula.stable.

args << "--some-beta" if build.devel?

Returns:

  • (Boolean)


66
67
68
# File 'brew/Library/Homebrew/build_options.rb', line 66

def devel?
  include? "devel"
end

#head?Boolean

True if a Formula is being built with Formula.head instead of Formula.stable.

args << "--some-new-stuff" if build.head?
# If there are multiple conditional arguments use a block instead of lines.
 if build.head?
   args << "--i-want-pizza"
   args << "--and-a-cold-beer" if build.with? "cold-beer"
 end

Returns:

  • (Boolean)


60
61
62
# File 'brew/Library/Homebrew/build_options.rb', line 60

def head?
  include? "HEAD"
end

#include?(name) ⇒ Boolean

Deprecated.

True if a Formula is being built with a specific option (which isn’t named with-* or without-*).

Returns:

  • (Boolean)


13
14
15
# File 'brew/Library/Homebrew/build_options.rb', line 13

def include?(name)
  @args.include?("--#{name}")
end

#stable?Boolean

True if a Formula is being built with Formula.stable instead of Formula.devel or Formula.head. This is the default.

args << "--some-beta" if build.devel?

Returns:

  • (Boolean)


73
74
75
# File 'brew/Library/Homebrew/build_options.rb', line 73

def stable?
  !(head? || devel?)
end

#universal?Boolean

True if a Formula is being built universally. e.g. on newer Intel Macs this means a combined x86_64/x86 binary/library.

args << "--universal-binary" if build.universal?

Returns:

  • (Boolean)


80
81
82
# File 'brew/Library/Homebrew/build_options.rb', line 80

def universal?
  include?("universal") && option_defined?("universal")
end

#with?(val) ⇒ Boolean

True if a Formula is being built with a specific option.

args << "--i-want-spam" if build.with? "spam"

args << "--qt-gui" if build.with? "qt" # "--with-qt" ==> build.with? "qt"

# If a formula presents a user with a choice, but the choice must be fulfilled:
if build.with? "example2"
  args << "--with-example2"
else
  args << "--with-example1"
end

Returns:

  • (Boolean)


28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'brew/Library/Homebrew/build_options.rb', line 28

def with?(val)
  option_names = val.respond_to?(:option_names) ? val.option_names : [val]

  option_names.any? do |name|
    if option_defined? "with-#{name}"
      include? "with-#{name}"
    elsif option_defined? "without-#{name}"
      !include? "without-#{name}"
    else
      false
    end
  end
end

#without?(val) ⇒ Boolean

True if a Formula is being built without a specific option.

args << "--no-spam-plz" if build.without? "spam"

Returns:

  • (Boolean)


44
45
46
# File 'brew/Library/Homebrew/build_options.rb', line 44

def without?(val)
  !with?(val)
end