FLTK logo

[master] 796a9bf - Merge pull request #292 from Albrecht-S/prefix-bundled-libs

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[master] 796a9bf - Merge pull request #292 from Albrecht-S/prefix-bundled-libs "Albrecht Schlosser" Nov 16, 2021  
 
commit 796a9bf23e63dfc6834b9fd04c10c8c27f894941
Merge: af0bb7e 46cbc31
Author:     Albrecht Schlosser <albrechts.fltk@online.de>
AuthorDate: Tue Nov 16 13:12:46 2021 +0100
Commit:     GitHub <noreply@github.com>
CommitDate: Tue Nov 16 13:12:46 2021 +0100

    Merge pull request #292 from Albrecht-S/prefix-bundled-libs
    
    Prefix bundled libs. This fixes issues #232 and #289 and STR 3514 (https://www.fltk.org/str.php?L3514).
    Parts of this fix are based on the work of GitHub user @darealshinji who provided instructions to create the jpeg header file with prefixes in STR 3347 (https://www.fltk.org/str.php?L3347). Thanks.

commit 46cbc31de25b4579801cc783a01e9ce1be4c53a6
Author:     Albrecht Schlosser <albrechts.fltk@online.de>
AuthorDate: Sat Jun 5 13:04:43 2021 +0200
Commit:     Albrecht Schlosser <albrechts.fltk@online.de>
CommitDate: Sun Nov 14 19:33:20 2021 +0100

    Use "symbol prefixing" in bundled libs (part 3 of 3)
    
    Add prefix 'fltk_z_' to bundled zlib.
    
    Update dependencies.

commit 3c407bd588c16073343e0cacbdfab732cdca6a30
Author:     Albrecht Schlosser <albrechts.fltk@online.de>
AuthorDate: Mon May 31 21:54:32 2021 +0200
Commit:     Albrecht Schlosser <albrechts.fltk@online.de>
CommitDate: Sun Nov 14 19:31:49 2021 +0100

    Use "symbol prefixing" in bundled libs (part 2 of 3)
    
    Add prefix 'fltk_' to bundled libjpeg.

commit 3cbf11af8de5abadc9b15f2d9c77ee2311b7b47f
Author:     Albrecht Schlosser <albrechts.fltk@online.de>
AuthorDate: Mon May 31 18:04:49 2021 +0200
Commit:     Albrecht Schlosser <albrechts.fltk@online.de>
CommitDate: Sun Nov 14 19:31:25 2021 +0100

    Use "symbol prefixing" in bundled libs (part 1 of 3)
    
    Add prefix 'fltk_' to bundled libpng.

 README.bundled-libs.txt | 103 +++++++++++++++----
 jpeg/CMakeLists.txt     |   1 +
 jpeg/Makefile           |   2 +
 jpeg/fltk_jpeg_prefix.h | 173 ++++++++++++++++++++++++++++++++
 jpeg/jconfig.h          |   3 +
 jpeg/makedepend         |  46 +++++++++
 png/CMakeLists.txt      |   2 +-
 png/Makefile            |   2 +
 png/makedepend          |  18 ++++
 png/pnglibconf.h        | 255 ++++++++++++++++++++++++++++++++++++++++++++++
 png/pngprefix.h         | 166 ++++++++++++++++++++++++++++++
 zlib/gzread.c           |   2 +-
 zlib/zconf.h            | 262 ++++++++++++++++++++++++------------------------
 zlib/zlib.h             |  26 ++---
 14 files changed, 897 insertions(+), 164 deletions(-)

diff --git README.bundled-libs.txt README.bundled-libs.txt
index 4bf8c72..10b91ad 100644
--- README.bundled-libs.txt
+++ README.bundled-libs.txt
@@ -5,6 +5,15 @@ This file is mainly intended for FLTK developers and contains information
 about the current versions of all bundled libraries and about how to
 upgrade these bundled libraries.
 
+Starting with FLTK 1.4.0 the bundled libraries jpeg, png, and zlib use
+"symbol prefixing" with the prefix 'fltk_' for all external symbols to
+distinguish the bundled libraries from existing system libraries and
+to avoid runtime errors.
+
+User code compiled correctly with the header files provided by the
+bundled image libraries need not be changed.
+
+The nanosvg library is not affected.
 
 Current versions of bundled libraries (as of Sep 13, 2021):
 
@@ -20,9 +29,9 @@ Previous versions of bundled libraries:
 
   Library       Version            Release date         FLTK Version
   ------------------------------------------------------------------
-  jpeg          jpeg-9d            2020-01-12           1.3.6
-  png           libpng-1.6.37      2019-04-14           1.3.6
-  zlib          zlib-1.2.11        2017-01-15           1.3.6
+  jpeg          jpeg-9d            2020-01-12           1.3.6 - 1.3.8
+  png           libpng-1.6.37      2019-04-14           1.3.6 - 1.3.8
+  zlib          zlib-1.2.11        2017-01-15           1.3.6 - 1.3.8
   --------------------------------------------------------------------------
 
 
@@ -40,14 +49,18 @@ General information:
   We use our own build files, hence a few files MUST NOT be upgraded when
   the library source files are upgraded. We strive to keep changes to the
   library source files as small as possible. Patching library code to
-  work with FLTK should be a rare exception.
+  work with FLTK should be a rare exception. Symbol prefixing with prefix
+  'fltk_' is one such exception to the rule.
 
   If patches are necessary all changes in the library files should be
   marked with "FLTK" in a comment so a developer who upgrades the library
-  later is aware of changes in the source code for FLTK. Additional comments
-  should be added to show the rationale, i.e. why a particular change was
-  necessary. If applicable, add a reference to a Software Trouble Report,
-  GitHub Issue or PR like "STR 3456", "Issue #123", or "PR #234".
+  later is aware of changes in the source code for FLTK. Look for 'FLTK'
+  and/or 'fltk_' to find the differences.
+
+  Additional comments should be added to show the rationale, i.e. why
+  a particular change was necessary. If applicable, add a reference to
+  a Software Trouble Report, GitHub Issue or Pull Request (PR) like
+  "STR 3456", "Issue #123", or "PR #234".
 
 
 How to update the bundled libraries:
@@ -68,10 +81,11 @@ How to update the bundled libraries:
 Merging source files:
 
   Please check if some source and header files contain "FLTK" comments
-  to be aware of necessary merges. It is also good to get the distribution
-  tar ball of the previous version and to run a (graphical) diff or
-  merge tool on the previous version and the bundled version of FLTK
-  to see the "previous" differences.
+  and/or 'fltk_' symbol prefixing to be aware of necessary merges.
+  It is also good to download the distribution tar ball or Git source
+  files of the previous version and to run a (graphical) diff or merge
+  tool on the previous version and the bundled version of FLTK to see
+  the "previous" differences.
 
   Files that were not patched in previous versions should be copied to
   the new version w/o changes. Files that had FLTK specific patches must
@@ -102,9 +116,9 @@ Tests after merge:
 
 Upgrade notes for specific libraries:
 
-  The following chapters contain information of specific files and how
-  they are upgraded. Since the changes in all bundled libraries can't
-  be known in advance this information may change in the future. Please
+  The following chapters contain informations about specific files and
+  how they are upgraded. Since the changes in all bundled libraries are
+  not known in advance this information may change in the future. Please
   verify that no other changes are necessary.
 
 
@@ -114,6 +128,27 @@ zlib:
   Download:   See website and follow links.
   Repository: git clone https://github.com/madler/zlib.git
 
+  zlib should be upgraded first because libpng depends on zlib.
+
+  Download the latest zlib sources, `cd' to /path-to/zlib and run
+
+    $ ./configure --zprefix
+
+  This creates the header file 'zconf.h' with definitions to enable
+  the standard 'z_' symbol prefix.
+
+  Unfortunately zlib requires patching some source and header files to
+  convert this 'z_' prefix to 'fltk_z_' to be more specific. As of this
+  writing (Nov. 2021) three files need symbol prefix patches:
+
+    - gzread.c
+    - zconf.h
+    - zlib.h
+
+  You may want to compare these files and/or the previous version to
+  find out which changes are required. The general rule is to change
+  all occurrences of 'z_' to 'fltk_z_' but there *are* exceptions.
+
 
   The following files need special handling:
 
@@ -121,10 +156,9 @@ zlib:
 
     Makefile: Same as CMakeLists.txt.
 
-    zconf.h: Merge changes.
-
-      As of zlib 1.2.11: two small sections marked with "FLTK" comments
-      that need to be kept.
+    gzread.c: Merge changes (see above, manual merge recommended).
+    zconf.h:  Merge changes (see above, manual merge recommended).
+    zlib.h:   Merge changes (see above, manual merge recommended).
 
     makedepend: Keep this file.
 
@@ -140,13 +174,21 @@ png:
 
   libpng should be upgraded after zlib because it depends on zlib.
 
+  Download the latest libpng sources, `cd' to /path-to/libpng and run
+
+    $ ./configure --with-libpng-prefix=fltk_
+
+  This creates the header files 'pnglibconf.h' and 'pngprefix.h'
+  with the 'fltk_' symbol prefix.
+
   The following files need special handling:
 
     CMakeLists.txt: Keep FLTK version, update manually if necessary.
 
     Makefile: Same as CMakeLists.txt.
 
-    pnglibconf.h: Generate on a Linux system and merge.
+    pnglibconf.h: Generate on a Linux system and merge (see above).
+    pngprefix.h:  Generate on a Linux system and merge (see above).
 
     makedepend: Keep this file.
 
@@ -160,12 +202,33 @@ jpeg:
   Download:   See website and follow links.
   Repository: <unknown>
 
+  Download the latest jpeg-xy sources on a Linux (or Unix) system,
+  `cd' to /path-to/jpeg-xy and run
+
+    $ ./configure
+    $ make [-jN]
+
+  This builds the library and should create the static library file
+  '.libs/libjpeg.a'.
+
+  Execute the following command to extract the libjpeg symbol names
+  used to build the 'prefixed' libfltk_jpeg library:
+
+  $ nm --extern-only --defined-only .libs/libjpeg.a | awk '{print $3}' \
+    | sed '/^$/d' | sort -u | awk '{print "#define "$1" fltk_"$1}' \
+    > fltk_jpeg_prefix.h
+
+  This creates the header file 'fltk_jpeg_prefix.h' with the
+  '#define' statements using the 'fltk_' symbol prefix.
+
   The following files need special handling:
 
     CMakeLists.txt: Keep FLTK version, update manually if necessary.
 
     Makefile: Same as CMakeLists.txt.
 
+    fltk_jpeg_prefix.h:  Generate on a Linux system and merge (see above).
+
     Note: more to come...
 
     makedepend: Keep this file.
diff --git jpeg/CMakeLists.txt jpeg/CMakeLists.txt
index 16a423a..4b820a0 100644
--- jpeg/CMakeLists.txt
+++ jpeg/CMakeLists.txt
@@ -82,5 +82,6 @@ endif (OPTION_BUILD_SHARED_LIBS)
 #######################################################################
 
 install (FILES jconfig.h jerror.h jmorecfg.h jpeglib.h
+               fltk_jpeg_prefix.h
          DESTINATION ${FLTK_INCLUDEDIR}/FL/images
 )
diff --git jpeg/Makefile jpeg/Makefile
index ac854d6..6dd48e3 100644
--- jpeg/Makefile
+++ jpeg/Makefile
@@ -106,6 +106,7 @@ install:	$(LIBJPEG)
 	$(INSTALL_DATA) jerror.h $(DESTDIR)$(includedir)/FL/images
 	$(INSTALL_DATA) jmorecfg.h $(DESTDIR)$(includedir)/FL/images
 	$(INSTALL_DATA) jpeglib.h $(DESTDIR)$(includedir)/FL/images
+	$(INSTALL_DATA) fltk_jpeg_prefix.h $(DESTDIR)$(includedir)/FL/images
 
 
 #
@@ -120,6 +121,7 @@ uninstall:
 	$(RM) $(includedir)/FL/images/jerror.h
 	$(RM) $(includedir)/FL/images/jmorecfg.h
 	$(RM) $(includedir)/FL/images/jpeglib.h
+	$(RM) $(includedir)/FL/images/fltk_jpeg_prefix.h
 
 
 #
diff --git jpeg/fltk_jpeg_prefix.h jpeg/fltk_jpeg_prefix.h
new file mode 100644
index 0000000..520640a
--- /dev/null
+++ jpeg/fltk_jpeg_prefix.h
@@ -0,0 +1,173 @@
+/*
+ * FLTK symbol prefixes for libjpeg
+ * This is a generated file: see README.bundled-libs.txt
+*/
+#define jcopy_block_row fltk_jcopy_block_row
+#define jcopy_sample_rows fltk_jcopy_sample_rows
+#define jdiv_round_up fltk_jdiv_round_up
+#define jinit_1pass_quantizer fltk_jinit_1pass_quantizer
+#define jinit_2pass_quantizer fltk_jinit_2pass_quantizer
+#define jinit_arith_decoder fltk_jinit_arith_decoder
+#define jinit_arith_encoder fltk_jinit_arith_encoder
+#define jinit_c_coef_controller fltk_jinit_c_coef_controller
+#define jinit_c_main_controller fltk_jinit_c_main_controller
+#define jinit_c_master_control fltk_jinit_c_master_control
+#define jinit_color_converter fltk_jinit_color_converter
+#define jinit_color_deconverter fltk_jinit_color_deconverter
+#define jinit_compress_master fltk_jinit_compress_master
+#define jinit_c_prep_controller fltk_jinit_c_prep_controller
+#define jinit_d_coef_controller fltk_jinit_d_coef_controller
+#define jinit_d_main_controller fltk_jinit_d_main_controller
+#define jinit_downsampler fltk_jinit_downsampler
+#define jinit_d_post_controller fltk_jinit_d_post_controller
+#define jinit_forward_dct fltk_jinit_forward_dct
+#define jinit_huff_decoder fltk_jinit_huff_decoder
+#define jinit_huff_encoder fltk_jinit_huff_encoder
+#define jinit_input_controller fltk_jinit_input_controller
+#define jinit_inverse_dct fltk_jinit_inverse_dct
+#define jinit_marker_reader fltk_jinit_marker_reader
+#define jinit_marker_writer fltk_jinit_marker_writer
+#define jinit_master_decompress fltk_jinit_master_decompress
+#define jinit_memory_mgr fltk_jinit_memory_mgr
+#define jinit_merged_upsampler fltk_jinit_merged_upsampler
+#define jinit_upsampler fltk_jinit_upsampler
+#define jpeg_abort fltk_jpeg_abort
+#define jpeg_abort_compress fltk_jpeg_abort_compress
+#define jpeg_abort_decompress fltk_jpeg_abort_decompress
+#define jpeg_add_quant_table fltk_jpeg_add_quant_table
+#define jpeg_alloc_huff_table fltk_jpeg_alloc_huff_table
+#define jpeg_alloc_quant_table fltk_jpeg_alloc_quant_table
+#define jpeg_aritab fltk_jpeg_aritab
+#define jpeg_calc_jpeg_dimensions fltk_jpeg_calc_jpeg_dimensions
+#define jpeg_calc_output_dimensions fltk_jpeg_calc_output_dimensions
+#define jpeg_consume_input fltk_jpeg_consume_input
+#define jpeg_copy_critical_parameters fltk_jpeg_copy_critical_parameters
+#define jpeg_core_output_dimensions fltk_jpeg_core_output_dimensions
+#define jpeg_CreateCompress fltk_jpeg_CreateCompress
+#define jpeg_CreateDecompress fltk_jpeg_CreateDecompress
+#define jpeg_default_colorspace fltk_jpeg_default_colorspace
+#define jpeg_default_qtables fltk_jpeg_default_qtables
+#define jpeg_destroy fltk_jpeg_destroy
+#define jpeg_destroy_compress fltk_jpeg_destroy_compress
+#define jpeg_destroy_decompress fltk_jpeg_destroy_decompress
+#define jpeg_fdct_10x10 fltk_jpeg_fdct_10x10
+#define jpeg_fdct_10x5 fltk_jpeg_fdct_10x5
+#define jpeg_fdct_11x11 fltk_jpeg_fdct_11x11
+#define jpeg_fdct_12x12 fltk_jpeg_fdct_12x12
+#define jpeg_fdct_12x6 fltk_jpeg_fdct_12x6
+#define jpeg_fdct_13x13 fltk_jpeg_fdct_13x13
+#define jpeg_fdct_14x14 fltk_jpeg_fdct_14x14
+#define jpeg_fdct_14x7 fltk_jpeg_fdct_14x7
+#define jpeg_fdct_15x15 fltk_jpeg_fdct_15x15
+#define jpeg_fdct_16x16 fltk_jpeg_fdct_16x16
+#define jpeg_fdct_16x8 fltk_jpeg_fdct_16x8
+#define jpeg_fdct_1x1 fltk_jpeg_fdct_1x1
+#define jpeg_fdct_1x2 fltk_jpeg_fdct_1x2
+#define jpeg_fdct_2x1 fltk_jpeg_fdct_2x1
+#define jpeg_fdct_2x2 fltk_jpeg_fdct_2x2
+#define jpeg_fdct_2x4 fltk_jpeg_fdct_2x4
+#define jpeg_fdct_3x3 fltk_jpeg_fdct_3x3
+#define jpeg_fdct_3x6 fltk_jpeg_fdct_3x6
+#define jpeg_fdct_4x2 fltk_jpeg_fdct_4x2
+#define jpeg_fdct_4x4 fltk_jpeg_fdct_4x4
+#define jpeg_fdct_4x8 fltk_jpeg_fdct_4x8
+#define jpeg_fdct_5x10 fltk_jpeg_fdct_5x10
+#define jpeg_fdct_5x5 fltk_jpeg_fdct_5x5
+#define jpeg_fdct_6x12 fltk_jpeg_fdct_6x12
+#define jpeg_fdct_6x3 fltk_jpeg_fdct_6x3
+#define jpeg_fdct_6x6 fltk_jpeg_fdct_6x6
+#define jpeg_fdct_7x14 fltk_jpeg_fdct_7x14
+#define jpeg_fdct_7x7 fltk_jpeg_fdct_7x7
+#define jpeg_fdct_8x16 fltk_jpeg_fdct_8x16
+#define jpeg_fdct_8x4 fltk_jpeg_fdct_8x4
+#define jpeg_fdct_9x9 fltk_jpeg_fdct_9x9
+#define jpeg_fdct_float fltk_jpeg_fdct_float
+#define jpeg_fdct_ifast fltk_jpeg_fdct_ifast
+#define jpeg_fdct_islow fltk_jpeg_fdct_islow
+#define jpeg_finish_compress fltk_jpeg_finish_compress
+#define jpeg_finish_decompress fltk_jpeg_finish_decompress
+#define jpeg_finish_output fltk_jpeg_finish_output
+#define jpeg_free_large fltk_jpeg_free_large
+#define jpeg_free_small fltk_jpeg_free_small
+#define jpeg_get_large fltk_jpeg_get_large
+#define jpeg_get_small fltk_jpeg_get_small
+#define jpeg_has_multiple_scans fltk_jpeg_has_multiple_scans
+#define jpeg_idct_10x10 fltk_jpeg_idct_10x10
+#define jpeg_idct_10x5 fltk_jpeg_idct_10x5
+#define jpeg_idct_11x11 fltk_jpeg_idct_11x11
+#define jpeg_idct_12x12 fltk_jpeg_idct_12x12
+#define jpeg_idct_12x6 fltk_jpeg_idct_12x6
+#define jpeg_idct_13x13 fltk_jpeg_idct_13x13
+#define jpeg_idct_14x14 fltk_jpeg_idct_14x14
+#define jpeg_idct_14x7 fltk_jpeg_idct_14x7
+#define jpeg_idct_15x15 fltk_jpeg_idct_15x15
+#define jpeg_idct_16x16 fltk_jpeg_idct_16x16
+#define jpeg_idct_16x8 fltk_jpeg_idct_16x8
+#define jpeg_idct_1x1 fltk_jpeg_idct_1x1
+#define jpeg_idct_1x2 fltk_jpeg_idct_1x2
+#define jpeg_idct_2x1 fltk_jpeg_idct_2x1
+#define jpeg_idct_2x2 fltk_jpeg_idct_2x2
+#define jpeg_idct_2x4 fltk_jpeg_idct_2x4
+#define jpeg_idct_3x3 fltk_jpeg_idct_3x3
+#define jpeg_idct_3x6 fltk_jpeg_idct_3x6
+#define jpeg_idct_4x2 fltk_jpeg_idct_4x2
+#define jpeg_idct_4x4 fltk_jpeg_idct_4x4
+#define jpeg_idct_4x8 fltk_jpeg_idct_4x8
+#define jpeg_idct_5x10 fltk_jpeg_idct_5x10
+#define jpeg_idct_5x5 fltk_jpeg_idct_5x5
+#define jpeg_idct_6x12 fltk_jpeg_idct_6x12
+#define jpeg_idct_6x3 fltk_jpeg_idct_6x3
+#define jpeg_idct_6x6 fltk_jpeg_idct_6x6
+#define jpeg_idct_7x14 fltk_jpeg_idct_7x14
+#define jpeg_idct_7x7 fltk_jpeg_idct_7x7
+#define jpeg_idct_8x16 fltk_jpeg_idct_8x16
+#define jpeg_idct_8x4 fltk_jpeg_idct_8x4
+#define jpeg_idct_9x9 fltk_jpeg_idct_9x9
+#define jpeg_idct_float fltk_jpeg_idct_float
+#define jpeg_idct_ifast fltk_jpeg_idct_ifast
+#define jpeg_idct_islow fltk_jpeg_idct_islow
+#define jpeg_input_complete fltk_jpeg_input_complete
+#define jpeg_mem_available fltk_jpeg_mem_available
+#define jpeg_mem_dest fltk_jpeg_mem_dest
+#define jpeg_mem_init fltk_jpeg_mem_init
+#define jpeg_mem_src fltk_jpeg_mem_src
+#define jpeg_mem_term fltk_jpeg_mem_term
+#define jpeg_natural_order fltk_jpeg_natural_order
+#define jpeg_natural_order2 fltk_jpeg_natural_order2
+#define jpeg_natural_order3 fltk_jpeg_natural_order3
+#define jpeg_natural_order4 fltk_jpeg_natural_order4
+#define jpeg_natural_order5 fltk_jpeg_natural_order5
+#define jpeg_natural_order6 fltk_jpeg_natural_order6
+#define jpeg_natural_order7 fltk_jpeg_natural_order7
+#define jpeg_new_colormap fltk_jpeg_new_colormap
+#define jpeg_open_backing_store fltk_jpeg_open_backing_store
+#define jpeg_quality_scaling fltk_jpeg_quality_scaling
+#define jpeg_read_coefficients fltk_jpeg_read_coefficients
+#define jpeg_read_header fltk_jpeg_read_header
+#define jpeg_read_raw_data fltk_jpeg_read_raw_data
+#define jpeg_read_scanlines fltk_jpeg_read_scanlines
+#define jpeg_resync_to_restart fltk_jpeg_resync_to_restart
+#define jpeg_save_markers fltk_jpeg_save_markers
+#define jpeg_set_colorspace fltk_jpeg_set_colorspace
+#define jpeg_set_defaults fltk_jpeg_set_defaults
+#define jpeg_set_linear_quality fltk_jpeg_set_linear_quality
+#define jpeg_set_marker_processor fltk_jpeg_set_marker_processor
+#define jpeg_set_quality fltk_jpeg_set_quality
+#define jpeg_simple_progression fltk_jpeg_simple_progression
+#define jpeg_start_compress fltk_jpeg_start_compress
+#define jpeg_start_decompress fltk_jpeg_start_decompress
+#define jpeg_start_output fltk_jpeg_start_output
+#define jpeg_std_error fltk_jpeg_std_error
+#define jpeg_std_huff_table fltk_jpeg_std_huff_table
+#define jpeg_stdio_dest fltk_jpeg_stdio_dest
+#define jpeg_stdio_src fltk_jpeg_stdio_src
+#define jpeg_std_message_table fltk_jpeg_std_message_table
+#define jpeg_suppress_tables fltk_jpeg_suppress_tables
+#define jpeg_write_coefficients fltk_jpeg_write_coefficients
+#define jpeg_write_marker fltk_jpeg_write_marker
+#define jpeg_write_m_byte fltk_jpeg_write_m_byte
+#define jpeg_write_m_header fltk_jpeg_write_m_header
+#define jpeg_write_raw_data fltk_jpeg_write_raw_data
+#define jpeg_write_scanlines fltk_jpeg_write_scanlines
+#define jpeg_write_tables fltk_jpeg_write_tables
+#define jround_up fltk_jround_up
diff --git jpeg/jconfig.h jpeg/jconfig.h
index 2e31f71..a73242f 100644
--- jpeg/jconfig.h
+++ jpeg/jconfig.h
@@ -3,6 +3,9 @@
 /* FLTK   should probably be preserved when the JPEG lib is upgraded.	*/
 /* FLTK *************************************************************** */
 
+/* FLTK: enable symbol prefixes, see README.bundled-libs.txt */
+#include "fltk_jpeg_prefix.h"
+
 /* jconfig.h.  Generated from jconfig.cfg by configure.  */
 /* jconfig.cfg --- source file edited by configure script */
 /* see jconfig.txt for explanations */
diff --git jpeg/makedepend jpeg/makedepend
index 1738565..d211cb0 100644
--- jpeg/makedepend
+++ jpeg/makedepend
@@ -1,41 +1,48 @@
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
+jaricom.o: fltk_jpeg_prefix.h
 jaricom.o: jconfig.h
 jaricom.o: jerror.h
 jaricom.o: jinclude.h
 jaricom.o: jmorecfg.h
 jaricom.o: jpegint.h
 jaricom.o: jpeglib.h
+jcapimin.o: fltk_jpeg_prefix.h
 jcapimin.o: jconfig.h
 jcapimin.o: jerror.h
 jcapimin.o: jinclude.h
 jcapimin.o: jmorecfg.h
 jcapimin.o: jpegint.h
 jcapimin.o: jpeglib.h
+jcapistd.o: fltk_jpeg_prefix.h
 jcapistd.o: jconfig.h
 jcapistd.o: jerror.h
 jcapistd.o: jinclude.h
 jcapistd.o: jmorecfg.h
 jcapistd.o: jpegint.h
 jcapistd.o: jpeglib.h
+jcarith.o: fltk_jpeg_prefix.h
 jcarith.o: jconfig.h
 jcarith.o: jerror.h
 jcarith.o: jinclude.h
 jcarith.o: jmorecfg.h
 jcarith.o: jpegint.h
 jcarith.o: jpeglib.h
+jccoefct.o: fltk_jpeg_prefix.h
 jccoefct.o: jconfig.h
 jccoefct.o: jerror.h
 jccoefct.o: jinclude.h
 jccoefct.o: jmorecfg.h
 jccoefct.o: jpegint.h
 jccoefct.o: jpeglib.h
+jccolor.o: fltk_jpeg_prefix.h
 jccolor.o: jconfig.h
 jccolor.o: jerror.h
 jccolor.o: jinclude.h
 jccolor.o: jmorecfg.h
 jccolor.o: jpegint.h
 jccolor.o: jpeglib.h
+jcdctmgr.o: fltk_jpeg_prefix.h
 jcdctmgr.o: jconfig.h
 jcdctmgr.o: jdct.h
 jcdctmgr.o: jerror.h
@@ -43,108 +50,126 @@ jcdctmgr.o: jinclude.h
 jcdctmgr.o: jmorecfg.h
 jcdctmgr.o: jpegint.h
 jcdctmgr.o: jpeglib.h
+jchuff.o: fltk_jpeg_prefix.h
 jchuff.o: jconfig.h
 jchuff.o: jerror.h
 jchuff.o: jinclude.h
 jchuff.o: jmorecfg.h
 jchuff.o: jpegint.h
 jchuff.o: jpeglib.h
+jcinit.o: fltk_jpeg_prefix.h
 jcinit.o: jconfig.h
 jcinit.o: jerror.h
 jcinit.o: jinclude.h
 jcinit.o: jmorecfg.h
 jcinit.o: jpegint.h
 jcinit.o: jpeglib.h
+jcmainct.o: fltk_jpeg_prefix.h
 jcmainct.o: jconfig.h
 jcmainct.o: jerror.h
 jcmainct.o: jinclude.h
 jcmainct.o: jmorecfg.h
 jcmainct.o: jpegint.h
 jcmainct.o: jpeglib.h
+jcmarker.o: fltk_jpeg_prefix.h
 jcmarker.o: jconfig.h
 jcmarker.o: jerror.h
 jcmarker.o: jinclude.h
 jcmarker.o: jmorecfg.h
 jcmarker.o: jpegint.h
 jcmarker.o: jpeglib.h
+jcmaster.o: fltk_jpeg_prefix.h
 jcmaster.o: jconfig.h
 jcmaster.o: jerror.h
 jcmaster.o: jinclude.h
 jcmaster.o: jmorecfg.h
 jcmaster.o: jpegint.h
 jcmaster.o: jpeglib.h
+jcomapi.o: fltk_jpeg_prefix.h
 jcomapi.o: jconfig.h
 jcomapi.o: jerror.h
 jcomapi.o: jinclude.h
 jcomapi.o: jmorecfg.h
 jcomapi.o: jpegint.h
 jcomapi.o: jpeglib.h
+jcparam.o: fltk_jpeg_prefix.h
 jcparam.o: jconfig.h
 jcparam.o: jerror.h
 jcparam.o: jinclude.h
 jcparam.o: jmorecfg.h
 jcparam.o: jpegint.h
 jcparam.o: jpeglib.h
+jcprepct.o: fltk_jpeg_prefix.h
 jcprepct.o: jconfig.h
 jcprepct.o: jerror.h
 jcprepct.o: jinclude.h
 jcprepct.o: jmorecfg.h
 jcprepct.o: jpegint.h
 jcprepct.o: jpeglib.h
+jcsample.o: fltk_jpeg_prefix.h
 jcsample.o: jconfig.h
 jcsample.o: jerror.h
 jcsample.o: jinclude.h
 jcsample.o: jmorecfg.h
 jcsample.o: jpegint.h
 jcsample.o: jpeglib.h
+jctrans.o: fltk_jpeg_prefix.h
 jctrans.o: jconfig.h
 jctrans.o: jerror.h
 jctrans.o: jinclude.h
 jctrans.o: jmorecfg.h
 jctrans.o: jpegint.h
 jctrans.o: jpeglib.h
+jdapimin.o: fltk_jpeg_prefix.h
 jdapimin.o: jconfig.h
 jdapimin.o: jerror.h
 jdapimin.o: jinclude.h
 jdapimin.o: jmorecfg.h
 jdapimin.o: jpegint.h
 jdapimin.o: jpeglib.h
+jdapistd.o: fltk_jpeg_prefix.h
 jdapistd.o: jconfig.h
 jdapistd.o: jerror.h
 jdapistd.o: jinclude.h
 jdapistd.o: jmorecfg.h
 jdapistd.o: jpegint.h
 jdapistd.o: jpeglib.h
+jdarith.o: fltk_jpeg_prefix.h
 jdarith.o: jconfig.h
 jdarith.o: jerror.h
 jdarith.o: jinclude.h
 jdarith.o: jmorecfg.h
 jdarith.o: jpegint.h
 jdarith.o: jpeglib.h
+jdatadst.o: fltk_jpeg_prefix.h
 jdatadst.o: jconfig.h
 jdatadst.o: jerror.h
 jdatadst.o: jinclude.h
 jdatadst.o: jmorecfg.h
 jdatadst.o: jpegint.h
 jdatadst.o: jpeglib.h
+jdatasrc.o: fltk_jpeg_prefix.h
 jdatasrc.o: jconfig.h
 jdatasrc.o: jerror.h
 jdatasrc.o: jinclude.h
 jdatasrc.o: jmorecfg.h
 jdatasrc.o: jpegint.h
 jdatasrc.o: jpeglib.h
+jdcoefct.o: fltk_jpeg_prefix.h
 jdcoefct.o: jconfig.h
 jdcoefct.o: jerror.h
 jdcoefct.o: jinclude.h
 jdcoefct.o: jmorecfg.h
 jdcoefct.o: jpegint.h
 jdcoefct.o: jpeglib.h
+jdcolor.o: fltk_jpeg_prefix.h
 jdcolor.o: jconfig.h
 jdcolor.o: jerror.h
 jdcolor.o: jinclude.h
 jdcolor.o: jmorecfg.h
 jdcolor.o: jpegint.h
 jdcolor.o: jpeglib.h
+jddctmgr.o: fltk_jpeg_prefix.h
 jddctmgr.o: jconfig.h
 jddctmgr.o: jdct.h
 jddctmgr.o: jerror.h
@@ -152,60 +177,70 @@ jddctmgr.o: jinclude.h
 jddctmgr.o: jmorecfg.h
 jddctmgr.o: jpegint.h
 jddctmgr.o: jpeglib.h
+jdhuff.o: fltk_jpeg_prefix.h
 jdhuff.o: jconfig.h
 jdhuff.o: jerror.h
 jdhuff.o: jinclude.h
 jdhuff.o: jmorecfg.h
 jdhuff.o: jpegint.h
 jdhuff.o: jpeglib.h
+jdinput.o: fltk_jpeg_prefix.h
 jdinput.o: jconfig.h
 jdinput.o: jerror.h
 jdinput.o: jinclude.h
 jdinput.o: jmorecfg.h
 jdinput.o: jpegint.h
 jdinput.o: jpeglib.h
+jdmainct.o: fltk_jpeg_prefix.h
 jdmainct.o: jconfig.h
 jdmainct.o: jerror.h
 jdmainct.o: jinclude.h
 jdmainct.o: jmorecfg.h
 jdmainct.o: jpegint.h
 jdmainct.o: jpeglib.h
+jdmarker.o: fltk_jpeg_prefix.h
 jdmarker.o: jconfig.h
 jdmarker.o: jerror.h
 jdmarker.o: jinclude.h
 jdmarker.o: jmorecfg.h
 jdmarker.o: jpegint.h
 jdmarker.o: jpeglib.h
+jdmaster.o: fltk_jpeg_prefix.h
 jdmaster.o: jconfig.h
 jdmaster.o: jerror.h
 jdmaster.o: jinclude.h
 jdmaster.o: jmorecfg.h
 jdmaster.o: jpegint.h
 jdmaster.o: jpeglib.h
+jdmerge.o: fltk_jpeg_prefix.h
 jdmerge.o: jconfig.h
 jdmerge.o: jerror.h
 jdmerge.o: jinclude.h
 jdmerge.o: jmorecfg.h
 jdmerge.o: jpegint.h
 jdmerge.o: jpeglib.h
+jdpostct.o: fltk_jpeg_prefix.h
 jdpostct.o: jconfig.h
 jdpostct.o: jerror.h
 jdpostct.o: jinclude.h
 jdpostct.o: jmorecfg.h
 jdpostct.o: jpegint.h
 jdpostct.o: jpeglib.h
+jdsample.o: fltk_jpeg_prefix.h
 jdsample.o: jconfig.h
 jdsample.o: jerror.h
 jdsample.o: jinclude.h
 jdsample.o: jmorecfg.h
 jdsample.o: jpegint.h
 jdsample.o: jpeglib.h
+jdtrans.o: fltk_jpeg_prefix.h
 jdtrans.o: jconfig.h
 jdtrans.o: jerror.h
 jdtrans.o: jinclude.h
 jdtrans.o: jmorecfg.h
 jdtrans.o: jpegint.h
 jdtrans.o: jpeglib.h
+jerror.o: fltk_jpeg_prefix.h
 jerror.o: jconfig.h
 jerror.o: jerror.h
 jerror.o: jinclude.h
@@ -213,6 +248,7 @@ jerror.o: jmorecfg.h
 jerror.o: jpegint.h
 jerror.o: jpeglib.h
 jerror.o: jversion.h
+jfdctflt.o: fltk_jpeg_prefix.h
 jfdctflt.o: jconfig.h
 jfdctflt.o: jdct.h
 jfdctflt.o: jerror.h
@@ -220,6 +256,7 @@ jfdctflt.o: jinclude.h
 jfdctflt.o: jmorecfg.h
 jfdctflt.o: jpegint.h
 jfdctflt.o: jpeglib.h
+jfdctfst.o: fltk_jpeg_prefix.h
 jfdctfst.o: jconfig.h
 jfdctfst.o: jdct.h
 jfdctfst.o: jerror.h
@@ -227,6 +264,7 @@ jfdctfst.o: jinclude.h
 jfdctfst.o: jmorecfg.h
 jfdctfst.o: jpegint.h
 jfdctfst.o: jpeglib.h
+jfdctint.o: fltk_jpeg_prefix.h
 jfdctint.o: jconfig.h
 jfdctint.o: jdct.h
 jfdctint.o: jerror.h
@@ -234,6 +272,7 @@ jfdctint.o: jinclude.h
 jfdctint.o: jmorecfg.h
 jfdctint.o: jpegint.h
 jfdctint.o: jpeglib.h
+jidctflt.o: fltk_jpeg_prefix.h
 jidctflt.o: jconfig.h
 jidctflt.o: jdct.h
 jidctflt.o: jerror.h
@@ -241,6 +280,7 @@ jidctflt.o: jinclude.h
 jidctflt.o: jmorecfg.h
 jidctflt.o: jpegint.h
 jidctflt.o: jpeglib.h
+jidctfst.o: fltk_jpeg_prefix.h
 jidctfst.o: jconfig.h
 jidctfst.o: jdct.h
 jidctfst.o: jerror.h
@@ -248,6 +288,7 @@ jidctfst.o: jinclude.h
 jidctfst.o: jmorecfg.h
 jidctfst.o: jpegint.h
 jidctfst.o: jpeglib.h
+jidctint.o: fltk_jpeg_prefix.h
 jidctint.o: jconfig.h
 jidctint.o: jdct.h
 jidctint.o: jerror.h
@@ -255,6 +296,7 @@ jidctint.o: jinclude.h
 jidctint.o: jmorecfg.h
 jidctint.o: jpegint.h
 jidctint.o: jpeglib.h
+jmemmgr.o: fltk_jpeg_prefix.h
 jmemmgr.o: jconfig.h
 jmemmgr.o: jerror.h
 jmemmgr.o: jinclude.h
@@ -262,6 +304,7 @@ jmemmgr.o: jmemsys.h
 jmemmgr.o: jmorecfg.h
 jmemmgr.o: jpegint.h
 jmemmgr.o: jpeglib.h
+jmemnobs.o: fltk_jpeg_prefix.h
 jmemnobs.o: jconfig.h
 jmemnobs.o: jerror.h
 jmemnobs.o: jinclude.h
@@ -269,18 +312,21 @@ jmemnobs.o: jmemsys.h
 jmemnobs.o: jmorecfg.h
 jmemnobs.o: jpegint.h
 jmemnobs.o: jpeglib.h
+jquant1.o: fltk_jpeg_prefix.h
 jquant1.o: jconfig.h
 jquant1.o: jerror.h
 jquant1.o: jinclude.h
 jquant1.o: jmorecfg.h
 jquant1.o: jpegint.h
 jquant1.o: jpeglib.h
+jquant2.o: fltk_jpeg_prefix.h
 jquant2.o: jconfig.h
 jquant2.o: jerror.h
 jquant2.o: jinclude.h
 jquant2.o: jmorecfg.h
 jquant2.o: jpegint.h
 jquant2.o: jpeglib.h
+jutils.o: fltk_jpeg_prefix.h
 jutils.o: jconfig.h
 jutils.o: jerror.h
 jutils.o: jinclude.h
diff --git png/CMakeLists.txt png/CMakeLists.txt
index a67c7eb..117d699 100644
--- png/CMakeLists.txt
+++ png/CMakeLists.txt
@@ -65,6 +65,6 @@ endif ()
 # Install the library headers
 #######################################################################
 
-install (FILES png.h pngconf.h pnglibconf.h
+install (FILES png.h pngconf.h pnglibconf.h pngprefix.h
          DESTINATION ${FLTK_INCLUDEDIR}/FL/images
 )
diff --git png/Makefile png/Makefile
index e686bd9..2f913d6 100644
--- png/Makefile
+++ png/Makefile
@@ -59,6 +59,7 @@ install: $(LIBPNG)
 	$(INSTALL_DATA) png.h $(DESTDIR)$(includedir)/FL/images
 	$(INSTALL_DATA) pngconf.h $(DESTDIR)$(includedir)/FL/images
 	$(INSTALL_DATA) pnglibconf.h $(DESTDIR)$(includedir)/FL/images
+	$(INSTALL_DATA) pngprefix.h $(DESTDIR)$(includedir)/FL/images
 
 
 #
@@ -72,6 +73,7 @@ uninstall:
 	$(RM) $(DESTDIR)$(includedir)/FL/images/png.h
 	$(RM) $(DESTDIR)$(includedir)/FL/images/pngconf.h
 	$(RM) $(DESTDIR)$(includedir)/FL/images/pnglibconf.h
+	$(RM) $(DESTDIR)$(includedir)/FL/images/pngprefix.h
 
 
 #
diff --git png/makedepend png/makedepend
index b480d32..b623bcc 100644
--- png/makedepend
+++ png/makedepend
@@ -5,6 +5,7 @@ arm/arm_init.o: pngconf.h
 arm/arm_init.o: pngdebug.h
 arm/arm_init.o: pnginfo.h
 arm/arm_init.o: pnglibconf.h
+arm/arm_init.o: pngprefix.h
 arm/arm_init.o: pngpriv.h
 arm/arm_init.o: pngstruct.h
 arm/filter_neon_intrinsics.o: png.h
@@ -12,6 +13,7 @@ arm/filter_neon_intrinsics.o: pngconf.h
 arm/filter_neon_intrinsics.o: pngdebug.h
 arm/filter_neon_intrinsics.o: pnginfo.h
 arm/filter_neon_intrinsics.o: pnglibconf.h
+arm/filter_neon_intrinsics.o: pngprefix.h
 arm/filter_neon_intrinsics.o: pngpriv.h
 arm/filter_neon_intrinsics.o: pngstruct.h
 arm/palette_neon_intrinsics.o: png.h
@@ -19,6 +21,7 @@ arm/palette_neon_intrinsics.o: pngconf.h
 arm/palette_neon_intrinsics.o: pngdebug.h
 arm/palette_neon_intrinsics.o: pnginfo.h
 arm/palette_neon_intrinsics.o: pnglibconf.h
+arm/palette_neon_intrinsics.o: pngprefix.h
 arm/palette_neon_intrinsics.o: pngpriv.h
 arm/palette_neon_intrinsics.o: pngstruct.h
 png.o: png.h
@@ -26,6 +29,7 @@ png.o: pngconf.h
 png.o: pngdebug.h
 png.o: pnginfo.h
 png.o: pnglibconf.h
+png.o: pngprefix.h
 png.o: pngpriv.h
 png.o: pngstruct.h
 pngerror.o: png.h
@@ -33,6 +37,7 @@ pngerror.o: pngconf.h
 pngerror.o: pngdebug.h
 pngerror.o: pnginfo.h
 pngerror.o: pnglibconf.h
+pngerror.o: pngprefix.h
 pngerror.o: pngpriv.h
 pngerror.o: pngstruct.h
 pngget.o: png.h
@@ -40,6 +45,7 @@ pngget.o: pngconf.h
 pngget.o: pngdebug.h
 pngget.o: pnginfo.h
 pngget.o: pnglibconf.h
+pngget.o: pngprefix.h
 pngget.o: pngpriv.h
 pngget.o: pngstruct.h
 pngmem.o: png.h
@@ -47,6 +53,7 @@ pngmem.o: pngconf.h
 pngmem.o: pngdebug.h
 pngmem.o: pnginfo.h
 pngmem.o: pnglibconf.h
+pngmem.o: pngprefix.h
 pngmem.o: pngpriv.h
 pngmem.o: pngstruct.h
 pngpread.o: png.h
@@ -54,6 +61,7 @@ pngpread.o: pngconf.h
 pngpread.o: pngdebug.h
 pngpread.o: pnginfo.h
 pngpread.o: pnglibconf.h
+pngpread.o: pngprefix.h
 pngpread.o: pngpriv.h
 pngpread.o: pngstruct.h
 pngread.o: png.h
@@ -61,6 +69,7 @@ pngread.o: pngconf.h
 pngread.o: pngdebug.h
 pngread.o: pnginfo.h
 pngread.o: pnglibconf.h
+pngread.o: pngprefix.h
 pngread.o: pngpriv.h
 pngread.o: pngstruct.h
 pngrio.o: png.h
@@ -68,6 +77,7 @@ pngrio.o: pngconf.h
 pngrio.o: pngdebug.h
 pngrio.o: pnginfo.h
 pngrio.o: pnglibconf.h
+pngrio.o: pngprefix.h
 pngrio.o: pngpriv.h
 pngrio.o: pngstruct.h
 pngrtran.o: png.h
@@ -75,6 +85,7 @@ pngrtran.o: pngconf.h
 pngrtran.o: pngdebug.h
 pngrtran.o: pnginfo.h
 pngrtran.o: pnglibconf.h
+pngrtran.o: pngprefix.h
 pngrtran.o: pngpriv.h
 pngrtran.o: pngstruct.h
 pngrutil.o: png.h
@@ -82,6 +93,7 @@ pngrutil.o: pngconf.h
 pngrutil.o: pngdebug.h
 pngrutil.o: pnginfo.h
 pngrutil.o: pnglibconf.h
+pngrutil.o: pngprefix.h
 pngrutil.o: pngpriv.h
 pngrutil.o: pngstruct.h
 pngset.o: png.h
@@ -89,6 +101,7 @@ pngset.o: pngconf.h
 pngset.o: pngdebug.h
 pngset.o: pnginfo.h
 pngset.o: pnglibconf.h
+pngset.o: pngprefix.h
 pngset.o: pngpriv.h
 pngset.o: pngstruct.h
 pngtrans.o: png.h
@@ -96,6 +109,7 @@ pngtrans.o: pngconf.h
 pngtrans.o: pngdebug.h
 pngtrans.o: pnginfo.h
 pngtrans.o: pnglibconf.h
+pngtrans.o: pngprefix.h
 pngtrans.o: pngpriv.h
 pngtrans.o: pngstruct.h
 pngwio.o: png.h
@@ -103,6 +117,7 @@ pngwio.o: pngconf.h
 pngwio.o: pngdebug.h
 pngwio.o: pnginfo.h
 pngwio.o: pnglibconf.h
+pngwio.o: pngprefix.h
 pngwio.o: pngpriv.h
 pngwio.o: pngstruct.h
 pngwrite.o: png.h
@@ -110,6 +125,7 @@ pngwrite.o: pngconf.h
 pngwrite.o: pngdebug.h
 pngwrite.o: pnginfo.h
 pngwrite.o: pnglibconf.h
+pngwrite.o: pngprefix.h
 pngwrite.o: pngpriv.h
 pngwrite.o: pngstruct.h
 pngwtran.o: png.h
@@ -117,6 +133,7 @@ pngwtran.o: pngconf.h
 pngwtran.o: pngdebug.h
 pngwtran.o: pnginfo.h
 pngwtran.o: pnglibconf.h
+pngwtran.o: pngprefix.h
 pngwtran.o: pngpriv.h
 pngwtran.o: pngstruct.h
 pngwutil.o: png.h
@@ -124,5 +141,6 @@ pngwutil.o: pngconf.h
 pngwutil.o: pngdebug.h
 pngwutil.o: pnginfo.h
 pngwutil.o: pnglibconf.h
+pngwutil.o: pngprefix.h
 pngwutil.o: pngpriv.h
 pngwutil.o: pngstruct.h
diff --git png/pnglibconf.h png/pnglibconf.h
index c78ba4d..bcd530a 100644
--- png/pnglibconf.h
+++ png/pnglibconf.h
@@ -1,5 +1,10 @@
 /*
 ** FLTK specific PNG lib configuration file -- see README.bundled-libs.txt
+**
+** This file must be generated on Linux in a libpng distribution using:
+**   $ ./configure --with-libpng-prefix=fltk_
+**
+** All lines including the 'fltk_' prefix must be upgraded with libpng.
 */
 
 /* pnglibconf.h - library build configuration */
@@ -203,6 +208,7 @@
 #define PNG_LINKAGE_DATA extern
 #define PNG_LINKAGE_FUNCTION extern
 #define PNG_MAX_GAMMA_8 11
+#define PNG_PREFIX fltk_
 #define PNG_QUANTIZE_BLUE_BITS 5
 #define PNG_QUANTIZE_GREEN_BITS 5
 #define PNG_QUANTIZE_RED_BITS 5
@@ -220,4 +226,253 @@
 #define PNG_sCAL_PRECISION 5
 #define PNG_sRGB_PROFILE_CHECKS 2
 /* end of settings */
+#define png_access_version_number fltk_png_access_version_number
+#define png_benign_error fltk_png_benign_error
+#define png_build_grayscale_palette fltk_png_build_grayscale_palette
+#define png_calloc fltk_png_calloc
+#define png_chunk_benign_error fltk_png_chunk_benign_error
+#define png_chunk_error fltk_png_chunk_error
+#define png_chunk_warning fltk_png_chunk_warning
+#define png_convert_from_struct_tm fltk_png_convert_from_struct_tm
+#define png_convert_from_time_t fltk_png_convert_from_time_t
+#define png_convert_to_rfc1123 fltk_png_convert_to_rfc1123
+#define png_convert_to_rfc1123_buffer fltk_png_convert_to_rfc1123_buffer
+#define png_create_info_struct fltk_png_create_info_struct
+#define png_create_read_struct fltk_png_create_read_struct
+#define png_create_read_struct_2 fltk_png_create_read_struct_2
+#define png_create_write_struct fltk_png_create_write_struct
+#define png_create_write_struct_2 fltk_png_create_write_struct_2
+#define png_data_freer fltk_png_data_freer
+#define png_destroy_info_struct fltk_png_destroy_info_struct
+#define png_destroy_read_struct fltk_png_destroy_read_struct
+#define png_destroy_write_struct fltk_png_destroy_write_struct
+#define png_error fltk_png_error
+#define png_free fltk_png_free
+#define png_free_data fltk_png_free_data
+#define png_free_default fltk_png_free_default
+#define png_get_IHDR fltk_png_get_IHDR
+#define png_get_PLTE fltk_png_get_PLTE
+#define png_get_bKGD fltk_png_get_bKGD
+#define png_get_bit_depth fltk_png_get_bit_depth
+#define png_get_cHRM fltk_png_get_cHRM
+#define png_get_cHRM_XYZ fltk_png_get_cHRM_XYZ
+#define png_get_cHRM_XYZ_fixed fltk_png_get_cHRM_XYZ_fixed
+#define png_get_cHRM_fixed fltk_png_get_cHRM_fixed
+#define png_get_channels fltk_png_get_channels
+#define png_get_chunk_cache_max fltk_png_get_chunk_cache_max
+#define png_get_chunk_malloc_max fltk_png_get_chunk_malloc_max
+#define png_get_color_type fltk_png_get_color_type
+#define png_get_compression_buffer_size fltk_png_get_compression_buffer_size
+#define png_get_compression_type fltk_png_get_compression_type
+#define png_get_copyright fltk_png_get_copyright
+#define png_get_current_pass_number fltk_png_get_current_pass_number
+#define png_get_current_row_number fltk_png_get_current_row_number
+#define png_get_eXIf fltk_png_get_eXIf
+#define png_get_eXIf_1 fltk_png_get_eXIf_1
+#define png_get_error_ptr fltk_png_get_error_ptr
+#define png_get_filter_type fltk_png_get_filter_type
+#define png_get_gAMA fltk_png_get_gAMA
+#define png_get_gAMA_fixed fltk_png_get_gAMA_fixed
+#define png_get_hIST fltk_png_get_hIST
+#define png_get_header_ver fltk_png_get_header_ver
+#define png_get_header_version fltk_png_get_header_version
+#define png_get_iCCP fltk_png_get_iCCP
+#define png_get_image_height fltk_png_get_image_height
+#define png_get_image_width fltk_png_get_image_width
+#define png_get_int_32 fltk_png_get_int_32
+#define png_get_interlace_type fltk_png_get_interlace_type
+#define png_get_io_chunk_type fltk_png_get_io_chunk_type
+#define png_get_io_ptr fltk_png_get_io_ptr
+#define png_get_io_state fltk_png_get_io_state
+#define png_get_libpng_ver fltk_png_get_libpng_ver
+#define png_get_mem_ptr fltk_png_get_mem_ptr
+#define png_get_oFFs fltk_png_get_oFFs
+#define png_get_pCAL fltk_png_get_pCAL
+#define png_get_pHYs fltk_png_get_pHYs
+#define png_get_pHYs_dpi fltk_png_get_pHYs_dpi
+#define png_get_palette_max fltk_png_get_palette_max
+#define png_get_pixel_aspect_ratio fltk_png_get_pixel_aspect_ratio
+#define png_get_pixel_aspect_ratio_fixed fltk_png_get_pixel_aspect_ratio_fixed
+#define png_get_pixels_per_inch fltk_png_get_pixels_per_inch
+#define png_get_pixels_per_meter fltk_png_get_pixels_per_meter
+#define png_get_progressive_ptr fltk_png_get_progressive_ptr
+#define png_get_rgb_to_gray_status fltk_png_get_rgb_to_gray_status
+#define png_get_rowbytes fltk_png_get_rowbytes
+#define png_get_rows fltk_png_get_rows
+#define png_get_sBIT fltk_png_get_sBIT
+#define png_get_sCAL fltk_png_get_sCAL
+#define png_get_sCAL_fixed fltk_png_get_sCAL_fixed
+#define png_get_sCAL_s fltk_png_get_sCAL_s
+#define png_get_sPLT fltk_png_get_sPLT
+#define png_get_sRGB fltk_png_get_sRGB
+#define png_get_signature fltk_png_get_signature
+#define png_get_tIME fltk_png_get_tIME
+#define png_get_tRNS fltk_png_get_tRNS
+#define png_get_text fltk_png_get_text
+#define png_get_uint_16 fltk_png_get_uint_16
+#define png_get_uint_31 fltk_png_get_uint_31
+#define png_get_uint_32 fltk_png_get_uint_32
+#define png_get_unknown_chunks fltk_png_get_unknown_chunks
+#define png_get_user_chunk_ptr fltk_png_get_user_chunk_ptr
+#define png_get_user_height_max fltk_png_get_user_height_max
+#define png_get_user_transform_ptr fltk_png_get_user_transform_ptr
+#define png_get_user_width_max fltk_png_get_user_width_max
+#define png_get_valid fltk_png_get_valid
+#define png_get_x_offset_inches fltk_png_get_x_offset_inches
+#define png_get_x_offset_inches_fixed fltk_png_get_x_offset_inches_fixed
+#define png_get_x_offset_microns fltk_png_get_x_offset_microns
+#define png_get_x_offset_pixels fltk_png_get_x_offset_pixels
+#define png_get_x_pixels_per_inch fltk_png_get_x_pixels_per_inch
+#define png_get_x_pixels_per_meter fltk_png_get_x_pixels_per_meter
+#define png_get_y_offset_inches fltk_png_get_y_offset_inches
+#define png_get_y_offset_inches_fixed fltk_png_get_y_offset_inches_fixed
+#define png_get_y_offset_microns fltk_png_get_y_offset_microns
+#define png_get_y_offset_pixels fltk_png_get_y_offset_pixels
+#define png_get_y_pixels_per_inch fltk_png_get_y_pixels_per_inch
+#define png_get_y_pixels_per_meter fltk_png_get_y_pixels_per_meter
+#define png_handle_as_unknown fltk_png_handle_as_unknown
+#define png_image_begin_read_from_file fltk_png_image_begin_read_from_file
+#define png_image_begin_read_from_memory fltk_png_image_begin_read_from_memory
+#define png_image_begin_read_from_stdio fltk_png_image_begin_read_from_stdio
+#define png_image_finish_read fltk_png_image_finish_read
+#define png_image_free fltk_png_image_free
+#define png_image_write_to_file fltk_png_image_write_to_file
+#define png_image_write_to_memory fltk_png_image_write_to_memory
+#define png_image_write_to_stdio fltk_png_image_write_to_stdio
+#define png_info_init_3 fltk_png_info_init_3
+#define png_init_io fltk_png_init_io
+#define png_longjmp fltk_png_longjmp
+#define png_malloc fltk_png_malloc
+#define png_malloc_default fltk_png_malloc_default
+#define png_malloc_warn fltk_png_malloc_warn
+#define png_permit_mng_features fltk_png_permit_mng_features
+#define png_process_data fltk_png_process_data
+#define png_process_data_pause fltk_png_process_data_pause
+#define png_process_data_skip fltk_png_process_data_skip
+#define png_progressive_combine_row fltk_png_progressive_combine_row
+#define png_read_end fltk_png_read_end
+#define png_read_image fltk_png_read_image
+#define png_read_info fltk_png_read_info
+#define png_read_png fltk_png_read_png
+#define png_read_row fltk_png_read_row
+#define png_read_rows fltk_png_read_rows
+#define png_read_update_info fltk_png_read_update_info
+#define png_reset_zstream fltk_png_reset_zstream
+#define png_save_int_32 fltk_png_save_int_32
+#define png_save_uint_16 fltk_png_save_uint_16
+#define png_save_uint_32 fltk_png_save_uint_32
+#define png_set_IHDR fltk_png_set_IHDR
+#define png_set_PLTE fltk_png_set_PLTE
+#define png_set_add_alpha fltk_png_set_add_alpha
+#define png_set_alpha_mode fltk_png_set_alpha_mode
+#define png_set_alpha_mode_fixed fltk_png_set_alpha_mode_fixed
+#define png_set_bKGD fltk_png_set_bKGD
+#define png_set_background fltk_png_set_background
+#define png_set_background_fixed fltk_png_set_background_fixed
+#define png_set_benign_errors fltk_png_set_benign_errors
+#define png_set_bgr fltk_png_set_bgr
+#define png_set_cHRM fltk_png_set_cHRM
+#define png_set_cHRM_XYZ fltk_png_set_cHRM_XYZ
+#define png_set_cHRM_XYZ_fixed fltk_png_set_cHRM_XYZ_fixed
+#define png_set_cHRM_fixed fltk_png_set_cHRM_fixed
+#define png_set_check_for_invalid_index fltk_png_set_check_for_invalid_index
+#define png_set_chunk_cache_max fltk_png_set_chunk_cache_max
+#define png_set_chunk_malloc_max fltk_png_set_chunk_malloc_max
+#define png_set_compression_buffer_size fltk_png_set_compression_buffer_size
+#define png_set_compression_level fltk_png_set_compression_level
+#define png_set_compression_mem_level fltk_png_set_compression_mem_level
+#define png_set_compression_method fltk_png_set_compression_method
+#define png_set_compression_strategy fltk_png_set_compression_strategy
+#define png_set_compression_window_bits fltk_png_set_compression_window_bits
+#define png_set_crc_action fltk_png_set_crc_action
+#define png_set_eXIf fltk_png_set_eXIf
+#define png_set_eXIf_1 fltk_png_set_eXIf_1
+#define png_set_error_fn fltk_png_set_error_fn
+#define png_set_expand fltk_png_set_expand
+#define png_set_expand_16 fltk_png_set_expand_16
+#define png_set_expand_gray_1_2_4_to_8 fltk_png_set_expand_gray_1_2_4_to_8
+#define png_set_filler fltk_png_set_filler
+#define png_set_filter fltk_png_set_filter
+#define png_set_filter_heuristics fltk_png_set_filter_heuristics
+#define png_set_filter_heuristics_fixed fltk_png_set_filter_heuristics_fixed
+#define png_set_flush fltk_png_set_flush
+#define png_set_gAMA fltk_png_set_gAMA
+#define png_set_gAMA_fixed fltk_png_set_gAMA_fixed
+#define png_set_gamma fltk_png_set_gamma
+#define png_set_gamma_fixed fltk_png_set_gamma_fixed
+#define png_set_gray_to_rgb fltk_png_set_gray_to_rgb
+#define png_set_hIST fltk_png_set_hIST
+#define png_set_iCCP fltk_png_set_iCCP
+#define png_set_interlace_handling fltk_png_set_interlace_handling
+#define png_set_invalid fltk_png_set_invalid
+#define png_set_invert_alpha fltk_png_set_invert_alpha
+#define png_set_invert_mono fltk_png_set_invert_mono
+#define png_set_keep_unknown_chunks fltk_png_set_keep_unknown_chunks
+#define png_set_longjmp_fn fltk_png_set_longjmp_fn
+#define png_set_mem_fn fltk_png_set_mem_fn
+#define png_set_oFFs fltk_png_set_oFFs
+#define png_set_option fltk_png_set_option
+#define png_set_pCAL fltk_png_set_pCAL
+#define png_set_pHYs fltk_png_set_pHYs
+#define png_set_packing fltk_png_set_packing
+#define png_set_packswap fltk_png_set_packswap
+#define png_set_palette_to_rgb fltk_png_set_palette_to_rgb
+#define png_set_progressive_read_fn fltk_png_set_progressive_read_fn
+#define png_set_quantize fltk_png_set_quantize
+#define png_set_read_fn fltk_png_set_read_fn
+#define png_set_read_status_fn fltk_png_set_read_status_fn
+#define png_set_read_user_chunk_fn fltk_png_set_read_user_chunk_fn
+#define png_set_read_user_transform_fn fltk_png_set_read_user_transform_fn
+#define png_set_rgb_to_gray fltk_png_set_rgb_to_gray
+#define png_set_rgb_to_gray_fixed fltk_png_set_rgb_to_gray_fixed
+#define png_set_rows fltk_png_set_rows
+#define png_set_sBIT fltk_png_set_sBIT
+#define png_set_sCAL fltk_png_set_sCAL
+#define png_set_sCAL_fixed fltk_png_set_sCAL_fixed
+#define png_set_sCAL_s fltk_png_set_sCAL_s
+#define png_set_sPLT fltk_png_set_sPLT
+#define png_set_sRGB fltk_png_set_sRGB
+#define png_set_sRGB_gAMA_and_cHRM fltk_png_set_sRGB_gAMA_and_cHRM
+#define png_set_scale_16 fltk_png_set_scale_16
+#define png_set_shift fltk_png_set_shift
+#define png_set_sig_bytes fltk_png_set_sig_bytes
+#define png_set_strip_16 fltk_png_set_strip_16
+#define png_set_strip_alpha fltk_png_set_strip_alpha
+#define png_set_swap fltk_png_set_swap
+#define png_set_swap_alpha fltk_png_set_swap_alpha
+#define png_set_tIME fltk_png_set_tIME
+#define png_set_tRNS fltk_png_set_tRNS
+#define png_set_tRNS_to_alpha fltk_png_set_tRNS_to_alpha
+#define png_set_text fltk_png_set_text
+#define png_set_text_compression_level fltk_png_set_text_compression_level
+#define png_set_text_compression_mem_level fltk_png_set_text_compression_mem_level
+#define png_set_text_compression_method fltk_png_set_text_compression_method
+#define png_set_text_compression_strategy fltk_png_set_text_compression_strategy
+#define png_set_text_compression_window_bits fltk_png_set_text_compression_window_bits
+#define png_set_unknown_chunk_location fltk_png_set_unknown_chunk_location
+#define png_set_unknown_chunks fltk_png_set_unknown_chunks
+#define png_set_user_limits fltk_png_set_user_limits
+#define png_set_user_transform_info fltk_png_set_user_transform_info
+#define png_set_write_fn fltk_png_set_write_fn
+#define png_set_write_status_fn fltk_png_set_write_status_fn
+#define png_set_write_user_transform_fn fltk_png_set_write_user_transform_fn
+#define png_sig_cmp fltk_png_sig_cmp
+#define png_start_read_image fltk_png_start_read_image
+#define png_warning fltk_png_warning
+#define png_write_chunk fltk_png_write_chunk
+#define png_write_chunk_data fltk_png_write_chunk_data
+#define png_write_chunk_end fltk_png_write_chunk_end
+#define png_write_chunk_start fltk_png_write_chunk_start
+#define png_write_end fltk_png_write_end
+#define png_write_flush fltk_png_write_flush
+#define png_write_image fltk_png_write_image
+#define png_write_info fltk_png_write_info
+#define png_write_info_before_PLTE fltk_png_write_info_before_PLTE
+#define png_write_png fltk_png_write_png
+#define png_write_row fltk_png_write_row
+#define png_write_rows fltk_png_write_rows
+#define png_write_sig fltk_png_write_sig
+#define fltk_png_get_uint_32(buf) PNG_get_uint_32(buf)
+#define fltk_png_get_uint_16(buf) PNG_get_uint_16(buf)
+#define fltk_png_get_int_32(buf) PNG_get_int_32(buf)
 #endif /* PNGLCONF_H */
diff --git png/pngprefix.h png/pngprefix.h
new file mode 100644
index 0000000..7d69b12
--- /dev/null
+++ png/pngprefix.h
@@ -0,0 +1,166 @@
+/*
+ * FLTK symbol prefixes for libpng
+ * This is a generated file: see README.bundled-libs.txt
+*/
+#define png_sRGB_table fltk_png_sRGB_table
+#define png_sRGB_base fltk_png_sRGB_base
+#define png_sRGB_delta fltk_png_sRGB_delta
+#define png_zstream_error fltk_png_zstream_error
+#define png_free_buffer_list fltk_png_free_buffer_list
+#define png_fixed fltk_png_fixed
+#define png_user_version_check fltk_png_user_version_check
+#define png_malloc_base fltk_png_malloc_base
+#define png_malloc_array fltk_png_malloc_array
+#define png_realloc_array fltk_png_realloc_array
+#define png_create_png_struct fltk_png_create_png_struct
+#define png_destroy_png_struct fltk_png_destroy_png_struct
+#define png_free_jmpbuf fltk_png_free_jmpbuf
+#define png_zalloc fltk_png_zalloc
+#define png_zfree fltk_png_zfree
+#define png_default_read_data fltk_png_default_read_data
+#define png_push_fill_buffer fltk_png_push_fill_buffer
+#define png_default_write_data fltk_png_default_write_data
+#define png_default_flush fltk_png_default_flush
+#define png_reset_crc fltk_png_reset_crc
+#define png_write_data fltk_png_write_data
+#define png_read_sig fltk_png_read_sig
+#define png_read_chunk_header fltk_png_read_chunk_header
+#define png_read_data fltk_png_read_data
+#define png_crc_read fltk_png_crc_read
+#define png_crc_finish fltk_png_crc_finish
+#define png_crc_error fltk_png_crc_error
+#define png_calculate_crc fltk_png_calculate_crc
+#define png_flush fltk_png_flush
+#define png_write_IHDR fltk_png_write_IHDR
+#define png_write_PLTE fltk_png_write_PLTE
+#define png_compress_IDAT fltk_png_compress_IDAT
+#define png_write_IEND fltk_png_write_IEND
+#define png_write_gAMA_fixed fltk_png_write_gAMA_fixed
+#define png_write_sBIT fltk_png_write_sBIT
+#define png_write_cHRM_fixed fltk_png_write_cHRM_fixed
+#define png_write_sRGB fltk_png_write_sRGB
+#define png_write_eXIf fltk_png_write_eXIf
+#define png_write_iCCP fltk_png_write_iCCP
+#define png_write_sPLT fltk_png_write_sPLT
+#define png_write_tRNS fltk_png_write_tRNS
+#define png_write_bKGD fltk_png_write_bKGD
+#define png_write_hIST fltk_png_write_hIST
+#define png_write_tEXt fltk_png_write_tEXt
+#define png_write_zTXt fltk_png_write_zTXt
+#define png_write_iTXt fltk_png_write_iTXt
+#define png_set_text_2 fltk_png_set_text_2
+#define png_write_oFFs fltk_png_write_oFFs
+#define png_write_pCAL fltk_png_write_pCAL
+#define png_write_pHYs fltk_png_write_pHYs
+#define png_write_tIME fltk_png_write_tIME
+#define png_write_sCAL_s fltk_png_write_sCAL_s
+#define png_write_finish_row fltk_png_write_finish_row
+#define png_write_start_row fltk_png_write_start_row
+#define png_combine_row fltk_png_combine_row
+#define png_do_read_interlace fltk_png_do_read_interlace
+#define png_do_write_interlace fltk_png_do_write_interlace
+#define png_read_filter_row fltk_png_read_filter_row
+#define png_write_find_filter fltk_png_write_find_filter
+#define png_read_IDAT_data fltk_png_read_IDAT_data
+#define png_read_finish_IDAT fltk_png_read_finish_IDAT
+#define png_read_finish_row fltk_png_read_finish_row
+#define png_read_start_row fltk_png_read_start_row
+#define png_zlib_inflate fltk_png_zlib_inflate
+#define png_read_transform_info fltk_png_read_transform_info
+#define png_do_strip_channel fltk_png_do_strip_channel
+#define png_do_swap fltk_png_do_swap
+#define png_do_packswap fltk_png_do_packswap
+#define png_do_invert fltk_png_do_invert
+#define png_do_bgr fltk_png_do_bgr
+#define png_handle_IHDR fltk_png_handle_IHDR
+#define png_handle_PLTE fltk_png_handle_PLTE
+#define png_handle_IEND fltk_png_handle_IEND
+#define png_handle_bKGD fltk_png_handle_bKGD
+#define png_handle_cHRM fltk_png_handle_cHRM
+#define png_handle_eXIf fltk_png_handle_eXIf
+#define png_handle_gAMA fltk_png_handle_gAMA
+#define png_handle_hIST fltk_png_handle_hIST
+#define png_handle_iCCP fltk_png_handle_iCCP
+#define png_handle_iTXt fltk_png_handle_iTXt
+#define png_handle_oFFs fltk_png_handle_oFFs
+#define png_handle_pCAL fltk_png_handle_pCAL
+#define png_handle_pHYs fltk_png_handle_pHYs
+#define png_handle_sBIT fltk_png_handle_sBIT
+#define png_handle_sCAL fltk_png_handle_sCAL
+#define png_handle_sPLT fltk_png_handle_sPLT
+#define png_handle_sRGB fltk_png_handle_sRGB
+#define png_handle_tEXt fltk_png_handle_tEXt
+#define png_handle_tIME fltk_png_handle_tIME
+#define png_handle_tRNS fltk_png_handle_tRNS
+#define png_handle_zTXt fltk_png_handle_zTXt
+#define png_check_chunk_name fltk_png_check_chunk_name
+#define png_check_chunk_length fltk_png_check_chunk_length
+#define png_handle_unknown fltk_png_handle_unknown
+#define png_chunk_unknown_handling fltk_png_chunk_unknown_handling
+#define png_do_read_transformations fltk_png_do_read_transformations
+#define png_do_write_transformations fltk_png_do_write_transformations
+#define png_init_read_transformations fltk_png_init_read_transformations
+#define png_push_read_chunk fltk_png_push_read_chunk
+#define png_push_read_sig fltk_png_push_read_sig
+#define png_push_check_crc fltk_png_push_check_crc
+#define png_push_save_buffer fltk_png_push_save_buffer
+#define png_push_restore_buffer fltk_png_push_restore_buffer
+#define png_push_read_IDAT fltk_png_push_read_IDAT
+#define png_process_IDAT_data fltk_png_process_IDAT_data
+#define png_push_process_row fltk_png_push_process_row
+#define png_push_handle_unknown fltk_png_push_handle_unknown
+#define png_push_have_info fltk_png_push_have_info
+#define png_push_have_end fltk_png_push_have_end
+#define png_push_have_row fltk_png_push_have_row
+#define png_push_read_end fltk_png_push_read_end
+#define png_process_some_data fltk_png_process_some_data
+#define png_read_push_finish_row fltk_png_read_push_finish_row
+#define png_push_handle_tEXt fltk_png_push_handle_tEXt
+#define png_push_read_tEXt fltk_png_push_read_tEXt
+#define png_push_handle_zTXt fltk_png_push_handle_zTXt
+#define png_push_read_zTXt fltk_png_push_read_zTXt
+#define png_push_handle_iTXt fltk_png_push_handle_iTXt
+#define png_push_read_iTXt fltk_png_push_read_iTXt
+#define png_colorspace_set_gamma fltk_png_colorspace_set_gamma
+#define png_colorspace_sync_info fltk_png_colorspace_sync_info
+#define png_colorspace_sync fltk_png_colorspace_sync
+#define png_colorspace_set_chromaticities fltk_png_colorspace_set_chromaticities
+#define png_colorspace_set_endpoints fltk_png_colorspace_set_endpoints
+#define png_colorspace_set_sRGB fltk_png_colorspace_set_sRGB
+#define png_colorspace_set_ICC fltk_png_colorspace_set_ICC
+#define png_icc_check_length fltk_png_icc_check_length
+#define png_icc_check_header fltk_png_icc_check_header
+#define png_icc_check_tag_table fltk_png_icc_check_tag_table
+#define png_icc_set_sRGB fltk_png_icc_set_sRGB
+#define png_colorspace_set_rgb_coefficients fltk_png_colorspace_set_rgb_coefficients
+#define png_check_IHDR fltk_png_check_IHDR
+#define png_do_check_palette_indexes fltk_png_do_check_palette_indexes
+#define png_fixed_error fltk_png_fixed_error
+#define png_safecat fltk_png_safecat
+#define png_format_number fltk_png_format_number
+#define png_warning_parameter fltk_png_warning_parameter
+#define png_warning_parameter_unsigned fltk_png_warning_parameter_unsigned
+#define png_warning_parameter_signed fltk_png_warning_parameter_signed
+#define png_formatted_warning fltk_png_formatted_warning
+#define png_app_warning fltk_png_app_warning
+#define png_app_error fltk_png_app_error
+#define png_chunk_report fltk_png_chunk_report
+#define png_ascii_from_fp fltk_png_ascii_from_fp
+#define png_ascii_from_fixed fltk_png_ascii_from_fixed
+#define png_check_fp_number fltk_png_check_fp_number
+#define png_check_fp_string fltk_png_check_fp_string
+#define png_muldiv fltk_png_muldiv
+#define png_muldiv_warn fltk_png_muldiv_warn
+#define png_reciprocal fltk_png_reciprocal
+#define png_reciprocal2 fltk_png_reciprocal2
+#define png_gamma_significant fltk_png_gamma_significant
+#define png_gamma_correct fltk_png_gamma_correct
+#define png_gamma_16bit_correct fltk_png_gamma_16bit_correct
+#define png_gamma_8bit_correct fltk_png_gamma_8bit_correct
+#define png_destroy_gamma_table fltk_png_destroy_gamma_table
+#define png_build_gamma_table fltk_png_build_gamma_table
+#define png_safe_error fltk_png_safe_error
+#define png_safe_warning fltk_png_safe_warning
+#define png_safe_execute fltk_png_safe_execute
+#define png_image_error fltk_png_image_error
+#define png_check_keyword fltk_png_check_keyword
diff --git zlib/gzread.c zlib/gzread.c
index 956b91e..47445de 100644
--- zlib/gzread.c
+++ zlib/gzread.c
@@ -440,7 +440,7 @@ z_size_t ZEXPORT gzfread(buf, size, nitems, file)
 
 /* -- see zlib.h -- */
 #ifdef Z_PREFIX_SET
-#  undef z_gzgetc
+#  undef fltk_z_gzgetc		/* FLTK */
 #else
 #  undef gzgetc
 #endif
diff --git zlib/zconf.h zlib/zconf.h
index 9ab9caa..74f0526 100644
--- zlib/zconf.h
+++ zlib/zconf.h
@@ -13,6 +13,10 @@
 #ifndef ZCONF_H
 #define ZCONF_H
 
+/* FLTK: enable symbol prefixes, see README.bundled-libs.txt */
+#define Z_PREFIX 1
+#define z_errmsg fltk_z_errmsg
+
 #if ! (defined(_WIN32) || defined(WIN32))   /* FLTK */
 #  define HAVE_UNISTD_H                     /* FLTK */
 #endif                                      /* FLTK */
@@ -27,152 +31,152 @@
 #  define Z_PREFIX_SET
 
 /* all linked symbols and init macros */
-#  define _dist_code            z__dist_code
-#  define _length_code          z__length_code
-#  define _tr_align             z__tr_align
-#  define _tr_flush_bits        z__tr_flush_bits
-#  define _tr_flush_block       z__tr_flush_block
-#  define _tr_init              z__tr_init
-#  define _tr_stored_block      z__tr_stored_block
-#  define _tr_tally             z__tr_tally
-#  define adler32               z_adler32
-#  define adler32_combine       z_adler32_combine
-#  define adler32_combine64     z_adler32_combine64
-#  define adler32_z             z_adler32_z
+#  define _dist_code            fltk_z__dist_code
+#  define _length_code          fltk_z__length_code
+#  define _tr_align             fltk_z__tr_align
+#  define _tr_flush_bits        fltk_z__tr_flush_bits
+#  define _tr_flush_block       fltk_z__tr_flush_block
+#  define _tr_init              fltk_z__tr_init
+#  define _tr_stored_block      fltk_z__tr_stored_block
+#  define _tr_tally             fltk_z__tr_tally
+#  define adler32               fltk_z_adler32
+#  define adler32_combine       fltk_z_adler32_combine
+#  define adler32_combine64     fltk_z_adler32_combine64
+#  define adler32_z             fltk_z_adler32_z
 #  ifndef Z_SOLO
-#    define compress              z_compress
-#    define compress2             z_compress2
-#    define compressBound         z_compressBound
+#    define compress              fltk_z_compress
+#    define compress2             fltk_z_compress2
+#    define compressBound         fltk_z_compressBound
 #  endif
-#  define crc32                 z_crc32
-#  define crc32_combine         z_crc32_combine
-#  define crc32_combine64       z_crc32_combine64
-#  define crc32_z               z_crc32_z
-#  define deflate               z_deflate
-#  define deflateBound          z_deflateBound
-#  define deflateCopy           z_deflateCopy
-#  define deflateEnd            z_deflateEnd
-#  define deflateGetDictionary  z_deflateGetDictionary
-#  define deflateInit           z_deflateInit
-#  define deflateInit2          z_deflateInit2
-#  define deflateInit2_         z_deflateInit2_
-#  define deflateInit_          z_deflateInit_
-#  define deflateParams         z_deflateParams
-#  define deflatePending        z_deflatePending
-#  define deflatePrime          z_deflatePrime
-#  define deflateReset          z_deflateReset
-#  define deflateResetKeep      z_deflateResetKeep
-#  define deflateSetDictionary  z_deflateSetDictionary
-#  define deflateSetHeader      z_deflateSetHeader
-#  define deflateTune           z_deflateTune
-#  define deflate_copyright     z_deflate_copyright
-#  define get_crc_table         z_get_crc_table
+#  define crc32                 fltk_z_crc32
+#  define crc32_combine         fltk_z_crc32_combine
+#  define crc32_combine64       fltk_z_crc32_combine64
+#  define crc32_z               fltk_z_crc32_z
+#  define deflate               fltk_z_deflate
+#  define deflateBound          fltk_z_deflateBound
+#  define deflateCopy           fltk_z_deflateCopy
+#  define deflateEnd            fltk_z_deflateEnd
+#  define deflateGetDictionary  fltk_z_deflateGetDictionary
+#  define deflateInit           fltk_z_deflateInit
+#  define deflateInit2          fltk_z_deflateInit2
+#  define deflateInit2_         fltk_z_deflateInit2_
+#  define deflateInit_          fltk_z_deflateInit_
+#  define deflateParams         fltk_z_deflateParams
+#  define deflatePending        fltk_z_deflatePending
+#  define deflatePrime          fltk_z_deflatePrime
+#  define deflateReset          fltk_z_deflateReset
+#  define deflateResetKeep      fltk_z_deflateResetKeep
+#  define deflateSetDictionary  fltk_z_deflateSetDictionary
+#  define deflateSetHeader      fltk_z_deflateSetHeader
+#  define deflateTune           fltk_z_deflateTune
+#  define deflate_copyright     fltk_z_deflate_copyright
+#  define get_crc_table         fltk_z_get_crc_table
 #  ifndef Z_SOLO
-#    define gz_error              z_gz_error
-#    define gz_intmax             z_gz_intmax
-#    define gz_strwinerror        z_gz_strwinerror
-#    define gzbuffer              z_gzbuffer
-#    define gzclearerr            z_gzclearerr
-#    define gzclose               z_gzclose
-#    define gzclose_r             z_gzclose_r
-#    define gzclose_w             z_gzclose_w
-#    define gzdirect              z_gzdirect
-#    define gzdopen               z_gzdopen
-#    define gzeof                 z_gzeof
-#    define gzerror               z_gzerror
-#    define gzflush               z_gzflush
-#    define gzfread               z_gzfread
-#    define gzfwrite              z_gzfwrite
-#    define gzgetc                z_gzgetc
-#    define gzgetc_               z_gzgetc_
-#    define gzgets                z_gzgets
-#    define gzoffset              z_gzoffset
-#    define gzoffset64            z_gzoffset64
-#    define gzopen                z_gzopen
-#    define gzopen64              z_gzopen64
+#    define gz_error              fltk_z_gz_error
+#    define gz_intmax             fltk_z_gz_intmax
+#    define gz_strwinerror        fltk_z_gz_strwinerror
+#    define gzbuffer              fltk_z_gzbuffer
+#    define gzclearerr            fltk_z_gzclearerr
+#    define gzclose               fltk_z_gzclose
+#    define gzclose_r             fltk_z_gzclose_r
+#    define gzclose_w             fltk_z_gzclose_w
+#    define gzdirect              fltk_z_gzdirect
+#    define gzdopen               fltk_z_gzdopen
+#    define gzeof                 fltk_z_gzeof
+#    define gzerror               fltk_z_gzerror
+#    define gzflush               fltk_z_gzflush
+#    define gzfread               fltk_z_gzfread
+#    define gzfwrite              fltk_z_gzfwrite
+#    define gzgetc                fltk_z_gzgetc
+#    define gzgetc_               fltk_z_gzgetc_
+#    define gzgets                fltk_z_gzgets
+#    define gzoffset              fltk_z_gzoffset
+#    define gzoffset64            fltk_z_gzoffset64
+#    define gzopen                fltk_z_gzopen
+#    define gzopen64              fltk_z_gzopen64
 #    ifdef _WIN32
-#      define gzopen_w              z_gzopen_w
+#      define gzopen_w              fltk_z_gzopen_w
 #    endif
-#    define gzprintf              z_gzprintf
-#    define gzputc                z_gzputc
-#    define gzputs                z_gzputs
-#    define gzread                z_gzread
-#    define gzrewind              z_gzrewind
-#    define gzseek                z_gzseek
-#    define gzseek64              z_gzseek64
-#    define gzsetparams           z_gzsetparams
-#    define gztell                z_gztell
-#    define gztell64              z_gztell64
-#    define gzungetc              z_gzungetc
-#    define gzvprintf             z_gzvprintf
-#    define gzwrite               z_gzwrite
+#    define gzprintf              fltk_z_gzprintf
+#    define gzputc                fltk_z_gzputc
+#    define gzputs                fltk_z_gzputs
+#    define gzread                fltk_z_gzread
+#    define gzrewind              fltk_z_gzrewind
+#    define gzseek                fltk_z_gzseek
+#    define gzseek64              fltk_z_gzseek64
+#    define gzsetparams           fltk_z_gzsetparams
+#    define gztell                fltk_z_gztell
+#    define gztell64              fltk_z_gztell64
+#    define gzungetc              fltk_z_gzungetc
+#    define gzvprintf             fltk_z_gzvprintf
+#    define gzwrite               fltk_z_gzwrite
 #  endif
-#  define inflate               z_inflate
-#  define inflateBack           z_inflateBack
-#  define inflateBackEnd        z_inflateBackEnd
-#  define inflateBackInit       z_inflateBackInit
-#  define inflateBackInit_      z_inflateBackInit_
-#  define inflateCodesUsed      z_inflateCodesUsed
-#  define inflateCopy           z_inflateCopy
-#  define inflateEnd            z_inflateEnd
-#  define inflateGetDictionary  z_inflateGetDictionary
-#  define inflateGetHeader      z_inflateGetHeader
-#  define inflateInit           z_inflateInit
-#  define inflateInit2          z_inflateInit2
-#  define inflateInit2_         z_inflateInit2_
-#  define inflateInit_          z_inflateInit_
-#  define inflateMark           z_inflateMark
-#  define inflatePrime          z_inflatePrime
-#  define inflateReset          z_inflateReset
-#  define inflateReset2         z_inflateReset2
-#  define inflateResetKeep      z_inflateResetKeep
-#  define inflateSetDictionary  z_inflateSetDictionary
-#  define inflateSync           z_inflateSync
-#  define inflateSyncPoint      z_inflateSyncPoint
-#  define inflateUndermine      z_inflateUndermine
-#  define inflateValidate       z_inflateValidate
-#  define inflate_copyright     z_inflate_copyright
-#  define inflate_fast          z_inflate_fast
-#  define inflate_table         z_inflate_table
+#  define inflate               fltk_z_inflate
+#  define inflateBack           fltk_z_inflateBack
+#  define inflateBackEnd        fltk_z_inflateBackEnd
+#  define inflateBackInit       fltk_z_inflateBackInit
+#  define inflateBackInit_      fltk_z_inflateBackInit_
+#  define inflateCodesUsed      fltk_z_inflateCodesUsed
+#  define inflateCopy           fltk_z_inflateCopy
+#  define inflateEnd            fltk_z_inflateEnd
+#  define inflateGetDictionary  fltk_z_inflateGetDictionary
+#  define inflateGetHeader      fltk_z_inflateGetHeader
+#  define inflateInit           fltk_z_inflateInit
+#  define inflateInit2          fltk_z_inflateInit2
+#  define inflateInit2_         fltk_z_inflateInit2_
+#  define inflateInit_          fltk_z_inflateInit_
+#  define inflateMark           fltk_z_inflateMark
+#  define inflatePrime          fltk_z_inflatePrime
+#  define inflateReset          fltk_z_inflateReset
+#  define inflateReset2         fltk_z_inflateReset2
+#  define inflateResetKeep      fltk_z_inflateResetKeep
+#  define inflateSetDictionary  fltk_z_inflateSetDictionary
+#  define inflateSync           fltk_z_inflateSync
+#  define inflateSyncPoint      fltk_z_inflateSyncPoint
+#  define inflateUndermine      fltk_z_inflateUndermine
+#  define inflateValidate       fltk_z_inflateValidate
+#  define inflate_copyright     fltk_z_inflate_copyright
+#  define inflate_fast          fltk_z_inflate_fast
+#  define inflate_table         fltk_z_inflate_table
 #  ifndef Z_SOLO
-#    define uncompress            z_uncompress
-#    define uncompress2           z_uncompress2
+#    define uncompress            fltk_z_uncompress
+#    define uncompress2           fltk_z_uncompress2
 #  endif
-#  define zError                z_zError
+#  define zError                fltk_z_zError
 #  ifndef Z_SOLO
-#    define zcalloc               z_zcalloc
-#    define zcfree                z_zcfree
+#    define zcalloc               fltk_z_zcalloc
+#    define zcfree                fltk_z_zcfree
 #  endif
-#  define zlibCompileFlags      z_zlibCompileFlags
-#  define zlibVersion           z_zlibVersion
+#  define zlibCompileFlags      fltk_z_zlibCompileFlags
+#  define zlibVersion           fltk_z_zlibVersion
 
 /* all zlib typedefs in zlib.h and zconf.h */
-#  define Byte                  z_Byte
-#  define Bytef                 z_Bytef
-#  define alloc_func            z_alloc_func
-#  define charf                 z_charf
-#  define free_func             z_free_func
+#  define Byte                  fltk_z_Byte
+#  define Bytef                 fltk_z_Bytef
+#  define alloc_func            fltk_z_alloc_func
+#  define charf                 fltk_z_charf
+#  define free_func             fltk_z_free_func
 #  ifndef Z_SOLO
-#    define gzFile                z_gzFile
+#    define gzFile                fltk_z_gzFile
 #  endif
-#  define gz_header             z_gz_header
-#  define gz_headerp            z_gz_headerp
-#  define in_func               z_in_func
-#  define intf                  z_intf
-#  define out_func              z_out_func
-#  define uInt                  z_uInt
-#  define uIntf                 z_uIntf
-#  define uLong                 z_uLong
-#  define uLongf                z_uLongf
-#  define voidp                 z_voidp
-#  define voidpc                z_voidpc
-#  define voidpf                z_voidpf
+#  define gz_header             fltk_z_gz_header
+#  define gz_headerp            fltk_z_gz_headerp
+#  define in_func               fltk_z_in_func
+#  define intf                  fltk_z_intf
+#  define out_func              fltk_z_out_func
+#  define uInt                  fltk_z_uInt
+#  define uIntf                 fltk_z_uIntf
+#  define uLong                 fltk_z_uLong
+#  define uLongf                fltk_z_uLongf
+#  define voidp                 fltk_z_voidp
+#  define voidpc                fltk_z_voidpc
+#  define voidpf                fltk_z_voidpf
 
 /* all zlib structs in zlib.h and zconf.h */
-#  define gz_header_s           z_gz_header_s
-#  define internal_state        z_internal_state
+#  define gz_header_s           fltk_z_gz_header_s
+#  define internal_state        fltk_z_internal_state
 
-#endif
+#endif /* Z_PREFIX */ /* FLTK */
 
 #if defined(__MSDOS__) && !defined(MSDOS)
 #  define MSDOS
diff --git zlib/zlib.h zlib/zlib.h
index f09cdaf..d7f13a9 100644
--- zlib/zlib.h
+++ zlib/zlib.h
@@ -1776,17 +1776,17 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
                                          const char *version,
                                          int stream_size));
 #ifdef Z_PREFIX_SET
-#  define z_deflateInit(strm, level) \
+#  define fltk_z_deflateInit(strm, level) \
           deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
-#  define z_inflateInit(strm) \
+#  define fltk_z_inflateInit(strm) \
           inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
-#  define z_deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
+#  define fltk_z_deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
           deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
                         (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
-#  define z_inflateInit2(strm, windowBits) \
+#  define fltk_z_inflateInit2(strm, windowBits) \
           inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
                         (int)sizeof(z_stream))
-#  define z_inflateBackInit(strm, windowBits, window) \
+#  define fltk_z_inflateBackInit(strm, windowBits, window) \
           inflateBackInit_((strm), (windowBits), (window), \
                            ZLIB_VERSION, (int)sizeof(z_stream))
 #else
@@ -1821,8 +1821,8 @@ struct gzFile_s {
 };
 ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));  /* backward compatibility */
 #ifdef Z_PREFIX_SET
-#  undef z_gzgetc
-#  define z_gzgetc(g) \
+#  undef fltk_z_gzgetc
+#  define fltk_z_gzgetc(g) \
           ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g))
 #else
 #  define gzgetc(g) \
@@ -1846,12 +1846,12 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));  /* backward compatibility */
 
 #if !defined(ZLIB_INTERNAL) && defined(Z_WANT64)
 #  ifdef Z_PREFIX_SET
-#    define z_gzopen z_gzopen64
-#    define z_gzseek z_gzseek64
-#    define z_gztell z_gztell64
-#    define z_gzoffset z_gzoffset64
-#    define z_adler32_combine z_adler32_combine64
-#    define z_crc32_combine z_crc32_combine64
+#    define fltk_z_gzopen fltk_z_gzopen64
+#    define fltk_z_gzseek fltk_z_gzseek64
+#    define fltk_z_gztell fltk_z_gztell64
+#    define fltk_z_gzoffset fltk_z_gzoffset64
+#    define fltk_z_adler32_combine fltk_z_adler32_combine64
+#    define fltk_z_crc32_combine fltk_z_crc32_combine64
 #  else
 #    define gzopen gzopen64
 #    define gzseek gzseek64
Direct Link to Message ]
 
     
Previous Message ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.