[devel] Eliminated scripts/*.def in favor of libpng.def;

updated projects/visualc71 and removed scripts/makefile.cygwin.
This commit is contained in:
Glenn Randers-Pehrson 2010-03-13 20:30:10 -06:00
parent 1a0e1d27e4
commit d7da8bb121
26 changed files with 595 additions and 1377 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.5.0beta14 - March 13, 2010 Libpng 1.5.0beta14 - March 14, 2010
This is not intended to be a public release. It will be replaced This is not intended to be a public release. It will be replaced
within a few weeks by a public version or by another test version. within a few weeks by a public version or by another test version.
@ -97,7 +97,7 @@ version 1.5.0beta13 [March 10, 2010]
expressions (i.e. a trailing ';' must always be added) and correct expressions (i.e. a trailing ';' must always be added) and correct
the format statements in various png_debug messages. the format statements in various png_debug messages.
version 1.5.0beta14 [March 13, 2010] version 1.5.0beta14 [March 14, 2010]
Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c
Revised Makefile.am to account for recent additions and replacements. Revised Makefile.am to account for recent additions and replacements.
Corrected CE and OS/2 DEF files (scripts/png*def) for symbols removed and Corrected CE and OS/2 DEF files (scripts/png*def) for symbols removed and
@ -117,6 +117,8 @@ version 1.5.0beta14 [March 13, 2010]
Updated the symbol file generation to stop it adding spurious spaces Updated the symbol file generation to stop it adding spurious spaces
to EOL (coming from preprocessor macro expansion). Added a facility to EOL (coming from preprocessor macro expansion). Added a facility
to join tokens in the output and rewrite *.dfn to use this. to join tokens in the output and rewrite *.dfn to use this.
Eliminated scripts/*.def in favor of libpng.def; updated projects/visualc71
and removed scripts/makefile.cygwin.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

View File

@ -2574,7 +2574,7 @@ version 1.5.0beta13 [March 10, 2010]
expressions (i.e. a trailing ';' must always be added) and correct expressions (i.e. a trailing ';' must always be added) and correct
the format statements in various png_debug messages. the format statements in various png_debug messages.
version 1.5.0beta14 [March 13, 2010] version 1.5.0beta14 [March 14, 2010]
Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c
Revised Makefile.am to account for recent additions and replacements. Revised Makefile.am to account for recent additions and replacements.
Corrected CE and OS/2 DEF files (scripts/png*def) for symbols removed and Corrected CE and OS/2 DEF files (scripts/png*def) for symbols removed and
@ -2594,6 +2594,8 @@ version 1.5.0beta14 [March 13, 2010]
Updated the symbol file generation to stop it adding spurious spaces Updated the symbol file generation to stop it adding spurious spaces
to EOL (coming from preprocessor macro expansion). Added a facility to EOL (coming from preprocessor macro expansion). Added a facility
to join tokens in the output and rewrite *.dfn to use this. to join tokens in the output and rewrite *.dfn to use this.
Eliminated scripts/*.def in favor of libpng.def; updated projects/visualc71
and removed scripts/makefile.cygwin.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

204
libpng.def Normal file
View File

@ -0,0 +1,204 @@
;--------------------------------------------------------------
; LIBPNG module definition file for Windows, WindowsCE and OS/2
; On OS/2 uncomment lines preceded by ;0S2
;--------------------------------------------------------------
; If you give the library an explicit name one or other files
; may need modifying to support the new name on one or more
; systems.
LIBRARY
;OS2 DESCRIPTION "PNG image compression library"
;OS2 CODE PRELOAD MOVEABLE DISCARDABLE
EXPORTS
;Version 1.5.0beta14
png_access_version_number @1
png_set_sig_bytes @2
png_sig_cmp @3
png_create_read_struct @4
png_create_write_struct @5
png_get_compression_buffer_size @6
png_set_compression_buffer_size @7
png_set_longjmp_fn @8
png_longjmp @9
png_reset_zstream @10
png_create_read_struct_2 @11
png_create_write_struct_2 @12
png_write_sig @13
png_write_chunk @14
png_write_chunk_start @15
png_write_chunk_data @16
png_write_chunk_end @17
png_create_info_struct @18
png_info_init_3 @19
png_write_info_before_PLTE @20
png_write_info @21
png_read_info @22
png_convert_to_rfc1123 @23
png_convert_from_struct_tm @24
png_convert_from_time_t @25
png_set_expand @26
png_set_expand_gray_1_2_4_to_8 @27
png_set_palette_to_rgb @28
png_set_tRNS_to_alpha @29
png_set_bgr @30
png_set_gray_to_rgb @31
png_set_rgb_to_gray @32
png_set_rgb_to_gray_fixed @33
png_get_rgb_to_gray_status @34
png_build_grayscale_palette @35
png_set_strip_alpha @36
png_set_swap_alpha @37
png_set_invert_alpha @38
png_set_filler @39
png_set_add_alpha @40
png_set_swap @41
png_set_packing @42
png_set_packswap @43
png_set_shift @44
png_set_interlace_handling @45
png_set_invert_mono @46
png_set_background @47
png_set_strip_16 @48
png_set_gamma @50
png_set_flush @51
png_write_flush @52
png_start_read_image @53
png_read_update_info @54
png_read_rows @55
png_read_row @56
png_read_image @57
png_write_row @58
png_write_rows @59
png_write_image @60
png_write_end @61
png_read_end @62
png_destroy_info_struct @63
png_destroy_read_struct @64
png_destroy_write_struct @65
png_set_crc_action @66
png_set_filter @67
png_set_filter_heuristics @68
png_set_compression_level @69
png_set_compression_mem_level @70
png_set_compression_strategy @71
png_set_compression_window_bits @72
png_set_compression_method @73
png_init_io @74
png_set_error_fn @75
png_get_error_ptr @76
png_set_write_fn @77
png_set_read_fn @78
png_get_io_ptr @79
png_set_read_status_fn @80
png_set_write_status_fn @81
png_set_mem_fn @82
png_get_mem_ptr @83
png_set_read_user_transform_fn @84
png_set_write_user_transform_fn @85
png_set_user_transform_info @86
png_get_user_transform_ptr @87
png_set_read_user_chunk_fn @88
png_get_user_chunk_ptr @89
png_set_progressive_read_fn @90
png_get_progressive_ptr @91
png_process_data @92
png_progressive_combine_row @93
png_malloc @94
png_calloc @95
png_malloc_warn @96
png_free @97
png_free_data @98
png_data_freer @99
png_malloc_default @100
png_free_default @101
png_error @102
png_chunk_error @103
png_warning @105
png_chunk_warning @106
png_get_valid @110
png_get_rowbytes @111
png_get_rows @112
png_set_rows @113
png_get_channels @114
png_get_image_width @115
png_get_image_height @116
png_get_bit_depth @117
png_get_color_type @118
png_get_filter_type @119
png_get_interlace_type @120
png_get_compression_type @121
png_get_pixels_per_meter @122
png_get_x_pixels_per_meter @123
png_get_y_pixels_per_meter @124
png_get_pixel_aspect_ratio @125
png_get_x_offset_pixels @126
png_get_y_offset_pixels @127
png_get_x_offset_microns @128
png_get_y_offset_microns @129
png_get_signature @130
png_get_bKGD @131
png_set_bKGD @132
png_get_cHRM @133
png_get_cHRM_fixed @134
png_set_cHRM @135
png_set_cHRM_fixed @136
png_get_gAMA @137
png_get_gAMA_fixed @138
png_set_gAMA @139
png_set_gAMA_fixed @140
png_get_hIST @141
png_set_hIST @142
png_get_IHDR @143
png_set_IHDR @144
png_get_oFFs @145
png_set_oFFs @146
png_get_pCAL @147
png_set_pCAL @148
png_get_pHYs @149
png_set_pHYs @150
png_get_PLTE @151
png_set_PLTE @152
png_get_sBIT @153
png_set_sBIT @154
png_get_sRGB @155
png_set_sRGB @156
png_set_sRGB_gAMA_and_cHRM @157
png_get_iCCP @158
png_set_iCCP @159
png_get_sPLT @160
png_set_sPLT @161
png_get_text @162
png_set_text @163
png_get_tIME @164
png_set_tIME @165
png_get_tRNS @166
png_set_tRNS @167
png_get_sCAL @168
png_set_sCAL @170
png_set_keep_unknown_chunks @172
png_handle_as_unknown @173
png_set_unknown_chunks @174
png_set_unknown_chunk_location @175
png_get_unknown_chunks @176
png_set_invalid @177
png_read_png @178
png_write_png @179
png_get_copyright @180
png_get_header_ver @181
png_get_header_version @182
png_get_libpng_ver @183
png_permit_mng_features @184
png_set_user_limits @186
png_get_user_width_max @187
png_get_user_height_max @188
png_set_chunk_cache_max @189
png_get_chunk_cache_max @190
png_set_chunk_malloc_max @191
png_get_chunk_malloc_max @192
png_get_io_state @199
png_get_io_chunk_name @200
png_get_uint_31 @204
png_save_uint_32 @205
png_save_int_32 @206
png_save_uint_16 @207

10
png.h
View File

@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library /* png.h - header file for PNG reference library
* *
* libpng version 1.5.0beta14 - March 13, 2010 * libpng version 1.5.0beta14 - March 14, 2010
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -11,7 +11,7 @@
* Authors and maintainers: * Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.5.0beta14 - March 13, 2010: Glenn * libpng versions 0.97, January 1998, through 1.5.0beta14 - March 14, 2010: Glenn
* See also "Contributing Authors", below. * See also "Contributing Authors", below.
* *
* Note about libpng version numbers: * Note about libpng version numbers:
@ -170,7 +170,7 @@
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* *
* libpng versions 1.2.6, August 15, 2004, through 1.5.0beta14, March 13, 2010, are * libpng versions 1.2.6, August 15, 2004, through 1.5.0beta14, March 14, 2010, are
* Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are * Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5 * distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors: * with the following individual added to the list of Contributing Authors:
@ -282,7 +282,7 @@
* Y2K compliance in libpng: * Y2K compliance in libpng:
* ========================= * =========================
* *
* March 13, 2010 * March 14, 2010
* *
* Since the PNG Development group is an ad-hoc body, we can't make * Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration. * an official declaration.
@ -346,7 +346,7 @@
/* Version information for png.h - this should match the version in png.c */ /* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.5.0beta14" #define PNG_LIBPNG_VER_STRING "1.5.0beta14"
#define PNG_HEADER_VERSION_STRING \ #define PNG_HEADER_VERSION_STRING \
" libpng version 1.5.0beta14 - March 13, 2010\n" " libpng version 1.5.0beta14 - March 14, 2010\n"
#define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_SONUM 15
#define PNG_LIBPNG_VER_DLLNUM 15 #define PNG_LIBPNG_VER_DLLNUM 15

579
pngconf.h
View File

@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng /* pngconf.h - machine configurable file for libpng
* *
* libpng version 1.5.0beta14 - March 13, 2010 * libpng version 1.5.0beta14 - March 14, 2010
* *
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -167,82 +167,289 @@
# define PNG_MAX_MALLOC_64K # define PNG_MAX_MALLOC_64K
#endif #endif
/* Special munging to support doing things the 'cygwin' way: /* This macro protects us against machines that don't have function
* 'Normal' png-on-win32 defines/defaults: * prototypes (ie K&R style headers). If your compiler does not handle
* PNG_BUILD_DLL -- building dll * function prototypes, define this macro and use the included ansi2knr.
* PNG_USE_DLL -- building an application, linking to dll * I've always been able to use _NO_PROTO as the indicator, but you may
* (no define) -- building static library, or building an * need to drag the empty declaration out in front of here, or change the
* application and linking to the static lib * ifdef to suit your own needs.
* 'Cygwin' defines/defaults:
* PNG_BUILD_DLL -- (ignored) building the dll
* (no define) -- (ignored) building an application, linking to the dll
* PNG_STATIC -- (ignored) building the static lib, or building an
* application that links to the static lib.
* ALL_STATIC -- (ignored) building various static libs, or building an
* application that links to the static libs.
* Thus,
* a cygwin user should define either PNG_BUILD_DLL or PNG_STATIC, and
* this bit of #ifdefs will define the 'correct' config variables based on
* that. If a cygwin user *wants* to define 'PNG_USE_DLL' that's okay, but
* unnecessary.
*
* Also, the precedence order is:
* ALL_STATIC (since we can't #undef something outside our namespace)
* PNG_BUILD_DLL
* PNG_STATIC
* (nothing) == PNG_USE_DLL
*
* CYGWIN (2002-01-20): The preceding is now obsolete. With the advent
* of auto-import in binutils, we no longer need to worry about
* __declspec(dllexport) / __declspec(dllimport) and friends. Therefore,
* we don't need to worry about PNG_STATIC or ALL_STATIC when it comes
* to __declspec() stuff. However, we DO need to worry about
* PNG_BUILD_DLL and PNG_STATIC because those change some defaults
* such as CONSOLE_IO.
*/ */
#ifdef __CYGWIN__ #ifndef PNGARG
# ifdef ALL_STATIC
# ifdef PNG_BUILD_DLL # ifdef OF /* zlib prototype munger */
# undef PNG_BUILD_DLL # define PNGARG(arglist) OF(arglist)
# endif
# ifdef PNG_USE_DLL
# undef PNG_USE_DLL
# endif
# ifdef PNG_DLL
# undef PNG_DLL
# endif
# ifndef PNG_STATIC
# define PNG_STATIC
# endif
# else # else
# ifdef PNG_BUILD_DLL
# ifdef PNG_STATIC # ifdef _NO_PROTO
# undef PNG_STATIC # define PNGARG(arglist) ()
# endif
# ifdef PNG_USE_DLL
# undef PNG_USE_DLL
# endif
# ifndef PNG_DLL
# define PNG_DLL
# endif
# else # else
# ifdef PNG_STATIC # define PNGARG(arglist) arglist
# ifdef PNG_USE_DLL # endif /* _NO_PROTO */
# undef PNG_USE_DLL
# endif # endif /* OF */
# ifdef PNG_DLL
# undef PNG_DLL #endif /* PNGARG */
# endif
# else /* Function calling conventions.
# ifndef PNG_USE_DLL * =============================
# define PNG_USE_DLL * Normally it is not necessary to specify to the compiler how to call
# endif * a function - it just does it - however on x86 systems derived from
# ifndef PNG_DLL * Microsoft and Borland C compilers ('IBM PC', 'DOS', 'Windows' systems
# define PNG_DLL * and some others) there are multiple ways to call a function and the
# endif * default can be changed on the compiler command line. For this reason
# endif * libpng allows the calling convention of every exported function and
* every function called via a user supplied function pointer to be
* specified. This is done by defining the following macros:
*
* PNGAPI Calling convention for exported functions.
* PNGCBAPI Calling convention for user provided (callback) functions.
* PNGCAPI Calling convention used by the ANSI-C library (required
* for longjmp callbacks and sometimes used internally to
* specify the calling convention for zlib).
*
*
* Two common cases are supported:
*
* PNGAPI_RULE=0 Use the operating system convention for PNGAPI and
* the 'C' calling convention (from PNGCAPI) for
* callbacks (PNGCBAPI).
* PNGAPI_RULE=1 Use PNGCAPI - the 'C' calling convention - throughout.
* This is correct on Cygwin implementations, assumed to
* be correct on MingW compilations and likely to work
* in C/C++ only environments everywhere else.
*
* These cases only differ if the operating system does not use the C
* calling convention, at present this just means the above cases
* (x86 DOS/Windows sytems) and, even then, this does not apply to
* Cygwin running on those systems.
*/
#ifndef PNGAPI_RULE
# define PNGAPI_RULE 0
#endif
/* Symbol export
* =============
* When building a shared library it is almost always necessary to tell
* the compiler which symbols to export. The png.h macro 'PNG_EXPORT'
* is used to mark the symbols. On some systems these symbols can be
* extracted at link time and need no special processing by the compiler,
* on other systems the symbols are flagged by the compiler and just
* the declaration requires a special tag applied (unfortunately) in a
* compiler dependent way. Some systems can do either.
*
* A small number of older systems also require a symbol from a DLL to
* be flagged to the program that calls it. This is a problem because
* we do not know in the header file included by application code that
* the symbol will come from a shared library, as opposed to a statically
* linked one. For this reason the application must tell us by setting
* the magic flag PNG_USE_DLL to turn on the special processing before
* it includes png.h.
*
* Two additional macros are used to make this happen:
*
* PNG_IMPEXP The magic (if any) to cause a symbol to be exported from
* the build or imported if PNG_USE_DLL is set - compiler
* and system specific.
*
* PNG_EXPORT_TYPE(type) A macro that pre or appends PNG_IMPEXP to
* 'type', compiler specific.
*/
/* System specific discovery.
* ==========================
* This code is used at build time to find PNG_IMPEXP, the API settings
* and PNG_EXPORT_TYPE(), it may also set a macro to indicate the DLL
* import processing is possible.
*
* NOTE: this is poorly tested and may miss many cases, the default
* (everything empty) is harmless unless the result is a DLL that is
* intended to be distributed!
*/
#if defined(__CYGWIN__)
/* Cygwin: force PNGCAPI to cdecl. */
# ifndef PNGCAPI
# define PNGCAPI __cdecl
# endif
/* Use dllexport and give the option of forcing DLL linking. */
# ifdef DLL_EXPORT /* set by libtool */
# ifndef PNG_IMPEXP
# define PNG_IMPEXP __declspec(dllexport)
# endif # endif
# endif # endif
# ifndef PNG_DLL_IMPORT
/* Always set this because we don't know what will happen when
* the application is compiled.
*/
# define PNG_DLL_IMPORT __declspec(dllimport)
# endif
#else /* !Cygwin */
# if ( defined(_Windows) || defined(_WINDOWS) || defined(WIN32) ||\
defined(_WIN32) || defined(__WIN32__) ) &&\
( defined(_X86_) || defined(_X64_) || defined(_M_IX86) ||\
defined(_M_X64) || defined(_M_IA64) )
/* Windows system (DOS doesn't support DLLs) running on x86/x64 and
* not being built under Cygwin or by a MingW compiler.
*/
# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800))
# ifndef PNGCAPI
# define PNGCAPI __cdecl
# endif
# if PNGAPI_RULE == 0 && !defined(PNGAPI)
# define PNGAPI __stdcall
# endif
# else
/* An older compiler, or one not detected (erroneously) above. */
# ifndef PNGCAPI
# define PNGCAPI _cdecl
# endif
# if PNGAPI_RULE == 0 && !defined(PNGAPI)
# define PNGAPI _stdcall
# endif
# endif /* compiler/api */
/* NOTE: PNGCBAPI always defaults to PNGCAPI. */
# if defined(DLL_EXPORT) || defined(_WINDLL) || defined(_DLL) ||\
defined(__DLL__)
/* Building a DLL; check the compiler. */
# if (defined(_MSC_VER) && _MSC_VER < 800) ||\
(defined(__BORLANDC__) && __BORLANDC__ < 0x500)
/* older Borland and MSC
* compilers used '__export' and required this to be after
* the type.
*/
# ifndef PNG_EXPORT_TYPE
# define PNG_EXPORT_TYPE(type) type PNG_IMPEXP
# endif
# ifndef PNG_IMPEXP
# define PNG_IMPEXP __export
# endif
# else /* newer compiler */
# ifndef PNG_IMPEXP
# define PNG_IMPEXP __declspec(dllexport)
# endif
# ifndef PNG_DLL_IMPORT
# define PNG_DLL_IMPORT __declspec(dllimport)
# endif
# endif /* compiler */
# endif /* building DLL */
# else /* !Cygwin && !Windows/x86 */
# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
# ifndef PNGAPI
# define PNGAPI _System
# endif
# else /* !Cygwin && !Windows/x86 && !OS/2 */
/* Use the defaults */
# endif /* other system, !OS/2 */
# endif /* !Windows/x86 */
#endif /* !Cygwin */
/* Now do all the defaulting . */
#ifndef PNGCAPI
# define PNGCAPI
#endif
#ifndef PNGCBAPI
# define PNGCBAPI PNGCAPI
#endif
#ifndef PNGAPI
# define PNGAPI PNGCAPI
#endif
#ifndef PNG_IMPEXP
# define PNG_IMPEXP
#endif
#ifndef PNG_EXPORT_TYPE
# define PNG_EXPORT_TYPE(type) PNG_IMPEXP type
#endif
#ifndef PNG_EXPORT
# define PNG_EXPORT(type, name, args, attributes, ordinal)\
PNG_EXPORT_TYPE(type) (PNGAPI name) PNGARG(args) attributes
#endif
/* Use PNG_REMOVED to comment out a removed interface. */
#ifndef PNG_REMOVED
# define PNG_REMOVED(name, ordinal)
#endif
#ifndef PNG_CALLBACK
# define PNG_CALLBACK(type, name, args, attributes)\
type (PNGCBAPI name) PNGARG(args) attributes
#endif
/* Support for compiler specific function attributes. These are used
* so that where compiler support is available incorrect use of API
* functions in png.h will generate compiler warnings.
*
* Added at libpng-1.2.41.
*/
#ifndef PNG_NO_PEDANTIC_WARNINGS
#ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED
# define PNG_PEDANTIC_WARNINGS_SUPPORTED
#endif
#endif
#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED
/* Support for compiler specific function attributes. These are used
* so that where compiler support is available incorrect use of API
* functions in png.h will generate compiler warnings. Added at libpng
* version 1.2.41.
*/
# ifdef __GNUC__
# ifndef PNG_USE_RESULT
# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
# endif
# ifndef PNG_NORETURN
# define PNG_NORETURN __attribute__((__noreturn__))
# endif
# ifndef PNG_ALLOCATED
# define PNG_ALLOCATED __attribute__((__malloc__))
# endif
/* This specifically protects structure members that should only be
* accessed from within the library, therefore should be empty during
* a library build.
*/
# ifndef PNGLIB_BUILD
# ifndef PNG_DEPRECATED
# define PNG_DEPRECATED __attribute__((__deprecated__))
# endif
# ifndef PNG_DEPSTRUCT
# define PNG_DEPSTRUCT __attribute__((__deprecated__))
# endif
# ifndef PNG_PRIVATE
# if 0 /* Doesn't work so we use deprecated instead*/
# define PNG_PRIVATE \
__attribute__((warning("This function is not exported by libpng.")))
# else
# define PNG_PRIVATE \
__attribute__((__deprecated__))
# endif
# endif /* PNG_PRIVATE */
# endif /* PNGLIB_BUILD */
# endif /* __GNUC__ */
#endif /* PNG_PEDANTIC_WARNINGS */
#ifndef PNG_DEPRECATED
# define PNG_DEPRECATED /* Use of this function is deprecated */
#endif
#ifndef PNG_USE_RESULT
# define PNG_USE_RESULT /* The result of this function must be checked */
#endif
#ifndef PNG_NORETURN
# define PNG_NORETURN /* This function does not return */
#endif
#ifndef PNG_ALLOCATED
# define PNG_ALLOCATED /* The result of the function is new memory */
#endif
#ifndef PNG_DEPSTRUCT
# define PNG_DEPSTRUCT /* Access to this struct member is deprecated */
#endif
#ifndef PNG_PRIVATE
# define PNG_PRIVATE /* This is a private libpng function */
#endif #endif
/* This protects us against compilers that run on a windowing system /* This protects us against compilers that run on a windowing system
@ -286,29 +493,6 @@
# define PNG_CONSOLE_IO_SUPPORTED # define PNG_CONSOLE_IO_SUPPORTED
#endif #endif
/* This macro protects us against machines that don't have function
* prototypes (ie K&R style headers). If your compiler does not handle
* function prototypes, define this macro and use the included ansi2knr.
* I've always been able to use _NO_PROTO as the indicator, but you may
* need to drag the empty declaration out in front of here, or change the
* ifdef to suit your own needs.
*/
#ifndef PNGARG
# ifdef OF /* zlib prototype munger */
# define PNGARG(arglist) OF(arglist)
# else
# ifdef _NO_PROTO
# define PNGARG(arglist) ()
# else
# define PNGARG(arglist) arglist
# endif /* _NO_PROTO */
# endif /* OF */
#endif /* PNGARG */
/* Try to determine if we are compiling on a Mac. Note that testing for /* Try to determine if we are compiling on a Mac. Note that testing for
* just __MWERKS__ is not good enough, because the Codewarrior is now used * just __MWERKS__ is not good enough, because the Codewarrior is now used
* on non-Mac platforms. * on non-Mac platforms.
@ -1155,213 +1339,8 @@ typedef double FAR * FAR * png_doublepp;
/* Pointers to pointers to pointers; i.e., pointer to array */ /* Pointers to pointers to pointers; i.e., pointer to array */
typedef char FAR * FAR * FAR * png_charppp; typedef char FAR * FAR * FAR * png_charppp;
/* Define PNG_BUILD_DLL if the module being built is a Windows
* LIBPNG DLL.
*
* Define PNG_USE_DLL if you want to *link* to the Windows LIBPNG DLL.
* It is equivalent to Microsoft predefined macro _DLL that is
* automatically defined when you compile using the share
* version of the CRT (C Run-Time library)
*
* The cygwin mods make this behavior a little different:
* Define PNG_BUILD_DLL if you are building a dll for use with cygwin
* Define PNG_STATIC if you are building a static library for use with cygwin,
* -or- if you are building an application that you want to link to the
* static library.
* PNG_USE_DLL is defined by default (no user action needed) unless one of
* the other flags is defined.
*/
#if !defined(PNG_DLL) && (defined(PNG_BUILD_DLL) || defined(PNG_USE_DLL))
# define PNG_DLL
#endif
#ifdef __CYGWIN__
/*NOTE: Force __cdecl throughout CYGWIN */
# undef PNGCAPI
# define PNGCAPI __cdecl
/*Allow declspec through for the moment */
#endif
#define PNG_USE_LOCAL_ARRAYS /* Not used in libpng, defined for legacy apps */ #define PNG_USE_LOCAL_ARRAYS /* Not used in libpng, defined for legacy apps */
/* If you define PNGAPI, e.g., with compiler option "-DPNGAPI=__stdcall",
* you may get warnings regarding the linkage of png_zalloc and png_zfree.
* Don't ignore those warnings; you must also reset the default calling
* convention in your compiler to match your PNGAPI, and you must build
* zlib and your applications the same way you build libpng.
*/
#if defined(__MINGW32__) && !defined(PNG_MODULEDEF)
/* NOTE: causes weird effects below. */
# ifndef PNG_NO_MODULEDEF
# define PNG_NO_MODULEDEF
# endif
#endif
#if !defined(PNG_IMPEXP) && defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF)
# define PNG_IMPEXP
#endif
#if defined(PNG_DLL) || defined(_DLL) || defined(__DLL__ ) || \
(( defined(_Windows) || defined(_WINDOWS) || \
defined(WIN32) || defined(_WIN32) || defined(__WIN32__) ))
# ifndef PNGCAPI
# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800))
# define PNGCAPI __cdecl
# else
# define PNGCAPI _cdecl
# endif
# endif
# if !defined(PNG_IMPEXP) && (!defined(PNG_DLL) || \
0 /* WINCOMPILER_WITH_NO_SUPPORT_FOR_DECLIMPEXP */)
# define PNG_IMPEXP
# endif
# ifndef PNG_IMPEXP
/* Borland/Microsoft */
# if defined(_MSC_VER) || defined(__BORLANDC__)
# if (_MSC_VER >= 800) || (__BORLANDC__ >= 0x500)
/* Default order: PNG_IMPEXP before type */
# else
# define PNG_EXPORT_OLD /* Use type PNG_IMPEXP order */
# ifdef PNG_BUILD_DLL
# define PNG_IMPEXP __export
# else
# define PNG_IMPEXP /*__import */ /* doesn't exist AFAIK in VC++ */
# endif /* Exists in Borland C++ for
C++ classes (== huge) */
# endif
# endif
# ifndef PNG_IMPEXP
# ifdef PNGLIB_BUILD
# define PNG_IMPEXP __declspec(dllexport)
# else
# define PNG_IMPEXP __declspec(dllimport)
# endif
# endif
# endif /* PNG_IMPEXP */
#else /* !(DLL || non-cygwin WINDOWS) */
# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
# ifndef PNGAPI
# define PNGAPI _System
# define PNGCAPI
# endif
# else
# if 0 /* ... other platforms, with other meanings */
# endif
# endif
#endif
#ifndef PNG_EXPORT
# ifdef PNG_EXPORT_OLD
# define PNG_EXPORT(type, name, args, attributes, ordinal)\
type PNG_IMPEXP (PNGAPI name) PNGARG(args) attributes
# else
# define PNG_EXPORT(type, name, args, attributes, ordinal)\
PNG_IMPEXP type (PNGAPI name) PNGARG(args) attributes
# endif
#endif
#ifndef PNG_REMOVED
# define PNG_REMOVED(name, ordinal)
#endif
#ifndef PNG_CALLBACK
# define PNG_CALLBACK(type, name, args, attributes)\
type (PNGCBAPI name) PNGARG(args) attributes
#endif
#ifndef PNGCAPI
# define PNGCAPI
#endif
#ifndef PNGCBAPI
# define PNGCBAPI PNGCAPI
#endif
#ifndef PNGAPI
# define PNGAPI PNGCAPI
#endif
#ifndef PNG_IMPEXP
# define PNG_IMPEXP
#endif
/* Support for compiler specific function attributes. These are used
* so that where compiler support is available incorrect use of API
* functions in png.h will generate compiler warnings.
*
* Added at libpng-1.2.41.
*/
#ifndef PNG_NO_PEDANTIC_WARNINGS
#ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED
# define PNG_PEDANTIC_WARNINGS_SUPPORTED
#endif
#endif
#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED
/* Support for compiler specific function attributes. These are used
* so that where compiler support is available incorrect use of API
* functions in png.h will generate compiler warnings. Added at libpng
* version 1.2.41.
*/
# ifdef __GNUC__
# ifndef PNG_USE_RESULT
# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
# endif
# ifndef PNG_NORETURN
# define PNG_NORETURN __attribute__((__noreturn__))
# endif
# ifndef PNG_ALLOCATED
# define PNG_ALLOCATED __attribute__((__malloc__))
# endif
/* This specifically protects structure members that should only be
* accessed from within the library, therefore should be empty during
* a library build.
*/
# ifndef PNGLIB_BUILD
# ifndef PNG_DEPRECATED
# define PNG_DEPRECATED __attribute__((__deprecated__))
# endif
# ifndef PNG_DEPSTRUCT
# define PNG_DEPSTRUCT __attribute__((__deprecated__))
# endif
# ifndef PNG_PRIVATE
# if 0 /* Doesn't work so we use deprecated instead*/
# define PNG_PRIVATE \
__attribute__((warning("This function is not exported by libpng.")))
# else
# define PNG_PRIVATE \
__attribute__((__deprecated__))
# endif
# endif /* PNG_PRIVATE */
# endif /* PNGLIB_BUILD */
# endif /* __GNUC__ */
#endif /* PNG_PEDANTIC_WARNINGS */
#ifndef PNG_DEPRECATED
# define PNG_DEPRECATED /* Use of this function is deprecated */
#endif
#ifndef PNG_USE_RESULT
# define PNG_USE_RESULT /* The result of this function must be checked */
#endif
#ifndef PNG_NORETURN
# define PNG_NORETURN /* This function does not return */
#endif
#ifndef PNG_ALLOCATED
# define PNG_ALLOCATED /* The result of the function is new memory */
#endif
#ifndef PNG_DEPSTRUCT
# define PNG_DEPSTRUCT /* Access to this struct member is deprecated */
#endif
#ifndef PNG_PRIVATE
# define PNG_PRIVATE /* This is a private libpng function */
#endif
/* Users may want to use these so they are not private. Any library /* Users may want to use these so they are not private. Any library
* functions that are passed far data must be model-independent. * functions that are passed far data must be model-independent.
*/ */

