Commit cfc1f6fcac1f55aaca02792c69f130e6fde5c2d5
1 parent
dcaeb6a8
notes, version
git-svn-id: svn+q:///qpdf/trunk@893 71b93d88-0707-0410-a8cf-f5a4172ac649
Showing
4 changed files
with
72 additions
and
28 deletions
README.maintainer
| ... | ... | @@ -37,11 +37,29 @@ Release Reminders |
| 37 | 37 | internally testing releases, you can run make_dist with the |
| 38 | 38 | --no-tests option. |
| 39 | 39 | |
| 40 | + * To create a source release of external libs, do an export from the | |
| 41 | + version control system into a directory called qpdf-external-libs | |
| 42 | + and just make a zip file of the result called | |
| 43 | + qpdf-external-libs-src.zip. See the README.txt file there for | |
| 44 | + information on creating binary external libs releases. | |
| 45 | + | |
| 46 | + * To create Windows binary releases, extract the qpdf source | |
| 47 | + distribution in Windows (MSYS + MINGW, MSVC) and run | |
| 48 | + ./make_windows_releases from there. You will have to manually | |
| 49 | + create zip files from the install-mingw and install-msys | |
| 50 | + directories; instructions are echoed by the script. | |
| 51 | + | |
| 52 | + * Remember to copy README-what-to-download.txt separately onto the | |
| 53 | + download area and make it the default for Windows platforms. | |
| 54 | + | |
| 40 | 55 | * Remember to update documentation in the "files" subdirectory of the |
| 41 | 56 | website on sourceforge.net. |
| 42 | 57 | |
| 43 | 58 | * Create a tag in the version control system. |
| 44 | 59 | |
| 60 | + * When releasing on source forge, external-libs distributions go in | |
| 61 | + external-libs/yyyymmdd, and qpdf distributions go in qpdf/vvv | |
| 62 | + | |
| 45 | 63 | General Build Stuff |
| 46 | 64 | =================== |
| 47 | 65 | ... | ... |
README.windows
| ... | ... | @@ -12,14 +12,42 @@ want to run them, you need ghostscript and tiff utils as well. Then |
| 12 | 12 | omit --disable-test-compare-images from the configure statements given |
| 13 | 13 | below. The image comparison tests have not been tried under MSYS. |
| 14 | 14 | |
| 15 | + | |
| 16 | +External Libraries | |
| 17 | +================== | |
| 18 | + | |
| 19 | +In order to build qpdf, you must have copies of zlib and pcre. The | |
| 20 | +easy way to get them is to download them from the qpdf download area. | |
| 21 | +There are packages called external-libs-bin.zip and | |
| 22 | +external-libs-src.zip. If you are building with MSVC 9 (.NET 2008) or | |
| 23 | +MINGW 4.4, you can just extract the external-libs-bin.zip zip file | |
| 24 | +into the top-level qpdf source tree. It will create a directory | |
| 25 | +called external-libs which contains header files and precompiled | |
| 26 | +libraries. Passing --enable-external-libs to ./configure (which is | |
| 27 | +done automatically if you follow the instructions below) is sufficient | |
| 28 | +to find them. | |
| 29 | + | |
| 30 | +You can also obtain pcre and zlib directly on your own and install | |
| 31 | +them. If you are using mingw, you can just set CPPFLAGS, LDFLAGS, and | |
| 32 | +LIBS when you run ./configure so that it can find the header files and | |
| 33 | +libraries. If you are building with msvc and you want to do this, it | |
| 34 | +probably won't work because ./configure doesn't know how to interpret | |
| 35 | +LDFLAGS and LIBS properly for MSVC (though qpdf's own build system | |
| 36 | +does). In this case, you can probably get away with cheating by | |
| 37 | +passing --enable-external-libs to ./configure and then just editing | |
| 38 | +CPPFLAGS, LDFLAGS, LIBS in the generated autoconf.mk file. Note that | |
| 39 | +you should use UNIX-like syntax (-I, -L, -l) even though this is not | |
| 40 | +what cl takes on the command line. qpdf's build rules will fix it. | |
| 41 | + | |
| 42 | + | |
| 15 | 43 | Building with MinGW |
| 16 | 44 | =================== |
| 17 | 45 | |
| 18 | 46 | QPDF is known to build and pass its test suite with MSYS-1.0.11 and |
| 19 | 47 | gcc 4.4.0 with C++ support. If you also have ActiveState Perl in your |
| 20 | -path, you can fully configure, build, and test qpdf in this | |
| 21 | -environment. You will most likely not be able to build qpdf with | |
| 22 | -mingw using cygwin. | |
| 48 | +path and the external-libs distribution described above, you can fully | |
| 49 | +configure, build, and test qpdf in this environment. You will most | |
| 50 | +likely not be able to build qpdf with mingw using cygwin. | |
| 23 | 51 | |
| 24 | 52 | From your MSYS prompt, run |
| 25 | 53 | ... | ... |
TODO
| ... | ... | @@ -8,36 +8,34 @@ |
| 8 | 8 | * Write documentation section on source-level API changes between 2.0 |
| 9 | 9 | and 2.1. |
| 10 | 10 | |
| 11 | + * Add comments for the security functions that map them back to the | |
| 12 | + items in Adobe's products. | |
| 13 | + | |
| 11 | 14 | * Create the following packages: |
| 12 | 15 | |
| 13 | - - qpdf source package | |
| 16 | + - README-what-to-download.txt -- descriptions of what to download | |
| 17 | + on Windows, etc. | |
| 14 | 18 | |
| 15 | - - external-libs-src.zip -- includes build.sh, clean.sh, clwrap, | |
| 16 | - and dist; from ../external-libs | |
| 19 | + * make_windows_releases: | |
| 17 | 20 | |
| 18 | - - external-libs-bin.zip -- precompiled external libraries | |
| 21 | + - make sure external-libs exists; if not, tell the user to extract | |
| 22 | + it | |
| 19 | 23 | |
| 20 | - - qpdf-bin-mingw.zip -- qpdf executable, dll, and development | |
| 21 | - files built with mingw | |
| 24 | + - set path to include libqpdf/build | |
| 22 | 25 | |
| 23 | - - qpdf-bin-msvc.zip -- qpdf executable, dll, and development files | |
| 24 | - built with msvc | |
| 26 | + - ./config-mingw; make check install | |
| 25 | 27 | |
| 26 | - - README-what-to-download.txt -- descriptions of what to download | |
| 27 | - on Windows, etc. | |
| 28 | + - make distclean | |
| 28 | 29 | |
| 29 | - * Windows release: config for both compilers, make install. Create | |
| 30 | - zip files. Probably should put the compiler name somewhere in the | |
| 31 | - directory (qpdf-version-compiler?). Need some kind of "what to | |
| 32 | - download" file. Remember external-libs in installation....zlib.h | |
| 33 | - at least is needed. | |
| 30 | + - ./config-msvc; make check install | |
| 34 | 31 | |
| 35 | - * Make sure the scripts in external-libs are distributed. We only | |
| 36 | - don't want the dists distributed. Rework as necessary. The end | |
| 37 | - user should be able to reproduce this whole thing. | |
| 32 | + - instruct the user to create qpdf-vvv-bin-mingw.zip and | |
| 33 | + qpdf-vvv-bin-msvc.zip from the contents of the install-mingw and | |
| 34 | + install-msys directories. | |
| 38 | 35 | |
| 39 | - * Add comments for the security functions that map them back to the | |
| 40 | - items in Adobe's products. | |
| 36 | + *** still have to make sure libqpdf.a/qpdf.lib doesn't have to be | |
| 37 | + in the same directory as the dll, but I'm pretty sure it | |
| 38 | + doesn't. | |
| 41 | 39 | |
| 42 | 40 | * "Delphi wrapper unit 'qpdf.pas' created by Zarko Gajic |
| 43 | 41 | (http://delphi.about.com). .. use at your own risk and for whatever | ... | ... |
configure.ac
| ... | ... | @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. |
| 2 | 2 | dnl This config.in requires autoconf 2.5 or greater. |
| 3 | 3 | |
| 4 | 4 | AC_PREREQ(2.60) |
| 5 | -AC_INIT(qpdf,2.1.a1) | |
| 5 | +AC_INIT(qpdf,2.1.rc1) | |
| 6 | 6 | |
| 7 | 7 | AC_CONFIG_MACRO_DIR([m4]) |
| 8 | 8 | AC_CONFIG_FILES([autoconf.mk]) |
| ... | ... | @@ -110,7 +110,7 @@ if test "$BUILDRULES" != "msvc"; then |
| 110 | 110 | fi |
| 111 | 111 | fi |
| 112 | 112 | |
| 113 | -if test "$USE_EXTERNAL_LIBS" = "0"; then | |
| 113 | +if test "$BUILDRULES" != "msvc"; then | |
| 114 | 114 | AC_MSG_CHECKING(for whether to use -Werror) |
| 115 | 115 | AC_ARG_ENABLE(werror, |
| 116 | 116 | AS_HELP_STRING([--enable-werror], |
| ... | ... | @@ -318,9 +318,9 @@ fi |
| 318 | 318 | |
| 319 | 319 | # Do this last so it doesn't interfere with other tests. |
| 320 | 320 | if test "$USE_EXTERNAL_LIBS" = "1"; then |
| 321 | - if test "$BUILDRULES" = "libtool"; then | |
| 322 | - AC_MSG_ERROR([BUILDRULES=libtool is not supported when building external libraries]) | |
| 323 | - fi | |
| 321 | + # Don't actually check for the presence of this -- we document that | |
| 322 | + # the user can run this and then edit autoconf.mk if they have too | |
| 323 | + # much trouble getting it to work with a different compiler. | |
| 324 | 324 | CPPFLAGS="$CPPFLAGS -Iexternal-libs/include" |
| 325 | 325 | LDFLAGS="$LDFLAGS -Lexternal-libs/lib-$BUILDRULES" |
| 326 | 326 | LIBS="$LIBS -lz -lpcre" | ... | ... |