Commit cfc1f6fcac1f55aaca02792c69f130e6fde5c2d5

Authored by Jay Berkenbilt
1 parent dcaeb6a8

notes, version

git-svn-id: svn+q:///qpdf/trunk@893 71b93d88-0707-0410-a8cf-f5a4172ac649
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  
... ...
... ... @@ -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"
... ...