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. |