Changes

Jump to: navigation, search

Document Mozilla External String Guide

4,496 bytes added, 16:19, 1 June 2010
Add External String capability to analysis Makefile.in
=== Projected Project Time-line ===
 
{| class="wikitable" border="1"
! Version !! Details
|-
| 0.3 || Complete all generic sections from the wiki page and add other important sections about the code
|}
 
 
{| class="wikitable" border="1"
! Version !! Details
|-
| 0.4 || While conversing with the community about solutions to the Function Pointer Parameter Bug (Bug: 530175), a majority of missing information in the documentation will have been added.
 
|-
 
| 0.5 || The Function Pointer Parameter Bug corrected and Static Analysis information refreshed.
 
|-
 
| 0.6 || I suspect that one or both of the above releases will have an overflow which will be brought over to a later release.
 
|-
 
| 0.7 || With the added content the layout will be modified, tested, and standardized.
 
|-
 
| 0.8 || Any additional information which should be covered in the documentation, but isn’t, will be collected and listed. I am thinking I might post to a mailing list asking others what should be added. This release will include a list of the new additions after being collected, researched, and refined.
 
|-
 
| 0.9 || The missing information found in the previous release will be thoroughly researched and populated. Since the information from early releases (0.1 – 0.3) has been used to create a nice layout this information should be entered using that layout and not require reformatting.
 
|-
 
| 1.0 || In preparation for this release the documentation will be looked over with a fine-toothed comb and polished. This includes making sure the layout is consistent and clean, making sure spelling, grammar, and references used internally with Mozilla (function name, macros, ect.) are correct. Only after these things have been checked will the technical data be reviewed again. This is because most of it has been checked once already, there is reason to believe the information was entered correctly the first time (don’t strike me down,) and the process is time consuming.
 
|}
=== Project Related Bugs ===
 
{| class="wikitable" border="1"
! Number !! Related Ver. No. !! Title
|-
| March 15th, 2010 || 0.7 is released! [http://enderstruth.wordpress.com/2010/03/15/0-7-release/ 0.7 Release]
|-
| March 26th, 2010 || 0.8 isn't released! But while I published 0.9 I also included [http://enderstruth.wordpress.com/2010/03/29/what-was-supposed-to-be-0-8-release/ What was supposed to be 0.8 Release]
|-
| April 12th, 2010 || 0.9 is released! [http://enderstruth.wordpress.com/2010/04/12/0-9-release/ 0.9 Release]
|-
| April 23rd, 2010 || 1.0 Release [http://enderstruth.wordpress.com/2010/04/23/release-1-0/ Release 1.0]
|}
 
 
== Unofficial scripts and patches ==
 
=== Add External String capability to analysis Makefile.in ===
 
[[File:external_makefile.diff]]
 
diff -r fe80dd3ebe74 xpcom/analysis/Makefile.in
--- a/xpcom/analysis/Makefile.in Wed Nov 11 19:11:57 2009 -0600
+++ b/xpcom/analysis/Makefile.in Wed Nov 18 22:33:53 2009 -0500
@@ -1,35 +1,46 @@
DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
+#This has to be set above rules.mk to work
+#It is okay even while building classapi_external
+#type-printer-external.cpp undefines it
MOZILLA_INTERNAL_API = 1
-
include $(topsrcdir)/config/rules.mk
-DUMP_CLASSES = \
- nsAString_internal \
- nsACString_internal \
- $(NULL)
-
SPACE = $(NULL) $(NULL)
COMMA = ,
HGREV = $(shell hg -R $(topsrcdir) id -i)
+classapi_internal: typeprinter = type-printer.cpp
+classapi_internal: DUMP_CLASSES = \
+ nsAString_internal \
+ nsACString_internal \
+ $(NULL)
+classapi_internal: classapi
+
+classapi_external: typeprinter = type-printer-external.cpp
+classapi_external: DUMP_CLASSES = \
+ nsAString \
+ nsACString \
+ $(NULL)
+classapi_external: classapi
+
classapi: DEHYDRA_MODULES = $(srcdir)/type-printer.js
classapi: TREEHYDRA_MODULES =
classapi: DEHYDRA_ARGS += --dump-types=$(subst $(SPACE),$(COMMA),$(strip $(DUMP_CLASSES))) --rev=$(HGREV)
classapi: $(MDDEPDIR)
- $(CCC) $(OUTOPTION)/dev/null -c $(COMPILE_CXXFLAGS) $(srcdir)/type-printer.cpp >classapi.out 2>&1
+ $(CCC) $(OUTOPTION)/dev/null -c $(COMPILE_CXXFLAGS) $(srcdir)/$(typeprinter) >classapi.out 2>&1
perl -e 'while (<>) {if (/DUMP-TYPE\((.*)\)/) {print "$$1 ";}}' <classapi.out >dumptypes.list
perl -e 'while (<>) {if (/GRAPH-TYPE\((.*)\)/) {print "$$1 ";}}' <classapi.out >graphtypes.list
$(EXIT_ON_ERROR) \
for class in `cat graphtypes.list`; do \
dot -Tpng -o$${class}-graph.png -Tcmapx -o$${class}-graph.map $${class}-graph.gv; \
done
$(EXIT_ON_ERROR) \
for class in `cat dumptypes.list`; do \
 
[[File:add-type-printer-external.diff]]

Navigation menu