Hi, attached is a patch which documents all the needed steps to setup a MinGW build of gnupdf. libcheck need to be patched, a line is missing in the Makefile. I sent a mail to Mateusz Loskot. Comments are welcome.
Regards, ------- Franck
# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: root@dakota-20110601091951-2fub9fe6k5wbmthz # target_branch: bzr://bzr.savannah.gnu.org/pdf/libgnupdf/trunk/ # testament_sha1: b7b1d448d4bebdc13d7465a999a69b5ab3b4684d # timestamp: 2011-06-01 11:20:20 +0200 # base_revision_id: [email protected] # # Begin patch === modified file 'ChangeLog' --- ChangeLog 2011-05-10 18:40:38 +0000 +++ ChangeLog 2011-05-31 23:01:14 +0000 @@ -1,3 +1,8 @@ +2011-05-31 Franck Lesage <[email protected]> + + Document how to setup a mingw build of gnupdf. + * doc/gnupdf-hg.texi (Setup a mingw build of gnupdf) + 2011-05-10 Jose E. Marchesi <[email protected]> lib: avoid name clash with PDF_OBJ_IS_NULL and provide a quick === modified file 'doc/gnupdf-hg.texi' --- doc/gnupdf-hg.texi 2011-04-22 12:57:52 +0000 +++ doc/gnupdf-hg.texi 2011-06-01 09:19:51 +0000 @@ -62,6 +62,7 @@ * Writing Documentation:: * Sending Patches:: * Testing the library:: +* Setup a MinGW build of gnupdf:: * Updating the AUTHORS file:: @end menu @@ -1427,6 +1428,82 @@ See @file{torture/tortutils/tortutils.h} for documentation on the functions provided by the library. +@node Setup a MinGW build of gnupdf +@chapter 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. You can go to @url{http://mingw.org} for more details. This chapter documents all the needed steps to setup a MinGW build of gnupdf. + +@table @strong +@item Getting MinGW +Go to @url{http://sourceforge.net/projects/mingw/files/Automated MinGW Installer/mingw-get/} and download the latest version of @emph{mingw-get}. You can extract the archive in the @file{c:\MinGW} recommended directory. Use your preferred method for assignement of environment variables to add the appropriate directory (default @file{c:\MinGW\bin}) to your PATH. To initialise the installation recording database you should run the command: +@example +c:\> mingw-get install mingw-get +@end example + +@item Getting the MSYS developer environment +In order to install the MSYS developer environment you should run the command: +@example +c:\> mingw-get install msys-dvlpr +@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 libgpg-error +@item libgcrypt +@item libcheck +@end itemize + +@item zlib and libpthread +In order to install those two libraries, you should run the commands: +@example +c:\> mingw-get install msys-zlib +c:\> mingw-get install mingw32-pthreads-w32 +@end example + +@item libgpg-error and libgcrypt +We want the development version of those two libraries. You can parse the Cygwin Package List to see those two libraries. The needed archives are: +@itemize @minus +@item @file{libgpg-error-devel-1.7-1.tar.bz2} +@item @file{libgcrypt-devel-1.4.6-1.tar.bz2} +@end itemize +Once you have downloaded the archives, you run: +@example +c:\> MinGW\msys\1.0\msys.bat +@end example +You are in the MSYS development environment. You extract the files: +@example +$ tar xfj path/to/libgpg-error-devel-1.7-1.tar.bz2 +$ tar xfj path/to/libgcrypt-devel-1.4.6-1.tar.bz2 +@end example +The directory @file{./usr} appeared. You copy the @file{./usr/include} and @file{./usr/lib} to MSYS environment: +@example +$ cp -r ./usr/* /c/MinGW/msys/1.0/ +$ rm -r ./usr +@end example +The two libraries are set. + +@item libcheck +check works on windows thanks to mloskot. Go to @url{https://github.com/mloskot/check} and download the check archive. You have to follow the README instructions in order to compile the code. Once it is compiled you copy the @file{path/to/build_dir/include} and @file{path/to/build_dir/lib} to @file{/c/MinGW/msys/1.0}. + +@item Compiling +Now you can run in the GNU PDF trunk: +@example +$ sh autogen.sh +$ ./configure --with-libpthread-prefix=/c/mingw +$ 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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
