VirtualBox

Ignore:
Timestamp:
Feb 12, 2024 3:57:56 PM (12 months ago)
Author:
vboxsync
Message:

libpng-1.6.42: Applied and adjusted our libpng changes to 1.6.42. bugref:8515

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/libpng-1.6.42/INSTALL

    r96425 r103316  
    129129          *.h, *.c  => libpng source files
    130130          CMakeLists.txt    =>  "cmake" script
     131          ci
     132             ci_*.sh
    131133          configuration files:
    132134             configure.ac, configure, Makefile.am, Makefile.in,
    133135             autogen.sh, config.guess, ltmain.sh, missing, libpng.pc.in,
    134136             libpng-config.in, aclocal.m4, config.h.in, config.sub,
    135              depcomp, install-sh, mkinstalldirs, test-pngtest.sh
     137             depcomp, install-sh, mkinstalldirs, test-pngtest.sh, etc.
    136138          contrib
    137139             arm-neon, conftest, examples, gregbook, libtests, pngminim,
    138140             pngminus, pngsuite, tools, visupng
    139141          projects
    140              cbuilder5, owatcom, visualc71, vstudio, xcode
     142             owatcom, visualc71, vstudio
    141143          scripts
    142144             makefile.*
     
    146148          etc.
    147149      zlib
    148           README, *.h, *.c contrib, etc.
     150          README, *.h, *.c, contrib, etc.
    149151
    150152If the line endings in the files look funny, you may wish to get the other
     
    154156VI. Building with project files
    155157
    156 If you are building libpng with MSVC, you can enter the
    157 libpng projects\visualc71 or vstudio directory and follow the instructions
    158 in README.txt.
    159 
    160 Otherwise enter the zlib directory and follow the instructions in zlib/README,
    161 then come back here and run "configure" or choose the appropriate
    162 makefile.sys in the scripts directory.
     158If you are building libpng with Microsoft Visual Studio, you can enter
     159the directory projects\visualc71 or projects\vstudio and follow the
     160instructions in README.txt.
     161
     162Otherwise, enter the zlib directory and follow the instructions in
     163zlib/README, then come back here and run "configure" or choose the
     164appropriate makefile in the scripts directory.
    163165
    164166VII. Building with makefiles
     
    167169scripts directory into this directory, for example
    168170
    169 MSDOS example:
    170 
    171     copy scripts\makefile.msc makefile
    172     copy scripts\pnglibconf.h.prebuilt pnglibconf.h
    173 
    174171UNIX example:
    175172
    176     cp scripts/makefile.std makefile
    177     cp scripts/pnglibconf.h.prebuilt pnglibconf.h
     173    cp scripts/makefile.std Makefile
     174    make
     175
     176Windows example:
     177
     178    nmake -f scripts\makefile.vcwin32
    178179
    179180Read the makefile to see if you need to change any source or
     
    192193your output with the result shown in contrib/pngsuite/README.
    193194
    194 Most of the makefiles will allow you to run "make install" to
    195 put the library in its final resting place (if you want to
    196 do that, run "make install" in the zlib directory first if necessary).
    197 Some also allow you to run "make test-installed" after you have
    198 run "make install".
    199 
    200 VIII. Configuring libpng for 16-bit platforms
    201 
    202 You will want to look into zconf.h to tell zlib (and thus libpng) that
    203 it cannot allocate more than 64K at a time.  Even if you can, the memory
    204 won't be accessible.  So limit zlib and libpng to 64K by defining MAXSEG_64K.
    205 
    206 IX. Configuring for DOS
     195Most of the makefiles used to allow you to run "make install" to put
     196the library in its final resting place, but that feature is no longer
     197supported.  The only tested and supported manners to install libpng are
     198the conventional build and install procedures driven by the configure
     199script or by the CMake file.
     200
     201VIII. Configuring for DOS and other 16-bit platforms
     202
     203Officially, the support for 16-bit platforms has been removed.
    207204
    208205For DOS users who only have access to the lower 640K, you will
     
    210207call.  See zlib.h or zconf.h in the zlib library for more information.
    211208
    212 X. Configuring for Medium Model
    213 
    214 Libpng's support for medium model has been tested on most of the popular
    215 compilers.  Make sure MAXSEG_64K gets defined, USE_FAR_KEYWORD gets
    216 defined, and FAR gets defined to far in pngconf.h, and you should be
    217 all set.  Everything in the library (except for zlib's structure) is
    218 expecting far data.  You must use the typedefs with the p or pp on
    219 the end for pointers (or at least look at them and be careful).  Make
    220 note that the rows of data are defined as png_bytepp, which is
    221 an "unsigned char far * far *".
    222 
    223 XI. Prepending a prefix to exported symbols
     209You may be or may not be in luck if you target the "large" memory model,
     210but all the smaller models ("small", "compact" and "medium") are known
     211to be unworkable.  For DOS users who have access beyond the lower 640K,
     212a "flat" 32-bit DOS model (such as DJGPP) is strongly recommended.
     213
     214For DOS users who only have access to the lower 640K, you will have to
     215limit zlib's memory usage via a png_set_compression_mem_level() call.
     216You will also have to look into zconf.h to tell zlib (and thus libpng)
     217that it cannot allocate more than 64K at a time.  Even if you can, the
     218memory won't be accessible.  Therefore, you should limit zlib and libpng
     219to 64K by defining MAXSEG_64K.
     220
     221IX. Prepending a prefix to exported symbols
    224222
    225223Starting with libpng-1.6.0, you can configure libpng (when using the
     
    232230the macros to use the modified names.
    233231
    234 XII. Configuring for compiler xxx:
     232X. Configuring for compiler xxx:
    235233
    236234All includes for libpng are in pngconf.h.  If you need to add, change
     
    244242that previously appeared in the public headers.
    245243
    246 XIII. Removing unwanted object code
     244XI. Removing unwanted object code
    247245
    248246There are a bunch of #define's in pngconf.h that control what parts of
     
    283281those sections that are actually used will be loaded into memory.
    284282
    285 XIV. Enabling or disabling hardware optimizations
     283XII. Enabling or disabling hardware optimizations
    286284
    287285Certain hardware capabilities, such as the Intel SSE instructions,
     
    333331    cmake . -DPNG_HARDWARE_OPTIMIZATIONS=no
    334332
    335 XV. Changes to the build and configuration of libpng in libpng-1.5.x
     333XIII. Changes to the build and configuration of libpng in libpng-1.5.x
    336334
    337335Details of internal changes to the library code can be found in the CHANGES
     
    424422that were used to build libpng.
    425423
    426 XVI. Setjmp/longjmp issues
     424XIV. Setjmp/longjmp issues
    427425
    428426Libpng uses setjmp()/longjmp() for error handling.  Unfortunately setjmp()
     
    442440and PNG_SIMPLIFIED_WRITE_SUPPORTED undefined.
    443441
    444 XVII. Common linking failures
     442XV. Common linking failures
    445443
    446444If your application fails to find libpng or zlib entries while linking:
     
    454452  project/vstudio/README.txt.
    455453
    456 XVIII. Other sources of information about libpng:
     454XVI. Other sources of information about libpng:
    457455
    458456Further information can be found in the README and libpng-manual.txt
     
    460458libpng.3 and png.5.
    461459
     460Copyright (c) 2022 Cosmin Truta
    462461Copyright (c) 1998-2002,2006-2016 Glenn Randers-Pehrson
    463462This document is released under the libpng license.
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette