# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 name doxygen version 1.6.1 categories textproc devel maintainers css description Documentation system for several programming languages long_description \ It can generate an on-line documentation browser (in HTML) and/or an \ off-line reference manual from a set of documented source files. \ There is also support for generating output in RTF (MS-Word), \ PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The \ documentation is extracted directly from the sources, which makes it \ much easier to keep the documentation consistent with the source code. \ You can configure doxygen to extract the code structure from \ undocumented source files. This is very useful to quickly find your \ way in large source distributions. You can also visualize the \ relations between the various elements by means of include dependency \ graphs, inheritance diagrams, and collaboration diagrams, which are \ all generated automatically. platforms darwin homepage http://www.doxygen.org/ master_sites ftp://ftp.stack.nl/pub/users/dimitri/ distfiles ${distname}.src${extract.suffix} checksums md5 2ec343643e134f0d3ce2069420bcb4f0 \ sha1 31f861841eba1ebdded1b4bf70bdecb42441dafd \ rmd160 0a9c5962dbd076bac418b85b72a4874576c9da4d depends_build-append bin:perl:perl5 \ bin:flex:flex \ bin:bison:bison \ bin:gmake:gmake \ bin:ginstall:coreutils depends_lib port:libpng \ path:bin/dot:graphviz \ port:libiconv universal_variant no configure.pre_args --prefix ${prefix} configure.args --docdir ${prefix}/share/doc \ --dot ${prefix}/bin/dot \ --make ${prefix}/bin/gmake \ --install ${prefix}/bin/ginstall \ --flex ${prefix}/bin/flex \ --bison ${prefix}/bin/bison post-patch { #system "echo ${tmake_conf}" #system "echo /^TMAKE_CC\[\[:space:\]\]/s%=.*%= ${configure.cc} ${configure.cppflags}%" #system "echo /^TMAKE_CXX\[\[:space:\]\]/s%=.*%= ${configure.cxx} ${configure.cppflags}%" #system "echo /^TMAKE_LINK\[\[:space:\]\]/s%=.*%= ${configure.cxx} ${configure.ldflags}%" #system "echo /^TMAKE_LINK_SHLIB\[\[:space:\]\]/s%=.*%= ${configure.cxx}%" # ensure correct compilers and compiler options are used reinplace "/^TMAKE_CC\[\[:space:\]\]/s%=.*%= ${configure.cc} ${configure.cppflags}%" ${tmake_conf} reinplace "/^TMAKE_CXX\[\[:space:\]\]/s%=.*%= ${configure.cxx} ${configure.cppflags}%" ${tmake_conf} #reinplace "/^TMAKE_LINK\[\[:space:\]\]/s%=.*%= ${configure.cxx} ${configure.ldflags}%" ${tmake_conf} #reinplace "/^TMAKE_LINK_SHLIB\[\[:space:\]\]/s%=.*%= ${configure.cxx}%" ${tmake_conf} # may not be strictly necessary, but remove trailing '/' from DESTDIR reinplace "s|\$(DESTDIR)/|\$(DESTDIR)|g" ${worksrcpath}/Makefile.in } build.target all destroot.target install destroot.args INSTALL=${prefix} \ DOCDIR=${prefix}/share/doc/doxygen \ MAN1DIR=share/man/man1 platform darwin { # Specify the platform explicitly to avoid a universal build. global tmake_conf if { ![variant_isset universal] } { set tmake_conf ${worksrcpath}/tmake/lib/macosx-c++/tmake.conf configure.args-append --platform macosx-c++ } else { set tmake_conf ${worksrcpath}/tmake/lib/macosx-uni-c++/tmake.conf configure.args-append --platform macosx-uni-c++ } } platform darwin 10 { # Disable invalid "Unsupported OS" error on Snow Leopard patchfiles-append patch-qtools_qglobal.h.diff } variant docs description {Include the doxygen PDF documentation and LaTeX} { build.target-append pdf destroot.target-append install_docs depends_build-append bin:pdflatex:texlive \ bin:gs:ghostscript } # [dweber] Removing the wizard variant because there are too many build failures # that I don't have time to investigate. It's just easier to leave this out. # --with-doxywizard Build the GUI frontend for doxygen. This requires Qt 3.3.x #variant wizard description {Include the GUI wizard based on Qt 3.3.x} { # configure.env-append QTDIR=${prefix}/lib/qt3 # build.env-append QTDIR=${prefix}/lib/qt3 # depends_lib-append port:qt3 # configure.args-append --with-doxywizard # # on Macs, qmake builds .app directories # patchfiles-append patch-Makefile.in.diff # post-patch { # # give doxywizard the more mac-like name of DoxyWizard # reinplace "/^TARGET\[\[:space:\]\]/s%=.*%= DoxyWizard%" ${worksrcpath}/addon/doxywizard/doxywizard.pro.in # reinplace "s|__APPLICATIONS_DIR__|${applications_dir}|" ${worksrcpath}/addon/doxywizard/Makefile.in # reinplace "s|\$(INSTALL)|\$(DESTDIR)\$(INSTALL)|g" ${worksrcpath}/addon/doxywizard/Makefile.in # #reinplace "s|QMAKE=qmake|QMAKE=qmake-mac|g" ${worksrcpath}/addon/doxywizard/Makefile.in # } # post-destroot { # # allow doxywizard to be called from the command line # ln -s ${applications_dir}/DoxyWizard.app/Contents/MacOS/DoxyWizard ${destroot}${prefix}/bin/doxywizard # } #} # [dweber] Remove this prior variant that depends on qt4-mac, because doxygen is # not programmed for qt4, it requires qt3.3.x (as determined from the # ./configure --help items in the worksrcpath). #variant wizard description {Include the GUI wizard based on Qt} { # configure.env-append QTDIR=${prefix}/libexec/qt4-mac # build.env-append QTDIR=${prefix}/libexec/qt4-mac # depends_lib-append port:qt4-mac # configure.args-append --with-doxywizard # # on Macs, qmake builds .app directories # patchfiles-append patch-Makefile.in.diff # post-patch { # # give doxywizard the more mac-like name of DoxyWizard # reinplace "/^TARGET\[\[:space:\]\]/s%=.*%= DoxyWizard%" ${worksrcpath}/addon/doxywizard/doxywizard.pro.in # reinplace "s|__APPLICATIONS_DIR__|${applications_dir}|" ${worksrcpath}/addon/doxywizard/Makefile.in # reinplace "s|\$(INSTALL)|\$(DESTDIR)\$(INSTALL)|g" ${worksrcpath}/addon/doxywizard/Makefile.in # reinplace "s|QMAKE=qmake|QMAKE=qmake-mac|g" ${worksrcpath}/addon/doxywizard/Makefile.in # } # post-destroot { # # allow doxywizard to be called from the command line # ln -s ${applications_dir}/DoxyWizard.app/Contents/MacOS/DoxyWizard ${destroot}${prefix}/bin/doxywizard # } #}