Bug 1891688: Don't rely on static_assert(false) being valid in uninstantiated templat...
[gecko.git] / modules / freetype2 / configure
blobd4315bd971944f57ea4dcd54b87787b3699a9470
1 #!/bin/sh
3 # Copyright (C) 2002-2023 by
4 # David Turner, Robert Wilhelm, and Werner Lemberg.
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.
13 # Call the `configure' script located in `builds/unix'.
16 rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
18 # respect GNUMAKE environment variable for backward compatibility
19 if test "x$GNUMAKE" = x; then
20 if test "x$MAKE" = x; then
21 if test "x`make -v 2>/dev/null | sed -n -e '/GNU/p' -e '/makepp/p'`" = x; then
22 MAKE=gmake
23 else
24 MAKE=make
27 else
28 MAKE=$GNUMAKE
31 if test "x`$MAKE -v 2>/dev/null | sed -n -e '/GNU/p' -e '/makepp/p'`" = x; then
32 echo "GNU make (>= 3.81) or makepp (>= 2.0) is required to build FreeType2." >&2
33 echo "Please try" >&2
34 echo >&2
35 echo " MAKE=<GNU make command name> $0" >&2
36 echo >&2
37 echo "or" >&2
38 echo >&2
39 echo " MAKE=\"makepp --norc-substitution\" $0" >&2
40 exit 1
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).
46 if expr a : '\(a\)' >/dev/null 2>&1; then
47 ft_expr=expr
48 else
49 ft_expr=false
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/
63 /^X\(\/\/\)[^/].*/{
64 s//\1/
67 /^X\(\/\/\)$/{
68 s//\1/
71 /^X\(\/\).*/{
72 s//\1/
75 s/.*/./; q'`
77 abs_curr_dir=`pwd`
78 abs_ft2_dir=`cd "$ft2_dir" && pwd`
80 # `--srcdir=' option can override abs_ft2_dir
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
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}'`
96 if test $inode_src != $inode_dst; then
97 if test ! -d docs; then
98 mkdir docs
99 echo "Copying documentation assets"
100 cp -R $abs_ft2_dir/docs/markdown $abs_curr_dir/docs
102 if test ! -r $abs_curr_dir/modules.cfg; then
103 echo "Copying \`modules.cfg'"
104 cp $abs_ft2_dir/modules.cfg $abs_curr_dir
106 echo "Generating \`Makefile'"
107 echo "TOP_DIR := $abs_ft2_dir" > Makefile
108 echo "OBJ_DIR := $abs_curr_dir" >> Makefile
109 echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
110 echo "DOC_DIR := \$(OBJ_DIR)/docs" >> Makefile
111 echo "FT_LIBTOOL_DIR := \$(OBJ_DIR)" >> Makefile
112 echo "ifndef FT2DEMOS" >> Makefile
113 echo " include \$(TOP_DIR)/Makefile" >> Makefile
114 echo "else" >> Makefile
115 echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
116 echo " PROJECT := freetype" >> Makefile
117 echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile
118 echo " include \$(TOP_DIR_2)/Makefile" >> Makefile
119 echo "endif" >> Makefile
122 # call make
124 CFG=
125 # work around zsh bug which doesn't like `${1+"$@"}'
126 case $# in
127 0) ;;
128 *) for x in "$@"; do
129 case x"$x" in
130 x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
131 *) CFG="$CFG '$x'" ;;
132 esac
133 done ;;
134 esac
135 CFG=$CFG $MAKE setup unix
137 # eof