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,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
@@ -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"