wxWidgets/utils/ifacecheck
Vadim Zeitlin ec091c9f2b Don't override CFLAGS etc in configure-generated makefile
CPPFLAGS, CFLAGS, CXXFLAGS and LDFLAGS are supposed to be under
user-control and putting configure-determined options in them broke
something as simple as running "make CXXFLAGS=-Wno-some-extra-warning"
because this overrode the CXXFLAGS set by configure and required for
build.

Improve this by using WX_*FLAGS in the generated makefile and leaving
the user-controlled FLAGS alone. This is still not ideal as running
"configure CFLAGS=-DFOO" and then "make CFLAGS=-DBAR" will define both
FOO and BAR, as configure copies CFLAGS to WX_CFLAGS, and so setting it
on make command line won't override it, as it should, but this should be
a much more rare and also much less severe problem, so we should be able
to live with it for now.

Normally this commit shouldn't result in any user-visible changes, i.e.
it shouldn't break any previously working scenarios and only make some
previously broken ones work.
2020-02-11 23:19:31 +01:00
..
src Don't override CFLAGS etc in configure-generated makefile 2020-02-11 23:19:31 +01:00
gccxml.dtd
gccxml.xsl
README.txt
rungccxml.sh.in Remove all lines containing cvs/svn "$Id$" keyword. 2013-07-26 16:02:46 +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 "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