Ticket #25031: configure

File configure, 3.5 KB (added by dm@…, 14 years ago)

configure (unix executable)

Line 
1#!/bin/sh
2#
3# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 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
16rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
17
18if test "x$GNUMAKE" = x; then
19  GNUMAKE=make
20fi
21
22if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
23  if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then
24    echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
25    echo "Please try" >&2
26    echo "  \`GNUMAKE=<GNU make command name> $0'." >&2
27    echo "or >&2"
28    echo "  \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2
29    exit 1
30  fi
31fi
32
33# Get `dirname' functionality.  This is taken and adapted from autoconf's
34# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
35
36if expr a : '\(a\)' >/dev/null 2>&1; then
37  ft_expr=expr
38else
39  ft_expr=false
40fi
41
42ft2_dir=`(dirname "$0") 2>/dev/null                         ||
43         $ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
44                  X"$0" : 'X\(//\)[^/]' \| \
45                  X"$0" : 'X\(//\)$' \| \
46                  X"$0" : 'X\(/\)' \| \
47                  .     : '\(.\)' 2>/dev/null               ||
48         echo X"$0" |
49           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
50                  s//\1/
51                  q
52                }
53                /^X\(\/\/\)[^/].*/{
54                  s//\1/
55                  q
56                }
57                /^X\(\/\/\)$/{
58                  s//\1/
59                  q
60                }
61                /^X\(\/\).*/{
62                  s//\1/
63                  q
64                }
65                s/.*/./; q'`
66
67abs_curr_dir=`pwd`
68abs_ft2_dir=`cd "$ft2_dir" && pwd`
69
70# `--srcdir=' option can override abs_ft2_dir
71
72if test $# -gt 0; then
73  for x in "$@"; do
74    case x"$x" in
75    x--srcdir=*)
76      abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;;
77    esac
78  done
79fi
80
81# build a dummy Makefile if we are not building in the source tree
82
83if test "$abs_curr_dir" != "$abs_ft2_dir"; then
84  mkdir reference
85  if test ! -r $abs_curr_dir/modules.cfg; then
86    echo "Copying \`modules.cfg'"
87    cp $abs_ft2_dir/modules.cfg $abs_curr_dir
88  fi
89  echo "Generating \`Makefile'"
90  echo "TOP_DIR   := $abs_ft2_dir"               > Makefile
91  echo "OBJ_DIR   := $abs_curr_dir"             >> Makefile
92  echo "OBJ_BUILD := \$(OBJ_DIR)"               >> Makefile
93  echo "DOC_DIR   := \$(OBJ_DIR)/reference"     >> Makefile
94  echo "LIBTOOL   := \$(OBJ_DIR)/libtool"       >> Makefile
95  echo "ifndef FT2DEMOS"                        >> Makefile
96  echo "  include \$(TOP_DIR)/Makefile"         >> Makefile
97  echo "else"                                   >> Makefile
98  echo "  TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
99  echo "  PROJECT   := freetype"                >> Makefile
100  echo "  CONFIG_MK := \$(OBJ_DIR)/config.mk"   >> Makefile
101  echo "  include \$(TOP_DIR_2)/Makefile"       >> Makefile
102  echo "endif"                                  >> Makefile
103fi
104
105# call make
106
107CFG=
108# work around zsh bug which doesn't like `${1+"$@"}'
109case $# in
1100) ;;
111*) for x in "$@"; do
112     case x"$x" in
113     x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
114     *) CFG="$CFG '$x'" ;;
115     esac
116   done ;;
117esac
118CFG=$CFG $GNUMAKE setup unix
119
120# eof