-
Notifications
You must be signed in to change notification settings - Fork 121
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BUILD: Use pkg-config to find FreeType2 instead of freetype-config
The freetype-config method has been deprecated and FreeType 2.9.1 doesn't even install freetype-config by default anymore (and at least Gentoo doesn't change the default). The freetype2.pc files for pkg-config has been available for ages, too, so this should also still work for old releases of FreeType2.
- Loading branch information
Showing
2 changed files
with
27 additions
and
201 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,193 +1,24 @@ | ||
#serial 1003 | ||
# Configure paths for FreeType2 | ||
# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor | ||
# | ||
# Copyright 2001, 2003, 2007, 2009 by | ||
# David Turner, Robert Wilhelm, and Werner Lemberg. | ||
# | ||
# This file is part of the FreeType project, and may only be used, modified, | ||
# and distributed under the terms of the FreeType project license, | ||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you | ||
# indicate that you have read the license and understand and accept it | ||
# fully. | ||
# | ||
# As a special exception to the FreeType project license, this file may be | ||
# distributed as part of a program that contains a configuration script | ||
# generated by Autoconf, under the same distribution terms as the rest of | ||
# that program. | ||
#serial 1004 | ||
dnl @synopsis AX_CHECK_FT2(version, action-if, action-if-not) | ||
dnl | ||
dnl @summary check for the Freetype2 library of sufficient version. | ||
dnl | ||
dnl Defines FT2_LIBS, FT2_CFLAGS. | ||
dnl | ||
dnl The FreeType library version numbers are not the FreeType2 | ||
dnl release version numbers. For example, FreeType 2.4.0 comes | ||
dnl with the FreeType library 11.0.5. This function needs the | ||
dnl latter, the FreeType library number. | ||
dnl | ||
dnl @category InstalledPackages | ||
dnl @author Sven Hesse <drmccoy@drmccoy.de> | ||
dnl @version 2018-05-03 | ||
dnl @license Creative Commons CC0 1.0 Universal Public Domain Dedication | ||
|
||
AC_DEFUN([AX_CHECK_FT2], [ | ||
PKG_CHECK_MODULES([FT2], [freetype2 >= $1], [$2], [$3]) | ||
AC_SUBST(FT2_CFLAGS) | ||
AC_SUBST(FT2_LIBS) | ||
]) | ||
|
||
# AX_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) | ||
# Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS. | ||
# MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is | ||
# FreeType 2.0.4). | ||
# | ||
AC_DEFUN([AX_CHECK_FT2], | ||
[# Get the cflags and libraries from the freetype-config script | ||
# | ||
AC_ARG_WITH([ft-prefix], | ||
AS_HELP_STRING([--with-ft-prefix=PREFIX], | ||
[Prefix where FreeType is installed (optional)]), | ||
[ft_config_prefix="$withval"], | ||
[ft_config_prefix=""]) | ||
AC_ARG_WITH([ft-exec-prefix], | ||
AS_HELP_STRING([--with-ft-exec-prefix=PREFIX], | ||
[Exec prefix where FreeType is installed (optional)]), | ||
[ft_config_exec_prefix="$withval"], | ||
[ft_config_exec_prefix=""]) | ||
AC_ARG_ENABLE([freetypetest], | ||
AS_HELP_STRING([--disable-freetypetest], | ||
[Do not try to compile and run a test FreeType program]), | ||
[], | ||
[enable_fttest=yes]) | ||
if test x$ft_config_exec_prefix != x ; then | ||
ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix" | ||
if test x${FT2_CONFIG+set} != xset ; then | ||
FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config | ||
fi | ||
fi | ||
if test x$ft_config_prefix != x ; then | ||
ft_config_args="$ft_config_args --prefix=$ft_config_prefix" | ||
if test x${FT2_CONFIG+set} != xset ; then | ||
FT2_CONFIG=$ft_config_prefix/bin/freetype-config | ||
fi | ||
fi | ||
if test "x$FT2_CONFIG" = x ; then | ||
AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no]) | ||
fi | ||
min_ft_version=m4_if([$1], [], [7.0.1], [$1]) | ||
AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version]) | ||
no_ft="" | ||
if test "$FT2_CONFIG" = "no" ; then | ||
no_ft=yes | ||
else | ||
FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags` | ||
FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs` | ||
ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | ||
ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | ||
ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | ||
ft_min_major_version=`echo $min_ft_version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | ||
ft_min_minor_version=`echo $min_ft_version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | ||
ft_min_micro_version=`echo $min_ft_version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | ||
if test x$enable_fttest = xyes ; then | ||
ft_config_is_lt="" | ||
if test $ft_config_major_version -lt $ft_min_major_version ; then | ||
ft_config_is_lt=yes | ||
else | ||
if test $ft_config_major_version -eq $ft_min_major_version ; then | ||
if test $ft_config_minor_version -lt $ft_min_minor_version ; then | ||
ft_config_is_lt=yes | ||
else | ||
if test $ft_config_minor_version -eq $ft_min_minor_version ; then | ||
if test $ft_config_micro_version -lt $ft_min_micro_version ; then | ||
ft_config_is_lt=yes | ||
fi | ||
fi | ||
fi | ||
fi | ||
fi | ||
if test x$ft_config_is_lt = xyes ; then | ||
no_ft=yes | ||
else | ||
ac_save_CFLAGS="$CFLAGS" | ||
ac_save_CXXFLAGS="$CXXFLAGS" | ||
ac_save_LIBS="$LIBS" | ||
CFLAGS="$CFLAGS $FT2_CFLAGS" | ||
CXXFLAGS="$CXXFLAGS $FT2_CFLAGS" | ||
LIBS="$FT2_LIBS $LIBS" | ||
# | ||
# Sanity checks for the results of freetype-config to some extent. | ||
# | ||
AC_RUN_IFELSE([ | ||
AC_LANG_SOURCE([[ | ||
#include <ft2build.h> | ||
#include FT_FREETYPE_H | ||
#include <stdio.h> | ||
#include <stdlib.h> | ||
int | ||
main() | ||
{ | ||
FT_Library library; | ||
FT_Error error; | ||
error = FT_Init_FreeType(&library); | ||
if (error) | ||
return 1; | ||
else | ||
{ | ||
FT_Done_FreeType(library); | ||
return 0; | ||
} | ||
} | ||
]]) | ||
], | ||
[], | ||
[no_ft=yes], | ||
[echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"]) | ||
CFLAGS="$ac_save_CFLAGS" | ||
CXXFLAGS="$ac_save_CXXFLAGS" | ||
LIBS="$ac_save_LIBS" | ||
fi # test $ft_config_version -lt $ft_min_version | ||
fi # test x$enable_fttest = xyes | ||
fi # test "$FT2_CONFIG" = "no" | ||
if test x$no_ft = x ; then | ||
AC_MSG_RESULT([yes]) | ||
m4_if([$2], [], [:], [$2]) | ||
else | ||
AC_MSG_RESULT([no]) | ||
if test "$FT2_CONFIG" = "no" ; then | ||
AC_MSG_WARN([ | ||
The freetype-config script installed by FreeType 2 could not be found. | ||
If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in | ||
your path, or set the FT2_CONFIG environment variable to the | ||
full path to freetype-config. | ||
]) | ||
else | ||
if test x$ft_config_is_lt = xyes ; then | ||
AC_MSG_WARN([ | ||
Your installed version of the FreeType 2 library is too old. | ||
If you have different versions of FreeType 2, make sure that | ||
correct values for --with-ft-prefix or --with-ft-exec-prefix | ||
are used, or set the FT2_CONFIG environment variable to the | ||
full path to freetype-config. | ||
]) | ||
else | ||
AC_MSG_WARN([ | ||
The FreeType test program failed to run. If your system uses | ||
shared libraries and they are installed outside the normal | ||
system library path, make sure the variable LD_LIBRARY_PATH | ||
(or whatever is appropriate for your system) is correctly set. | ||
]) | ||
fi | ||
fi | ||
FT2_CFLAGS="" | ||
FT2_LIBS="" | ||
m4_if([$3], [], [:], [$3]) | ||
fi | ||
AC_SUBST([FT2_CFLAGS]) | ||
AC_SUBST([FT2_LIBS])]) | ||
|
||
# end of freetype2.m4 |