Merge libpng 1.6.2 into the trunk.

Add pngprefix.h file generated by libpng configure/make process (which we
don't run during wxWidgets build, so this is something that will need to be
redone manually whenever libpng is upgraded, the procedure for doing this is
documented in docs/tech/tn0025.txt) in order to use "wx_" prefix for all
libpng public symbols. This should avoid at least some problems due to the
conflicts between the built-in libpng and shared libpng loaded into the
process as GTK+ libraries dependency under Unix.

Also rename wx_png_{warning,error} to use upper case PNG for consistency with
wx_PNG_stream_{reader,writer} and to avoid conflict with png_{warning,error}()
which we now rename to have "wx_" prefix.

Closes #14157.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2013-07-07 17:44:15 +00:00
parent 01588a9e31
commit fff5f7d5d8
172 changed files with 32329 additions and 20790 deletions

View File

@@ -104,3 +104,24 @@ works.
After testing and correcting the problems, simply commit your changes:
svn commit -m 'Update $(LIB) to $(VERSION).' src/$(LIBDIR)
4. Special instructions for libpng
----------------------------------
We use a special hack for libpng as we want to prefix all its symbols with
"wx_" but don't want to use its build system which makes this easily possible
(perhaps we should, but for now we don't). So, when upgrading libpng, you need
to perform an extra step after merging the new version (and before committing
your changes):
Create a temporary build directory and run libpng configure from it using
--with-libpng-prefix=wx_ option. Then run "make" (actually just "make png.lo"
is sufficient as we don't really need to build the library) to create
pnglibconf.h and pngprefix.h files in the build directory. And copy these
files to src/png subdirectory of the wxWidgets source tree, overwriting the
versions there.
Notice that config.h generated by libpng configure is not used, we build it
without -DHAVE_CONFIG_H as it works just fine without it on any ANSI C system
(i.e. anywhere by now).