Hi,

I detailed the mingw32 compilation steps. You can see my work in the
patch.
I coulnd't manage to get the "make install" build the .dll file for
libjbig2dec.

Cheers,

--
Franck 




# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: root@dakota-20110706063010-5r2jrm8mim6hvmv6
# target_branch: bzr://bzr.savannah.gnu.org/pdf/libgnupdf/trunk/
# testament_sha1: 81a0da2edefddc9ae4594734450566cceca1b760
# timestamp: 2011-07-06 08:30:28 +0200
# base_revision_id: [email protected]
# 
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog	2011-07-01 19:58:46 +0000
+++ ChangeLog	2011-07-06 06:30:10 +0000
@@ -1,3 +1,8 @@
+2011-07-06  Franck Lesage  <[email protected]>
+
+	gnupdf-hg: documenting the mingw32 compilation steps
+	* doc/gnupdf-hg.texi
+	
 2011-07-01  Aleksander Morgado  <[email protected]>
 
 	torture: fix compilation issues under mingw32

=== modified file 'doc/gnupdf-hg.texi'
--- doc/gnupdf-hg.texi	2011-04-22 12:57:52 +0000
+++ doc/gnupdf-hg.texi	2011-07-06 06:26:25 +0000
@@ -62,6 +62,7 @@
 * Writing Documentation::
 * Sending Patches::
 * Testing the library::
+* Cross-compiling libgnupdf for Windows under GNU/Linux::
 * Updating the AUTHORS file::
 @end menu
 
@@ -1427,6 +1428,161 @@
 See @file{torture/tortutils/tortutils.h} for documentation on the
 functions provided by the library.
 
