diff --git a/ChangeLog b/ChangeLog index 90744f40f..12654d66b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2004-04-12 Werner Lemberg + + * configure: Accept makepp also. + + * builds/unix/detect.mk: Use proper path to unix-def.mk. + * builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove. + * builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define. + Use BUILD_DIR. + + * docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update + documentation on makepp. + 2004-04-11 Werner Lemberg * src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h. diff --git a/builds/unix/detect.mk b/builds/unix/detect.mk index 9fc9d601d..a0419dce7 100644 --- a/builds/unix/detect.mk +++ b/builds/unix/detect.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2002, 2003 by +# Copyright 1996-2000, 2002, 2003, 2004 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -66,7 +66,7 @@ ifeq ($(PLATFORM),unix) # platform). # CONFIG_FILE := unix.mk - setup: unix-def.mk + setup: $(BUILD_DIR)/unix-def.mk unix: setup .PHONY: unix endif @@ -77,10 +77,10 @@ ifeq ($(PLATFORM),unix) have_mk := $(strip $(wildcard $(OBJ_DIR)/Makefile)) ifneq ($(have_mk),) # we are building FT2 not in the src tree - unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in + $(BUILD_DIR)/unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in $(TOP_DIR)/builds/unix/configure $(CFG) else - unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in + $(BUILD_DIR)/unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in cd builds/unix; ./configure $(CFG) endif diff --git a/builds/unix/unix-def.in b/builds/unix/unix-def.in index a9c1160c1..c263e0e26 100644 --- a/builds/unix/unix-def.in +++ b/builds/unix/unix-def.in @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2002 by +# Copyright 1996-2000, 2002, 2004 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -21,8 +21,6 @@ TOP_DIR := $(shell cd $(TOP_DIR); pwd) DELETE := @RMF@ DELDIR := @RMDIR@ SEP := / -BUILD_DIR := $(TOP_DIR)/builds/unix -PLATFORM := unix # this is used for `make distclean' and `make install' ifndef OBJ_BUILD diff --git a/builds/unix/unix.mk b/builds/unix/unix.mk index fae08b396..c1555acf6 100644 --- a/builds/unix/unix.mk +++ b/builds/unix/unix.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2002 by +# Copyright 1996-2000, 2002, 2004 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -12,10 +12,14 @@ # indicate that you have read the license and understand and accept it # fully. -have_mk := $(strip $(wildcard $(TOP_DIR)/builds/unix/unix-def.mk)) +# We need these declarations here since unix-def.mk is a generated file. +BUILD_DIR := $(TOP_DIR)/builds/unix +PLATFORM := unix + +have_mk := $(strip $(wildcard $(BUILD_DIR)/unix-def.mk)) ifneq ($(have_mk),) - include $(TOP_DIR)/builds/unix/unix-def.mk - include $(TOP_DIR)/builds/unix/unix-cc.mk + include $(BUILD_DIR)/unix-def.mk + include $(BUILD_DIR)/unix-cc.mk else # we are building FT2 not in the src tree include $(OBJ_DIR)/unix-def.mk diff --git a/configure b/configure index c8a56577d..8621c0e5a 100644 --- a/configure +++ b/configure @@ -5,7 +5,6 @@ # This should re-generate the following files: # # config.mk -# Jamfile # install # @@ -14,9 +13,14 @@ if test "x$GNUMAKE" = x; then fi if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then - echo "Sorry, GNU make is required to build FreeType2." >&2 - echo "Please try \`GNUMAKE= $0'." >&2 - exit 1 + 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 "Please try" >&2 + echo " \`GNUMAKE= $0'." >&2 + echo "or >&2" + echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2 + exit 1 + fi fi # Uh, oh. This is taken from autoconf. They know what they are doing... diff --git a/docs/INSTALL b/docs/INSTALL index 93c8bd36d..8fb665759 100644 --- a/docs/INSTALL +++ b/docs/INSTALL @@ -61,6 +61,7 @@ II. Custom builds of the library [2] make++, a make tool written in Perl, has sufficient support of GNU make extensions to build FreeType. See - http://makepp.sourceforge.net for more information. + http://makepp.sourceforge.net for more information; you need version + 1.19 or newer, and you must pass option `--norc-substitution'. --- end of INSTALL --- diff --git a/docs/INSTALL.GNU b/docs/INSTALL.GNU index d984789e5..4a56d6d6d 100644 --- a/docs/INSTALL.GNU +++ b/docs/INSTALL.GNU @@ -23,7 +23,8 @@ the file INSTALL.UNX instead. Note that make++, a make tool written in Perl, supports enough features of GNU make to compile FreeType. See - http://makepp.sourceforge.net for more information. + http://makepp.sourceforge.net for more information; you need version + 1.19 or newer, and you must pass option `--norc-substitution'. Make sure that you are invoking GNU Make from the command line, by typing something like: diff --git a/docs/INSTALL.UNX b/docs/INSTALL.UNX index 148338098..d5a45c042 100644 --- a/docs/INSTALL.UNX +++ b/docs/INSTALL.UNX @@ -13,7 +13,8 @@ Win32: [Well, this is not really correct. Recently, a perl implementation of make called `makepp' has appeared which can also build FreeType 2 successfully on Unix platforms. See http://makepp.sourceforge.net - for more details.] + for more details; you need version 1.19 or newer, and you must pass + option `--norc-substitution'.] Trying to compile the library with a different Make tool will print a message like: