ref: 4e33f9e53c2dcfeebd84f8e9a61ae80724c7acf5
parent: 71b8f3f2ed06ce2a437b31e34c75e6aeab781640
author: Werner Lemberg <[email protected]>
date: Sat Jul 5 02:35:28 EDT 2008
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.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2008-07-05 Werner Lemberg <[email protected]>
+
+ 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 <[email protected]>
* src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
--- 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
--- 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 @@
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=<GNU make command name> $0'." >&2
echo "or >&2"
@@ -92,9 +92,13 @@
# 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
--- a/docs/INSTALL.CROSS
+++ b/docs/INSTALL.CROSS
@@ -8,7 +8,7 @@
-----------------
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 @@
----------------------------------------------------------------------
-Copyright 2006 by suzuki toshiya
+Copyright 2006, 2008 by suzuki toshiya
David Turner, Robert Wilhelm, and Werner Lemberg.
--- a/docs/INSTALL.GNU
+++ b/docs/INSTALL.GNU
@@ -35,7 +35,7 @@
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 @@
----------------------------------------------------------------------
-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,
--- a/docs/INSTALL.UNIX
+++ b/docs/INSTALL.UNIX
@@ -19,7 +19,7 @@
GNU Make <version number>
Copyright (C) <year> 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')