Home | History | Annotate | Download | only in freetype-2.6.2
      1 #!/bin/sh
      2 #
      3 # Copyright 2002-2015 by
      4 # David Turner, Robert Wilhelm, and Werner Lemberg.
      5 #
      6 # This file is part of the FreeType project, and may only be used, modified,
      7 # and distributed under the terms of the FreeType project license,
      8 # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
      9 # indicate that you have read the license and understand and accept it
     10 # fully.
     11 #
     12 #
     13 # Call the `configure' script located in `builds/unix'.
     14 #
     15 
     16 rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
     17 
     18 # respect GNUMAKE environment variable for backwards compatibility
     19 if test "x$GNUMAKE" = x; then
     20   if test "x$MAKE" = x; then
     21     if test "x`make -v 2>/dev/null | egrep 'GNU|makepp'`" = x; then
     22       MAKE=gmake
     23     else
     24       MAKE=make
     25     fi
     26   fi
     27 else
     28   MAKE=$GNUMAKE
     29 fi
     30 
     31 if test "x`$MAKE -v 2>/dev/null | egrep 'GNU|makepp'`" = x; then
     32   echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
     33   echo "Please try" >&2
     34   echo >&2
     35   echo "  MAKE=<GNU make command name> $0" >&2
     36   echo >&2
     37   echo "or" >&2
     38   echo >&2
     39   echo "  MAKE=\"makepp --norc-substitution\" $0" >&2
     40   exit 1
     41 fi
     42 
     43 # Get `dirname' functionality.  This is taken and adapted from autoconf's
     44 # m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
     45 
     46 if expr a : '\(a\)' >/dev/null 2>&1; then
     47   ft_expr=expr
     48 else
     49   ft_expr=false
     50 fi
     51 
     52 ft2_dir=`(dirname "$0") 2>/dev/null                         ||
     53          $ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
     54                   X"$0" : 'X\(//\)[^/]' \| \
     55                   X"$0" : 'X\(//\)$' \| \
     56                   X"$0" : 'X\(/\)' \| \
     57                   .     : '\(.\)' 2>/dev/null               ||
     58          echo X"$0" |
     59            sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
     60                   s//\1/
     61                   q
     62                 }
     63                 /^X\(\/\/\)[^/].*/{
     64                   s//\1/
     65                   q
     66                 }
     67                 /^X\(\/\/\)$/{
     68                   s//\1/
     69                   q
     70                 }
     71                 /^X\(\/\).*/{
     72                   s//\1/
     73                   q
     74                 }
     75                 s/.*/./; q'`
     76 
     77 abs_curr_dir=`pwd`
     78 abs_ft2_dir=`cd "$ft2_dir" && pwd`
     79 
     80 # `--srcdir=' option can override abs_ft2_dir
     81 
     82 if test $# -gt 0; then
     83   for x in "$@"; do
     84     case x"$x" in
     85     x--srcdir=*)
     86       abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;;
     87     esac
     88   done
     89 fi
     90 
     91 # build a dummy Makefile if we are not building in the source tree;
     92 # we use inodes to avoid issues with symbolic links
     93 inode_src=`ls -id $abs_ft2_dir | awk '{print $1}'`
     94 inode_dst=`ls -id $abs_curr_dir | awk '{print $1}'`
     95 
     96 if test $inode_src -ne $inode_dst; then
     97   if test ! -d reference; then
     98     mkdir reference
     99   fi
    100   if test ! -r $abs_curr_dir/modules.cfg; then
    101     echo "Copying \`modules.cfg'"
    102     cp $abs_ft2_dir/modules.cfg $abs_curr_dir
    103   fi
    104   echo "Generating \`Makefile'"
    105   echo "TOP_DIR        := $abs_ft2_dir"           > Makefile
    106   echo "OBJ_DIR        := $abs_curr_dir"         >> Makefile
    107   echo "OBJ_BUILD      := \$(OBJ_DIR)"           >> Makefile
    108   echo "DOC_DIR        := \$(OBJ_DIR)/reference" >> Makefile
    109   echo "FT_LIBTOOL_DIR := \$(OBJ_DIR)"           >> Makefile
    110   echo "ifndef FT2DEMOS"                         >> Makefile
    111   echo "  include \$(TOP_DIR)/Makefile"          >> Makefile
    112   echo "else"                                    >> Makefile
    113   echo "  TOP_DIR_2 := \$(TOP_DIR)/../ft2demos"  >> Makefile
    114   echo "  PROJECT   := freetype"                 >> Makefile
    115   echo "  CONFIG_MK := \$(OBJ_DIR)/config.mk"    >> Makefile
    116   echo "  include \$(TOP_DIR_2)/Makefile"        >> Makefile
    117   echo "endif"                                   >> Makefile
    118 fi
    119 
    120 # call make
    121 
    122 CFG=
    123 # work around zsh bug which doesn't like `${1+"$@"}'
    124 case $# in
    125 0) ;;
    126 *) for x in "$@"; do
    127      case x"$x" in
    128      x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
    129      *) CFG="$CFG '$x'" ;;
    130      esac
    131    done ;;
    132 esac
    133 CFG=$CFG $MAKE setup unix
    134 
    135 # eof
    136