138 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
#
 | 
						|
# Copyright (C) 2002-2023 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 | sed -n -e '/GNU/p' -e '/makepp/p'`" = x; then
 | 
						|
      MAKE=gmake
 | 
						|
    else
 | 
						|
      MAKE=make
 | 
						|
    fi
 | 
						|
  fi
 | 
						|
else
 | 
						|
  MAKE=$GNUMAKE
 | 
						|
fi
 | 
						|
 | 
						|
if test "x`$MAKE -v 2>/dev/null | sed -n -e '/GNU/p' -e '/makepp/p'`" = 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
 |