|
|
- #!/bin/sh
- #
- # Copyright (C) 2002-2022 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 != $inode_dst; then
- if test ! -d docs; then
- mkdir docs
- echo "Copying documentation assets"
- cp -R $abs_ft2_dir/docs/markdown $abs_curr_dir/docs
- 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)/docs" >> 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
|