FreeType 2 can now be built in an external directory with the
configure script also. * builds/freetype.mk (INCLUDES): Add `OBJ_DIR'. * builds/unix/detect.mk (have_mk): New variable to test for external build. (unix-def.mk): Defined according to value of `have_mk'. * builds/unix/unix.mk (have_mk): New variable to test for external build. Select include paths for unix-def.mk and unix-cc.mk according to value of `have_mk'. * builds/unix/unix-def.in (OBJ_BUILD): New variable. (DISTCLEAN): Use it. * builds/unix/unix-cc.in (LIBTOOL): Define default value only if not yet defined. * builds/unix/install.mk (install): Use `OBJ_BUILD' for installing freetype-config. * configure: Don't depend on bash features. (ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code partially taken from Autoconf). Build a dummy Makefile if not building in source tree. * docs/INSTALL: Document it.
This commit is contained in:
parent
26aca0244d
commit
f83ded0174
28
ChangeLog
28
ChangeLog
|
@ -1,3 +1,31 @@
|
||||||
|
2002-05-05 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
FreeType 2 can now be built in an external directory with the
|
||||||
|
configure script also.
|
||||||
|
|
||||||
|
* builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
|
||||||
|
|
||||||
|
* builds/unix/detect.mk (have_mk): New variable to test for
|
||||||
|
external build.
|
||||||
|
(unix-def.mk): Defined according to value of `have_mk'.
|
||||||
|
* builds/unix/unix.mk (have_mk): New variable to test for
|
||||||
|
external build.
|
||||||
|
Select include paths for unix-def.mk and unix-cc.mk according
|
||||||
|
to value of `have_mk'.
|
||||||
|
* builds/unix/unix-def.in (OBJ_BUILD): New variable.
|
||||||
|
(DISTCLEAN): Use it.
|
||||||
|
* builds/unix/unix-cc.in (LIBTOOL): Define default value only
|
||||||
|
if not yet defined.
|
||||||
|
* builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
|
||||||
|
freetype-config.
|
||||||
|
|
||||||
|
* configure: Don't depend on bash features.
|
||||||
|
(ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
|
||||||
|
partially taken from Autoconf).
|
||||||
|
Build a dummy Makefile if not building in source tree.
|
||||||
|
|
||||||
|
* docs/INSTALL: Document it.
|
||||||
|
|
||||||
2002-05-04 David Turner <david@freetype.org>
|
2002-05-04 David Turner <david@freetype.org>
|
||||||
|
|
||||||
* src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
|
* src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
|
||||||
|
|
|
@ -130,7 +130,7 @@ PROJECT_LIBRARY := $(LIB_)$(LIBRARY).$A
|
||||||
# in the `freetype/builds/<system>' directory, as these
|
# in the `freetype/builds/<system>' directory, as these
|
||||||
# files will override the default sources.
|
# files will override the default sources.
|
||||||
#
|
#
|
||||||
INCLUDES := $(BUILD) $(TOP)$(SEP)include
|
INCLUDES := $(OBJ_DIR) $(BUILD) $(TOP)$(SEP)include
|
||||||
|
|
||||||
INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000 by
|
# Copyright 1996-2000, 2002 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -72,8 +72,15 @@ ifeq ($(PLATFORM),unix)
|
||||||
|
|
||||||
setup: std_setup
|
setup: std_setup
|
||||||
|
|
||||||
unix-def.mk: $(TOP)/builds/unix/unix-def.in
|
have_mk := $(strip $(wildcard $(OBJ_DIR)/Makefile))
|
||||||
cd builds/unix; ./configure $(CFG)
|
ifneq ($(have_mk),)
|
||||||
|
# we are building FT2 not in the src tree
|
||||||
|
unix-def.mk: $(TOP)/builds/unix/unix-def.in
|
||||||
|
$(TOP)/builds/unix/configure $(CFG)
|
||||||
|
else
|
||||||
|
unix-def.mk: $(TOP)/builds/unix/unix-def.in
|
||||||
|
cd builds/unix; ./configure $(CFG)
|
||||||
|
endif
|
||||||
|
|
||||||
endif # test PLATFORM unix
|
endif # test PLATFORM unix
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ install: $(PROJECT_LIBRARY)
|
||||||
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/cache ; \
|
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/cache ; \
|
||||||
done
|
done
|
||||||
$(INSTALL_DATA) $(BUILD)/ft2unix.h $(includedir)/ft2build.h
|
$(INSTALL_DATA) $(BUILD)/ft2unix.h $(includedir)/ft2build.h
|
||||||
$(INSTALL_SCRIPT) -m 755 $(BUILD)/freetype-config \
|
$(INSTALL_SCRIPT) -m 755 $(OBJ_BUILD)/freetype-config \
|
||||||
$(bindir)/freetype-config
|
$(bindir)/freetype-config
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,9 @@
|
||||||
|
|
||||||
CC := @CC@
|
CC := @CC@
|
||||||
|
|
||||||
LIBTOOL := $(BUILD)/libtool
|
ifndef LIBTOOL
|
||||||
|
LIBTOOL := $(BUILD)/libtool
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
# The object file extension (for standard and static libraries). This can be
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000 by
|
# Copyright 1996-2000, 2002 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -18,12 +18,17 @@ ifndef TOP
|
||||||
endif
|
endif
|
||||||
TOP := $(shell cd $(TOP); pwd)
|
TOP := $(shell cd $(TOP); pwd)
|
||||||
|
|
||||||
DELETE := @RMF@
|
DELETE := @RMF@
|
||||||
DELDIR := @RMDIR@
|
DELDIR := @RMDIR@
|
||||||
SEP := /
|
SEP := /
|
||||||
HOSTSEP := $(SEP)
|
HOSTSEP := $(SEP)
|
||||||
BUILD := $(TOP)/builds/unix
|
BUILD := $(TOP)/builds/unix
|
||||||
PLATFORM := unix
|
PLATFORM := unix
|
||||||
|
|
||||||
|
# this is used for `make distclean' and `make install'
|
||||||
|
ifndef OBJ_BUILD
|
||||||
|
OBJ_BUILD := $(BUILD)
|
||||||
|
endif
|
||||||
|
|
||||||
# don't use `:=' here since the path stuff will be included after this file
|
# don't use `:=' here since the path stuff will be included after this file
|
||||||
#
|
#
|
||||||
|
@ -35,14 +40,15 @@ INSTALL_PROGRAM := @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT := @INSTALL_SCRIPT@
|
INSTALL_SCRIPT := @INSTALL_SCRIPT@
|
||||||
MKINSTALLDIRS := $(BUILD)/mkinstalldirs
|
MKINSTALLDIRS := $(BUILD)/mkinstalldirs
|
||||||
|
|
||||||
DISTCLEAN += $(BUILD)/config.cache \
|
DISTCLEAN += $(OBJ_BUILD)/config.cache \
|
||||||
$(BUILD)/config.log \
|
$(OBJ_BUILD)/config.log \
|
||||||
$(BUILD)/config.status \
|
$(OBJ_BUILD)/config.status \
|
||||||
$(BUILD)/unix-def.mk \
|
$(OBJ_BUILD)/unix-def.mk \
|
||||||
$(BUILD)/unix-cc.mk \
|
$(OBJ_BUILD)/unix-cc.mk \
|
||||||
$(BUILD)/ftconfig.h \
|
$(OBJ_BUILD)/ftconfig.h \
|
||||||
$(BUILD)/freetype-config \
|
$(OBJ_BUILD)/freetype-config \
|
||||||
$(LIBTOOL)
|
$(LIBTOOL) \
|
||||||
|
$(OBJ_BUILD)/Makefile
|
||||||
|
|
||||||
|
|
||||||
# Standard installation variables.
|
# Standard installation variables.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000 by
|
# Copyright 1996-2000, 2002 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -12,9 +12,15 @@
|
||||||
# indicate that you have read the license and understand and accept it
|
# indicate that you have read the license and understand and accept it
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
have_mk := $(strip $(wildcard $(TOP)/builds/unix/unix-def.mk))
|
||||||
include $(TOP)/builds/unix/unix-def.mk
|
ifneq ($(have_mk),)
|
||||||
include $(TOP)/builds/unix/unix-cc.mk
|
include $(TOP)/builds/unix/unix-def.mk
|
||||||
|
include $(TOP)/builds/unix/unix-cc.mk
|
||||||
|
else
|
||||||
|
# we are building FT2 not in the src tree
|
||||||
|
include $(OBJ_DIR)/unix-def.mk
|
||||||
|
include $(OBJ_DIR)/unix-cc.mk
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef BUILD_PROJECT
|
ifdef BUILD_PROJECT
|
||||||
|
|
||||||
|
|
|
@ -9,14 +9,52 @@
|
||||||
# install
|
# install
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ "x$GNUMAKE" = x ]; then
|
if test "x$GNUMAKE" = x; then
|
||||||
GNUMAKE=make
|
GNUMAKE=make
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ `$GNUMAKE -v 2>/dev/null|grep -ic gnu` -eq 0 ]; then
|
if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
|
||||||
echo "Sorry, GNU make is required to build FreeType2." >&2
|
echo "Sorry, GNU make is required to build FreeType2." >&2
|
||||||
echo "Please try \`GNUMAKE=<GNU make command name> $0'." >&2
|
echo "Please try \`GNUMAKE=<GNU make command name> $0'." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Uh, oh. This is taken from autoconf. They know what they are doing...
|
||||||
|
|
||||||
|
if expr a : '\(a\)' >/dev/null 2>&1; then
|
||||||
|
ft_expr=expr
|
||||||
|
else
|
||||||
|
ft_expr=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
ft2_dir=`(dirname "$0") 2>/dev/null ||
|
||||||
|
$ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
|
X"$0" : 'X\(//\)[^/]' \| \
|
||||||
|
X"$0" : 'X\(//\)$' \| \
|
||||||
|
X"$0" : 'X\(/\)' \| \
|
||||||
|
. : '\(.\)' 2>/dev/null ||
|
||||||
|
echo X"$0" |
|
||||||
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
|
||||||
|
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
|
||||||
|
/^X\(\/\/\)$/{ s//\1/; q; }
|
||||||
|
/^X\(\/\).*/{ s//\1/; q; }
|
||||||
|
s/.*/./; q'`
|
||||||
|
|
||||||
|
abs_curr_dir=`pwd`
|
||||||
|
abs_ft2_dir=`cd "$ft2_dir" && pwd`
|
||||||
|
|
||||||
|
# build a dummy Makefile if we are not building in the source tree
|
||||||
|
|
||||||
|
if test "$abs_curr_dir" != "$abs_ft2_dir"; then
|
||||||
|
echo "OBJ_DIR=$abs_curr_dir" > Makefile
|
||||||
|
echo "TOP=$abs_ft2_dir" >> Makefile
|
||||||
|
echo "OBJ_BUILD=$abs_curr_dir" >> Makefile
|
||||||
|
echo "LIBTOOL=$abs_curr_dir/libtool" >> Makefile
|
||||||
|
echo "include $abs_ft2_dir/Makefile" >> Makefile
|
||||||
|
fi
|
||||||
|
|
||||||
|
# call make
|
||||||
|
|
||||||
CFG="$@" $GNUMAKE setup unix
|
CFG="$@" $GNUMAKE setup unix
|
||||||
|
|
||||||
|
# eof
|
||||||
|
|
22
docs/INSTALL
22
docs/INSTALL
|
@ -35,7 +35,6 @@ II. From the command line
|
||||||
The second one is to use "GNU Make" (and NO OTHER MAKE TOOL).
|
The second one is to use "GNU Make" (and NO OTHER MAKE TOOL).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1. Building FT2 with "Jam"
|
1. Building FT2 with "Jam"
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
@ -60,7 +59,6 @@ II. From the command line
|
||||||
should become automatic on Unix systems.
|
should become automatic on Unix systems.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2. Building FT2 with "GNU Make"
|
2. Building FT2 with "GNU Make"
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
|
@ -119,8 +117,24 @@ II. From the command line
|
||||||
- make setup lcc -> Win32-LCC
|
- make setup lcc -> Win32-LCC
|
||||||
|
|
||||||
|
|
||||||
II. In your own environment (IDE)
|
If you want to build FreeType 2 in another directory, you must set
|
||||||
---------------------------------
|
two environment variables, `OJB_DIR' and `TOP'. The former gives
|
||||||
|
the directory where the object files and the library should be
|
||||||
|
created (this directory must exist), the latter the top directory of
|
||||||
|
the FreeType 2 source tree. Example:
|
||||||
|
|
||||||
|
OBJ_DIR=~/freetype2.compiled TOP=~/freetype2 \
|
||||||
|
make -f$TOP/Makefile setup ansi
|
||||||
|
OBJ_DIR=~/freetype2.compiled TOP=~/freetype2 \
|
||||||
|
make -f$TOP/Makefile
|
||||||
|
|
||||||
|
On Unix boxes, calling `configure' from the build directory is
|
||||||
|
sufficient; it will build a small Makefile which calls the
|
||||||
|
FreeType 2 Makefile with the necessary parameters.
|
||||||
|
|
||||||
|
|
||||||
|
III. In your own environment (IDE)
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
You need to add the directories "freetype2/include" to your include
|
You need to add the directories "freetype2/include" to your include
|
||||||
path when compiling the library.
|
path when compiling the library.
|
||||||
|
|
Loading…
Reference in New Issue