internals:windows:libs:libpng

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
internals:windows:libs:libpng [2008/05/16 21:45] pajoyeinternals:windows:libs:libpng [2013/02/21 14:00] – [Available prebuilt libraries] ab
Line 1: Line 1:
 ====== LibPNG Windows, How to compile ====== ====== LibPNG Windows, How to compile ======
  
-===== Building LibPng 1.2.29 =====+===== Available prebuilt libraries =====
  
 +All prebuilt libraries are available in the php-libs [[http://windows.php.net/downloads/php-sdk/|repositories]]
 +
 +For PHP suitable sources and up-to-date information see [[https://github.com/winlibs/libpng]]
 +
 +The filename format is:
 +
 +libpng-x.y.z-vcversion-asm.zip
 +
 +where x.y.z defines the version, vcversion which Visual C++ has been used and -asm tells if the ASM optimizations have been used or not (see the options below).
 +
 +===== Building LibPng 1.2.35 =====
  
 ==== Requirements ===== ==== Requirements =====
   * LibPNG Sources, [[http://www.libpng.org|]]   * LibPNG Sources, [[http://www.libpng.org|]]
 +  * Zlib binaries and development files [[http://windows.php.net/downloads/php-sdk/|]]
   * Common tools used to compile PHP   * Common tools used to compile PHP
-  * LibPNG Makefile [[_media/internals/windows/libs/libxslt-makefile.msvc.patch.txt|]][[Internal Link]]+  * LibPNG Makefile {{internals:windows:libs:libpng.mak.txt|}} 
 +  * LibPNG Dep File{{internals:windows:libs:libpng.dep.txt|}} 
 + 
 + 
 +==== Configuration ===== 
 + 
 +LibPNG can be compiled using various modes. Only the following list can be used with PHP: 
 + 
 +  * "libpng Win32 DLL Release" based on "Win32 (x86) Dynamic-Link Library" 
 +  * "libpng - Win32 DLL Debug" based on "Win32 (x86) Dynamic-Link Library"
 +  * "libpng - Win32 DLL ASM Release" based on "Win32 (x86) Dynamic-Link Library" 
 +  * "libpng - Win32 DLL ASM Debug" based on "Win32 (x86) Dynamic-Link Library" 
 +  * "libpng - Win32 LIB Release" based on "Win32 (x86) Static Library" 
 +  * "libpng - Win32 LIB Debug" based on "Win32 (x86) Static Library" 
 +  * "libpng - Win32 LIB ASM Release" based on "Win32 (x86) Static Library" 
 +  * "libpng - Win32 LIB ASM Debug" based on "Win32 (x86) Static Library" 
 + 
 +PHP uses "libpng - Win32 LIB ASM Release" and "libpng - Win32 LIB ASM Debug" respectively for the normal and debug PHP builds 
 + 
 +One of these option has to be used while calling the makefile. 
 + 
 +The ASM versions do not work yet with Visual C++ 8 (VS2005) or laterWe did not have the time to fix the .asm files. Contributions welcome (both for php and for the libpng project). 
 + 
 +Download the {{internals:windows:libs:libpng.mak.txt|libpng Makefile}} and {{internals:windows:libs:libpng.dep.txt|dep file}} and remove the .txt extension. 
 + 
 + 
 +==== Compile ===== 
 + 
 +This step describe the process for Visual C++ 6. It should work for 2k3/5/8 as well but it is not yet tested. However you can use the VC7.1 project files in the libpng archive if the libpng.mak fails. 
 + 
 +Copy the make file to the project\vc6 directory To compile libpng, simply go to th proj==ects directory of the libpng source and run: 
 + 
 +<code bash> 
 +cd c:\build_php_deps\libpng1229\projects\ 
 +nmake /f libpng.mak CFG="libpng - Win32 LIB Release"  PHP_SDK_PATH="c:\php_sdk\" 
 +</code> 
 + 
 +> If the Platform has changed between two different builds (win32 to x64 or x64 to win32), it is necessary to clean the builds before building a dllor  a lib. If the objs have been built for a different platform you will get a linker error (machine does not match). 
 + 
 +==== Install in the SDK ==== 
 + 
 +To be written 
 + 
  
internals/windows/libs/libpng.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1