olemarkus    14/03/11 14:17:47

  Added:                freetype-2.5.1-linking-fix.patch
  Log:
  Add patch for compiling against freetype-2.5.1
  
  (Portage version: 2.1.12.2/cvs/Linux x86_64, signed Manifest commit with key 
C4A92BF5)

Revision  Changes    Path
1.1                  dev-lang/php/files/freetype-2.5.1-linking-fix.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/php/files/freetype-2.5.1-linking-fix.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/php/files/freetype-2.5.1-linking-fix.patch?rev=1.1&content-type=text/plain

Index: freetype-2.5.1-linking-fix.patch
===================================================================
>From a0955f351c7eb1022da7ae36970ffef3b00c8aff Mon Sep 17 00:00:00 2001
From: Adam Harvey <[email protected]>
Date: Sat, 7 Dec 2013 19:39:40 -0800
Subject: [PATCH] Switch to using freetype-config for freetype detection.

This fixes GD compilation against libfreetype 2.5.1 and later after they made
the rather interesting decision to change their include directory layout in a
point release.

The original suggestion in the bug was to use pkg-config, but my inclination is
to use freetype-config instead: we should be able to get the same configuration
information without actually needing pkg-config installed, since pkg-config is
by no means guaranteed to exist on many Unices and distros, whereas
freetype-config should always be present if a libfreetype build environment is
installed. Let's try it out and see what happens.

Fixes bug #64405 (Use freetype-config for determining freetype2 dir(s)).

diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
index 0e35ece..732e14c 100644
--- a/ext/gd/config.m4
+++ b/ext/gd/config.m4
@@ -193,30 +193,25 @@ AC_DEFUN([PHP_GD_FREETYPE2],[
   if test "$PHP_FREETYPE_DIR" != "no"; then
 
     for i in $PHP_FREETYPE_DIR /usr/local /usr; do
-      if test -f "$i/include/freetype2/freetype/freetype.h"; then
+      if test -f "$i/bin/freetype-config"; then
         FREETYPE2_DIR=$i
-        FREETYPE2_INC_DIR=$i/include/freetype2
+        FREETYPE2_CONFIG="$i/bin/freetype-config"
         break
       fi
     done
 
     if test -z "$FREETYPE2_DIR"; then
-      AC_MSG_ERROR([freetype.h not found.])
+      AC_MSG_ERROR([freetype-config not found.])
     fi
 
-    PHP_CHECK_LIBRARY(freetype, FT_New_Face,
-    [
-      PHP_ADD_LIBRARY_WITH_PATH(freetype, $FREETYPE2_DIR/$PHP_LIBDIR, 
GD_SHARED_LIBADD)
-      PHP_ADD_INCLUDE($FREETYPE2_DIR/include)
-      PHP_ADD_INCLUDE($FREETYPE2_INC_DIR)
-      AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
-      AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
-      AC_DEFINE(ENABLE_GD_TTF,1,[ ])
-    ],[
-      AC_MSG_ERROR([Problem with freetype.(a|so). Please check config.log for 
more information.])
-    ],[
-      -L$FREETYPE2_DIR/$PHP_LIBDIR
-    ])
+    FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
+    FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
+
+    PHP_EVAL_INCLINE($FREETYPE2_CFLAGS)
+    PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD)
+    AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
+    AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
+    AC_DEFINE(ENABLE_GD_TTF,1,[ ])
   else
     AC_MSG_RESULT([If configure fails try --with-freetype-dir=<DIR>])
   fi




Reply via email to