aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorAdam Vandenberg2014-05-09 08:17:38 -0700
committerAdam Vandenberg2014-05-09 12:04:21 -0700
commitcf5595b3b7684069e803d4359bad94f11fdba8dc (patch)
tree93fa17fade5816220db2b0674f2b6fa3c553514e /Library
parentb65925ff0e9bbeb367641c871819ab010d0040fd (diff)
downloadhomebrew-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.rb84
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