Commit ad19b03fd346e6779a029c43b6228e377919852f

Authored by Jay Berkenbilt
1 parent 351284b5

now possible to test from msys!


git-svn-id: svn+q:///qpdf/trunk@804 71b93d88-0707-0410-a8cf-f5a4172ac649
Showing 1 changed file with 39 additions and 33 deletions
README.windows
... ... @@ -2,19 +2,15 @@ Common Setup
2 2 ============
3 3  
4 4 To be able to build qpdf and run its test suite, you must have either
5   -Cygwin or MSYS from MinGW (>= 1.0.11) installed.
6   -
7   - qpdf's test suite, you must have cygwin installed.
8   -This is because qpdf's test suite uses qtest, which requires cygwin
9   -perl on Windows. (Hopefully a future version of qtest will work with
10   -ActiveState Perl.) You must have at least perl and gnu diffutils
11   -installed to run the test suite.
  5 +Cygwin or MSYS from MinGW (>= 1.0.11) installed. If you want to build
  6 +with Microsoft Visual C++, either Cygwin or MSYS will do. If you want
  7 +to build with MinGW, you must use MSYS rather than Cygwin.
12 8  
13 9 As of this writing, the image comparison tests confuse ghostscript in
14 10 cygwin, but there's a chance they might work at some point. If you
15 11 want to run them, you need ghostscript and tiff utils as well. Then
16 12 omit --disable-test-compare-images from the configure statements given
17   -below.
  13 +below. The image comparison tests have not been tried under MSYS.
18 14  
19 15 Building with MinGW
20 16 ===================
... ... @@ -31,39 +27,22 @@ From your MSYS prompt, run
31 27 ./configure --disable-test-compare-images --enable-build-external-libs --with-buildrules=mingw
32 28 make
33 29  
34   -When done, you should copy the gcc runtime DLL into the libqpdf/build
35   -directory. You can find the path to it by running
36   -
37   - objdump -p qpdf/build/qpdf.exe | grep DLL
38   - type -P libgcc_s_dw2-1.dll
39   -
40   -replacing libgcc_s_dw2-1.dll with whatever gcc DLL is shown, if
41   -different. Redistribution of this DLL is unavoidable as of this
42   -writing; see "Static Runtime" below for details.
  30 +Add the absolute path to the libqpdf/build directory to your PATH.
  31 +Make sure you can run the qpdf command by typing qpdf/build/qpdf and
  32 +making sure you get a help message rather than an error loading the
  33 +DLL or no output at all. Run the test suite by typing
43 34  
44   -From your cygwin prompt, add the absolute path to the libqpdf/build
45   -directory to your PATH. Make sure you can run the qpdf command by
46   -typing qpdf/build/qpdf and making sure you get a help message rather
47   -than an error loading the DLL or no output at all. Run the test suite
48   -by typing
49   -
50   - make check GENDEPS=0
  35 + make check
51 36  
52   -from your cygwin prompt. The GENDEPS=0 is necessary to prevent the
53   -build system in cygwin from trying to interpret the MSYS/Windows paths
54   -embedded in the dependency files. If all goes well, you should get a
55   -passing test suite.
  37 +If all goes well, you should get a passing test suite.
56 38  
57 39 Building with MSVC .NET 2008 Express
58 40 ====================================
59 41  
60 42 These instructions would likely work with newer version of MSVC or
61 43 with full version of MSVC. They may also work with .NET 2005. They
62   -have only been tested with .NET 2008 Express.
63   -
64   -It's possible that the MSVC build may work from MSYS, but since cygwin
65   -is needed to run the test suite, these have only been tested from
66   -cygwin.
  44 +have only been tested with .NET 2008 Express. You may follow these
  45 +instructions from either Cygwin or from MSYS.
67 46  
68 47 You should first set up your environment to be able to run MSVC from
69 48 the command line. There is usually a batch file included with MSVC
... ... @@ -98,6 +77,33 @@ Note that you must redistribute the Microsoft runtime DLLs. Linking
98 77 with static runtime won't work; see "Static Runtime" below for
99 78 details.
100 79  
  80 +Runtime DLLs
  81 +============
  82 +
  83 +Both build methods create executables and DLLs that are dependent on
  84 +the compiler's runtime DLLs. You can find out which DLLs are required
  85 +by using objdump. For any DLLs that are not standard on any Windows
  86 +system, you will need to copy those into the directory with the exe
  87 +and the qpdf DLL in order for the application to work outside the
  88 +development environment. You don't need KERNEL32.dll, or msvcrt.dll
  89 +as those are standard.
  90 +
  91 +To discover which DLLs you need, you can run
  92 +
  93 + objdump -p qpdf/build/qpdf.exe | grep DLL
  94 +
  95 +To find the path to the DLL, you can use type -P, as in
  96 +
  97 + type -P libgcc_s_dw2-1.dll
  98 +
  99 +replacing libgcc_s_dw2-1.dll with whatever gcc DLL is shown, if
  100 +different. For MSVC, you will probably need two DLLs. Keep in mind
  101 +that Microsoft does not allow redistribution of the debugging DLLs.
  102 +qpdf's build does not depend on them by default, however.
  103 +
  104 +Redistribution of the runtime DLL is unavoidable as of this writing;
  105 +see "Static Runtime" below for details.
  106 +
101 107 Installing
102 108 ==========
103 109  
... ...