configure.ac revision c76ae52d
1c76ae52dSmrgdnl 
2c76ae52dSmrgdnl  $Id: configure.ac,v 1.1.1.1 2008/07/30 02:49:03 mrg Exp $
3c76ae52dSmrgdnl 
4c76ae52dSmrgdnl  Copyright © 2003 Keith Packard, Noah Levitt
5c76ae52dSmrgdnl 
6c76ae52dSmrgdnl  Permission to use, copy, modify, distribute, and sell this software and its
7c76ae52dSmrgdnl  documentation for any purpose is hereby granted without fee, provided that
8c76ae52dSmrgdnl  the above copyright notice appear in all copies and that both that
9c76ae52dSmrgdnl  copyright notice and this permission notice appear in supporting
10c76ae52dSmrgdnl  documentation, and that the name of Keith Packard not be used in
11c76ae52dSmrgdnl  advertising or publicity pertaining to distribution of the software without
12c76ae52dSmrgdnl  specific, written prior permission.  Keith Packard makes no
13c76ae52dSmrgdnl  representations about the suitability of this software for any purpose.  It
14c76ae52dSmrgdnl  is provided "as is" without express or implied warranty.
15c76ae52dSmrgdnl 
16c76ae52dSmrgdnl  KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17c76ae52dSmrgdnl  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18c76ae52dSmrgdnl  EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19c76ae52dSmrgdnl  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20c76ae52dSmrgdnl  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21c76ae52dSmrgdnl  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22c76ae52dSmrgdnl  PERFORMANCE OF THIS SOFTWARE.
23c76ae52dSmrgdnl
24c76ae52dSmrgdnl Process this file with autoconf to create configure.
25c76ae52dSmrg
26c76ae52dSmrgAC_PREREQ([2.57])
27c76ae52dSmrg
28c76ae52dSmrgdnl
29c76ae52dSmrgdnl This is the package version number, not the shared library
30c76ae52dSmrgdnl version.  This same version number must appear in Xft.h
31c76ae52dSmrgdnl Yes, it is a pain to synchronize version numbers.  Unfortunately, it's
32c76ae52dSmrgdnl not possible to extract the version number here from Xft.h
33c76ae52dSmrgdnl Please bump the minor library number at each release as well.
34c76ae52dSmrgdnl
35c76ae52dSmrgAC_INIT(libXft, 2.1.12, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXft)
36c76ae52dSmrgAC_CONFIG_AUX_DIR(.)
37c76ae52dSmrg
38c76ae52dSmrgAM_INIT_AUTOMAKE([dist-bzip2])
39c76ae52dSmrgAM_MAINTAINER_MODE
40c76ae52dSmrg
41c76ae52dSmrgAM_CONFIG_HEADER(config.h)
42c76ae52dSmrg
43c76ae52dSmrg# checks for progs
44c76ae52dSmrgAC_PROG_CC
45c76ae52dSmrgAC_PROG_LIBTOOL
46c76ae52dSmrg
47c76ae52dSmrg#
48c76ae52dSmrg# Check for Xrender
49c76ae52dSmrg#
50c76ae52dSmrgPKG_CHECK_MODULES(XRENDER, xrender >= 0.8.2, [xrender_found_with_pkgconfig=yes], 
51c76ae52dSmrg                  [xrender_found_with_pkgconfig=no])
52c76ae52dSmrgcase "$xrender_found_with_pkgconfig" in
53c76ae52dSmrgno)
54c76ae52dSmrg	PKG_CHECK_MODULES(XRENDER, xrender >= 0, [old_xrender_found_with_pkgconfig=yes], 
55c76ae52dSmrg			  [old_xrender_found_with_pkgconfig=no])
56c76ae52dSmrg	case "$old_xrender_found_with_pkgconfig" in
57c76ae52dSmrg	yes)
58c76ae52dSmrg		XRENDER_LIBS="$XRENDER_LIBS -lXext -lX11"
59c76ae52dSmrg		;;
60c76ae52dSmrg	*)
61c76ae52dSmrg	        # checks for X
62c76ae52dSmrg	        AC_PATH_X
63c76ae52dSmrg
64c76ae52dSmrg	        XRENDER_CFLAGS="-I$x_includes"
65c76ae52dSmrg	        XRENDER_LIBS="-L$x_libraries -lXrender -lXext -lX11"
66c76ae52dSmrg
67c76ae52dSmrg	        saved_CPPFLAGS="$CPPFLAGS"
68c76ae52dSmrg	        CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS"
69c76ae52dSmrg	        AC_CHECK_HEADERS([X11/extensions/Xrender.h], [], [AC_MSG_ERROR([Xrender.h not found.])])
70c76ae52dSmrg	        CPPFLAGS="$saved_CPPFLAGS"
71c76ae52dSmrg
72c76ae52dSmrg	        saved_LIBS="$LIBS"
73c76ae52dSmrg	        LIBS="$LIBS $XRENDER_LIBS"
74c76ae52dSmrg	        AC_CHECK_FUNCS([XRenderFindStandardFormat], [], [AC_MSG_ERROR([libXrender not found or too old.])])
75c76ae52dSmrg	        LIBS="$saved_LIBS"
76c76ae52dSmrg		;;
77c76ae52dSmrg	esac
78c76ae52dSmrg        ;;
79c76ae52dSmrgesac
80c76ae52dSmrg
81c76ae52dSmrg# Check freetype configuration
82c76ae52dSmrgAC_ARG_WITH(freetype-config, [  --with-freetype-config=PROG   Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=auto)
83c76ae52dSmrg	
84c76ae52dSmrgif test "$freetype_config" = "auto"; then
85c76ae52dSmrg	PKG_CHECK_MODULES(FREETYPE, freetype2, 
86c76ae52dSmrg		freetype_config=no, freetype_config=yes)
87c76ae52dSmrgfi
88c76ae52dSmrg
89c76ae52dSmrgif test "$freetype_config" = "yes"; then 
90c76ae52dSmrg	AC_PATH_PROG(ft_config,freetype-config,no)
91c76ae52dSmrg	if test "$ft_config" = "no"; then
92c76ae52dSmrg		AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/])
93c76ae52dSmrg	fi
94c76ae52dSmrgelse
95c76ae52dSmrg	ft_config="$freetype_config"
96c76ae52dSmrgfi
97c76ae52dSmrg
98c76ae52dSmrgif test "$freetype_config" != "no"; then 	
99c76ae52dSmrg	FREETYPE_CFLAGS="`$ft_config --cflags`"
100c76ae52dSmrg	FREETYPE_LIBS="`$ft_config --libs`"
101c76ae52dSmrgfi
102c76ae52dSmrg
103c76ae52dSmrg# Check fontconfig configuration
104c76ae52dSmrgPKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.2)
105c76ae52dSmrg
106c76ae52dSmrgAC_SUBST(XRENDER_CFLAGS)
107c76ae52dSmrgAC_SUBST(XRENDER_LIBS)
108c76ae52dSmrgAC_SUBST(FREETYPE_CFLAGS)
109c76ae52dSmrgAC_SUBST(FREETYPE_LIBS)
110c76ae52dSmrgAC_SUBST(FONTCONFIG_CFLAGS)
111c76ae52dSmrgAC_SUBST(FONTCONFIG_LIBS)
112c76ae52dSmrg
113c76ae52dSmrgfontconfig_save_libs="$LIBS"
114c76ae52dSmrgfontconfig_save_cflags="$CFLAGS"
115c76ae52dSmrgLIBS="$LIBS $FREETYPE_LIBS"
116c76ae52dSmrgCFLAGS="$CFLAGS $FREETYPE_CFLAGS"
117c76ae52dSmrgAC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_GlyphSlot_Embolden)
118c76ae52dSmrgAC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
119c76ae52dSmrg		HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
120c76ae52dSmrg		HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
121c76ae52dSmrg[#include <ft2build.h>
122c76ae52dSmrg#include FT_FREETYPE_H])
123c76ae52dSmrgAC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
124c76ae52dSmrg		   [FT_Bitmap_Size structure includes y_ppem field])
125c76ae52dSmrg
126c76ae52dSmrgLIBS="$fontconfig_save_libs"
127c76ae52dSmrgCFLAGS="$fontconfig_save_cflags"
128c76ae52dSmrg
129c76ae52dSmrgif test "$VERSION" = "" ; then
130c76ae52dSmrg       VERSION=$PACKAGE_VERSION;
131c76ae52dSmrgfi
132c76ae52dSmrg
133c76ae52dSmrgWARN_CFLAGS=""
134c76ae52dSmrg
135c76ae52dSmrgif test "x$GCC" = "xyes"; then
136c76ae52dSmrg	WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
137c76ae52dSmrg	-Wmissing-prototypes -Wmissing-declarations \
138c76ae52dSmrg	-Wnested-externs -fno-strict-aliasing"
139c76ae52dSmrgfi
140c76ae52dSmrgAC_SUBST(WARN_CFLAGS)
141c76ae52dSmrg
142c76ae52dSmrgXORG_RELEASE_VERSION
143c76ae52dSmrg
144c76ae52dSmrgAC_OUTPUT([Makefile
145c76ae52dSmrg	   xft.pc
146c76ae52dSmrg	   xft-config
147c76ae52dSmrg	   src/Makefile
148c76ae52dSmrg	   man/Makefile
149c76ae52dSmrg	   man/xft-config.1
150c76ae52dSmrg	   man/Xft.3])
151