aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.maintainer18
-rw-r--r--README.windows34
-rw-r--r--TODO38
-rw-r--r--configure.ac10
4 files changed, 72 insertions, 28 deletions
diff --git a/README.maintainer b/README.maintainer
index 28fb6119..ca922f00 100644
--- a/README.maintainer
+++ b/README.maintainer
@@ -37,11 +37,29 @@ Release Reminders
internally testing releases, you can run make_dist with the
--no-tests option.
+ * To create a source release of external libs, do an export from the
+ version control system into a directory called qpdf-external-libs
+ and just make a zip file of the result called
+ qpdf-external-libs-src.zip. See the README.txt file there for
+ information on creating binary external libs releases.
+
+ * To create Windows binary releases, extract the qpdf source
+ distribution in Windows (MSYS + MINGW, MSVC) and run
+ ./make_windows_releases from there. You will have to manually
+ create zip files from the install-mingw and install-msys
+ directories; instructions are echoed by the script.
+
+ * Remember to copy README-what-to-download.txt separately onto the
+ download area and make it the default for Windows platforms.
+
* Remember to update documentation in the "files" subdirectory of the
website on sourceforge.net.
* Create a tag in the version control system.
+ * When releasing on source forge, external-libs distributions go in
+ external-libs/yyyymmdd, and qpdf distributions go in qpdf/vvv
+
General Build Stuff
===================
diff --git a/README.windows b/README.windows
index 8ef78c81..ac02c95e 100644
--- a/README.windows
+++ b/README.windows
@@ -12,14 +12,42 @@ want to run them, you need ghostscript and tiff utils as well. Then
omit --disable-test-compare-images from the configure statements given
below. The image comparison tests have not been tried under MSYS.
+
+External Libraries
+==================
+
+In order to build qpdf, you must have copies of zlib and pcre. The
+easy way to get them is to download them from the qpdf download area.
+There are packages called external-libs-bin.zip and
+external-libs-src.zip. If you are building with MSVC 9 (.NET 2008) or
+MINGW 4.4, you can just extract the external-libs-bin.zip zip file
+into the top-level qpdf source tree. It will create a directory
+called external-libs which contains header files and precompiled
+libraries. Passing --enable-external-libs to ./configure (which is
+done automatically if you follow the instructions below) is sufficient
+to find them.
+
+You can also obtain pcre and zlib directly on your own and install
+them. If you are using mingw, you can just set CPPFLAGS, LDFLAGS, and
+LIBS when you run ./configure so that it can find the header files and
+libraries. If you are building with msvc and you want to do this, it
+probably won't work because ./configure doesn't know how to interpret
+LDFLAGS and LIBS properly for MSVC (though qpdf's own build system
+does). In this case, you can probably get away with cheating by
+passing --enable-external-libs to ./configure and then just editing
+CPPFLAGS, LDFLAGS, LIBS in the generated autoconf.mk file. Note that
+you should use UNIX-like syntax (-I, -L, -l) even though this is not
+what cl takes on the command line. qpdf's build rules will fix it.
+
+
Building with MinGW
===================
QPDF is known to build and pass its test suite with MSYS-1.0.11 and
gcc 4.4.0 with C++ support. If you also have ActiveState Perl in your
-path, you can fully configure, build, and test qpdf in this
-environment. You will most likely not be able to build qpdf with
-mingw using cygwin.
+path and the external-libs distribution described above, you can fully
+configure, build, and test qpdf in this environment. You will most
+likely not be able to build qpdf with mingw using cygwin.
From your MSYS prompt, run
diff --git a/TODO b/TODO
index 1f85126f..d07694f5 100644
--- a/TODO
+++ b/TODO
@@ -8,36 +8,34 @@
* Write documentation section on source-level API changes between 2.0
and 2.1.
+ * Add comments for the security functions that map them back to the
+ items in Adobe's products.
+
* Create the following packages:
- - qpdf source package
+ - README-what-to-download.txt -- descriptions of what to download
+ on Windows, etc.
- - external-libs-src.zip -- includes build.sh, clean.sh, clwrap,
- and dist; from ../external-libs
+ * make_windows_releases:
- - external-libs-bin.zip -- precompiled external libraries
+ - make sure external-libs exists; if not, tell the user to extract
+ it
- - qpdf-bin-mingw.zip -- qpdf executable, dll, and development
- files built with mingw
+ - set path to include libqpdf/build
- - qpdf-bin-msvc.zip -- qpdf executable, dll, and development files
- built with msvc
+ - ./config-mingw; make check install
- - README-what-to-download.txt -- descriptions of what to download
- on Windows, etc.
+ - make distclean
- * Windows release: config for both compilers, make install. Create
- zip files. Probably should put the compiler name somewhere in the
- directory (qpdf-version-compiler?). Need some kind of "what to
- download" file. Remember external-libs in installation....zlib.h
- at least is needed.
+ - ./config-msvc; make check install
- * Make sure the scripts in external-libs are distributed. We only
- don't want the dists distributed. Rework as necessary. The end
- user should be able to reproduce this whole thing.
+ - instruct the user to create qpdf-vvv-bin-mingw.zip and
+ qpdf-vvv-bin-msvc.zip from the contents of the install-mingw and
+ install-msys directories.
- * Add comments for the security functions that map them back to the
- items in Adobe's products.
+ *** still have to make sure libqpdf.a/qpdf.lib doesn't have to be
+ in the same directory as the dll, but I'm pretty sure it
+ doesn't.
* "Delphi wrapper unit 'qpdf.pas' created by Zarko Gajic
(http://delphi.about.com). .. use at your own risk and for whatever
diff --git a/configure.ac b/configure.ac
index 1807d97c..94a1130d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
dnl This config.in requires autoconf 2.5 or greater.
AC_PREREQ(2.60)
-AC_INIT(qpdf,2.1.a1)
+AC_INIT(qpdf,2.1.rc1)
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_FILES([autoconf.mk])
@@ -110,7 +110,7 @@ if test "$BUILDRULES" != "msvc"; then
fi
fi
-if test "$USE_EXTERNAL_LIBS" = "0"; then
+if test "$BUILDRULES" != "msvc"; then
AC_MSG_CHECKING(for whether to use -Werror)
AC_ARG_ENABLE(werror,
AS_HELP_STRING([--enable-werror],
@@ -318,9 +318,9 @@ fi
# Do this last so it doesn't interfere with other tests.
if test "$USE_EXTERNAL_LIBS" = "1"; then
- if test "$BUILDRULES" = "libtool"; then
- AC_MSG_ERROR([BUILDRULES=libtool is not supported when building external libraries])
- fi
+ # Don't actually check for the presence of this -- we document that
+ # the user can run this and then edit autoconf.mk if they have too
+ # much trouble getting it to work with a different compiler.
CPPFLAGS="$CPPFLAGS -Iexternal-libs/include"
LDFLAGS="$LDFLAGS -Lexternal-libs/lib-$BUILDRULES"
LIBS="$LIBS -lz -lpcre"