Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3918 | Serge | 1 | #!/bin/sh |
2 | # |
||
3 | # Copyright 2002-2006, 2008-2010, 2013 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= |
||
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 |