138 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			138 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/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
							 |