wxWidgets/utils/ifacecheck
Francesco Montorsi 97f0dbd6f8 BIG CHANGES:
- removed fix from the rungccxml.sh.in; not only it was unnecessary
  but it's also better to keep all references to specific wxWidgets
  classes in a single place: the ifacecheck sources;
- added g_bLogEnabled and LogNull class;
- added an HACK_TO_AUTO_CORRECT_ONLY_VIRTUAL_AND_CONST_ATTRIBUTES
  mode for fixing virtualness and constness of interface headers
  in an automated way
- added options to wxMethod::GetAsString to provide an easier way
  to debug ifacecheck comparisons between wxMethods
- fixed wxMethod::FixMethod for single-line prototypes and added
  a boolean return value from it


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-22 21:55:38 +00:00
..
src BIG CHANGES: 2008-09-22 21:55:38 +00:00
gccxml.dtd added the rungccxml.sh script and the setup_gccxml.h file to make it easier to generate the gccxml output for ifacecheck 2008-03-26 16:40:54 +00:00
gccxml.xsl added the rungccxml.sh script and the setup_gccxml.h file to make it easier to generate the gccxml output for ifacecheck 2008-03-26 16:40:54 +00:00
README added version check against gcc-generated xml; added readme and few other notes about ifacecheck 2008-05-10 09:37:41 +00:00
rungccxml.sh.in BIG CHANGES: 2008-09-22 21:55:38 +00:00

 Ifacecheck utility
 ==================

 1) INTRODUCTION

 This utility compares the wxWidgets real interface contained in the "include"
 hierarchy with the wxWidgets interface used for documentation purposes and
 kept in the @c interface hierarchy.

 Ifacecheck warns about incoherences (mainly wrong prototype signatures) and
 can even correct them automatically. It uses the XML outputs of the gccxml utility
 (see http://www.gccxml.org) and of the Doxygen utility (see http://www.doxygen.org)
 to do the comparisons.

 It's explicitely designed for wxWidgets documentation needs and is probably of little
 use for anything else than wxWidgets docs reviewing.


 2) PREREQUISITES FOR USING IT

 To use this utility you'll need at least:
  - wxWidgets "include" and "interface" headers tree
  - Doxygen installed
  - Gccxml installed


 3) HOW TO USE IT (on Linux)

    First, create the doxygen XML:

     > cd docs/doxygen
     > ./regen.sh xml
     > cd ../..

    Next, create the gcc XML:

     > ./configure                # configure wxWidgets as you would do when building it
     > cd utils/ifacecheck
     > ./rungccxml.sh
     > cd ../..

    Last, build and run ifacecheck:

     > cd utils/ifacecheck/src
     > make
     > make install
     > cd ..
     > ifacecheck -u wxapi-preproc.txt wxapi.xml ../../docs/doxygen/out/xml/index.xml >ifacecheck.log

    Now you should have the log of the utility saved in 'ifacecheck.log'.
    Its contents should be easy to interpret.

    For more info about ifacecheck options just type:
     > ifacecheck --help