mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
More progress building the 64 bit dependencies, though I have a nasty feeling that none of them will actually work
This commit is contained in:
parent
4ebb715dc9
commit
d65a12b667
@ -263,54 +263,38 @@ Build with::
|
|||||||
cp zlib.lib zdll.* ../../lib
|
cp zlib.lib zdll.* ../../lib
|
||||||
cp zconf.h zlib.h ../../include
|
cp zconf.h zlib.h ../../include
|
||||||
|
|
||||||
jpeg-7
|
jpeg-8
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Copy::
|
Get the source code from: http://sourceforge.net/projects/libjpeg-turbo/files/
|
||||||
jconfig.vc to jconfig.h, makejsln.vc9 to jpeg.sln,
|
|
||||||
makeasln.vc9 to apps.sln, makejvcp.vc9 to jpeg.vcproj,
|
|
||||||
makecvcp.vc9 to cjpeg.vcproj, makedvcp.vc9 to djpeg.vcproj,
|
|
||||||
maketvcp.vc9 to jpegtran.vcproj, makervcp.vc9 to rdjpgcom.vcproj, and
|
|
||||||
makewvcp.vc9 to wrjpgcom.vcproj. (Note that the renaming is critical!)
|
|
||||||
|
|
||||||
Load jpeg.sln in Visual Studio
|
|
||||||
|
|
||||||
Goto Project->Properties->General Properties and change Configuration Type to dll
|
|
||||||
|
|
||||||
Add
|
|
||||||
|
|
||||||
#define USE_WINDOWS_MESSAGEBOX
|
|
||||||
|
|
||||||
to jconfig.h (this will cause error messages to show up in a box)
|
|
||||||
|
|
||||||
Change the definitions of GLOBAL and EXTERN in jmorecfg.h to
|
|
||||||
#define GLOBAL(type) __declspec(dllexport) type
|
|
||||||
#define EXTERN(type) extern __declspec(dllexport) type
|
|
||||||
|
|
||||||
cp build/jpeg-7/Release/jpeg.dll bin/
|
|
||||||
cp build/jpeg-7/Release/jpeg.lib build/jpeg-7/Release/jpeg.exp
|
|
||||||
cp build/jpeg-7/jerror.h build/jpeg-7/jpeglib.h build/jpeg-7/jconfig.h build/jpeg-7/jmorecfg.h include/
|
|
||||||
|
|
||||||
|
Run::
|
||||||
|
chmod +x cmakescripts/* && cd build
|
||||||
|
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DWITH_JPEG8=1 ..
|
||||||
|
nmake
|
||||||
|
cp sharedlib/jpeg8.dll* ~/sw/bin/
|
||||||
|
cp sharedlib/jpeg.lib ~/sw/lib/
|
||||||
|
cp jconfig.h ../jerror.h ../jpeglib.h ../jmorecfg.h ~/sw/include
|
||||||
|
|
||||||
libpng
|
libpng
|
||||||
---------
|
---------
|
||||||
|
|
||||||
cp scripts/CMakelists.txt .
|
Download the libpng .zip source file from:
|
||||||
mkdir build
|
http://www.libpng.org/pub/png/libpng.html
|
||||||
Run cmake-gui.exe with source directory . and build directory build
|
|
||||||
You will have to point to sw/lib/zdll.lib and sw/include for zlib
|
|
||||||
Also disable PNG_NO_STDIO and PNG_NO_CONSOLE_IO
|
|
||||||
|
|
||||||
Now open PNG.sln in VS2008
|
Run::
|
||||||
Set Build type to Release
|
mkdir build && cd build
|
||||||
|
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DZLIB_INCLUDE_DIR=C:/cygwin/home/kovid/sw/include -DZLIB_LIBRARY=C:/cygwin/home/kovid/sw/lib/zdll.lib ..
|
||||||
cp build/libpng-1.2.40/build/Release/libpng12.dll bin/
|
nmake
|
||||||
cp build/libpng-1.2.40/build/Release/png12.* lib/
|
cp libpng*.dll ~/sw/bin/
|
||||||
cp build/libpng-1.2.40/png.h build/libpng-1.2.40/pngconf.h include/
|
cp libpng*.lib ~/sw/lib/
|
||||||
|
cp pnglibconf.h ../png.h ../pngconf.h ~/sw/include/
|
||||||
|
|
||||||
freetype
|
freetype
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
Get the .zip source from: http://download.savannah.gnu.org/releases/freetype/
|
||||||
|
|
||||||
Edit *all copies* of the file ftoption.h and add to generate a .lib
|
Edit *all copies* of the file ftoption.h and add to generate a .lib
|
||||||
and a correct dll
|
and a correct dll
|
||||||
|
|
||||||
@ -320,16 +304,26 @@ and a correct dll
|
|||||||
|
|
||||||
VS 2008 .sln file is present, open it
|
VS 2008 .sln file is present, open it
|
||||||
|
|
||||||
Change active build type to release mutithreaded
|
* If you are doing x64 build, click the Win32 dropdown, select
|
||||||
|
Configuration manager->Active solution platform -> New -> x64
|
||||||
|
|
||||||
Project->Properties->Configuration Properties
|
* Change active build type to release mutithreaded
|
||||||
change configuration type to dll
|
|
||||||
|
|
||||||
cp build/freetype-2.3.9/objs/release_mt/freetype.dll bin/
|
* Project->Properties->Configuration Properties change configuration type
|
||||||
|
to dll and build solution
|
||||||
|
|
||||||
|
cp "`find . -name *.dll`" ~/sw/bin/
|
||||||
|
cp "`find . -name freetype.lib`" ~/sw/lib/
|
||||||
|
|
||||||
|
Now change configuration back to static for .lib and build solution
|
||||||
|
cp "`find . -name freetype*MT.lib`" ~/sw/lib/
|
||||||
|
|
||||||
Now change configuration back to static for .lib
|
|
||||||
cp build/freetype-2.3.9/objs/win32/vc2008/freetype239MT.lib lib/
|
cp build/freetype-2.3.9/objs/win32/vc2008/freetype239MT.lib lib/
|
||||||
cp -rf build/freetype-2.3.9/include/* include/
|
cp -rf include/* ~/sw/include/
|
||||||
|
|
||||||
|
TODO: Test if this bloody thing actually works on 64 bit (apparently freetype
|
||||||
|
assumes sizeof(long) == sizeof(ptr) which is not true in Win64. See for
|
||||||
|
example: http://forum.openscenegraph.org/viewtopic.php?t=2880
|
||||||
|
|
||||||
lxml
|
lxml
|
||||||
------
|
------
|
||||||
@ -349,14 +343,19 @@ calibre-debug -c "import _imaging, _imagingmath, _imagingft, _imagingcms"
|
|||||||
expat
|
expat
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Has a VC 6 project file expat.dsw
|
Get from: http://sourceforge.net/projects/expat/files/expat/
|
||||||
|
|
||||||
Set active build to Relase and change build type to dll
|
Apparently expat requires stdint.h which VS 2008 does not have. So we get our
|
||||||
|
own.
|
||||||
|
|
||||||
cp build/expat-2.0.1/win32/bin/Release/*.lib lib/
|
Run::
|
||||||
cp build/expat-2.0.1/win32/bin/Release/*.exp lib/
|
cd lib
|
||||||
cp build/expat-2.0.1/win32/bin/Release/*.dll bin/
|
wget http://msinttypes.googlecode.com/svn/trunk/stdint.h
|
||||||
cp build/expat-2.0.1/lib/expat.h build/expat-2.0.1/lib/expat_external.h include/
|
mkdir build && cd build
|
||||||
|
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ..
|
||||||
|
nmake
|
||||||
|
cp expat.dll ~/sw/bin/ && cp expat.lib ~/sw/lib/
|
||||||
|
cp ../lib/expat.h ../lib/expat_external.h ~/sw/include
|
||||||
|
|
||||||
libxml2
|
libxml2
|
||||||
-------------
|
-------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user