ICU-8525 fix for nested inner classes that are private, and support out of source build

X-SVN-Rev: 30032
This commit is contained in:
Steven R. Loomis 2011-05-05 02:19:44 +00:00
parent d99fe55461
commit 287daf4131
3 changed files with 34 additions and 25 deletions

View file

@ -1,4 +1,4 @@
# Copyright (C) 2009-2010 IBM and Others. All Rights Reserved
# Copyright (C) 2009-2011 IBM and Others. All Rights Reserved
#
#
@ -27,6 +27,14 @@ ifeq ($(NEW_ICU),)
NOTSET:="$(NOTSET) NEW_ICU"
endif
ifeq ($(NEW_ICU_BUILD),)
NEW_ICU_BUILD:=$(NEW_ICU)/source
endif
ifeq ($(OLD_ICU_BUILD),)
OLD_ICU_BUILD:=$(OLD_ICU)/source
endif
all: $(TARGET) $(LOCAL_TARGET)
@ -40,34 +48,34 @@ endif
.PHONY: check-vars classes clean-docs
.PRECIOUS: $(TARGET) $(OLD_ICU)/$(DOXYFILE) $(NEW_ICU)/$(DOXYFILE)
.PRECIOUS: $(TARGET) $(OLD_ICU_BUILD)/$(DOXYFILE) $(NEW_ICU_BUILD)/$(DOXYFILE)
#######
DOXYFILE=source/Doxyfile
XML=source/doc/xml
DOXYFILE=Doxyfile
XML=doc/xml
UVERSIONH=$(XML)/uversion_8h.xml
clean-docs: | check-vars
-rm -rf "$(OLD_ICU)/$(XML)" "$(NEW_ICU)/$(XML)"
-rm -rf "$(OLD_ICU_BUILD)/$(XML)" "$(NEW_ICU_BUILD)/$(XML)"
$(TARGET): check-vars $(OLD_ICU)/$(XML) $(NEW_ICU)/$(XML)
$(TARGET): check-vars $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML)
echo "Remember to run the non-ascii file detector if you get errors."
$(ANT) -Dolddir="$(OLD_ICU)/$(XML)" -Dnewdir="$(NEW_ICU)/$(XML)" $(ANT_TARGET)
$(ANT) -Dolddir="$(OLD_ICU_BUILD)/$(XML)" -Dnewdir="$(NEW_ICU_BUILD)/$(XML)" $(ANT_TARGET)
# check-vars $(OLD_ICU)/$(XML) $(NEW_ICU)/$(XML)
# check-vars $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML)
APIChangeReport.xml:
echo "Remember to run the non-ascii file detector if you get errors."
$(ANT) -Dolddir="$(OLD_ICU)/$(XML)" -Dnewdir="$(NEW_ICU)/$(XML)" $(ANT_TARGET)_xml
$(ANT) -Dolddir="$(OLD_ICU_BUILD)/$(XML)" -Dnewdir="$(NEW_ICU_BUILD)/$(XML)" $(ANT_TARGET)_xml
%/source/doc/xml: %/source/Doxyfile
# don't care what GENERATE_XML is set to previously - set it to yes.
%/doc/xml: %/Doxyfile
# don't care what GENERATE_XML is set to previously - set it to yes.
@echo running doxyugen ..
( cd "$*/source/" && ( (cat ./Doxyfile | grep -v '^GENERATE_') ; echo 'GENERATE_XML=YES') | $(DOXYGEN) - )
( cd "$*/" && ( (cat ./Doxyfile | grep -v '^GENERATE_') ; echo 'GENERATE_XML=YES') | $(DOXYGEN) - )
@echo doxygen done in $*
%/source/Doxyfile: %/source/Makefile %/source/Doxyfile.in
%/Doxyfile: %/Makefile
@echo generating $@
@$(MAKE) -C "$*/source" Doxyfile || ( echo "could not make Doxyfile in $* - was doxygen available?" ; false )
@$(MAKE) -C "$*/" Doxyfile || ( echo "could not make Doxyfile in $* - was doxygen available?" ; false )
%/source/Makefile: %/source/Makefile.in
@echo "$@ does not seem to exist - was configure run?" ; false
#%/source/Makefile: %/source/Makefile.in
# @echo "$@ does not seem to exist - was configure run?" ; false

