138 lines
3.9 KiB
Plaintext
138 lines
3.9 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# Copyright (C) 2002-2019 by
|
||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||
|
#
|
||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||
|
# and distributed under the terms of the FreeType project license,
|
||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||
|
# indicate that you have read the license and understand and accept it
|
||
|
# fully.
|
||
|
#
|
||
|
#
|
||
|
# Call the `configure' script located in `builds/unix'.
|
||
|
#
|
||
|
|
||
|
rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
|
||
|
|
||
|
# respect GNUMAKE environment variable for backward compatibility
|
||
|
if test "x$GNUMAKE" = x; then
|
||
|
if test "x$MAKE" = x; then
|
||
|
if test "x`make -v 2>/dev/null | egrep 'GNU|makepp'`" = x; then
|
||
|
MAKE=gmake
|
||
|
else
|
||
|
MAKE=make
|
||
|
fi
|
||
|
fi
|
||
|
else
|
||
|
MAKE=$GNUMAKE
|
||
|
fi
|
||
|
|
||
|
if test "x`$MAKE -v 2>/dev/null | egrep 'GNU|makepp'`" = x; then
|
||
|
echo "GNU make (>= 3.81) or makepp (>= 2.0) is required to build FreeType2." >&2
|
||
|
echo "Please try" >&2
|
||
|
echo >&2
|
||
|
echo " MAKE=<GNU make command name> $0" >&2
|
||
|
echo >&2
|
||
|
echo "or" >&2
|
||
|
echo >&2
|
||
|
echo " MAKE=\"makepp --norc-substitution\" $0" >&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Get `dirname' functionality. This is taken and adapted from autoconf's
|
||
|
# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
|
||
|
|
||
|
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`
|
||
|
|
||
|
# `--srcdir=' option can override abs_ft2_dir
|
||
|
|
||
|
if test $# -gt 0; then
|
||
|
for x in "$@"; do
|
||
|
case x"$x" in
|
||
|
x--srcdir=*)
|
||
|
abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;;
|
||
|
esac
|
||
|
done
|
||
|
fi
|
||
|
|
||
|
# build a dummy Makefile if we are not building in the source tree;
|
||
|
# we use inodes to avoid issues with symbolic links
|
||
|
inode_src=`ls -id $abs_ft2_dir | awk '{print $1}'`
|
||
|
inode_dst=`ls -id $abs_curr_dir | awk '{print $1}'`
|
||
|
|
||
|
if test $inode_src -ne $inode_dst; then
|
||
|
if test ! -d reference; then
|
||
|
mkdir reference
|
||
|
echo "Copying documentation assets"
|
||
|
cp -R $abs_ft2_dir/docs/reference/markdown $abs_curr_dir/reference
|
||
|
fi
|
||
|
if test ! -r $abs_curr_dir/modules.cfg; then
|
||
|
echo "Copying \`modules.cfg'"
|
||
|
cp $abs_ft2_dir/modules.cfg $abs_curr_dir
|
||
|
fi
|
||
|
echo "Generating \`Makefile'"
|
||
|
echo "TOP_DIR := $abs_ft2_dir" > Makefile
|
||
|
echo "OBJ_DIR := $abs_curr_dir" >> Makefile
|
||
|
echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
|
||
|
echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile
|
||
|
echo "FT_LIBTOOL_DIR := \$(OBJ_DIR)" >> Makefile
|
||
|
echo "ifndef FT2DEMOS" >> Makefile
|
||
|
echo " include \$(TOP_DIR)/Makefile" >> Makefile
|
||
|
echo "else" >> Makefile
|
||
|
echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
|
||
|
echo " PROJECT := freetype" >> Makefile
|
||
|
echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile
|
||
|
echo " include \$(TOP_DIR_2)/Makefile" >> Makefile
|
||
|
echo "endif" >> Makefile
|
||
|
fi
|
||
|
|
||
|
# call make
|
||
|
|
||
|
CFG=
|
||
|
# work around zsh bug which doesn't like `${1+"$@"}'
|
||
|
case $# in
|
||
|
0) ;;
|
||
|
*) for x in "$@"; do
|
||
|
case x"$x" in
|
||
|
x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
|
||
|
*) CFG="$CFG '$x'" ;;
|
||
|
esac
|
||
|
done ;;
|
||
|
esac
|
||
|
CFG=$CFG $MAKE setup unix
|
||
|
|
||
|
# eof
|