diff options
| author | Adam Vandenberg | 2014-05-09 08:17:38 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2014-05-09 12:04:21 -0700 |
| commit | cf5595b3b7684069e803d4359bad94f11fdba8dc (patch) | |
| tree | 93fa17fade5816220db2b0674f2b6fa3c553514e /Library | |
| parent | b65925ff0e9bbeb367641c871819ab010d0040fd (diff) | |
| download | homebrew-cf5595b3b7684069e803d4359bad94f11fdba8dc.tar.bz2 | |
doxygen 1.8.7
Fixes for --with-libclang and --with-doxywizard
Closes #28716.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Formula/doxygen.rb | 84 |
1 files changed, 53 insertions, 31 deletions
diff --git a/Library/Formula/doxygen.rb b/Library/Formula/doxygen.rb index c29fcb047..a15c1807a 100644 --- a/Library/Formula/doxygen.rb +++ b/Library/Formula/doxygen.rb @@ -1,37 +1,43 @@ -require 'formula' +require "formula" class Doxygen < Formula - homepage 'http://www.doxygen.org/' - url 'http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.6.src.tar.gz' - mirror 'https://downloads.sourceforge.net/project/doxygen/rel-1.8.6/doxygen-1.8.6.src.tar.gz' - sha1 '204f1b3695c73efac44a521609c5360241d64045' + homepage "http://www.doxygen.org/" + head "https://doxygen.svn.sourceforge.net/svnroot/doxygen/trunk" + url "http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.7.src.tar.gz" + mirror "https://downloads.sourceforge.net/project/doxygen/rel-1.8.7/doxygen-1.8.7.src.tar.gz" + sha1 "3728f183f390f96b4ec39d02782a7c2d91f7bfca" - head 'https://doxygen.svn.sourceforge.net/svnroot/doxygen/trunk' + option "with-dot", "Build with dot command support from Graphviz." + option "with-doxywizard", "Build GUI frontend with qt support." + option "with-libclang", "Build with libclang support." - option 'with-dot', 'Build with dot command support from Graphviz.' - option 'with-doxywizard', 'Build GUI frontend with qt support.' - option 'with-libclang', 'Build with libclang support.' + depends_on "graphviz" if build.with? "dot" + depends_on "qt" if build.with? "doxywizard" + depends_on "llvm" => "with-clang" if build.with? "libclang" - depends_on 'graphviz' if build.with? 'dot' - depends_on 'qt' if build.with? 'doxywizard' - depends_on 'llvm' => 'with-clang' if build.with? 'libclang' - - patch :DATA if build.with? 'doxywizard' + # Fixes for --with-doxywizard and --with-libclang + patch :DATA def install - # libclang is installed under #{HOMEBREW_PREFIX}/opt/llvm/ - if build.with? 'libclang' - inreplace 'configure' do |s| - s.gsub! /libclang_hdr_dir=\".*$/, "libclang_hdr_dir=\"#{HOMEBREW_PREFIX}/opt/llvm/include\"" - s.gsub! /libclang_lib_dir=\".*$/, "libclang_lib_dir=\"#{HOMEBREW_PREFIX}/opt/llvm/lib\"" + args = ["--prefix", prefix] + + if build.with? "doxywizard" + args << "--with-doxywizard" + ENV["QTDIR"] = Formula["qt"].opt_prefix + end + + if build.with? "libclang" + args << "--with-libclang-static" + llvm = Formula["llvm"] + inreplace "configure" do |s| + s.gsub! /libclang_hdr_dir=\".*$/, "libclang_hdr_dir=\"#{llvm.opt_include}\"" + s.gsub! /libclang_lib_dir=\".*$/, "libclang_lib_dir=\"#{llvm.opt_lib}\"" end end - args = ["--prefix", prefix] - args << '--with-libclang-static' if build.with? 'libclang' - args << '--with-doxywizard' if build.with? 'doxywizard' system "./configure", *args - # Per Macports: + + # Per MacPorts: # https://trac.macports.org/browser/trunk/dports/textproc/doxygen/Portfile#L92 inreplace %w[ libmd5/Makefile.libmd5 src/Makefile.libdoxycfg @@ -46,17 +52,19 @@ class Doxygen < Formula # This is a terrible hack; configure finds lex/yacc OK but # one Makefile doesn't get generated with these, so pull # them out of a known good file and cram them into the other. - lex = '' - yacc = '' + lex = "" + yacc = "" - inreplace 'src/libdoxycfg.t' do |s| - lex = s.get_make_var 'LEX' - yacc = s.get_make_var 'YACC' + inreplace "src/libdoxycfg.t" do |s| + lex = s.get_make_var "LEX" + yacc = s.get_make_var "YACC" end - inreplace 'src/Makefile.libdoxycfg' do |s| - s.change_make_var! 'LEX', lex - s.change_make_var! 'YACC', yacc + inreplace "src/Makefile.libdoxycfg" do |s| + s.change_make_var! "LEX", lex + s.change_make_var! "YACC", yacc + # Otherwise it tries a hardcoded python2 binary + s.change_make_var! "PYTHON", "python" end system "make" @@ -82,3 +90,17 @@ index 727409a..8b0d00f 100644 $(INSTTOOL) -d $(INSTALL)/$(MAN1DIR) cat ../../doc/doxywizard.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > doxywizard.1 $(INSTTOOL) -m 644 doxywizard.1 $(INSTALL)/$(MAN1DIR)/doxywizard.1 +# Additional libraries needed to link clang +diff --git a/configure b/configure +index 1020492..c88a012 100755 +--- a/configure ++++ b/configure +@@ -578,7 +578,7 @@ if test "$f_libclang" = YES; then + if test "$f_libclangstatic" = NO; then + libclang_link="-L $i -lclang" + else +- libclang_link="$i/libclang.a $i/libclangFrontend.a $i/libclangSerialization.a $i/libclangParse.a $i/libclangSema.a $i/libclangAnalysis.a $i/libclangStaticAnalyzerCore.a $i/libclangAST.a $i/libclangBasic.a $i/libclangDriver.a $i/libclangEdit.a $i/libclangLex.a $i/libclangRewriteCore.a $i/libLLVMBitReader.a $i/libLLVMMC.a $i/libLLVMMCParser.a $i/libLLVMSupport.a -ldl -lpthread" ++ libclang_link="$i/libclang.a $i/libclangFrontend.a $i/libclangSerialization.a $i/libclangParse.a $i/libclangSema.a $i/libclangAnalysis.a $i/libclangStaticAnalyzerCore.a $i/libclangAST.a $i/libclangBasic.a $i/libclangDriver.a $i/libclangEdit.a $i/libclangLex.a $i/libclangRewriteCore.a $i/libLLVMBitReader.a $i/libLLVMMC.a $i/libLLVMMCParser.a $i/libLLVMSupport.a $i/libClangIndex.a -ldl -lpthread -lncurses -lLLVM-3.4" + fi + break + fi |
