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,11 +37,29 @@ Release Reminders | ||
| 37 | internally testing releases, you can run make_dist with the | 37 | internally testing releases, you can run make_dist with the |
| 38 | --no-tests option. | 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 | * Remember to update documentation in the "files" subdirectory of the | 55 | * Remember to update documentation in the "files" subdirectory of the |
| 41 | website on sourceforge.net. | 56 | website on sourceforge.net. |
| 42 | 57 | ||
| 43 | * Create a tag in the version control system. | 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 | General Build Stuff | 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,14 +12,42 @@ want to run them, you need ghostscript and tiff utils as well. Then | ||
| 12 | omit --disable-test-compare-images from the configure statements given | 12 | omit --disable-test-compare-images from the configure statements given |
| 13 | below. The image comparison tests have not been tried under MSYS. | 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 | Building with MinGW | 43 | Building with MinGW |
| 16 | =================== | 44 | =================== |
| 17 | 45 | ||
| 18 | QPDF is known to build and pass its test suite with MSYS-1.0.11 and | 46 | QPDF is known to build and pass its test suite with MSYS-1.0.11 and |
| 19 | gcc 4.4.0 with C++ support. If you also have ActiveState Perl in your | 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 | From your MSYS prompt, run | 52 | From your MSYS prompt, run |
| 25 | 53 |
TODO
| @@ -8,36 +8,34 @@ | @@ -8,36 +8,34 @@ | ||
| 8 | * Write documentation section on source-level API changes between 2.0 | 8 | * Write documentation section on source-level API changes between 2.0 |
| 9 | and 2.1. | 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 | * Create the following packages: | 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 | * "Delphi wrapper unit 'qpdf.pas' created by Zarko Gajic | 40 | * "Delphi wrapper unit 'qpdf.pas' created by Zarko Gajic |
| 43 | (http://delphi.about.com). .. use at your own risk and for whatever | 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,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. | ||
| 2 | dnl This config.in requires autoconf 2.5 or greater. | 2 | dnl This config.in requires autoconf 2.5 or greater. |
| 3 | 3 | ||
| 4 | AC_PREREQ(2.60) | 4 | AC_PREREQ(2.60) |
| 5 | -AC_INIT(qpdf,2.1.a1) | 5 | +AC_INIT(qpdf,2.1.rc1) |
| 6 | 6 | ||
| 7 | AC_CONFIG_MACRO_DIR([m4]) | 7 | AC_CONFIG_MACRO_DIR([m4]) |
| 8 | AC_CONFIG_FILES([autoconf.mk]) | 8 | AC_CONFIG_FILES([autoconf.mk]) |
| @@ -110,7 +110,7 @@ if test "$BUILDRULES" != "msvc"; then | @@ -110,7 +110,7 @@ if test "$BUILDRULES" != "msvc"; then | ||
| 110 | fi | 110 | fi |
| 111 | fi | 111 | fi |
| 112 | 112 | ||
| 113 | -if test "$USE_EXTERNAL_LIBS" = "0"; then | 113 | +if test "$BUILDRULES" != "msvc"; then |
| 114 | AC_MSG_CHECKING(for whether to use -Werror) | 114 | AC_MSG_CHECKING(for whether to use -Werror) |
| 115 | AC_ARG_ENABLE(werror, | 115 | AC_ARG_ENABLE(werror, |
| 116 | AS_HELP_STRING([--enable-werror], | 116 | AS_HELP_STRING([--enable-werror], |
| @@ -318,9 +318,9 @@ fi | @@ -318,9 +318,9 @@ fi | ||
| 318 | 318 | ||
| 319 | # Do this last so it doesn't interfere with other tests. | 319 | # Do this last so it doesn't interfere with other tests. |
| 320 | if test "$USE_EXTERNAL_LIBS" = "1"; then | 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 | CPPFLAGS="$CPPFLAGS -Iexternal-libs/include" | 324 | CPPFLAGS="$CPPFLAGS -Iexternal-libs/include" |
| 325 | LDFLAGS="$LDFLAGS -Lexternal-libs/lib-$BUILDRULES" | 325 | LDFLAGS="$LDFLAGS -Lexternal-libs/lib-$BUILDRULES" |
| 326 | LIBS="$LIBS -lz -lpcre" | 326 | LIBS="$LIBS -lz -lpcre" |