configure.ac revision c2939121
1c76ae52dSmrgdnl 
2c76ae52dSmrgdnl  Copyright © 2003 Keith Packard, Noah Levitt
3c76ae52dSmrgdnl 
4c76ae52dSmrgdnl  Permission to use, copy, modify, distribute, and sell this software and its
5c76ae52dSmrgdnl  documentation for any purpose is hereby granted without fee, provided that
6c76ae52dSmrgdnl  the above copyright notice appear in all copies and that both that
7c76ae52dSmrgdnl  copyright notice and this permission notice appear in supporting
8c76ae52dSmrgdnl  documentation, and that the name of Keith Packard not be used in
9c76ae52dSmrgdnl  advertising or publicity pertaining to distribution of the software without
10c76ae52dSmrgdnl  specific, written prior permission.  Keith Packard makes no
11c76ae52dSmrgdnl  representations about the suitability of this software for any purpose.  It
12c76ae52dSmrgdnl  is provided "as is" without express or implied warranty.
13c76ae52dSmrgdnl 
14c76ae52dSmrgdnl  KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15c76ae52dSmrgdnl  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16c76ae52dSmrgdnl  EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17c76ae52dSmrgdnl  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18c76ae52dSmrgdnl  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19c76ae52dSmrgdnl  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20c76ae52dSmrgdnl  PERFORMANCE OF THIS SOFTWARE.
21c76ae52dSmrgdnl
22c76ae52dSmrgdnl Process this file with autoconf to create configure.
23c76ae52dSmrg
24c2939121SmrgAC_PREREQ([2.60])
25c76ae52dSmrg
26c76ae52dSmrgdnl
27c76ae52dSmrgdnl This is the package version number, not the shared library
280d590c07Smrgdnl version.  This version number will be substituted into Xft.h
29c76ae52dSmrgdnl Please bump the minor library number at each release as well.
30c76ae52dSmrgdnl
31c2939121SmrgAC_INIT([libXft], [2.2.0],
32c2939121Smrg        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXft])
33c76ae52dSmrgAC_CONFIG_AUX_DIR(.)
34c76ae52dSmrg
35c2939121SmrgAM_INIT_AUTOMAKE([foreign dist-bzip2])
36c76ae52dSmrgAM_MAINTAINER_MODE
37c76ae52dSmrg
38c2939121Smrg# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
39c2939121Smrgm4_ifndef([XORG_MACROS_VERSION],
40c2939121Smrg          [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
41c2939121SmrgXORG_MACROS_VERSION(1.8)
42c2939121SmrgXORG_DEFAULT_OPTIONS
43c76ae52dSmrgAM_CONFIG_HEADER(config.h)
44c76ae52dSmrg
45c76ae52dSmrg# checks for progs
46c76ae52dSmrgAC_PROG_CC
47c76ae52dSmrgAC_PROG_LIBTOOL
48c2939121SmrgAC_PROG_SED
490d590c07Smrg
500d590c07Smrg# Set library version for Xft.h from package version set in AC_INIT
510d590c07Smrg# copied from PACKAGE_VERSION_* settings in XORG_VERSION
520d590c07SmrgAC_CONFIG_HEADERS([include/X11/Xft/Xft.h])
530d590c07SmrgAC_DEFINE_UNQUOTED([XFT_MAJOR],
540d590c07Smrg                [`echo $PACKAGE_VERSION | cut -d . -f 1`],
550d590c07Smrg                [Major version of Xft])
560d590c07SmrgAC_DEFINE_UNQUOTED([XFT_MINOR],
570d590c07Smrg                [`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`],
580d590c07Smrg                [Minor version of Xft])
590d590c07SmrgAC_DEFINE_UNQUOTED([XFT_REVISION],
600d590c07Smrg                [`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`],
610d590c07Smrg                [Micro revision of Xft])
62c76ae52dSmrg
63c2939121SmrgXFT_LT_VERSION=`echo $PACKAGE_VERSION | tr '.' ':'`
64c2939121SmrgAC_SUBST([XFT_LT_VERSION])
65c2939121Smrg
66c76ae52dSmrg#
67c76ae52dSmrg# Check for Xrender
68c76ae52dSmrg#
69c76ae52dSmrgPKG_CHECK_MODULES(XRENDER, xrender >= 0.8.2, [xrender_found_with_pkgconfig=yes], 
70c76ae52dSmrg                  [xrender_found_with_pkgconfig=no])
71c76ae52dSmrgcase "$xrender_found_with_pkgconfig" in
72c76ae52dSmrgno)
73c76ae52dSmrg	PKG_CHECK_MODULES(XRENDER, xrender >= 0, [old_xrender_found_with_pkgconfig=yes], 
74c76ae52dSmrg			  [old_xrender_found_with_pkgconfig=no])
75c76ae52dSmrg	case "$old_xrender_found_with_pkgconfig" in
76c76ae52dSmrg	yes)
77c76ae52dSmrg		XRENDER_LIBS="$XRENDER_LIBS -lXext -lX11"
78c76ae52dSmrg		;;
79c76ae52dSmrg	*)
80c76ae52dSmrg	        # checks for X
81c76ae52dSmrg	        AC_PATH_X
82c76ae52dSmrg
83c76ae52dSmrg	        XRENDER_CFLAGS="-I$x_includes"
84c76ae52dSmrg	        XRENDER_LIBS="-L$x_libraries -lXrender -lXext -lX11"
85c76ae52dSmrg
86c76ae52dSmrg	        saved_CPPFLAGS="$CPPFLAGS"
87c76ae52dSmrg	        CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS"
88c76ae52dSmrg	        AC_CHECK_HEADERS([X11/extensions/Xrender.h], [], [AC_MSG_ERROR([Xrender.h not found.])])
89c76ae52dSmrg	        CPPFLAGS="$saved_CPPFLAGS"
90c76ae52dSmrg
91c76ae52dSmrg	        saved_LIBS="$LIBS"
92c76ae52dSmrg	        LIBS="$LIBS $XRENDER_LIBS"
93c76ae52dSmrg	        AC_CHECK_FUNCS([XRenderFindStandardFormat], [], [AC_MSG_ERROR([libXrender not found or too old.])])
94c76ae52dSmrg	        LIBS="$saved_LIBS"
95c76ae52dSmrg		;;
96c76ae52dSmrg	esac
97c76ae52dSmrg        ;;
98c76ae52dSmrgesac
99c76ae52dSmrg
100c76ae52dSmrg# Check freetype configuration
101c76ae52dSmrgAC_ARG_WITH(freetype-config, [  --with-freetype-config=PROG   Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=auto)
102c76ae52dSmrg	
103c76ae52dSmrgif test "$freetype_config" = "auto"; then
104c76ae52dSmrg	PKG_CHECK_MODULES(FREETYPE, freetype2, 
105c76ae52dSmrg		freetype_config=no, freetype_config=yes)
106c76ae52dSmrgfi
107c76ae52dSmrg
108c76ae52dSmrgif test "$freetype_config" = "yes"; then 
109c76ae52dSmrg	AC_PATH_PROG(ft_config,freetype-config,no)
110c76ae52dSmrg	if test "$ft_config" = "no"; then
111c76ae52dSmrg		AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/])
112c76ae52dSmrg	fi
113c76ae52dSmrgelse
114c76ae52dSmrg	ft_config="$freetype_config"
115c76ae52dSmrgfi
116c76ae52dSmrg
117c76ae52dSmrgif test "$freetype_config" != "no"; then 	
118c76ae52dSmrg	FREETYPE_CFLAGS="`$ft_config --cflags`"
119c76ae52dSmrg	FREETYPE_LIBS="`$ft_config --libs`"
120c76ae52dSmrgfi
121c76ae52dSmrg
122c76ae52dSmrg# Check fontconfig configuration
123c76ae52dSmrgPKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.2)
124c76ae52dSmrg
125c76ae52dSmrgAC_SUBST(XRENDER_CFLAGS)
126c76ae52dSmrgAC_SUBST(XRENDER_LIBS)
127c76ae52dSmrgAC_SUBST(FREETYPE_CFLAGS)
128c76ae52dSmrgAC_SUBST(FREETYPE_LIBS)
129c76ae52dSmrgAC_SUBST(FONTCONFIG_CFLAGS)
130c76ae52dSmrgAC_SUBST(FONTCONFIG_LIBS)
131c76ae52dSmrg
132c76ae52dSmrgfontconfig_save_libs="$LIBS"
133c76ae52dSmrgfontconfig_save_cflags="$CFLAGS"
134c76ae52dSmrgLIBS="$LIBS $FREETYPE_LIBS"
135c76ae52dSmrgCFLAGS="$CFLAGS $FREETYPE_CFLAGS"
136c76ae52dSmrgAC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_GlyphSlot_Embolden)
137c76ae52dSmrgAC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
138c76ae52dSmrg		HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
139c76ae52dSmrg		HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
140c76ae52dSmrg[#include <ft2build.h>
141c76ae52dSmrg#include FT_FREETYPE_H])
142c76ae52dSmrgAC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
143c76ae52dSmrg		   [FT_Bitmap_Size structure includes y_ppem field])
144c76ae52dSmrg
145c76ae52dSmrgLIBS="$fontconfig_save_libs"
146c76ae52dSmrgCFLAGS="$fontconfig_save_cflags"
147c76ae52dSmrg
148c76ae52dSmrgif test "$VERSION" = "" ; then
149c76ae52dSmrg       VERSION=$PACKAGE_VERSION;
150c76ae52dSmrgfi
151c76ae52dSmrg
152c76ae52dSmrgAC_OUTPUT([Makefile
153c76ae52dSmrg	   xft.pc
154c76ae52dSmrg	   src/Makefile
155c2939121Smrg	   man/Makefile])
156