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 | |
---|
16 | rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk |
---|
17 | |
---|
18 | if test "x$GNUMAKE" = x; then |
---|
19 | GNUMAKE=make |
---|
20 | fi |
---|
21 | |
---|
22 | if 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 |
---|
31 | fi |
---|
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 | |
---|
36 | if expr a : '\(a\)' >/dev/null 2>&1; then |
---|
37 | ft_expr=expr |
---|
38 | else |
---|
39 | ft_expr=false |
---|
40 | fi |
---|
41 | |
---|
42 | ft2_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 | |
---|
67 | abs_curr_dir=`pwd` |
---|
68 | abs_ft2_dir=`cd "$ft2_dir" && pwd` |
---|
69 | |
---|
70 | # `--srcdir=' option can override abs_ft2_dir |
---|
71 | |
---|
72 | if 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 |
---|
79 | fi |
---|
80 | |
---|
81 | # build a dummy Makefile if we are not building in the source tree |
---|
82 | |
---|
83 | if 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 |
---|
103 | fi |
---|
104 | |
---|
105 | # call make |
---|
106 | |
---|
107 | CFG= |
---|
108 | # work around zsh bug which doesn't like `${1+"$@"}' |
---|
109 | case $# in |
---|
110 | 0) ;; |
---|
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 ;; |
---|
117 | esac |
---|
118 | CFG=$CFG $GNUMAKE setup unix |
---|
119 | |
---|
120 | # eof |
---|