configure.ac revision 0d590c07
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
24c76ae52dSmrgAC_PREREQ([2.57])
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
310d590c07SmrgAC_INIT(libXft, 2.1.14, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXft)
32c76ae52dSmrgAC_CONFIG_AUX_DIR(.)
33c76ae52dSmrg
34c76ae52dSmrgAM_INIT_AUTOMAKE([dist-bzip2])
35c76ae52dSmrgAM_MAINTAINER_MODE
36c76ae52dSmrg
370d590c07Smrg# Require xorg-macros: XORG_DEFAULT_OPTIONS
380d590c07Smrgm4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])])
390d590c07SmrgXORG_MACROS_VERSION(1.3)
40c76ae52dSmrgAM_CONFIG_HEADER(config.h)
41c76ae52dSmrg
42c76ae52dSmrg# checks for progs
43c76ae52dSmrgAC_PROG_CC
44c76ae52dSmrgAC_PROG_LIBTOOL
450d590c07SmrgXORG_DEFAULT_OPTIONS
460d590c07Smrg
470d590c07Smrg# Set library version for Xft.h from package version set in AC_INIT
480d590c07Smrg# copied from PACKAGE_VERSION_* settings in XORG_VERSION
490d590c07SmrgAC_CONFIG_HEADERS([include/X11/Xft/Xft.h])
500d590c07SmrgAC_DEFINE_UNQUOTED([XFT_MAJOR],
510d590c07Smrg                [`echo $PACKAGE_VERSION | cut -d . -f 1`],
520d590c07Smrg                [Major version of Xft])
530d590c07SmrgAC_DEFINE_UNQUOTED([XFT_MINOR],
540d590c07Smrg                [`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`],
550d590c07Smrg                [Minor version of Xft])
560d590c07SmrgAC_DEFINE_UNQUOTED([XFT_REVISION],
570d590c07Smrg                [`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`],
580d590c07Smrg                [Micro revision of Xft])
59c76ae52dSmrg
60c76ae52dSmrg#
61c76ae52dSmrg# Check for Xrender
62c76ae52dSmrg#
63c76ae52dSmrgPKG_CHECK_MODULES(XRENDER, xrender >= 0.8.2, [xrender_found_with_pkgconfig=yes], 
64c76ae52dSmrg                  [xrender_found_with_pkgconfig=no])
65c76ae52dSmrgcase "$xrender_found_with_pkgconfig" in
66c76ae52dSmrgno)
67c76ae52dSmrg	PKG_CHECK_MODULES(XRENDER, xrender >= 0, [old_xrender_found_with_pkgconfig=yes], 
68c76ae52dSmrg			  [old_xrender_found_with_pkgconfig=no])
69c76ae52dSmrg	case "$old_xrender_found_with_pkgconfig" in
70c76ae52dSmrg	yes)
71c76ae52dSmrg		XRENDER_LIBS="$XRENDER_LIBS -lXext -lX11"
72c76ae52dSmrg		;;
73c76ae52dSmrg	*)
74c76ae52dSmrg	        # checks for X
75c76ae52dSmrg	        AC_PATH_X
76c76ae52dSmrg
77c76ae52dSmrg	        XRENDER_CFLAGS="-I$x_includes"
78c76ae52dSmrg	        XRENDER_LIBS="-L$x_libraries -lXrender -lXext -lX11"
79c76ae52dSmrg
80c76ae52dSmrg	        saved_CPPFLAGS="$CPPFLAGS"
81c76ae52dSmrg	        CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS"
82c76ae52dSmrg	        AC_CHECK_HEADERS([X11/extensions/Xrender.h], [], [AC_MSG_ERROR([Xrender.h not found.])])
83c76ae52dSmrg	        CPPFLAGS="$saved_CPPFLAGS"
84c76ae52dSmrg
85c76ae52dSmrg	        saved_LIBS="$LIBS"
86c76ae52dSmrg	        LIBS="$LIBS $XRENDER_LIBS"
87c76ae52dSmrg	        AC_CHECK_FUNCS([XRenderFindStandardFormat], [], [AC_MSG_ERROR([libXrender not found or too old.])])
88c76ae52dSmrg	        LIBS="$saved_LIBS"
89c76ae52dSmrg		;;
90c76ae52dSmrg	esac
91c76ae52dSmrg        ;;
92c76ae52dSmrgesac
93c76ae52dSmrg
94c76ae52dSmrg# Check freetype configuration
95c76ae52dSmrgAC_ARG_WITH(freetype-config, [  --with-freetype-config=PROG   Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=auto)
96c76ae52dSmrg	
97c76ae52dSmrgif test "$freetype_config" = "auto"; then
98c76ae52dSmrg	PKG_CHECK_MODULES(FREETYPE, freetype2, 
99c76ae52dSmrg		freetype_config=no, freetype_config=yes)
100c76ae52dSmrgfi
101c76ae52dSmrg
102c76ae52dSmrgif test "$freetype_config" = "yes"; then 
103c76ae52dSmrg	AC_PATH_PROG(ft_config,freetype-config,no)
104c76ae52dSmrg	if test "$ft_config" = "no"; then
105c76ae52dSmrg		AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/])
106c76ae52dSmrg	fi
107c76ae52dSmrgelse
108c76ae52dSmrg	ft_config="$freetype_config"
109c76ae52dSmrgfi
110c76ae52dSmrg
111c76ae52dSmrgif test "$freetype_config" != "no"; then 	
112c76ae52dSmrg	FREETYPE_CFLAGS="`$ft_config --cflags`"
113c76ae52dSmrg	FREETYPE_LIBS="`$ft_config --libs`"
114c76ae52dSmrgfi
115c76ae52dSmrg
116c76ae52dSmrg# Check fontconfig configuration
117c76ae52dSmrgPKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.2)
118c76ae52dSmrg
119c76ae52dSmrgAC_SUBST(XRENDER_CFLAGS)
120c76ae52dSmrgAC_SUBST(XRENDER_LIBS)
121c76ae52dSmrgAC_SUBST(FREETYPE_CFLAGS)
122c76ae52dSmrgAC_SUBST(FREETYPE_LIBS)
123c76ae52dSmrgAC_SUBST(FONTCONFIG_CFLAGS)
124c76ae52dSmrgAC_SUBST(FONTCONFIG_LIBS)
125c76ae52dSmrg
126c76ae52dSmrgfontconfig_save_libs="$LIBS"
127c76ae52dSmrgfontconfig_save_cflags="$CFLAGS"
128c76ae52dSmrgLIBS="$LIBS $FREETYPE_LIBS"
129c76ae52dSmrgCFLAGS="$CFLAGS $FREETYPE_CFLAGS"
130c76ae52dSmrgAC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_GlyphSlot_Embolden)
131c76ae52dSmrgAC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
132c76ae52dSmrg		HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
133c76ae52dSmrg		HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
134c76ae52dSmrg[#include <ft2build.h>
135c76ae52dSmrg#include FT_FREETYPE_H])
136c76ae52dSmrgAC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
137c76ae52dSmrg		   [FT_Bitmap_Size structure includes y_ppem field])
138c76ae52dSmrg
139c76ae52dSmrgLIBS="$fontconfig_save_libs"
140c76ae52dSmrgCFLAGS="$fontconfig_save_cflags"
141c76ae52dSmrg
142c76ae52dSmrgif test "$VERSION" = "" ; then
143c76ae52dSmrg       VERSION=$PACKAGE_VERSION;
144c76ae52dSmrgfi
145c76ae52dSmrg
146c76ae52dSmrgAC_OUTPUT([Makefile
147c76ae52dSmrg	   xft.pc
148c76ae52dSmrg	   xft-config
149c76ae52dSmrg	   src/Makefile
150c76ae52dSmrg	   man/Makefile
151c76ae52dSmrg	   man/xft-config.1
152c76ae52dSmrg	   man/Xft.3])
153