Commit 26eccb409f451916336eaebb95a7551eda35070b

Werner Lemberg 2004-04-13T08:35:05

* 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.

diff --git a/ChangeLog b/ChangeLog
index 90744f4..12654d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2004-04-12  Werner Lemberg  <wl@gnu.org>
+
+	* 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  <wl@gnu.org>
 
 	* 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 9fc9d60..a0419dc 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 a9c1160..c263e0e 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 fae08b3..c1555ac 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 c8a5657..8621c0e 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=<GNU make command name> $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=<GNU make command name> $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 93c8bd3..8fb6657 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 d984789..4a56d6d 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 1483380..d5a45c0 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: