79 lines
2.2 KiB
Ruby
79 lines
2.2 KiB
Ruby
require 'formula'
|
|
|
|
class CrosstoolNg < Formula
|
|
desc "Tool for building toolchains"
|
|
homepage 'http://crosstool-ng.org'
|
|
url 'http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.20.0.tar.bz2'
|
|
sha1 'b11f7ee706753b8cf822f98b549f8ab9dd8da9c7'
|
|
|
|
bottle do
|
|
cellar :any
|
|
sha1 "e0b4f5c33aea34c2c94cfbbb71b9e238ab5262c9" => :yosemite
|
|
sha1 "dc3c1243bb2df823e0db44562e6dc2b869f0a3b1" => :mavericks
|
|
sha1 "fc2cfb94d4edb31624c5703c07e536e7becb2fa0" => :mountain_lion
|
|
end
|
|
|
|
depends_on "autoconf" => :build
|
|
depends_on "automake" => :build
|
|
depends_on "libtool" => :build
|
|
depends_on 'coreutils' => :build
|
|
depends_on 'wget'
|
|
depends_on 'gnu-sed'
|
|
depends_on 'gawk'
|
|
depends_on 'binutils'
|
|
depends_on 'libelf'
|
|
depends_on 'homebrew/dupes/grep' => :optional
|
|
depends_on 'homebrew/dupes/make' => :optional
|
|
|
|
# Avoid superenv to prevent https://github.com/mxcl/homebrew/pull/10552#issuecomment-9736248
|
|
env :std
|
|
|
|
# Patch to fix clang offsetof. Can be removed when adopted upstream.
|
|
# http://patchwork.ozlabs.org/patch/400328/
|
|
patch do
|
|
url "http://patchwork.ozlabs.org/patch/400328/raw/"
|
|
sha1 "0baca77c863e6876f6fb1838db9e5cb60c6fe89c"
|
|
end
|
|
|
|
# Patch to make regex BSD grep compatible. Can be removed when adopted upstream.
|
|
# http://patchwork.ozlabs.org/patch/400351/
|
|
patch do
|
|
url "http://patchwork.ozlabs.org/patch/400351/raw/"
|
|
sha1 "8f8e29aa149e65c2588a2d9ec3849d0ba727e0ad"
|
|
end
|
|
|
|
def install
|
|
args = ["--prefix=#{prefix}",
|
|
"--exec-prefix=#{prefix}",
|
|
"--with-objcopy=gobjcopy",
|
|
"--with-objdump=gobjdump",
|
|
"--with-readelf=greadelf",
|
|
"--with-libtool=glibtool",
|
|
"--with-libtoolize=glibtoolize",
|
|
"--with-install=ginstall",
|
|
"--with-sed=gsed",
|
|
"--with-awk=gawk"]
|
|
|
|
args << "--with-grep=ggrep" if build.with? "grep"
|
|
|
|
args << "--with-make=gmake" if build.with? "make"
|
|
|
|
args << "CFLAGS=-std=gnu89"
|
|
|
|
system "./configure", *args
|
|
|
|
# Must be done in two steps
|
|
system "make"
|
|
system "make install"
|
|
end
|
|
|
|
def caveats; <<-EOS.undent
|
|
You will need to install modern gcc compiler in order to use this tool.
|
|
EOS
|
|
end
|
|
|
|
test do
|
|
system "#{bin}/ct-ng", "version"
|
|
end
|
|
end
|
|
|