diff --git a/ChangeLog b/ChangeLog index 4277f6234..c038ddb15 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2008-07-05 Werner Lemberg + + Since FreeType uses `$(value ...)', we now need GNU make 3.80 or + newer. + + * configure: zsh doesn't like ${1+"$@"}. + Update needed GNU make version. + * builds/toplevel.mk: Check for `$(eval ...)'. + * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document + it. + 2008-07-04 Werner Lemberg * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one diff --git a/builds/toplevel.mk b/builds/toplevel.mk index 57b5ca56c..f2d759a37 100644 --- a/builds/toplevel.mk +++ b/builds/toplevel.mk @@ -34,6 +34,16 @@ # details on host platform detection and library builds. +# First of all, check whether we have `$(value ...)'. We do this by testing +# for `$(eval ...)' which has been introduced in the same GNU make version. + +eval_available := +$(eval eval_available := T) +ifneq ($(eval_available),T) + $(error FreeType's build system needs a Make program which supports $$(value)) +endif + + .PHONY: all dist distclean modules setup diff --git a/configure b/configure index c72e44b72..b59d35d07 100644 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2002, 2003, 2004, 2005, 2006 by +# Copyright 2002, 2003, 2004, 2005, 2006, 2008 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -21,7 +21,7 @@ fi if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then - echo "GNU make (>= 3.79.1) or makepp (>= 1.19) is required to build FreeType2." >&2 + echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2 echo "Please try" >&2 echo " \`GNUMAKE= $0'." >&2 echo "or >&2" @@ -92,9 +92,13 @@ fi # call make CFG= -for x in ${1+"$@"}; do - CFG="$CFG '$x'" -done +# work around zsh bug which doesn't like `${1+"$@"}' +case $# in +0) ;; +*) for x in "$@"; do + CFG="$CFG '$x'" + done ;; +esac CFG=$CFG $GNUMAKE setup unix # eof diff --git a/docs/INSTALL.CROSS b/docs/INSTALL.CROSS index 1a0c00cdd..3def12c8c 100644 --- a/docs/INSTALL.CROSS +++ b/docs/INSTALL.CROSS @@ -8,7 +8,7 @@ INSTALL.UNIX for required tools and the basic self-building procedure. ----------------- For self-building the FreeType library on a Unix system, GNU Make - 3.78.1 or newer is required. INSTALL.UNIX contains hints how to + 3.80 or newer is required. INSTALL.UNIX contains hints how to check the installed `make'. The GNU C compiler to cross-build the target system is required. @@ -121,7 +121,7 @@ INSTALL.UNIX for required tools and the basic self-building procedure. ---------------------------------------------------------------------- -Copyright 2006 by suzuki toshiya +Copyright 2006, 2008 by suzuki toshiya David Turner, Robert Wilhelm, and Werner Lemberg. diff --git a/docs/INSTALL.GNU b/docs/INSTALL.GNU index 7b588cb87..72df50a4e 100644 --- a/docs/INSTALL.GNU +++ b/docs/INSTALL.GNU @@ -35,7 +35,7 @@ in the file INSTALL.UNIX instead. to display its version number. - VERSION 3.78.1 OR NEWER IS NEEDED! + VERSION 3.80 OR NEWER IS NEEDED! 2. Invoke `make' @@ -146,7 +146,7 @@ in the file INSTALL.UNIX instead. ---------------------------------------------------------------------- -Copyright 2003, 2004, 2005, 2006 by +Copyright 2003, 2004, 2005, 2006, 2008 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/docs/INSTALL.UNIX b/docs/INSTALL.UNIX index 3ddfb8e4b..1d5af993f 100644 --- a/docs/INSTALL.UNIX +++ b/docs/INSTALL.UNIX @@ -19,7 +19,7 @@ or MSys on Win32: GNU Make Copyright (C) Free Software Foundation Inc. - Note that version 3.78.1 or higher is *required* or the build will + Note that version 3.80 or higher is *required* or the build will fail. It is also fine to have GNU Make under another name (e.g. 'gmake')