blob: ca5c5e8927103d0c66234123256392bb9f3e6223 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
From 48a3f5bcba1837517e3d9d029ebe5e8fbd3f0966 Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Sun, 6 May 2018 20:55:29 +0200
Subject: [PATCH] Prefer pkg-config over freetype-config if possible
As of freetype-2.9.1 the freetype-config script no longer gets installed
by default.
---
configure | 56 ++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 37 insertions(+), 19 deletions(-)
diff --git a/configure b/configure
index 8e2a387acc..210951e343 100755
--- a/configure
+++ b/configure
@@ -204,6 +204,7 @@ _sparklepath=
_sdlconfig=sdl2-config
_libcurlconfig=curl-config
_freetypeconfig=freetype-config
+_freetype_found="false"
_sdlpath="$PATH"
_freetypepath="$PATH"
_libcurlpath="$PATH"
@@ -4668,28 +4669,45 @@ echo "$_libunity"
#
# Check for FreeType2 to be present
#
-if test "$_freetype2" != "no"; then
-
- # Look for the freetype-config script
- find_freetypeconfig
-
- if test -z "$_freetypeconfig"; then
- _freetype2=no
+find_freetype() {
+ # Wrapper function which tries to find freetype
+ # either by callimg freetype-config or by using
+ # pkg-config.
+ # As of freetype-2.9.1 the freetype-config file
+ # no longer gets installed by default.
+
+ if pkg-config --exists freetype2; then
+ FREETYPE2_LIBS=`pkg-config --libs freetype2`
+ FREETYPE2_CFLAGS=`pkg-config --cflags freetype2`
+ FREETYPE2_STATIC_LIBS=`pkg-config --static --libs freetype2`
+ _freetype_found="true"
else
- # Since 2.3.12, freetype-config prepends $SYSROOT to everything.
- # This means we can't pass it a --prefix that includes $SYSROOT.
- freetypeprefix="$_freetypepath"
- if test -n "$SYSROOT" -a "$SYSROOT" != "/"; then
- teststring=VeryImplausibleSysrootX1Y2Z3
- if ( env SYSROOT=/$teststring "$_freetypeconfig" --cflags | grep $teststring 2> /dev/null > /dev/null ); then
- echo "Adapting FreeType prefix to SYSROOT" >> "$TMPLOG"
- freetypeprefix="${freetypeprefix##$SYSROOT}"
+ # Look for the freetype-config script
+ find_freetypeconfig
+ if test -n "$_freetypeconfig"; then
+ # Since 2.3.12, freetype-config prepends $SYSROOT to everything.
+ # This means we can't pass it a --prefix that includes $SYSROOT.
+ freetypeprefix="$_freetypepath"
+ if test -n "$SYSROOT" -a "$SYSROOT" != "/"; then
+ teststring=VeryImplausibleSysrootX1Y2Z3
+ if ( env SYSROOT=/$teststring "$_freetypeconfig" --cflags | grep $teststring 2> /dev/null > /dev/null ); then
+ echo "Adapting FreeType prefix to SYSROOT" >> "$TMPLOG"
+ freetypeprefix="${freetypeprefix##$SYSROOT}"
+ fi
fi
+ FREETYPE2_LIBS=`$_freetypeconfig --prefix="$freetypeprefix" --libs`
+ FREETYPE2_CFLAGS=`$_freetypeconfig --prefix="$freetypeprefix" --cflags`
+ FREETYPE2_STATIC_LIBS=`$_freetypeconfig --prefix="$freetypeprefix" --static --libs 2>/dev/null`
+ _freetype_found="true"
fi
+ fi
+}
- FREETYPE2_LIBS=`$_freetypeconfig --prefix="$freetypeprefix" --libs`
- FREETYPE2_CFLAGS=`$_freetypeconfig --prefix="$freetypeprefix" --cflags`
-
+if test "$_freetype2" != "no"; then
+ find_freetype
+ if test $_freetype_found != true; then
+ _freetype2=no
+ else
if test "$_freetype2" = "auto"; then
_freetype2=no
@@ -4709,7 +4727,7 @@ EOF
# required flags for static linking. We abuse this to detect
# FreeType2 builds which are static themselves.
if test "$_freetype2" != "yes"; then
- FREETYPE2_LIBS=`$_freetypeconfig --prefix="$_freetypepath" --static --libs 2>/dev/null`
+ FREETYPE2_LIBS="$FREETYPE2_STATIC_LIBS"
cc_check_no_clean $FREETYPE2_CFLAGS $FREETYPE2_LIBS && _freetype2=yes
fi
cc_check_clean
--
2.17.0
|