View file

@ -1,7 +1,7 @@
<!--
/*
*******************************************************************************
* Copyright (C) 2009-2010, International Business Machines Corporation and *
* Copyright (C) 2009-2011, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
* This is an XSLT build file for ICU tools.
@ -59,7 +59,8 @@
<xsl:variable name="enum_status" select="detaileddescription/para/xrefsect/xreftitle/text()"/>
<xsl:variable name="enum_version" select="detaileddescription/para/xrefsect/xrefdescription/para/text()"/>
<xsl:if test="not(contains(name/text(), '@'))"> <!-- no anonymous file level enums -->
<!-- no anonymous file level enums --><!--
<xsl:if test="not(contains(name/text(), '@'))">
<cppfunc>
<xsl:copy-of select="@id" />
<xsl:attribute name="status"><xsl:value-of select="$enum_status" /></xsl:attribute>
@ -70,7 +71,7 @@
</cppfunc>
</xsl:if>
<xsl:variable name="enum_node_file" select="location/@file" />
--><xsl:variable name="enum_node_file" select="location/@file" />
<xsl:variable name="enum_member" select="enumvalue[@prot='public']"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2009-2010, International Business Machines Corporation and others. All Rights Reserved. -->
<!-- Copyright (C) 2009-2011, International Business Machines Corporation and others. All Rights Reserved. -->
<!-- List all cpp public functions generated from the 'index.xml' -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
@ -13,9 +13,9 @@
<xsl:variable name="file"
select="concat($docFolder, '/', . , '.xml')" />
<xsl:variable name="funcs_node"
select="document($file)/doxygen/compounddef/sectiondef/memberdef[@prot='public'][@kind='function']" />
select="document($file)/doxygen/compounddef[@prot='public']/sectiondef/memberdef[@prot='public'][@kind='function']" />
<xsl:variable name="compoundname"
select="document($file)/doxygen/compounddef/compoundname/text()" />
select="document($file)/doxygen/compounddef[@prot='public']/compoundname/text()" />
<xsl:for-each select="$funcs_node">
<cppfunc>
<xsl:copy-of select="@id" />
@ -33,7 +33,7 @@
<!-- now const static publics -->
<xsl:variable name="sconst_node"
select="document($file)/doxygen/compounddef/sectiondef/memberdef[@prot='public'][@kind='variable'][@static='yes']" />
select="document($file)/doxygen/compounddef[@prot='public']/sectiondef/memberdef[@prot='public'][@kind='variable'][@static='yes']" />
<xsl:for-each select="$sconst_node">
<cppfunc>
<xsl:copy-of select="@id" />
@ -53,7 +53,7 @@
//No real non-static variables - and also, doxygen is confused about nested structs/unions
<xsl:variable name="const_node"
select="document($file)/doxygen/compounddef/sectiondef/memberdef[@prot='public'][@kind='variable'][@static='no']" />
select="document($file)/doxygen/compounddef[@prot='public']/sectiondef/memberdef[@prot='public'][@kind='variable'][@static='no']" />
<xsl:for-each select="$const_node">
<cppfunc>
<xsl:copy-of select="@id" />
@ -71,7 +71,7 @@
-->
<!-- now enums -->
<xsl:variable name="enum_node"
select="document($file)/doxygen/compounddef/sectiondef/memberdef[@kind='enum'][@prot='public']" />
select="document($file)/doxygen/compounddef[@prot='public']/sectiondef/memberdef[@kind='enum'][@prot='public']" />
<xsl:for-each select="$enum_node">
<!-- use a name, else '(anonymous)' -->