blob: 008aa3e54ca7a5dfdeaea3c4718c129cd00f0595 [file] [log] [blame]
David Turnerdc477842002-01-08 18:34:11 +00001#!/bin/sh
David Turnerdc477842002-01-08 18:34:11 +00002#
Werner Lemberg4e33f9e2008-07-05 06:35:28 +00003# Copyright 2002, 2003, 2004, 2005, 2006, 2008 by
Werner Lemberg60a04df2005-06-04 23:04:30 +00004# 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#
Werner Lemberg67d546a2005-05-24 04:49:42 +000013# Call the `configure' script located in `builds/unix'.
Werner Lemberg3975e2e2002-01-09 21:01:18 +000014#
Werner Lemberg67d546a2005-05-24 04:49:42 +000015
16rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
David Turnerd15bc0d2002-04-12 09:31:48 +000017
Werner Lembergf83ded02002-05-05 10:57:06 +000018if test "x$GNUMAKE" = x; then
David Turnerd15bc0d2002-04-12 09:31:48 +000019 GNUMAKE=make
20fi
21
Werner Lembergf83ded02002-05-05 10:57:06 +000022if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
Werner Lemberg26eccb42004-04-13 08:35:05 +000023 if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then
Werner Lemberg4e33f9e2008-07-05 06:35:28 +000024 echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
Werner Lemberg26eccb42004-04-13 08:35:05 +000025 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
David Turnerd15bc0d2002-04-12 09:31:48 +000031fi
32
Werner Lemberg59939242006-01-31 20:17:42 +000033# Get `dirname' functionality. This is taken and adapted from autoconf's
34# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
Werner Lembergf83ded02002-05-05 10:57:06 +000035
36if expr a : '\(a\)' >/dev/null 2>&1; then
37 ft_expr=expr
38else
39 ft_expr=false
40fi
41
Werner Lemberg59939242006-01-31 20:17:42 +000042ft2_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'`
Werner Lembergf83ded02002-05-05 10:57:06 +000066
67abs_curr_dir=`pwd`
68abs_ft2_dir=`cd "$ft2_dir" && pwd`
69
suzuki toshiya66d308e2009-06-27 14:33:06 +090070# "--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
Werner Lembergf83ded02002-05-05 10:57:06 +000081# build a dummy Makefile if we are not building in the source tree
82
83if test "$abs_curr_dir" != "$abs_ft2_dir"; then
Werner Lemberg6aa35cd2003-07-09 15:20:32 +000084 mkdir reference
Werner Lemberg59939242006-01-31 20:17:42 +000085 echo "Copying \`modules.cfg'"
86 cp $abs_ft2_dir/modules.cfg $abs_curr_dir
87 echo "Generating \`Makefile'"
Werner Lemberga33bd862005-02-13 05:46:50 +000088 echo "TOP_DIR := $abs_ft2_dir" > Makefile
89 echo "OBJ_DIR := $abs_curr_dir" >> Makefile
90 echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
91 echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile
92 echo "LIBTOOL := \$(OBJ_DIR)/libtool" >> Makefile
93 echo "ifndef FT2DEMOS" >> Makefile
94 echo " include \$(TOP_DIR)/Makefile" >> Makefile
95 echo "else" >> Makefile
96 echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
97 echo " PROJECT := freetype" >> Makefile
98 echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile
99 echo " include \$(TOP_DIR_2)/Makefile" >> Makefile
100 echo "endif" >> Makefile
Werner Lembergf83ded02002-05-05 10:57:06 +0000101fi
102
103# call make
104
Werner Lembergd898aed2006-08-29 09:50:34 +0000105CFG=
Werner Lemberg4e33f9e2008-07-05 06:35:28 +0000106# work around zsh bug which doesn't like `${1+"$@"}'
107case $# in
1080) ;;
109*) for x in "$@"; do
suzuki toshiya66d308e2009-06-27 14:33:06 +0900110 case x"$x" in
111 x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
112 *) CFG="$CFG '$x'" ;;
113 esac
Werner Lemberg4e33f9e2008-07-05 06:35:28 +0000114 done ;;
115esac
Werner Lembergd898aed2006-08-29 09:50:34 +0000116CFG=$CFG $GNUMAKE setup unix
Werner Lembergf83ded02002-05-05 10:57:06 +0000117
118# eof