blob: d05fd29970566d0a4eb01fabba7a830e02620b76 [file] [log] [blame]
David Turnerdc477842002-01-08 18:34:11 +00001#!/bin/sh
David Turnerdc477842002-01-08 18:34:11 +00002#
Werner Lembergb8f97f12009-06-28 00:37:53 +02003# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 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
Werner Lembergb8f97f12009-06-28 00:37:53 +020070# `--srcdir=' option can override abs_ft2_dir
suzuki toshiya66d308e2009-06-27 14:33:06 +090071
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
suzuki toshiya912f0392009-06-27 14:38:32 +090085 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
Werner Lemberg59939242006-01-31 20:17:42 +000089 echo "Generating \`Makefile'"
Werner Lemberga33bd862005-02-13 05:46:50 +000090 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
suzuki toshiyafd0cdb72010-08-31 18:32:03 +090094 echo "FT_LIBTOOL_DIR := \$(OBJ_DIR)" >> Makefile
Werner Lemberga33bd862005-02-13 05:46:50 +000095 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
Werner Lembergf83ded02002-05-05 10:57:06 +0000103fi
104
105# call make
106
Werner Lembergd898aed2006-08-29 09:50:34 +0000107CFG=
Werner Lemberg4e33f9e2008-07-05 06:35:28 +0000108# work around zsh bug which doesn't like `${1+"$@"}'
109case $# in
1100) ;;
111*) for x in "$@"; do
suzuki toshiya66d308e2009-06-27 14:33:06 +0900112 case x"$x" in
113 x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
114 *) CFG="$CFG '$x'" ;;
115 esac
Werner Lemberg4e33f9e2008-07-05 06:35:28 +0000116 done ;;
117esac
Werner Lembergd898aed2006-08-29 09:50:34 +0000118CFG=$CFG $GNUMAKE setup unix
Werner Lembergf83ded02002-05-05 10:57:06 +0000119
120# eof