blob: aba4b89860ea58850fe18ddf253de5f602de4d84 [file] [log] [blame]
From 67f9b6e3c5d2397446d39ab454f691c1ee46d2c0 Mon Sep 17 00:00:00 2001
From: Alexandre Julliard <julliard@winehq.org>
Date: Sat, 30 Nov 2013 11:22:25 +0100
Subject: [PATCH] configure: Update FreeType configure checks for the changed
headers location.
---
configure | 78 +++++++++++++++------------------------------------
configure.ac | 40 +++++++-------------------
dlls/gdi32/freetype.c | 62 ++++++++++++++--------------------------
include/config.h.in | 33 ----------------------
4 files changed, 54 insertions(+), 159 deletions(-)
diff --git a/configure b/configure
index 80348f3..9b2f2c2 100755
--- a/configure
+++ b/configure
@@ -11419,7 +11419,21 @@ test "$cross_compiling" = yes || FREETYPE_LIBS=${FREETYPE_LIBS:-`(freetype-confi
FREETYPE_LIBS=${FREETYPE_LIBS:-"-lfreetype"}
ac_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -lfreetype" >&5
+for ac_header in ft2build.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "ft2build.h" "ac_cv_header_ft2build_h" "$ac_includes_default"
+if test "x$ac_cv_header_ft2build_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_FT2BUILD_H 1
+_ACEOF
+
+fi
+
+done
+
+ if test "$ac_cv_header_ft2build_h" = "yes"
+ then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -lfreetype" >&5
$as_echo_n "checking for -lfreetype... " >&6; }
if ${ac_cv_lib_soname_freetype+:} false; then :
$as_echo_n "(cached) " >&6
@@ -11461,7 +11475,7 @@ fi
if test "x$ac_cv_lib_soname_freetype" = "x"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
- ft_lib=no
+ FREETYPE_LIBS=""
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_soname_freetype" >&5
$as_echo "$ac_cv_lib_soname_freetype" >&6; }
@@ -11470,51 +11484,11 @@ cat >>confdefs.h <<_ACEOF
#define SONAME_LIBFREETYPE "$ac_cv_lib_soname_freetype"
_ACEOF
- ft_lib=yes
-fi
- if test "$ft_lib" = "yes"
- then
- for ac_header in ft2build.h \
- freetype/freetype.h \
- freetype/ftglyph.h \
- freetype/fttypes.h \
- freetype/tttables.h \
- freetype/ftsnames.h \
- freetype/ttnameid.h \
- freetype/ftoutln.h \
- freetype/ftwinfnt.h \
- freetype/ftmodapi.h \
- freetype/ftlcdfil.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE_FT2BUILD_H
-# include <ft2build.h>
-#endif
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ft2build.h>
-#include <freetype/fttrigon.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-$as_echo "#define HAVE_FREETYPE_FTTRIGON_H 1" >>confdefs.h
+$as_echo "#define HAVE_FREETYPE 1" >>confdefs.h
- wine_cv_fttrigon=yes
-else
- wine_cv_fttrigon=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
- ac_fn_c_check_type "$LINENO" "FT_TrueTypeEngineType" "ac_cv_type_FT_TrueTypeEngineType" "#include <freetype/ftmodapi.h>
+ ac_fn_c_check_type "$LINENO" "FT_TrueTypeEngineType" "ac_cv_type_FT_TrueTypeEngineType" "#include <ft2build.h>
+#include FT_MODULE_H
"
if test "x$ac_cv_type_FT_TrueTypeEngineType" = xyes; then :
@@ -11525,15 +11499,9 @@ _ACEOF
fi
- if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
- then
-
-$as_echo "#define HAVE_FREETYPE 1" >>confdefs.h
-
- else
- FREETYPE_LIBS=""
- fi
+fi
else
+ FREETYPE_CFLAGS=""
FREETYPE_LIBS=""
fi
CPPFLAGS=$ac_save_CPPFLAGS
@@ -11541,14 +11509,14 @@ test -z "$FREETYPE_CFLAGS" || FREETYPE_CFLAGS=`echo " $FREETYPE_CFLAGS" | sed 's
test -z "$FREETYPE_LIBS" || FREETYPE_LIBS=`echo " $FREETYPE_LIBS" | sed 's/ -L\([^/]\)/ -L\$(top_builddir)\/\1/g'`
fi
-if test "x$ac_cv_header_freetype_freetype_h" != xyes -o "x$wine_cv_fttrigon" != xyes; then :
+if test "x$ac_cv_lib_soname_freetype" = x; then :
case "x$with_freetype" in
xno) ;;
*) as_fn_error $? "FreeType ${notice_platform}development files not found. Fonts will not be built.
Use the --without-freetype option if you really want this." "$LINENO" 5 ;;
esac
fi
-test "x$ac_cv_header_freetype_freetype_h" = xyes -a "x$wine_cv_fttrigon" = xyes || enable_fonts=${enable_fonts:-no}
+test "x$ac_cv_lib_soname_freetype" = x && enable_fonts=${enable_fonts:-no}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for parport header/ppdev.h" >&5
$as_echo_n "checking for parport header/ppdev.h... " >&6; }
diff --git a/configure.ac b/configure.ac
index 81b7027..c4021b4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1463,42 +1463,22 @@ then
WINE_PACKAGE_FLAGS(FREETYPE,[freetype2],[-lfreetype],
[`(freetype-config --cflags || freetype2-config --cflags) 2>/dev/null`],
[`(freetype-config --libs || freetype2-config --libs) 2>/dev/null`],
- [WINE_CHECK_SONAME(freetype,FT_Init_FreeType,[ft_lib=yes],[ft_lib=no],[$FREETYPE_LIBS])
- if test "$ft_lib" = "yes"
+ [AC_CHECK_HEADERS([ft2build.h])
+ if test "$ac_cv_header_ft2build_h" = "yes"
then
- AC_CHECK_HEADERS(ft2build.h \
- freetype/freetype.h \
- freetype/ftglyph.h \
- freetype/fttypes.h \
- freetype/tttables.h \
- freetype/ftsnames.h \
- freetype/ttnameid.h \
- freetype/ftoutln.h \
- freetype/ftwinfnt.h \
- freetype/ftmodapi.h \
- freetype/ftlcdfil.h,,,
- [#ifdef HAVE_FT2BUILD_H
-# include <ft2build.h>
-#endif])
- AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <ft2build.h>
-#include <freetype/fttrigon.h>]])],[AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
- [Define if you have the <freetype/fttrigon.h> header file.])
- wine_cv_fttrigon=yes],[wine_cv_fttrigon=no])
- AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
- dnl Check that we have at least freetype/freetype.h
- if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
- then
- AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
- else
- FREETYPE_LIBS=""
- fi
+ WINE_CHECK_SONAME(freetype,FT_Init_FreeType,
+ [AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
+ AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <ft2build.h>
+#include FT_MODULE_H])],
+ [FREETYPE_LIBS=""],[$FREETYPE_LIBS])
else
+ FREETYPE_CFLAGS=""
FREETYPE_LIBS=""
fi])
fi
-WINE_ERROR_WITH(freetype,[test "x$ac_cv_header_freetype_freetype_h" != xyes -o "x$wine_cv_fttrigon" != xyes],
+WINE_ERROR_WITH(freetype,[test "x$ac_cv_lib_soname_freetype" = x],
[FreeType ${notice_platform}development files not found. Fonts will not be built.])
-test "x$ac_cv_header_freetype_freetype_h" = xyes -a "x$wine_cv_fttrigon" = xyes || enable_fonts=${enable_fonts:-no}
+test "x$ac_cv_lib_soname_freetype" = x && enable_fonts=${enable_fonts:-no}
dnl **** Check for parport (currently Linux only) ****
AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index fb4f2af..e230299 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -77,6 +77,23 @@
#undef SetRectRgn
#endif /* HAVE_CARBON_CARBON_H */
+#ifdef HAVE_FT2BUILD_H
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_GLYPH_H
+#include FT_TYPES_H
+#include FT_TRUETYPE_TABLES_H
+#include FT_SFNT_NAMES_H
+#include FT_TRUETYPE_IDS_H
+#include FT_OUTLINE_H
+#include FT_TRIGONOMETRY_H
+#include FT_MODULE_H
+#include FT_WINFONTS_H
+#ifdef FT_LCD_FILTER_H
+#include FT_LCD_FILTER_H
+#endif
+#endif /* HAVE_FT2BUILD_H */
+
#include "windef.h"
#include "winbase.h"
#include "winternl.h"
@@ -95,43 +112,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(font);
#ifdef HAVE_FREETYPE
-#ifdef HAVE_FT2BUILD_H
-#include <ft2build.h>
-#endif
-#ifdef HAVE_FREETYPE_FREETYPE_H
-#include <freetype/freetype.h>
-#endif
-#ifdef HAVE_FREETYPE_FTGLYPH_H
-#include <freetype/ftglyph.h>
-#endif
-#ifdef HAVE_FREETYPE_TTTABLES_H
-#include <freetype/tttables.h>
-#endif
-#ifdef HAVE_FREETYPE_FTTYPES_H
-#include <freetype/fttypes.h>
-#endif
-#ifdef HAVE_FREETYPE_FTSNAMES_H
-#include <freetype/ftsnames.h>
-#endif
-#ifdef HAVE_FREETYPE_TTNAMEID_H
-#include <freetype/ttnameid.h>
-#endif
-#ifdef HAVE_FREETYPE_FTOUTLN_H
-#include <freetype/ftoutln.h>
-#endif
-#ifdef HAVE_FREETYPE_FTTRIGON_H
-#include <freetype/fttrigon.h>
-#endif
-#ifdef HAVE_FREETYPE_FTWINFNT_H
-#include <freetype/ftwinfnt.h>
-#endif
-#ifdef HAVE_FREETYPE_FTMODAPI_H
-#include <freetype/ftmodapi.h>
-#endif
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
-#include <freetype/ftlcdfil.h>
-#endif
-
#ifndef HAVE_FT_TRUETYPEENGINETYPE
typedef enum
{
@@ -186,7 +166,7 @@ MAKE_FUNCPTR(FT_Vector_Transform);
MAKE_FUNCPTR(FT_Vector_Unit);
static FT_Error (*pFT_Outline_Embolden)(FT_Outline *, FT_Pos);
static FT_TrueTypeEngineType (*pFT_Get_TrueType_Engine_Type)(FT_Library);
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
+#ifdef FT_LCD_FILTER_H
static FT_Error (*pFT_Library_SetLcdFilter)(FT_Library, FT_LcdFilter);
#endif
@@ -924,7 +904,7 @@ static BOOL is_hinting_enabled(void)
static BOOL is_subpixel_rendering_enabled( void )
{
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
+#ifdef FT_LCD_FILTER_H
static int enabled = -1;
if (enabled == -1)
{
@@ -3918,7 +3898,7 @@ static BOOL init_freetype(void)
/* Don't warn if these ones are missing */
pFT_Outline_Embolden = wine_dlsym(ft_handle, "FT_Outline_Embolden", NULL, 0);
pFT_Get_TrueType_Engine_Type = wine_dlsym(ft_handle, "FT_Get_TrueType_Engine_Type", NULL, 0);
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
+#ifdef FT_LCD_FILTER_H
pFT_Library_SetLcdFilter = wine_dlsym(ft_handle, "FT_Library_SetLcdFilter", NULL, 0);
#endif
@@ -6706,7 +6686,7 @@ static DWORD get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
case WINE_GGO_HBGR_BITMAP:
case WINE_GGO_VRGB_BITMAP:
case WINE_GGO_VBGR_BITMAP:
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
+#ifdef FT_LCD_FILTER_H
{
switch (ft_face->glyph->format)
{
diff --git a/include/config.h.in b/include/config.h.in
index a14db5b..79f8b45 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -132,39 +132,6 @@
/* Define if FreeType 2 is installed */
#undef HAVE_FREETYPE
-/* Define to 1 if you have the <freetype/freetype.h> header file. */
-#undef HAVE_FREETYPE_FREETYPE_H
-
-/* Define to 1 if you have the <freetype/ftglyph.h> header file. */
-#undef HAVE_FREETYPE_FTGLYPH_H
-
-/* Define to 1 if you have the <freetype/ftlcdfil.h> header file. */
-#undef HAVE_FREETYPE_FTLCDFIL_H
-
-/* Define to 1 if you have the <freetype/ftmodapi.h> header file. */
-#undef HAVE_FREETYPE_FTMODAPI_H
-
-/* Define to 1 if you have the <freetype/ftoutln.h> header file. */
-#undef HAVE_FREETYPE_FTOUTLN_H
-
-/* Define to 1 if you have the <freetype/ftsnames.h> header file. */
-#undef HAVE_FREETYPE_FTSNAMES_H
-
-/* Define if you have the <freetype/fttrigon.h> header file. */
-#undef HAVE_FREETYPE_FTTRIGON_H
-
-/* Define to 1 if you have the <freetype/fttypes.h> header file. */
-#undef HAVE_FREETYPE_FTTYPES_H
-
-/* Define to 1 if you have the <freetype/ftwinfnt.h> header file. */
-#undef HAVE_FREETYPE_FTWINFNT_H
-
-/* Define to 1 if you have the <freetype/ttnameid.h> header file. */
-#undef HAVE_FREETYPE_TTNAMEID_H
-
-/* Define to 1 if you have the <freetype/tttables.h> header file. */
-#undef HAVE_FREETYPE_TTTABLES_H
-
/* Define to 1 if the system has the type `fsblkcnt_t'. */
#undef HAVE_FSBLKCNT_T
--
1.9.1