notes, version

git-svn-id: svn+q:///qpdf/trunk@893 71b93d88-0707-0410-a8cf-f5a4172ac649
This commit is contained in:
Jay Berkenbilt 2009-10-23 16:44:13 +00:00
parent dcaeb6a89d
commit cfc1f6fcac
4 changed files with 75 additions and 31 deletions

View File

@ -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
===================

View File

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

44
TODO
View File

@ -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
- external-libs-src.zip -- includes build.sh, clean.sh, clwrap,
and dist; from ../external-libs
- external-libs-bin.zip -- precompiled external libraries
- qpdf-bin-mingw.zip -- qpdf executable, dll, and development
files built with mingw
- qpdf-bin-msvc.zip -- qpdf executable, dll, and development files
built with msvc
- README-what-to-download.txt -- descriptions of what to download
on Windows, etc.
* 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.
* make_windows_releases:
* 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.
- make sure external-libs exists; if not, tell the user to extract
it
* Add comments for the security functions that map them back to the
items in Adobe's products.
- set path to include libqpdf/build
- ./config-mingw; make check install
- make distclean
- ./config-msvc; make check install
- 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.
*** 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

View File

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