homebrew-core/Formula/libantlr3c.rb

50 lines
1.7 KiB
Ruby

class Libantlr3c < Formula
desc "ANTLRv3 parsing library for C"
homepage "https://www.antlr3.org/"
url "https://www.antlr3.org/download/C/libantlr3c-3.4.tar.gz"
sha256 "ca914a97f1a2d2f2c8e1fca12d3df65310ff0286d35c48b7ae5f11dcc8b2eb52"
revision 1
bottle do
cellar :any
sha256 "2de7942e4bc89830c0d92bfda55e60a4ad82723430bcc7477abb5d1b1ade7f86" => :high_sierra
sha256 "a5e779c431e16bdaab829c774468ce11f8e7ea359412800e294433b011704541" => :sierra
sha256 "fea1cde8ae732cdbbffa6a6d329239b1da067d2b69424d53178e60309748c403" => :el_capitan
sha256 "8026d876b20980138c076cb4008f358deb858204b6399c436cf45e93594274e7" => :yosemite
sha256 "010c3866a3c183b10dec76f845ce826a26a5a384074f8c56f41abeb9e4aa6e77" => :mavericks
sha256 "e734361de9f3f5d81b0a0224cfcb561806fed5b1d5dbeeb86bd2131754aa993d" => :mountain_lion
end
option "without-exceptions", "Compile without support for exception handling"
def install
args = ["--disable-dependency-tracking",
"--disable-antlrdebug",
"--prefix=#{prefix}"]
args << "--enable-64bit" if MacOS.prefer_64_bit?
system "./configure", *args
if build.with? "exceptions"
inreplace "Makefile" do |s|
cflags = s.get_make_var "CFLAGS"
cflags = cflags << " -fexceptions"
s.change_make_var! "CFLAGS", cflags
end
end
system "make", "install"
end
test do
(testpath/"hello.c").write <<~EOS
#include <antlr3.h>
int main() {
if (0) {
antlr3GenericSetupStream(NULL);
}
return 0;
}
EOS
system ENV.cc, "hello.c", "-L#{lib}", "-lantlr3c", "-o", "hello", "-O0"
system testpath/"hello"
end
end