+@node Cross-compiling libgnupdf for Windows under GNU/Linux
+@chapter Setup a MinGW build of gnupdf
+
+This chapter documents all the needed steps to setup a mingw build of gnupdf. MinGW provides a complete Open Source programming tool set which is suitable for the development of native MS-Windows applications. 
+
+@table @strong
+@item Getting and installing MinGW
+If you are under debian, you can install mingw32 with the following command:
+
+@example
+$ apt-get install mingw32
+@end example
+
+If you are not on an usual disto, download mingw32 at @url{http://sourceforge.net/projects/mingw/files/Cross-Hosted MinGW Build Tool}. You follow the README in order to install the package. You can go to @url{http://mingw.org} for more details:
+
+@example
+...
+$ sh x86-mingw32-build.sh i686-mingw32
+...
+@end example
+
+@item The dependencies
+After having downloaded the sources of the GNU PDF Library, you need to install the required libraries. Below is a list of the required libraries:
+
+@itemize @minus
+@item zlib 
+@item libpthread
+@item libuuid
+@item libgpg-error
+@item libgcrypt
+@item libcheck
+@item libjbig2dec
+@item libjpeg
+@end itemize
+
+You need to create some dicectories in order to stock the mingw32 dependences. 
+@example
+$ mkdir $HOME/w32root
+$ mkdir $HOME/w32root/lib
+$ mkdir $HOME/w32root/include
+@end example
+
+@item zlib
+Download zlib either the source or the binaries. In order to compile the source you have to follow to read the page available at @url{http://www.crosscompile.org/static/pages/ZLib.html}. The binaries are available at @url{http://zlib.net/zlib125-dll.zip}
+@example
+$ unzip path/to/zlib125-dll.zip
+$ mv include/* $HOME/w32root/include
+$ mv zlib1.dll $HOME/w32root/lib/libz.dll
+@end example
+
+@item libpthreads
+There is a bug in @emph{mingw32-pthreads} (Bug 599227). This bug affects the compilation of libcheck. You need to download the source of the fixed version. You have to log in the pthreads-win32 cvs. The password is @emph{anoncvs}. Then, you download, compile and install.
+@example
+$ cvs -d :pserver:anoncvs@@sourceware.org:/cvs/pthreads-win32 login # anoncvs is the password
+$ cvs -d :pserver:anoncvs@@sourceware.org:/cvs/pthreads-win32 checkout -D 2011-05-11 -d pthreads-w32-20110511 pthreads
+$ cd pthreads-w32-20110511
+$ make CROSS=i586-mingw32msvc- clean GC
+$ cp pthread.h sched.h semaphore.h $HOME/mingw32/include/
+$ cp pthreadGC2.dll $HOME/mingw32/lib/libpthread.dll
+@end example
+
+@item libuuid
+We tried to compile the package providing @emph{libuuid} from sources under mingw32. But we got some issues. Luckily, we already have some precompiled @emph{libuuid} binaries we can use in here @url{http://mirror.vcu.edu/pub/windows/cygwin/release/util-linux/libuuid-devel/}. So, steps for @emph{libuuid} are:
+@example
+$ tar -jxf libuuid-devel-2.17.2-1.tar.bz2
+$ cp -r usr/include/uuid $HOME/w32root/include
+$ cp -r usr/lib/libuuid.dll.a $HOME/w32root/lib
+@end example
+
+
+
+@item libgpg-error and libgcrypt
+
+Go to @url{http://gnupg.org/download/index.en.html}. You have to download:
+
+@itemize @minus
+@item @file{libgpg-error-1.10.tar.bz2}
+@item @file{libgcrypt-1.4.6.tar.gz}
+@end itemize
+
+ For @emph{libgpg-error-1.10} and @emph{libgcrypt-1.4.6}, you have to note that the @file{autogen.sh} script recognizes @emph{---build-w32} and set the prefix installation to @file{$HOME/w32root}. You can't modify this prefix. A typical compilation and installation would be:
+@example
+$ tar zxf path/to/libgpg-error-1.10.tar.gz
+$ cd libgpg-error-1.10
+$ ./autogen.sh --build-w32
+$ make
+$ make install
+@end example
+
+@example
+$ tar zxf path/to/libgcrypt-1.4.6.tar.gz
+$ cd libgcrypt-1.4.6
+$ ./autogen.sh --build-w32
+$ make
+$ make install
+@end example
+
+The libraries are installed in @file{$HOME/w32root}.
+
+
+
+@item libcheck
+You need the svn version of @emph{libcheck}:
+@example
+$ svn co https://check.svn.sourceforge.net/svnroot/check/trunk check
+@end example
+In order to compile, you need to type:
+@example
+$ cd check
+$ autoreconf --install
+$ ./configure --host=i586-mingw32msvc --prefix=$HOME/w32root
+$ make
+$ make install
+@end example
+
+
+
+@item libjbig2dec
+Download @url{http://ghostscript.com/~giles/jbig2/jbig2dec/jbig2dec-0.11.tar.gz}. Compile and install the library with the following commands.
+@example
+$ ./configure --host=i586-mingw32msvc --prefix=$HOME/w32root
+$ make
+$ make install
+$ i586-mingw32msvc-gcc -shared -o .libs/libjbig2dec.dll  jbig2.o jbig2_arith.o jbig2_arith_int.o jbig2_arith_iaid.o jbig2_huffman.o
+ jbig2_segment.o jbig2_page.o jbig2_symbol_dict.o jbig2_text.o jbig2_generic.o jbig2_refinement.o jbig2_mmr.o jbig2_halftone.o
+ jbig2_image.o jbig2_image_pbm.o jbig2_metadata.o
+$ cp .libs/libjbig2dec.dll $HOME/w32root/lib
+@end example
+
+@item libjpeg
+Download @emph{libjpeg} at @url{http://www.ijg.org/files/jpegsrc.v8c.tar.gz}.  Compile and install the library with the following commands.
+@example
+$ cd jpeg-8c
+$ ./configure --host=i586-mingw32msvc --prefix=$HOME/w32root
+$ make
+$ make install
+@end example
+
+@item Compiling
+Now you can run in the GNU PDF trunk:
+@example
+$ sh autogen.sh
+$ ./configure --host=i586-mingw32msvc --with-zlib=$HOME/w32root --with-libcheck-prefix=$HOME/w32root --with-libjbig2dec-prefix=$HOME/w32root
+ --with-libjpeg-prefix=$HOME/w32root --with-libuuid-prefix=$HOME/w32root
+$ make
+$ make install
+@end example
+At the time of writing this documentation, there are some errors during @code{make}.
+@end table
+
+
+
+
+
+
 @node Updating the AUTHORS file
 @chapter Updating the AUTHORS file
 

# Begin bundle
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

Reply via email to