wxWidgets/utils/ifacecheck
Vadim Zeitlin 51ec29ea5d Always link with expat in monolithic build.
Fix linking errors when using wxXML in sttaic monolithic build: in this case
we must link with expat but it was listed too early, before wxWidgets
libraries using it, in the bakefile-generated makefiles.

Now add it to the end of the linker command line too by including -lexpat in
EXTRALIBS_FOR_BASE which are appended to the linker arguments.

Notice that now -lexpat is linked twice because it is still added by
<wx-lib>xml</wx-lib> in bakefiles, even in monolithic build, but I don't know
how to avoid it and it is harmless anyhow.

Closes #12573.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-25 13:28:01 +00:00
..
src Always link with expat in monolithic build. 2011-12-25 13:28:01 +00:00
gccxml.dtd
gccxml.xsl
README.txt Fixed various typos. 2011-03-22 14:17:38 +00:00
rungccxml.sh.in

 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 "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 comparison.

 It's explicitly 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