1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-23 04:23:08 +00:00

- port converted in new layout

- textproc added in category (like astyle)

Ccdoc is a tool for extracting comments from C++ source code and presenting it
in HTML format, very similar to Java's JavaDoc tool. The tagging used in ccdoc
is very similar to that of Javadoc, with adaptations for the C++ specifics, of
course. Ccdoc supports extracting comments from both header and implementation
files.

In contrast to most other C++ doc'ing applications, ccdoc analyses the code
before it has been run through the pre-processor, so things such as macros can
actually be included in the documentation.

It's usage is not quite as straight forward as JavaDoc's, but considering the
quality of the output, it is well worth the effort.

WWW: http://www.joelinoff.com/ccdoc/

PR:		22794
Submitted by:	lonewolf@flame.org
This commit is contained in:
Dirk Meyer 2001-03-14 16:24:40 +00:00
parent 405f149c23
commit 85b7674614
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=39837
10 changed files with 241 additions and 0 deletions

View File

@ -44,6 +44,7 @@
SUBDIR += cbrowser
SUBDIR += cc65
SUBDIR += cccc
SUBDIR += ccdoc
SUBDIR += cdecl
SUBDIR += cdk
SUBDIR += cervisia

46
devel/ccdoc/Makefile Normal file
View File

@ -0,0 +1,46 @@
# New ports collection makefile for: ccdoc
# Date created: 9 October 2000
# Whom: lonewolf@flame.org
#
# $FreeBSD$
#
PORTNAME= ccdoc
PORTVERSION= 0.7a
CATEGORIES= devel textproc
MASTER_SITES= http://www.joelinoff.com/ccdoc/ \
http://www.flame.org/~lonewolf/distfiles/ \
http://www.earthmagic.org/FreeBSD/distfiles/
DISTNAME= ccdoc_v07a_src_taz
EXTRACT_SUFX= .exe
MAINTAINER= lonewolf@flame.org
WRKSRC= ${WRKDIR}/ccdoc_v07a
USE_PERL= yes
DOCDIR=${PREFIX}/share/doc/ccdoc
pre-patch:
@${ECHO} "Stripping ^M from all the files..."
@find ${WRKSRC} -type f | xargs perl -pi -e 's/\r//'
do-build:
(cd ${WRKSRC}/ccdoc_dev/libjdl/src; ${PERL} mk.pl opt)
(cd ${WRKSRC}/ccdoc_dev/ccdoc/src; ${PERL} mk.pl opt)
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/ccdoc_dev/ccdoc/bin_freebsd_opt/ccdoc.exe ${PREFIX}/bin/ccdoc
post-install:
strip ${PREFIX}/bin/ccdoc
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCDIR}
${INSTALL_MAN} ${WRKSRC}/doc/*.html ${WRKSRC}/doc/*.txt ${WRKSRC}/doc/*.gif ${DOCDIR}
${MKDIR} ${DOCDIR}/images
${INSTALL_MAN} ${WRKSRC}/doc/images/*.gif ${DOCDIR}/images
${MKDIR} ${DOCDIR}/autodoc
${INSTALL_MAN} ${WRKSRC}/doc/autodoc/* ${DOCDIR}/autodoc
.endif
.include <bsd.port.mk>

1
devel/ccdoc/distinfo Normal file
View File

@ -0,0 +1 @@
MD5 (ccdoc_v07a_src_taz.exe) = dd9a24a374d10b00391d09a659878b28

View File

@ -0,0 +1,17 @@
--- ccdoc_dev/tools/mkmk.pl Thu Oct 5 16:51:43 2000
+++ ccdoc_dev/tools/mkmk.patched Thu Oct 5 16:52:25 2000
@@ -166,11 +166,11 @@
else {
# UNIXes.
print MK "CPP = CC\n";
- print MK "CPPFLAGS1 = -pto -pta +w\n";
+ print MK "CPPFLAGS1 = \$(CFLAGS) \n";
print MK "CPPFLAGS2 = -DJDL_DEFINE_LOCAL_TYPES -DJDL_DEFINE_LOCAL_BOOLEAN\n";
- print MK "CPPFLAGS3 = -I. -I../..\n";
+ print MK "CPPFLAGS3 = -I. -I../.. -o \$\@\n";
print MK "CPPFLAGS4 = \$(MYCPPFLAGS)\n";
- print MK "CPPFLAGS = \$(CPPFLAGS1) \$(CPPFLAGS2) \$(CPPFLAGS3) \$(CPPFLAGS4) -c -o \$\@\n";
+ print MK "CPPFLAGS = \$(CPPFLAGS1) \$(CPPFLAGS2) \$(CPPFLAGS3) \$(CPPFLAGS4) -c\n";
if ( $type == 1 ) {
print MK "LINK = \$(CPP)\n";
if( $arch eq "hpux" ) {

View File

@ -0,0 +1,11 @@
--- ccdoc_dev/ccdoc/src/ccdocphase3.h Thu Oct 5 16:53:10 2000
+++ ccdoc_dev/ccdoc/src/ccdocphase3.h.patched Fri Oct 6 07:15:30 2000
@@ -210,7 +210,7 @@
const char* trailer,
bool mcfFlag);
private:
- WriteTop();
+ // WriteTop();
const char* GetCurrTime();
const char* GetProgram();
private:

View File

@ -0,0 +1,20 @@
--- doc/main.html Tue Jun 15 19:12:06 1999
+++ doc/main.html.patched Fri Oct 6 16:05:53 2000
@@ -407,7 +407,7 @@
</tr>
<tr>
<td height="42">&nbsp;<a
- href="ccdoc_v07a_bin_taz.exe">ccdoc_v07a bin_taz.exe</a></td>
+ href="http://www.joelinoff.com/ccdoc/ccdoc_v07a_bin_taz.exe">ccdoc_v07a bin_taz.exe</a></td>
<td width="56%" height="42">The binary distribution
for Solaris 5.6, HP UX 10, and Windows 95/98/NT. It
is about 530K.</td>
@@ -415,7 +415,7 @@
</tr>
<tr>
<td height="23">&nbsp;<a
- href="ccdoc_v07a_src_taz.exe">ccdoc_v07a src_taz.exe</a></td>
+ href="http://www.joelinoff.com/ccdoc/ccdoc_v07a_src_taz.exe">ccdoc_v07a src_taz.exe</a></td>
<td width="56%" height="23">The source code
distribution along with the binaries. It is about
834K.</td>

View File

@ -0,0 +1,54 @@
--- ccdoc_dev/ccdoc/src/ccdocphase2.cpp Mon Oct 9 08:28:09 2000
+++ ccdoc_dev/ccdoc/src/ccdocphase2.cpp.patched Mon Oct 9 08:29:50 2000
@@ -53,10 +53,10 @@
// TODO: After all of the files are processed, run through
// and "fix" the "scoped" records that have comments.
if(m_ScopedNodeList.GetNumItems()) {
- ::fprintf(stderr,"DEBUG: %d scoped nodes found with comments.\n",
- m_ScopedNodeList.GetNumItems());
- ::fprintf(stderr,"DEBUG: %d scoped node refs found for comment analysis.\n",
- m_ClassMap.GetNumItems());
+ //::fprintf(stderr,"DEBUG: %d scoped nodes found with comments.\n",
+ //m_ScopedNodeList.GetNumItems());
+ //::fprintf(stderr,"DEBUG: %d scoped node refs found for comment analysis.\n",
+ //m_ClassMap.GetNumItems());
{for(uint i=0;i<m_ScopedNodeList.GetNumItems();i++) {
CCcDocParserNode* node = m_ScopedNodeList.Get(i);
CCcDocParserNode* parent = node->GetParent();
@@ -89,15 +89,15 @@
}
}}
if(class_name) {
- ::fprintf(stderr,"DEBUG: %s::%s\n",class_name,node->GetName());
+ //::fprintf(stderr,"DEBUG: %s::%s\n",class_name,node->GetName());
if(m_ClassMap.Contains(class_name)) {
- ::fprintf(stderr,"DEBUG: found %s\n",class_name);
+ //::fprintf(stderr,"DEBUG: found %s\n",class_name);
CJdlVector<CCcDocParserNode*>* list = 0;
list = (CJdlVector<CCcDocParserNode*>*) m_ClassMap.Get(class_name);
assert(list);
{for(ulong j=0;j<list->GetNumItems();j++) {
CCcDocParserNode* cls = list->Get(j);
- ::fprintf(stderr,"DEBUG: checking node %d/%d\n",j+1,list->GetNumItems());
+ //::fprintf(stderr,"DEBUG: checking node %d/%d\n",j+1,list->GetNumItems());
// Get arg list matching stuff.
ulong x2 = 0; // starting paren
@@ -109,7 +109,7 @@
// Find the method:
{for(ulong k=0;k<cls->GetNumChildren();k++) {
- ::fprintf(stderr,"DEBUG: checking children %d/%d\n",k+1,cls->GetNumChildren());
+ //::fprintf(stderr,"DEBUG: checking children %d/%d\n",k+1,cls->GetNumChildren());
CCcDocParserNode* nd = cls->GetChild(k);
assert(nd);
if(CCcDocParserNode::STMT_FUNCTION == nd->GetType()) {
@@ -125,7 +125,7 @@
}}
ulong diff1 = nd->GetNumItems() - x1;
bool matched = false;
- ::fprintf(stderr,"DEBUG: diff1=%d, diff2=%d\n",diff1,diff2);
+ //::fprintf(stderr,"DEBUG: diff1=%d, diff2=%d\n",diff1,diff2);
if(diff1 == diff2) {
matched = true;
for(;x2<node->GetNumItems() && x1<nd->GetNumItems();x1++,x2++) {

1
devel/ccdoc/pkg-comment Normal file
View File

@ -0,0 +1 @@
Extracting comments from C++ source and generating HTML

17
devel/ccdoc/pkg-descr Normal file
View File

@ -0,0 +1,17 @@
Ccdoc is a tool for extracting comments from C++ source code and presenting it
in HTML format, very similar to Java's JavaDoc tool. The tagging used in ccdoc
is very similar to that of Javadoc, with adaptations for the C++ specifics, of
course. Ccdoc supports extracting comments from both header and implementation
files.
In contrast to most other C++ doc'ing applications, ccdoc analyses the code
before it has been run through the pre-processor, so things such as macros can
actually be included in the documentation.
It's usage is not quite as straight forward as JavaDoc's, but considering the
quality of the output, it is well worth the effort.
WWW: http://www.joelinoff.com/ccdoc/
- LoneWolf
lonewolf@flame.org

73
devel/ccdoc/pkg-plist Normal file
View File

@ -0,0 +1,73 @@
bin/ccdoc
share/doc/ccdoc/bugs.html
share/doc/ccdoc/ccdoc_flow_v07a.gif
share/doc/ccdoc/faq.txt
share/doc/ccdoc/index.html
share/doc/ccdoc/main.html
share/doc/ccdoc/relnotes.txt
share/doc/ccdoc/sidebar.html
share/doc/ccdoc/autodoc/ccdoc.ctf
share/doc/ccdoc/autodoc/ccdoc.index.html
share/doc/ccdoc/autodoc/ccdoc.index.pkg.CcDoc.html
share/doc/ccdoc/autodoc/ccdoc.index.pkg.libjdl.html
share/doc/ccdoc/autodoc/ccdoc.r126.html
share/doc/ccdoc/autodoc/ccdoc.r134.html
share/doc/ccdoc/autodoc/ccdoc.r148.html
share/doc/ccdoc/autodoc/ccdoc.r160.html
share/doc/ccdoc/autodoc/ccdoc.r1ad.html
share/doc/ccdoc/autodoc/ccdoc.r1c7.html
share/doc/ccdoc/autodoc/ccdoc.r25d.html
share/doc/ccdoc/autodoc/ccdoc.r28b.html
share/doc/ccdoc/autodoc/ccdoc.r32e.html
share/doc/ccdoc/autodoc/ccdoc.r36f.html
share/doc/ccdoc/autodoc/ccdoc.r389.html
share/doc/ccdoc/autodoc/ccdoc.r38c.html
share/doc/ccdoc/autodoc/ccdoc.r38f.html
share/doc/ccdoc/autodoc/ccdoc.r397.html
share/doc/ccdoc/autodoc/ccdoc.r400.html
share/doc/ccdoc/autodoc/ccdoc.r413.html
share/doc/ccdoc/autodoc/ccdoc.r456.html
share/doc/ccdoc/autodoc/ccdoc.r491.html
share/doc/ccdoc/autodoc/ccdoc.r4ce.html
share/doc/ccdoc/autodoc/ccdoc.r59e.html
share/doc/ccdoc/autodoc/ccdoc.r5b3.html
share/doc/ccdoc/autodoc/ccdoc.r5cb.html
share/doc/ccdoc/autodoc/ccdoc.r5d.html
share/doc/ccdoc/autodoc/ccdoc.r610.html
share/doc/ccdoc/autodoc/ccdoc.r68b.html
share/doc/ccdoc/autodoc/ccdoc.r6d0.html
share/doc/ccdoc/autodoc/ccdoc.r6fc.html
share/doc/ccdoc/autodoc/ccdoc.r721.html
share/doc/ccdoc/autodoc/ccdoc.r8.html
share/doc/ccdoc/autodoc/ccdoc.rb2.html
share/doc/ccdoc/autodoc/ccdoc.rf5.html
share/doc/ccdoc/autodoc/ccdoc.xref.html
share/doc/ccdoc/images/blue-ball-small.gif
share/doc/ccdoc/images/blue-ball.gif
share/doc/ccdoc/images/constructor-index.gif
share/doc/ccdoc/images/constructors.gif
share/doc/ccdoc/images/enum-index.gif
share/doc/ccdoc/images/enums.gif
share/doc/ccdoc/images/macro-index.gif
share/doc/ccdoc/images/macros.gif
share/doc/ccdoc/images/magenta-ball-small.gif
share/doc/ccdoc/images/magenta-ball.gif
share/doc/ccdoc/images/method-index.gif
share/doc/ccdoc/images/methods.gif
share/doc/ccdoc/images/package-index.gif
share/doc/ccdoc/images/packages.gif
share/doc/ccdoc/images/red-ball-small.gif
share/doc/ccdoc/images/red-ball.gif
share/doc/ccdoc/images/typedef-index.gif
share/doc/ccdoc/images/typedefs.gif
share/doc/ccdoc/images/variable-index.gif
share/doc/ccdoc/images/variables.gif
share/doc/ccdoc/images/yellow-ball-small.gif
share/doc/ccdoc/images/yellow-ball.gif
share/doc/ccdoc/images/zz_image1.gif
share/doc/ccdoc/images/zz_image2.gif
share/doc/ccdoc/images/zz_image3.gif
share/doc/ccdoc/images/zz_image4.gif
@dirrm share/doc/ccdoc/autodoc
@dirrm share/doc/ccdoc/images
@dirrm share/doc/ccdoc