Commit 66acc17be752c02ccc99ce852d7ff734a95d2080
1 parent
8f6f4773
instructions
git-svn-id: svn+q:///qpdf/trunk@769 71b93d88-0707-0410-a8cf-f5a4172ac649
Showing
1 changed file
with
49 additions
and
13 deletions
README.windows
| 1 | +By default, qpdf builds on UNIX and UNIX-like systems with simple | |
| 2 | +./configure; make; make install comamnds. It ordinarily uses libtool | |
| 3 | +to build libraries and link executables. | |
| 1 | 4 | |
| 2 | -cygwin requirements: in addition to basic abuild requirements, need | |
| 3 | -ghostscript and tiff utils in order to run image comparison tests. | |
| 4 | -However, they may not work anyway. (As of this writing, ghostscript | |
| 5 | -chokes on some of the files; haven't investigated.) export | |
| 6 | -SKIP_TEST_COMPARE_IMAGES=1 to avoid running them. | |
| 5 | +As an alternative, the build system can use its own built-in rules. | |
| 6 | +The available build rules can be found in the make directory; all the | |
| 7 | +files except rules.mk are build rules. The gcc-linux rules are there | |
| 8 | +primarily for testing the build system. They are not intended to be | |
| 9 | +used in production since, in a Linux environment, it's better to use | |
| 10 | +the default libtool rules. | |
| 7 | 11 | |
| 8 | -Must add libqpdf/build to PATH. | |
| 12 | +For building on Windows, autoconf and libtool don't generate a working | |
| 13 | +build for either mingw (as of this writing) or MS Visual C++. We use | |
| 14 | +our own rules instead. In addition, the external dependencies (pcre | |
| 15 | +and zlib) are often not present on Windows systems. | |
| 9 | 16 | |
| 10 | -To debug a crash in MSVC's debugger, start an instance of Visual C++. | |
| 11 | -When the abort/retry/ignore dialog pops up, first attach the process | |
| 12 | -from within visual C++, and then click Retry. | |
| 17 | +If you have MSYS and Mingw installed, you can run configure as follows: | |
| 13 | 18 | |
| 14 | -Basic procedure for building with mingw is to run configure and build | |
| 15 | -in msys and then run the test suite in cygwin with GENDEPS=0. | |
| 19 | +./configure --disable-test-compare-images --enable-build-external-libs --with-buildrules=mingw | |
| 16 | 20 | |
| 17 | -Also have to deal with gcc runtime DLL. | |
| 21 | +From there, run | |
| 18 | 22 | |
| 19 | -./configure --disable-test-compare-images --enable-build-external-libs --with-buildrules=mingw | |
| 23 | +make | |
| 24 | + | |
| 25 | +at the top level directory to build everything. Building with mingw | |
| 26 | +from a cygwin environment is not likely to work. However, you have to | |
| 27 | +have a cygwin environment to run the test suite. Once you have built | |
| 28 | +qpdf using mingw, you can test as follows: | |
| 29 | + | |
| 30 | +From your MSYS environment: | |
| 31 | + | |
| 32 | + * Run objdump qpdf/build/qpdf.exe | grep DLL | |
| 33 | + | |
| 34 | + * Copy the gcc runtime DLL into libqpdf/build | |
| 35 | + | |
| 36 | +From a Cygwin environment: | |
| 37 | + | |
| 38 | + * Add the full path libqpdf/build to your path | |
| 39 | + | |
| 40 | + * Run | |
| 41 | + | |
| 42 | + make check GENDEPS=0 | |
| 43 | + | |
| 44 | +This will run the qtest-based test suite, which requires cygwin. You | |
| 45 | +need perl, gnu diffutils, and basic shell commands. | |
| 46 | + | |
| 47 | +As of this writing, the image comparison tests confuse ghostscript in | |
| 48 | +cygwin, but there's a chance they might work at some point. If you | |
| 49 | +want to run them, you need ghostscript and tiff utils as well. Then | |
| 50 | +omit --disable-test-compare-images from your configure statement. | |
| 51 | + | |
| 52 | +If you are building with MSVC and want to debug a crash in MSVC's | |
| 53 | +debugger, first start an instance of Visual C++. Then run qpdf. When | |
| 54 | +the abort/retry/ignore dialog pops up, first attach the process from | |
| 55 | +within visual C++, and then click Retry in qpdf. | ... | ... |