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