mirror of
https://github.com/php/php-src.git
synced 2026-04-28 10:43:30 +02:00
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)).
This commit is contained in:
@@ -20,6 +20,10 @@ PHP NEWS
|
||||
- Filter:
|
||||
. Fixed bug #66229 (128.0.0.0/16 isn't reserved any longer). (Adam)
|
||||
|
||||
- GD:
|
||||
. Fixed bug #64405 (Use freetype-config for determining freetype2 dir(s)).
|
||||
(Adam)
|
||||
|
||||
- XSL
|
||||
. Fixed bug #49634 (Segfault throwing an exception in a XSL registered
|
||||
function). (Mike)
|
||||
|
||||
+11
-16
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user