ec11577107
Given the current state of OS X compilers, the original fails_with behavior is becoming less useful, mostly resulting in build failures each time the compiler is updated. So make the following changes: When a build is specified, we retain the old behavior: switch compilers if the available compiler is <= the build, don't switch if it is > the build. When no build is specified, unconditionally switch compilers, and don't output the advice message. This allows us to mark formulae as perpetually failing, avoiding the need to update formulae each time a new compiler build is made available. As a bonus, this makes the logic much easier to reason about. Closes Homebrew/homebrew#18175.
26 lines
923 B
Ruby
26 lines
923 B
Ruby
require 'formula'
|
|
|
|
class Tbb < Formula
|
|
homepage 'http://www.threadingbuildingblocks.org/'
|
|
url 'http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_20130116oss_src.tgz'
|
|
sha1 'fd7ea56612f145a1f9b3d961a424e9d553bab527'
|
|
version '4.1u2'
|
|
|
|
fails_with :clang do
|
|
cause "Undefined symbols for architecture x86_64: vtable for tbb::tbb_exception"
|
|
end
|
|
|
|
def install
|
|
# Intel sets varying O levels on each compile command.
|
|
ENV.no_optimization
|
|
# Override build prefix so we can copy the dylibs out of the same place
|
|
# no matter what system we're on, and use our compilers.
|
|
args = ['tbb_build_prefix=BUILDPREFIX',
|
|
"CONLY=#{ENV.cc}",
|
|
"CPLUS=#{ENV.cxx}"]
|
|
args << (MacOS.prefer_64_bit? ? "arch=intel64" : "arch=ia32")
|
|
system "make", *args
|
|
lib.install Dir['build/BUILDPREFIX_release/*.dylib']
|
|
include.install 'include/tbb'
|
|
end
|
|
end
|