View File

@ -5,7 +5,7 @@
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
* *
* Last changed in libpng version 1.5.0 - March 12, 2010 * Last changed in libpng version 1.5.0 - March 14, 2010
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer

View File

@ -5,7 +5,7 @@
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
* *
* Last changed in libpng version 1.5.0 - March 12, 2010 * Last changed in libpng version 1.5.0 - March 14, 2010
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer

View File

@ -1,7 +1,7 @@
/* pngpriv.h - private declarations for use inside libpng /* pngpriv.h - private declarations for use inside libpng
* *
* libpng version 1.5.0beta14 - March 13, 2010 * libpng version 1.5.0beta14 - March 14, 2010
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngrio.c - functions for data input /* pngrio.c - functions for data input
* *
* Last changed in libpng 1.5.0 [March 12, 2010] * Last changed in libpng 1.5.0 [March 14, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file /* pngrutil.c - utilities to read a PNG file
* *
* Last changed in libpng 1.4.1 [March 10, 2010] * Last changed in libpng 1.4.1 [March 14, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -32,10 +32,11 @@ png_get_uint_31(png_structp png_ptr, png_bytep buf)
png_uint_32 PNGAPI png_uint_32 PNGAPI
png_get_uint_32(png_bytep buf) png_get_uint_32(png_bytep buf)
{ {
png_uint_32 i = ((png_uint_32)(*buf) << 24) + png_uint_32 i =
((png_uint_32)(*(buf )) << 24) +
((png_uint_32)(*(buf + 1)) << 16) + ((png_uint_32)(*(buf + 1)) << 16) +
((png_uint_32)(*(buf + 2)) << 8) + ((png_uint_32)(*(buf + 2)) << 8) +
(png_uint_32)(*(buf + 3)); ((png_uint_32)(*(buf + 3)) ) ;
return (i); return (i);
} }
@ -254,7 +255,10 @@ png_inflate(png_structp png_ptr, const png_byte *data, png_size_t size,
* buffer if available. * buffer if available.
*/ */
{ {
char *msg, umsg[52]; char *msg;
#ifdef PNG_CONSOLE_IO_SUPPORTED
char umsg[52];
#endif
if (png_ptr->zstream.msg != 0) if (png_ptr->zstream.msg != 0)
msg = png_ptr->zstream.msg; msg = png_ptr->zstream.msg;
else else
@ -376,9 +380,9 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
else /* if (comp_type != PNG_COMPRESSION_TYPE_BASE) */ else /* if (comp_type != PNG_COMPRESSION_TYPE_BASE) */
{ {
#ifdef PNG_STDIO_SUPPORTED
char umsg[50]; char umsg[50];
#ifdef PNG_STDIO_SUPPORTED
png_snprintf(umsg, sizeof umsg, png_snprintf(umsg, sizeof umsg,
"Unknown zTXt compression type %d", comp_type); "Unknown zTXt compression type %d", comp_type);
png_warning(png_ptr, umsg); png_warning(png_ptr, umsg);

View File

@ -5,7 +5,7 @@
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
* *
* Last changed in libpng version 1.5.0 - March 12, 2010 * Last changed in libpng version 1.5.0 - March 14, 2010
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer

View File

@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng /* pngtest.c - a simple test program to test libpng
* *
* Last changed in libpng 1.5.0 [March 12, 2010] * Last changed in libpng 1.5.0 [March 14, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -268,7 +268,7 @@ static int wrote_question = 0;
*/ */
#ifndef USE_FAR_KEYWORD #ifndef USE_FAR_KEYWORD
static void static void PNGCBAPI
pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length) pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
{ {
png_size_t check = 0; png_size_t check = 0;
@ -297,7 +297,7 @@ pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
#define NEAR_BUF_SIZE 1024 #define NEAR_BUF_SIZE 1024
#define MIN(a,b) (a <= b ? a : b) #define MIN(a,b) (a <= b ? a : b)
static void static void PNGCBAPI
pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length) pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
{ {
png_size_t check; png_size_t check;
@ -337,7 +337,7 @@ pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
#endif /* USE_FAR_KEYWORD */ #endif /* USE_FAR_KEYWORD */
#ifdef PNG_WRITE_FLUSH_SUPPORTED #ifdef PNG_WRITE_FLUSH_SUPPORTED
static void static void PNGCBAPI
pngtest_flush(png_structp png_ptr) pngtest_flush(png_structp png_ptr)
{ {
/* Do nothing; fflush() is said to be just a waste of energy. */ /* Do nothing; fflush() is said to be just a waste of energy. */
@ -351,7 +351,7 @@ pngtest_flush(png_structp png_ptr)
* than changing the library. * than changing the library.
*/ */
#ifndef USE_FAR_KEYWORD #ifndef USE_FAR_KEYWORD
static void static void PNGCBAPI
pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length) pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
{ {
png_size_t check; png_size_t check;
@ -371,7 +371,7 @@ pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
#define NEAR_BUF_SIZE 1024 #define NEAR_BUF_SIZE 1024
#define MIN(a,b) (a <= b ? a : b) #define MIN(a,b) (a <= b ? a : b)
static void static void PNGCBAPI
pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length) pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
{ {
png_size_t check; png_size_t check;
@ -417,7 +417,7 @@ pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
* here if you don't want to. In the default configuration, png_ptr is * here if you don't want to. In the default configuration, png_ptr is
* not used, but it is passed in case it may be useful. * not used, but it is passed in case it may be useful.
*/ */
static void static void PNGCBAPI
pngtest_warning(png_structp png_ptr, png_const_charp message) pngtest_warning(png_structp png_ptr, png_const_charp message)
{ {
PNG_CONST char *name = "UNKNOWN (ERROR!)"; PNG_CONST char *name = "UNKNOWN (ERROR!)";
@ -434,7 +434,7 @@ pngtest_warning(png_structp png_ptr, png_const_charp message)
* function is used by default, or if the program supplies NULL for the * function is used by default, or if the program supplies NULL for the
* error function pointer in png_set_error_fn(). * error function pointer in png_set_error_fn().
*/ */
static void static void PNGCBAPI
pngtest_error(png_structp png_ptr, png_const_charp message) pngtest_error(png_structp png_ptr, png_const_charp message)
{ {
pngtest_warning(png_ptr, message); pngtest_warning(png_ptr, message);
@ -471,12 +471,12 @@ static int maximum_allocation = 0;
static int total_allocation = 0; static int total_allocation = 0;
static int num_allocations = 0; static int num_allocations = 0;
png_voidp png_debug_malloc png_voidp PNGCBAPI png_debug_malloc PNGARG((png_structp png_ptr,
PNGARG((png_structp png_ptr, png_alloc_size_t size)); png_alloc_size_t size));
void png_debug_free PNGARG((png_structp png_ptr, png_voidp ptr)); void PNGCBAPI png_debug_free PNGARG((png_structp png_ptr, png_voidp ptr));
png_voidp png_voidp
png_debug_malloc(png_structp png_ptr, png_alloc_size_t size) PNGCBAPI png_debug_malloc(png_structp png_ptr, png_alloc_size_t size)
{ {
/* png_malloc has already tested for NULL; png_create_struct calls /* png_malloc has already tested for NULL; png_create_struct calls
@ -523,7 +523,7 @@ png_debug_malloc(png_structp png_ptr, png_alloc_size_t size)
} }
/* Free a pointer. It is removed from the list at the same time. */ /* Free a pointer. It is removed from the list at the same time. */
void void PNGCBAPI
png_debug_free(png_structp png_ptr, png_voidp ptr) png_debug_free(png_structp png_ptr, png_voidp ptr)
{ {
if (png_ptr == NULL) if (png_ptr == NULL)
@ -690,8 +690,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
#if defined(PNG_USER_MEM_SUPPORTED) && PNG_DEBUG #if defined(PNG_USER_MEM_SUPPORTED) && PNG_DEBUG
read_ptr = read_ptr =
png_create_read_struct_2(PNG_LIBPNG_VER_STRING, NULL, png_create_read_struct_2(PNG_LIBPNG_VER_STRING, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, png_debug_malloc, png_debug_free);
(png_malloc_ptr)png_debug_malloc, (png_free_ptr)png_debug_free);
#else #else
read_ptr = read_ptr =
png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);

View File

@ -1,7 +1,7 @@
/* pngwio.c - functions for data output /* pngwio.c - functions for data output
* *
* Last changed in libpng 1.5.0 [March 12, 2010] * Last changed in libpng 1.5.0 [March 14, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -5,6 +5,16 @@ Copyright (C) 2004 Simon-Pierre Cadieux.
This code is released under the libpng license. This code is released under the libpng license.
For conditions of distribution and use, see copyright notice in png.h For conditions of distribution and use, see copyright notice in png.h
Changes in libpng 15:
* The standard calling convention (used in all builds) is __stdcall for
libpng exported functions and __cdecl for function callbacks.
Consequently the VB configuration is no longer required but is provided
in libpng15vb.dll for backward compatibility.
* The DEF file is no longer required, the DLLs link by name. A standard
DEF file, libpng.def, is included in the distribution for applications
that require link by number (ordinal), builds that require link by
number should use the ordinals from this file (or from png.h).
Assumptions: Assumptions:
* The libpng source files are in ..\.. * The libpng source files are in ..\..
* The zlib source files are in ..\..\..\zlib * The zlib source files are in ..\..\..\zlib

View File

@ -11,28 +11,27 @@
<Configurations> <Configurations>
<Configuration <Configuration
Name="DLL Release|Win32" Name="DLL Release|Win32"
OutputDirectory=".\Win32_DLL_Release" OutputDirectory="Win32_DLL_Release"
IntermediateDirectory=".\Win32_DLL_Release" IntermediateDirectory="Win32_DLL_Release"
ConfigurationType="2"> ConfigurationType="2">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..;..\..\..\zlib" AdditionalIncludeDirectories="..\..;..\..\..\zlib"
PreprocessorDefinitions="WIN32;NDEBUG;PNG_BUILD_DLL;ZLIB_DLL;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="NDEBUG;ZLIB_DLL;_CRT_SECURE_NO_WARNINGS"
StringPooling="TRUE" StringPooling="TRUE"
RuntimeLibrary="2" RuntimeLibrary="2"
EnableFunctionLevelLinking="TRUE" EnableFunctionLevelLinking="TRUE"
UsePrecompiledHeader="3" UsePrecompiledHeader="3"
PrecompiledHeaderThrough="png.h" PrecompiledHeaderThrough="pngpriv.h"
WarningLevel="3" WarningLevel="3"
CompileAs="0"/> CompileAs="0"/>
<Tool <Tool
Name="VCCustomBuildTool"/> Name="VCCustomBuildTool"/>
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
OutputFile="$(OutDir)/libpng15.dll" OutputFile="$(OutDir)\libpng15.dll"
LinkIncremental="1" LinkIncremental="1"/>
ModuleDefinitionFile="..\..\scripts\pngwin.def"/>
<Tool <Tool
Name="VCMIDLTool"/> Name="VCMIDLTool"/>
<Tool <Tool
@ -78,8 +77,7 @@
Name="VCCustomBuildTool"/> Name="VCCustomBuildTool"/>
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
OutputFile="$(OutDir)/libpng15d.dll" OutputFile="$(OutDir)\libpng15d.dll"
ModuleDefinitionFile="..\..\scripts\pngwin.def"
GenerateDebugInformation="TRUE"/> GenerateDebugInformation="TRUE"/>
<Tool <Tool
Name="VCMIDLTool"/> Name="VCMIDLTool"/>
@ -107,26 +105,26 @@
</Configuration> </Configuration>
<Configuration <Configuration
Name="DLL VB|Win32" Name="DLL VB|Win32"
OutputDirectory=".\Win32_DLL_VB" OutputDirectory="Win32_DLL_VB"
IntermediateDirectory=".\Win32_DLL_VB" IntermediateDirectory="Win32_DLL_VB"
ConfigurationType="2"> ConfigurationType="2">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..;..\..\..\zlib" AdditionalIncludeDirectories="..\..;..\..\..\zlib"
PreprocessorDefinitions="WIN32;NDEBUG;PNG_BUILD_DLL;ZLIB_DLL;PNGAPI=__stdcall;PNG_NO_MODULEDEF;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="NDEBUG;PNG_NO_STDIO;ZLIB_DLL;_CRT_SECURE_NO_WARNINGS"
StringPooling="TRUE" StringPooling="TRUE"
RuntimeLibrary="2" RuntimeLibrary="2"
EnableFunctionLevelLinking="TRUE" EnableFunctionLevelLinking="TRUE"
UsePrecompiledHeader="3" UsePrecompiledHeader="3"
PrecompiledHeaderThrough="png.h" PrecompiledHeaderThrough="pngpriv.h"
WarningLevel="3" WarningLevel="3"
CompileAs="0"/> CompileAs="0"/>
<Tool <Tool
Name="VCCustomBuildTool"/> Name="VCCustomBuildTool"/>
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
OutputFile="$(OutDir)/libpng15vb.dll" OutputFile="$(OutDir)\libpng15vb.dll"
LinkIncremental="1"/> LinkIncremental="1"/>
<Tool <Tool
Name="VCMIDLTool"/> Name="VCMIDLTool"/>

View File

@ -11,14 +11,14 @@
<Configurations> <Configurations>
<Configuration <Configuration
Name="DLL Release|Win32" Name="DLL Release|Win32"
OutputDirectory=".\Win32_DLL_Release\Test" OutputDirectory="Win32_DLL_Release\Test"
IntermediateDirectory=".\Win32_DLL_Release\Test" IntermediateDirectory="Win32_DLL_Release\Test"
ConfigurationType="1"> ConfigurationType="1">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\zlib" AdditionalIncludeDirectories="..\..\..\zlib"
PreprocessorDefinitions="WIN32;NDEBUG;PNG_DLL;PNG_NO_STDIO;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_WARNINGS"
StringPooling="TRUE" StringPooling="TRUE"
RuntimeLibrary="2" RuntimeLibrary="2"
EnableFunctionLevelLinking="TRUE" EnableFunctionLevelLinking="TRUE"
@ -58,14 +58,14 @@ $(TargetPath) ..\..\pngtest.png $(IntDir)\pngout.png"
</Configuration> </Configuration>
<Configuration <Configuration
Name="DLL Debug|Win32" Name="DLL Debug|Win32"
OutputDirectory=".\Win32_DLL_Debug\Test" OutputDirectory="Win32_DLL_Debug\Test"
IntermediateDirectory=".\Win32_DLL_Debug\Test" IntermediateDirectory="Win32_DLL_Debug\Test"
ConfigurationType="1"> ConfigurationType="1">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\zlib" AdditionalIncludeDirectories="..\..\..\zlib"
PreprocessorDefinitions="WIN32;_DEBUG;PNG_DLL;PNG_NO_STDIO;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="PNG_DEBUG=1;_CRT_SECURE_NO_WARNINGS"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="3" RuntimeLibrary="3"
WarningLevel="3" WarningLevel="3"
@ -106,14 +106,14 @@ $(TargetPath) ..\..\pngtest.png $(IntDir)\pngout.png"
</Configuration> </Configuration>
<Configuration <Configuration
Name="DLL VB|Win32" Name="DLL VB|Win32"
OutputDirectory=".\Win32_DLL_VB\Test" OutputDirectory="Win32_DLL_VB\Test"
IntermediateDirectory=".\Win32_DLL_VB\Test" IntermediateDirectory="Win32_DLL_VB\Test"
ConfigurationType="1"> ConfigurationType="1">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\zlib" AdditionalIncludeDirectories="..\..\..\zlib"
PreprocessorDefinitions="WIN32;NDEBUG;PNG_DLL;PNG_NO_STDIO;PNGAPI=__stdcall;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="NDEBUG;PNG_NO_STDIO;_CRT_SECURE_NO_WARNINGS"
StringPooling="TRUE" StringPooling="TRUE"
RuntimeLibrary="2" RuntimeLibrary="2"
EnableFunctionLevelLinking="TRUE" EnableFunctionLevelLinking="TRUE"
@ -156,14 +156,14 @@ $(TargetPath) ..\..\pngtest.png $(IntDir)\pngout.png"
</Configuration> </Configuration>
<Configuration <Configuration
Name="LIB Release|Win32" Name="LIB Release|Win32"
OutputDirectory=".\Win32_LIB_Release\Test" OutputDirectory="Win32_LIB_Release\Test"
IntermediateDirectory=".\Win32_LIB_Release\Test" IntermediateDirectory="Win32_LIB_Release\Test"
ConfigurationType="1"> ConfigurationType="1">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\zlib" AdditionalIncludeDirectories="..\..\..\zlib"
PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_WARNINGS"
StringPooling="TRUE" StringPooling="TRUE"
RuntimeLibrary="2" RuntimeLibrary="2"
EnableFunctionLevelLinking="TRUE" EnableFunctionLevelLinking="TRUE"
@ -204,14 +204,14 @@ $(TargetPath) ..\..\pngtest.png $(IntDir)\pngout.png"
</Configuration> </Configuration>
<Configuration <Configuration
Name="LIB Debug|Win32" Name="LIB Debug|Win32"
OutputDirectory=".\Win32_LIB_Debug\Test" OutputDirectory="Win32_LIB_Debug\Test"
IntermediateDirectory=".\Win32_LIB_Debug\Test" IntermediateDirectory="Win32_LIB_Debug\Test"
ConfigurationType="1"> ConfigurationType="1">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\zlib" AdditionalIncludeDirectories="..\..\..\zlib"
PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="PNG_DEBUG=1;_CRT_SECURE_NO_WARNINGS"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="3" RuntimeLibrary="3"
WarningLevel="3" WarningLevel="3"

View File

@ -0,0 +1,16 @@
VisualStdio 2010 introduces a new 'TargetName' field, see:
http://social.msdn.microsoft.com/Forums/en/vcprerelease/thread/3c03e730-6a0e-4ee4-a0d6-6a5c3ce4343c
If you upgrade the libpng.sln to 2010 you will have to update the target name
from the default for libpng and zlib as follows:
zlib Library Debug: add 'd' to the end of the default target name
zlib DLL Debug: add '1d' to the end of the default target name
zlib DLL Release: add '1' to the end of the default target name
libpng Library Debug: add 'd' to the end of the default target name
libpng DLL Debug: add '15d' to the end of the default target name
libpng DLL Release: add '15' to the end of the default target name
libpng DLL VB: add '15vb' to the end of the default target name
If you don't do this you will get warnings and some builds will fail.

View File

@ -10,8 +10,8 @@
<Configurations> <Configurations>
<Configuration <Configuration
Name="DLL Release|Win32" Name="DLL Release|Win32"
OutputDirectory=".\Win32_DLL_Release\ZLib" OutputDirectory="Win32_DLL_Release\ZLib"
IntermediateDirectory=".\Win32_DLL_Release\ZLib" IntermediateDirectory="Win32_DLL_Release\ZLib"
ConfigurationType="2"> ConfigurationType="2">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -55,8 +55,8 @@
</Configuration> </Configuration>
<Configuration <Configuration
Name="DLL Debug|Win32" Name="DLL Debug|Win32"
OutputDirectory=".\Win32_DLL_Debug\ZLib" OutputDirectory="Win32_DLL_Debug\ZLib"
IntermediateDirectory=".\Win32_DLL_Debug\ZLib" IntermediateDirectory="Win32_DLL_Debug\ZLib"
ConfigurationType="2"> ConfigurationType="2">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -100,8 +100,8 @@
</Configuration> </Configuration>
<Configuration <Configuration
Name="LIB Release|Win32" Name="LIB Release|Win32"
OutputDirectory=".\Win32_LIB_Release\ZLib" OutputDirectory="Win32_LIB_Release\ZLib"
IntermediateDirectory=".\Win32_LIB_Release\ZLib" IntermediateDirectory="Win32_LIB_Release\ZLib"
ConfigurationType="4"> ConfigurationType="4">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -139,8 +139,8 @@
</Configuration> </Configuration>
<Configuration <Configuration
Name="LIB Debug|Win32" Name="LIB Debug|Win32"
OutputDirectory=".\Win32_LIB_Debug\ZLib" OutputDirectory="Win32_LIB_Debug\ZLib"
IntermediateDirectory=".\Win32_LIB_Debug\ZLib" IntermediateDirectory="Win32_LIB_Debug\ZLib"
ConfigurationType="4"> ConfigurationType="4">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"

View File

@ -1,5 +1,5 @@
Makefiles for libpng version 1.5.0beta14 - March 10, 2010 Makefiles for libpng version 1.5.0beta14 - March 14, 2010
makefile.linux => Linux/ELF makefile makefile.linux => Linux/ELF makefile
(gcc, creates libpng15.so.15.1.5.0beta14) (gcc, creates libpng15.so.15.1.5.0beta14)
@ -33,7 +33,7 @@ Makefiles for libpng version 1.5.0beta14 - March 10, 2010
makefile.msc => Microsoft C makefile makefile.msc => Microsoft C makefile
makefile.netbsd => NetBSD/cc makefile, makes libpng.so. makefile.netbsd => NetBSD/cc makefile, makes libpng.so.
makefile.openbsd => OpenBSD makefile makefile.openbsd => OpenBSD makefile
makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def) makefile.os2 => OS/2 Makefile (gcc and emx, requires libpng.def)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.sggcc => Silicon Graphics (gcc, makefile.sggcc => Silicon Graphics (gcc,
creates libpng15.so.15.1.5.0beta14) creates libpng15.so.15.1.5.0beta14)
@ -58,9 +58,7 @@ Other supporting scripts:
libpng-config-body.in => used by several makefiles to create libpng-config libpng-config-body.in => used by several makefiles to create libpng-config
libpng-config-head.in => used by several makefiles to create libpng-config libpng-config-head.in => used by several makefiles to create libpng-config
libpng.pc.in => Used by several makefiles to create libpng.pc libpng.pc.in => Used by several makefiles to create libpng.pc
pngos2.def => OS/2 module definition file used by makefile.os2
pngwin.def => Module definitions for makefile.cygwin and mingw pngwin.def => Module definitions for makefile.cygwin and mingw
png32ce.def => Module definition file used by makefile.cegcc
pngwin.rc => Used by the visualc6 and visualc71 projects. pngwin.rc => Used by the visualc6 and visualc71 projects.
SCOPTIONS.ppc => Used with smakefile.ppc SCOPTIONS.ppc => Used with smakefile.ppc

View File

@ -29,7 +29,7 @@ NAME = libpng
PACKAGE = $(NAME)-$(VER) PACKAGE = $(NAME)-$(VER)
BIN = libpng15-0.dll BIN = libpng15-0.dll
LIB = libpng15.a libpng15.dll.a libpng.a libpng.dll.a scripts/png32ce.def LIB = libpng15.a libpng15.dll.a libpng.a libpng.dll.a
INCLUDE = png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h INCLUDE = png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
PC = libpng15.pc libpng.pc PC = libpng15.pc libpng.pc
@ -64,7 +64,7 @@ copy-src:
compilation: compilation:
@echo " * Compilation of $(PACKAGE)" @echo " * Compilation of $(PACKAGE)"
cd $(PACKAGE) && CPPFLAGS="$(CPPFLAGS) -DPNG_BUILD_DLL -DPNG_CONSOLE_IO_SUPPORTED -D_WIN32_WCE=0x0420" CFLAGS="$(CFLAGS) -mms-bitfields -O3 -pipe -fomit-frame-pointer" LDFLAGS="$(LDFLAGS) -Wl,--enable-auto-import -Wl,-s" ./configure --prefix=/opt/wince --host=arm-mingw32ce && make cd $(PACKAGE) && CPPFLAGS="$(CPPFLAGS) -DPNG_CONSOLE_IO_SUPPORTED -D_WIN32_WCE=0x0420" CFLAGS="$(CFLAGS) -mms-bitfields -O3 -pipe -fomit-frame-pointer" LDFLAGS="$(LDFLAGS) -Wl,--enable-auto-import -Wl,-s" ./configure --prefix=/opt/wince --host=arm-mingw32ce && make
copy: copy:
@echo " * Copy of binary and development files" @echo " * Copy of binary and development files"

View File

@ -1,291 +0,0 @@
# makefile for cygwin on x86
# Builds both dll (with import lib) and static lib versions
# of the library, and builds two copies of pngtest: one
# statically linked and one dynamically linked.
#
# Copyright (C) 2002, 2006-2008 Soren Anderson, Charles Wilson,
# and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by:
# Copyright (C) 1998-2000 Greg Roelofs
# Copyright (C) 1996, 1997 Andreas Dilger
#
# This code is released under the libpng license.
# For conditions of distribution and use, see the disclaimer
# and license in png.h
# This makefile intends to support building outside the src directory
# if desired. When invoking it, specify an argument to SRCDIR on the
# command line that points to the top of the directory where your source
# is located.
ifdef SRCDIR
VPATH = $(SRCDIR)
else
SRCDIR = .
endif
# Override DESTDIR= on the make install command line to easily support
# installing into a temporary location. Example:
#
# make install DESTDIR=/tmp/build/libpng
#
# If you're going to install into a temporary location
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
# you execute make install.
DESTDIR=
CC=gcc
ifdef MINGW
MINGW_CCFLAGS=-mno-cygwin -I/usr/include/mingw
MINGW_LDFLAGS=-mno-cygwin -L/usr/lib/mingw
endif
# Where "make install" puts libpng*.a, *png*.dll, png.h, and pngconf.h
ifndef prefix
prefix=/usr
$(warning You haven't specified a 'prefix=' location. Defaulting to "/usr")
endif
exec_prefix=$(prefix)
# Where the zlib library and include files are located
ZLIBLIB= /usr/lib
ZLIBINC=
#ZLIBLIB=../zlib
#ZLIBINC=../zlib
ALIGN=
# for i386:
#ALIGN=-malign-loops=2 -malign-functions=2
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
-Wmissing-declarations -Wtraditional -Wcast-align \
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
-W -Wall -O3 $(ALIGN) -funroll-loops \
-fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
LIBNAME = libpng15
PNGMAJ = 15
CYGDLL = 15
SHAREDLIB=cygpng$(CYGDLL).dll
STATLIB=libpng.a
IMPLIB=libpng.dll.a
SHAREDDEF=libpng.def
LIBS=$(SHAREDLIB) $(STATLIB)
EXE=.exe
LDFLAGS=$(strip -L. $(MINGW_LDFLAGS) -lpng $(addprefix -L,$(ZLIBLIB)) -lz)
LDSFLAGS=$(strip -shared -L. $(MINGW_LDFLAGS) -Wl,--export-all)
LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(addprefix -L,$(ZLIBLIB)) -lz
MKDIR_P=/bin/mkdir -pv
RANLIB=ranlib
#RANLIB=echo
INCPATH=$(prefix)/include
LIBPATH=$(exec_prefix)/lib
BINPATH=$(exec_prefix)/bin
MANPATH=$(prefix)/man
MAN3PATH=$(MANPATH)/man3
MAN5PATH=$(MANPATH)/man5
# cosmetic: shortened strings:
S =$(SRCDIR)
D =$(DESTDIR)
DB =$(D)$(BINPATH)
DI =$(D)$(INCPATH)
DL =$(D)$(LIBPATH)
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
pngwtran.o pngmem.o pngerror.o pngpread.o
OBJSDLL = $(OBJS:.o=.pic.o)
.SUFFIXES: .c .o .pic.o
%.o : %.c
$(CC) -c $(CFLAGS) -o $@ $<
%.pic.o : CFLAGS += -DPNG_BUILD_DLL
%.pic.o : %.c
$(CC) -c $(CFLAGS) -o $@ $<
all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config
# Make this to verify that "make [...] install" will do what you want.
buildsetup-tell:
@echo VPATH is set to: \"$(VPATH)\"
@echo prefix is set to: \"$(prefix)\"
@echo -e INCPATH,LIBPATH, etc. are set to:'\n' \
$(addprefix $(D),$(INCPATH)'\n' $(LIBPATH)'\n' $(BINPATH)'\n' \
$(MANPATH)'\n' $(MAN3PATH)'\n' $(MAN5PATH)'\n')'\n'
libpng.pc: scripts/libpng.pc.in
@echo -e Making pkg-config file for this libpng installation..'\n' \
using PREFIX=\"$(prefix)\"'\n'
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
-e s!@exec_prefix@!$(exec_prefix)! \
-e s!@libdir@!$(LIBPATH)! \
-e s!@includedir@!$(INCPATH)! \
-e s!-lpng15!-lpng15\ -lz! > libpng.pc
libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in
@echo -e Making $(LIBNAME) libpng-config file for this libpng \
installation..'\n' using PREFIX=\"$(prefix)\"'\n'
( cat $(S)/scripts/libpng-config-head.in; \
echo prefix=\"$(prefix)\"; \
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
echo L_opts=\"-L$(LIBPATH)\"; \
echo libs=\"-lpng$(CYGDLL) -lz\"; \
cat $(S)/scripts/libpng-config-body.in ) > libpng-config
chmod +x libpng-config
static: all-static
shared: all-shared
all-static: $(STATLIB) pngtest-stat$(EXE)
all-shared: $(SHAREDLIB) pngtest$(EXE)
$(STATLIB): $(OBJS)
ar rc $@ $(OBJS)
$(RANLIB) $@
$(SHAREDDEF): scripts/pngwin.def
cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
sed -e 's/\([^;]*\);/;/' > $@
$(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF)
$(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA)
pngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
pngtest-stat$(EXE): pngtest.o $(STATLIB)
$(CC) -static $(CFLAGS) $< $(LDFLAGS) -o $@
pngtest.pic.o: pngtest.c
$(CC) $(CFLAGS) -c $< -o $@
pngtest.o: pngtest.c png.h pngconf.h
$(CC) $(CFLAGS) -c $< -o $@
test: test-static test-shared
test-static: pngtest-stat$(EXE)
./pngtest-stat $(S)/pngtest.png
test-shared: pngtest$(EXE)
./pngtest $(S)/pngtest.png
install-static: $(STATLIB) install-headers install-man
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
install -m 644 $(STATLIB) $(DL)/$(LIBNAME).a
-@rm -f $(DL)/$(STATLIB)
(cd $(DL); ln -sf $(LIBNAME).a $(STATLIB))
install-shared: $(SHAREDLIB) libpng.pc libpng-config install-headers install-man
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
install -m 644 $(IMPLIB) $(DL)/$(LIBNAME).dll.a
-@rm -f $(DL)/$(IMPLIB)
(cd $(DL); ln -sf $(LIBNAME).dll.a $(IMPLIB))
install -s -m 755 $(SHAREDLIB) $(DB)
install -m 644 libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
(cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
install-headers:
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-@rm -f $(DI)/png.h
-@rm -f $(DI)/pngconf.h
install -m 644 $(S)/png.h $(S)/pngconf.h $(DI)/$(LIBNAME)
-@rm -f $(DI)/libpng
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
install-man:
-@if [ ! -d $(D)$(MAN3PATH) ]; then $(MKDIR_P) $(D)$(MAN3PATH); fi
-@if [ ! -d $(D)$(MAN5PATH) ]; then $(MKDIR_P) $(D)$(MAN5PATH); fi
install -m 644 $(S)/libpngpf.3 $(S)/libpng.3 $(D)$(MAN3PATH)
install -m 644 $(S)/png.5 $(D)$(MAN5PATH)
install-config: libpng-config
-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
-@/bin/rm -f $(DB)/libpng-config
-@/bin/rm -f $(DB)/$(LIBNAME)-config
cp libpng-config $(DB)/$(LIBNAME)-config
chmod 755 $(DB)/$(LIBNAME)-config
(cd $(DB); ln -sf $(LIBNAME)-config libpng-config)
# Run this to verify that a future `configure' run will pick up the settings
# you want.
test-config-install: SHELL=/bin/bash
test-config-install: $(DB)/libpng-config
@echo -e Testing libpng-config functions...'\n'
@ for TYRA in LDFLAGS CPPFLAGS CFLAGS LIBS VERSION; \
do \
printf "(%d)\t %10s =%s\n" $$(($$gytiu + 1)) $$TYRA \
"$$($(DB)/libpng-config `echo --$$TYRA |tr '[:upper:]' '[:lower:]'`)"; \
gytiu=$$(( $$gytiu + 1 )); \
done
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
# move the library to its final location. Use test-dd to test it
# before then.
test-dd:
echo
echo Testing installed dynamic shared library in $(DL).
$(CC) -I$(DI) $(CFLAGS) \
`$(BINPATH)/libpng15-config --cflags` pngtest.c \
-L$(DL) -L$(ZLIBLIB) \
-o pngtestd `$(BINPATH)/libpng15-config --ldflags`
./pngtestd pngtest.png
test-installed:
$(CC) $(CFLAGS) \
`$(BINPATH)/libpng15-config --cflags` pngtest.c \
-L$(ZLIBLIB) \
-o pngtesti$(EXE) `$(BINPATH)/libpng15-config --ldflags`
./pngtesti$(EXE) pngtest.png
clean:
/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
libpng-config libpng.pc pngtesti$(EXE)
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
writelock:
chmod a-w *.[ch35] $(DOCS) scripts/*
.PHONY: buildsetup-tell libpng.pc libpng-config test-config-install clean
# DO NOT DELETE THIS LINE -- make depend depends on it.
png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h png.c
pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngerror.c
pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngrio.c
pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngwio.c
pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngmem.c
pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngset.c
pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngget.c
pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngread.c
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngrtran.c
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngrutil.c
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngtrans.c
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngwrite.c
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngwtran.c
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngwutil.c
pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngpread.c
pngtest.o: png.h pngconf.h pngtest.c
pngtest-stat.o: png.h pngconf.h pngtest.c

View File

@ -76,7 +76,7 @@ MINGDLL = 15
SHAREDLIB=libpng$(MINGDLL).dll SHAREDLIB=libpng$(MINGDLL).dll
STATLIB=libpng.a STATLIB=libpng.a
IMPLIB=libpng.dll.a IMPLIB=libpng.dll.a
SHAREDDEF=libpng.def SHAREDDEF=mingw.def
LIBS=$(SHAREDLIB) $(STATLIB) LIBS=$(SHAREDLIB) $(STATLIB)
EXE=.exe EXE=.exe
@ -153,7 +153,7 @@ $(STATLIB): $(OBJS)
$(AR) rc $@ $(OBJS) $(AR) rc $@ $(OBJS)
$(RANLIB) $@ $(RANLIB) $@
$(SHAREDDEF): scripts/pngwin.def %14_%$(SHAREDDEF): libpng.def
cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \ cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
sed -e 's/\([^;]*\);/;/' > $@ sed -e 's/\([^;]*\);/;/' > $@

View File

@ -4,7 +4,7 @@
# For conditions of distribution and use, see the disclaimer # For conditions of distribution and use, see the disclaimer
# and license in png.h # and license in png.h
# Related files: pngos2.def # Related files: libpng.def
CC=gcc -Zomf -s CC=gcc -Zomf -s
@ -36,10 +36,10 @@ all: $(PNGLIB) $(SHAREDLIB) $(SHAREDLIBIMP)
$(PNGLIB): $(OBJS) $(PNGLIB): $(OBJS)
$(AR) rc $@ $(OBJS) $(AR) rc $@ $(OBJS)
$(SHAREDLIB): $(OBJS) pngos2.def $(SHAREDLIB): $(OBJS) libpng.def
$(CC) $(LDFLAGS) -Zdll -o $@ $^ $(CC) $(LDFLAGS) -Zdll -o $@ $^
$(SHAREDLIBIMP): pngos2.def $(SHAREDLIBIMP): libpng.def
$(IMPLIB) -o $@ $^ $(IMPLIB) -o $@ $^
pngtest.exe: pngtest.o png.dll pngdll.lib pngtest.exe: pngtest.o png.dll pngdll.lib

View File

@ -1,252 +0,0 @@
;---------------------------------------------
; LIBPNG module definition file for Windows CE
;---------------------------------------------
; Warning: changing the name of the library from
; the default may require changes to other files,
; for example the '.la' file used by GNU libtool
LIBRARY
EXPORTS
;Version 1.5.0beta14
png_build_grayscale_palette @1
; png_check_sig @2
png_chunk_error @3
png_chunk_warning @4
; png_convert_from_struct_tm @5
; png_convert_from_time_t @6
png_create_info_struct @7
png_create_read_struct @8
png_create_write_struct @9
png_data_freer @10
png_destroy_info_struct @11
png_destroy_read_struct @12
png_destroy_write_struct @13
png_error @14
png_free @15
png_free_data @16
png_get_IHDR @17
png_get_PLTE @18
png_get_bKGD @19
png_get_bit_depth @20
png_get_cHRM @21
png_get_cHRM_fixed @22
png_get_channels @23
png_get_color_type @24
png_get_compression_buffer_size @25
png_get_compression_type @26
png_get_copyright @27
png_get_error_ptr @28
png_get_filter_type @29
png_get_gAMA @30
png_get_gAMA_fixed @31
png_get_hIST @32
png_get_header_ver @33
png_get_header_version @34
png_get_iCCP @35
png_get_image_height @36
png_get_image_width @37
png_get_interlace_type @38
png_get_io_ptr @39
png_get_libpng_ver @40
png_get_oFFs @41
png_get_pCAL @42
png_get_pHYs @43
png_get_pixel_aspect_ratio @44
png_get_pixels_per_meter @45
png_get_progressive_ptr @46
png_get_rgb_to_gray_status @47
png_get_rowbytes @48
png_get_rows @49
png_get_sBIT @50
png_get_sCAL @51
png_get_sPLT @52
png_get_sRGB @53
png_get_signature @54
png_get_tIME @55
png_get_tRNS @56
png_get_text @57
png_get_unknown_chunks @58
png_get_user_chunk_ptr @59
png_get_user_transform_ptr @60
png_get_valid @61
png_get_x_offset_microns @62
png_get_x_offset_pixels @63
png_get_x_pixels_per_meter @64
png_get_y_offset_microns @65
png_get_y_offset_pixels @66
png_get_y_pixels_per_meter @67
png_malloc @68
; png_memcpy_check @69
; png_memset_check @70
; png_permit_empty_plte @71
png_process_data @72
png_progressive_combine_row @73
png_read_end @74
png_read_image @75
png_read_info @76
; png_read_init @77
png_read_png @78
png_read_row @79
png_read_rows @80
png_read_update_info @81
png_reset_zstream @82
png_set_IHDR @83
png_set_PLTE @84
png_set_bKGD @85
png_set_background @86
png_set_bgr @87
png_set_cHRM @88
png_set_cHRM_fixed @89
png_set_compression_buffer_size @90
png_set_compression_level @91
png_set_compression_mem_level @92
png_set_compression_method @93
png_set_compression_strategy @94
png_set_compression_window_bits @95
png_set_crc_action @96
; png_set_dither @97
png_set_error_fn @98
png_set_expand @99
png_set_filler @100
png_set_filter @101
png_set_filter_heuristics @102
png_set_flush @103
png_set_gAMA @104
png_set_gAMA_fixed @105
png_set_gamma @106
; png_set_gray_1_2_4_to_8 @107
png_set_gray_to_rgb @108
png_set_hIST @109
png_set_iCCP @110
png_set_interlace_handling @111
png_set_invert_alpha @112
png_set_invert_mono @113
png_set_keep_unknown_chunks @114
png_set_oFFs @115
png_set_pCAL @116
png_set_pHYs @117
png_set_packing @118
png_set_packswap @119
png_set_palette_to_rgb @120
png_set_progressive_read_fn @121
png_set_read_fn @122
png_set_read_status_fn @123
png_set_read_user_chunk_fn @124
png_set_read_user_transform_fn @125
png_set_rgb_to_gray @126
png_set_rgb_to_gray_fixed @127
png_set_rows @128
png_set_sBIT @129
png_set_sCAL @130
png_set_sPLT @131
png_set_sRGB @132
png_set_sRGB_gAMA_and_cHRM @133
png_set_shift @134
png_set_sig_bytes @135
png_set_strip_16 @136
png_set_strip_alpha @137
png_set_swap @138
png_set_swap_alpha @139
png_set_tIME @140
png_set_tRNS @141
png_set_tRNS_to_alpha @142
png_set_text @143
png_set_unknown_chunk_location @144
png_set_unknown_chunks @145
png_set_user_transform_info @146
png_set_write_fn @147
png_set_write_status_fn @148
png_set_write_user_transform_fn @149
png_sig_cmp @150
png_start_read_image @151
png_warning @152
png_write_chunk @153
png_write_chunk_data @154
png_write_chunk_end @155
png_write_chunk_start @156
png_write_end @157
png_write_flush @158
png_write_image @159
png_write_info @160
png_write_info_before_PLTE @161
; png_write_init @162
png_write_png @163
png_write_row @164
png_write_rows @165
; png_read_init_2 @166
; png_write_init_2 @167
png_access_version_number @168
; png_sig_bytes @169
; png_libpng_ver @170
png_init_io @171
png_convert_to_rfc1123 @172
png_set_invalid @173
; Added at version 1.0.12
; For compatiblity with 1.0.7-1.0.11
; png_info_init @174
; png_read_init_3 @175
; png_write_init_3 @176
png_info_init_3 @177
png_destroy_struct @178
; Added at version 1.2.0
; For use with PNG_USER_MEM_SUPPORTED
; png_destroy_struct_2 @179
; png_create_read_struct_2 @180
; png_create_write_struct_2 @181
; png_malloc_default @182
; png_free_default @183
; MNG features
; png_permit_mng_features @184
; MMX support
; png_mmx_support @185
; png_get_mmx_flagmask @186
; png_get_asm_flagmask @187
; png_get_asm_flags @188
; png_get_mmx_bitdepth_threshold @189
; png_get_mmx_rowbytes_threshold @190
; png_set_asm_flags @191
; png_init_mmx_flags @192
; Strip error numbers
; png_set_strip_error_numbers @193
; Added at version 1.2.2
png_handle_as_unknown @179
png_zalloc @180
png_zfree @181
; png_handle_as_unknown @194
; png_zalloc @195
; png_zfree @196
; Added at version 1.2.6
png_malloc_warn @195
png_get_user_height_max @196
png_get_user_width_max @197
png_set_user_limits @198
; Added at version 1.2.7
png_set_add_alpha @199
; Added at version 1.2.9
; png_get_uint_32 @200
png_save_uint_32 @201
; png_get_uint_16 @202
png_save_uint_16 @203
; png_get_int_32 @204
png_save_int_32 @205
png_get_uint_31 @206
png_set_expand_gray_1_2_4_to_8 @207
; Added at version 1.2.41
png_write_sig @208
; Uncomment these if you define PNG_BENIGN_ERRORS_SUPPORTED
; png_benign_error @209
; png_benign_chunk_error @210
; png_set_benign_errors @211
png_get_io_chunk_name @212
png_get_io_state @213
png_get_chunk_cache_max @215
png_set_chunk_cache_max @216
png_check_cHRM_fixed @217
png_calloc @218
png_set_longjmp_fn @219
; Added at version 1.4.1
png_get_chunk_malloc_max @220
png_set_chunk_malloc_max @221
; Added at version 1.5.0
png_longjmp @222

View File

@ -1,222 +0,0 @@
;----------------------------------------
; PNG.LIB module definition file for OS/2
;----------------------------------------
; Version 1.5.0beta14
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
EXPORTS
png_build_grayscale_palette
png_chunk_error
png_chunk_warning
png_convert_from_struct_tm
png_convert_from_time_t
png_create_info_struct
png_create_read_struct
png_create_write_struct
png_data_freer
png_destroy_info_struct
png_destroy_read_struct
png_destroy_write_struct
png_error
png_free
png_free_data
png_get_IHDR
png_get_PLTE
png_get_bKGD
png_get_bit_depth
png_get_cHRM
png_get_cHRM_fixed
png_get_channels
png_get_color_type
png_get_compression_buffer_size
png_get_compression_type
png_get_copyright
png_get_error_ptr
png_get_filter_type
png_get_gAMA
png_get_gAMA_fixed
png_get_hIST
png_get_header_ver
png_get_header_version
png_get_iCCP
png_get_image_height
png_get_image_width
png_get_interlace_type
png_get_io_ptr
png_get_libpng_ver
png_get_oFFs
png_get_pCAL
png_get_pHYs
png_get_pixel_aspect_ratio
png_get_pixels_per_meter
png_get_progressive_ptr
png_get_rgb_to_gray_status
png_get_rowbytes
png_get_rows
png_get_sBIT
png_get_sCAL
png_get_sPLT
png_get_sRGB
png_get_signature
png_get_tIME
png_get_tRNS
png_get_text
png_get_unknown_chunks
png_get_user_chunk_ptr
png_get_user_transform_ptr
png_get_valid
png_get_x_offset_microns
png_get_x_offset_pixels
png_get_x_pixels_per_meter
png_get_y_offset_microns
png_get_y_offset_pixels
png_get_y_pixels_per_meter
png_malloc
png_process_data
png_progressive_combine_row
png_read_end
png_read_image
png_read_info
png_read_png
png_read_row
png_read_rows
png_read_update_info
png_reset_zstream
png_set_IHDR
png_set_PLTE
png_set_bKGD
png_set_background
png_set_bgr
png_set_cHRM
png_set_cHRM_fixed
png_set_compression_buffer_size
png_set_compression_level
png_set_compression_mem_level
png_set_compression_method
png_set_compression_strategy
png_set_compression_window_bits
png_set_crc_action
png_set_error_fn
png_set_expand
png_set_filler
png_set_filter
png_set_filter_heuristics
png_set_flush
png_set_gAMA
png_set_gAMA_fixed
png_set_gamma
png_set_gray_to_rgb
png_set_hIST
png_set_iCCP
png_set_interlace_handling
png_set_invert_alpha
png_set_invert_mono
png_set_keep_unknown_chunks
png_set_oFFs
png_set_pCAL
png_set_pHYs
png_set_packing
png_set_packswap
png_set_palette_to_rgb
png_set_progressive_read_fn
png_set_read_fn
png_set_read_status_fn
png_set_read_user_chunk_fn
png_set_read_user_transform_fn
png_set_rgb_to_gray
png_set_rgb_to_gray_fixed
png_set_rows
png_set_sBIT
png_set_sCAL
png_set_sPLT
png_set_sRGB
png_set_sRGB_gAMA_and_cHRM
png_set_shift
png_set_sig_bytes
png_set_strip_16
png_set_strip_alpha
png_set_swap
png_set_swap_alpha
png_set_tIME
png_set_tRNS
png_set_tRNS_to_alpha
png_set_text
png_set_unknown_chunk_location
png_set_unknown_chunks
png_set_user_transform_info
png_set_write_fn
png_set_write_status_fn
png_set_write_user_transform_fn
png_sig_cmp
png_start_read_image
png_warning
png_write_chunk
png_write_chunk_data
png_write_chunk_end
png_write_chunk_start
png_write_end
png_write_flush
png_write_image
png_write_info
png_write_info_before_PLTE
png_write_png
png_write_row
png_write_rows
png_write_sig
png_access_version_number
png_init_io
png_convert_to_rfc1123
png_set_invalid
; Added at version 1.2.0:
; png_permit_empty_plte
png_permit_mng_features
; Added at version 1.2.2:
png_handle_as_unknown
; Added at version 1.2.2 and deleted from 1.2.3:
; png_zalloc
; png_zfree
; Added at version 1.2.4
png_malloc_warn
; Added at version 1.2.6
png_set_user_limits
png_get_user_height_max
png_get_user_width_max
; Added at version 1.2.7
png_set_add_alpha
; Added at version 1.2.9
png_save_uint_32
png_save_uint_16
png_save_int_32
png_get_uint_31
png_set_expand_gray_1_2_4_to_8
; Added at version 1.2.41
png_write_sig
; Uncomment these if you define PNG_BENIGN_ERRORS_SUPPORTED
; png_benign_error @209
; png_benign_chunk_error @210
; png_set_benign_errors @211
png_get_io_chunk_name
png_get_io_state
png_get_chunk_cache_max
png_set_chunk_cache_max
png_check_cHRM_fixed
png_calloc
png_set_longjmp_fn
; Added at version 1.4.1
png_get_chunk_malloc_max
png_set_chunk_malloc_max
; Added at version 1.5.0
png_longjmp

View File

@ -1,229 +0,0 @@
;--------------------------------------------------------------
; LIBPNG module definition file for Windows, WindowsCE and OS/2
; On OS/2 uncomment lines preceded by ;0S2
;--------------------------------------------------------------
; If you give the library an explicit name one or other files
; may need modifying to support the new name on one or more
; systems.
LIBRARY
;OS2 DESCRIPTION "PNG image compression library"
;OS2 CODE PRELOAD MOVEABLE DISCARDABLE
EXPORTS
;Version 1.5.0beta14
png_build_grayscale_palette @1
png_chunk_error @3
png_chunk_warning @4
png_convert_from_struct_tm @5
png_convert_from_time_t @6
png_create_info_struct @7
png_create_read_struct @8
png_create_write_struct @9
png_data_freer @10
png_destroy_info_struct @11
png_destroy_read_struct @12
png_destroy_write_struct @13
png_error @14
png_free @15
png_free_data @16
png_get_IHDR @17
png_get_PLTE @18
png_get_bKGD @19
png_get_bit_depth @20
png_get_cHRM @21
png_get_cHRM_fixed @22
png_get_channels @23
png_get_color_type @24
png_get_compression_buffer_size @25
png_get_compression_type @26
png_get_copyright @27
png_get_error_ptr @28
png_get_filter_type @29
png_get_gAMA @30
png_get_gAMA_fixed @31
png_get_hIST @32
png_get_header_ver @33
png_get_header_version @34
png_get_iCCP @35
png_get_image_height @36
png_get_image_width @37
png_get_interlace_type @38
png_get_io_ptr @39
png_get_libpng_ver @40
png_get_oFFs @41
png_get_pCAL @42
png_get_pHYs @43
png_get_pixel_aspect_ratio @44
png_get_pixels_per_meter @45
png_get_progressive_ptr @46
png_get_rgb_to_gray_status @47
png_get_rowbytes @48
png_get_rows @49
png_get_sBIT @50
png_get_sCAL @51
png_get_sPLT @52
png_get_sRGB @53
png_get_signature @54
png_get_tIME @55
png_get_tRNS @56
png_get_text @57
png_get_unknown_chunks @58
png_get_user_chunk_ptr @59
png_get_user_transform_ptr @60
png_get_valid @61
png_get_x_offset_microns @62
png_get_x_offset_pixels @63
png_get_x_pixels_per_meter @64
png_get_y_offset_microns @65
png_get_y_offset_pixels @66
png_get_y_pixels_per_meter @67
png_malloc @68
png_process_data @72
png_progressive_combine_row @73
png_read_end @74
png_read_image @75
png_read_info @76
png_read_png @78
png_read_row @79
png_read_rows @80
png_read_update_info @81
png_reset_zstream @82
png_set_IHDR @83
png_set_PLTE @84
png_set_bKGD @85
png_set_background @86
png_set_bgr @87
png_set_cHRM @88
png_set_cHRM_fixed @89
png_set_compression_buffer_size @90
png_set_compression_level @91
png_set_compression_mem_level @92
png_set_compression_method @93
png_set_compression_strategy @94
png_set_compression_window_bits @95
png_set_crc_action @96
; For use with PNG_READ_DITHER_SUPPORTED
; png_set_dither @97
png_set_error_fn @98
png_set_expand @99
png_set_filler @100
png_set_filter @101
png_set_filter_heuristics @102
png_set_flush @103
png_set_gAMA @104
png_set_gAMA_fixed @105
png_set_gamma @106
png_set_gray_to_rgb @108
png_set_hIST @109
png_set_iCCP @110
png_set_interlace_handling @111
png_set_invert_alpha @112
png_set_invert_mono @113
png_set_keep_unknown_chunks @114
png_set_oFFs @115
png_set_pCAL @116
png_set_pHYs @117
png_set_packing @118
png_set_packswap @119
png_set_palette_to_rgb @120
png_set_progressive_read_fn @121
png_set_read_fn @122
png_set_read_status_fn @123
png_set_read_user_chunk_fn @124
png_set_read_user_transform_fn @125
png_set_rgb_to_gray @126
png_set_rgb_to_gray_fixed @127
png_set_rows @128
png_set_sBIT @129
png_set_sCAL @130
png_set_sPLT @131
png_set_sRGB @132
png_set_sRGB_gAMA_and_cHRM @133
png_set_shift @134
png_set_sig_bytes @135
png_set_strip_16 @136
png_set_strip_alpha @137
png_set_swap @138
png_set_swap_alpha @139
png_set_tIME @140
png_set_tRNS @141
png_set_tRNS_to_alpha @142
png_set_text @143
png_set_unknown_chunk_location @144
png_set_unknown_chunks @145
png_set_user_transform_info @146
png_set_write_fn @147
png_set_write_status_fn @148
png_set_write_user_transform_fn @149
png_sig_cmp @150
png_start_read_image @151
png_warning @152
png_write_chunk @153
png_write_chunk_data @154
png_write_chunk_end @155
png_write_chunk_start @156
png_write_end @157
png_write_flush @158
png_write_image @159
png_write_info @160
png_write_info_before_PLTE @161
png_write_png @163
png_write_row @164
png_write_rows @165
png_access_version_number @168
png_init_io @171
png_convert_to_rfc1123 @172
png_set_invalid @173
png_info_init_3 @177
png_destroy_struct @178
; Added at version 1.2.0
; For use with PNG_USER_MEM_SUPPORTED
png_destroy_struct_2 @194
png_create_read_struct_2 @223
png_create_write_struct_2 @224
png_malloc_default @182
png_free_default @183
; MNG features
png_permit_mng_features @184
; Added at version 1.2.2
png_handle_as_unknown @179
png_zalloc @180
png_zfree @181
; Added at version 1.2.6
png_malloc_warn @195
png_get_user_height_max @196
png_get_user_width_max @197
png_set_user_limits @198
; Added at version 1.2.7
png_set_add_alpha @199
; Added at version 1.2.9
; For use with !PNG_USE_READ_MACROS
; png_get_uint_32 @200
; png_get_uint_16 @202
; For use with !PNG_USE_READ_MACROS && PNG_GET_INT_32_SUPPORTED
; png_get_int_32 @204
png_save_uint_32 @201
png_save_uint_16 @203
png_save_int_32 @205
png_get_uint_31 @206
png_set_expand_gray_1_2_4_to_8 @207
; Added at version 1.2.41
png_write_sig @208
; Uncomment these if you define PNG_BENIGN_ERRORS_SUPPORTED
; png_benign_error @209
; png_benign_chunk_error @210
; png_set_benign_errors @211
png_get_io_chunk_name @212
png_get_io_state @213
png_get_chunk_cache_max @215
png_set_chunk_cache_max @216
png_check_cHRM_fixed @217
png_calloc @218
png_set_longjmp_fn @219
; Added at version 1.4.1
png_get_chunk_malloc_max @220
png_set_chunk_malloc_max @221
; Added at version 1.5.0
png_longjmp @222
;NEXT: @225