configure.ac revision 5b21eff8c4a00962d4315a47a65a143abe323299
1AC_PREREQ([2.64])
2AC_INIT([harfbuzz],
3        [0.5.0],
4        [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
5        [harfbuzz],
6        [http://harfbuzz.org/])
7
8AC_CONFIG_SRCDIR([harfbuzz.pc.in])
9AC_CONFIG_HEADERS([config.h])
10
11AM_INIT_AUTOMAKE([1.11.1 gnu dist-bzip2 no-dist-gzip -Wall no-define])
12AM_SILENT_RULES([yes])
13
14# Check for programs
15AC_PROG_CC
16AM_PROG_CC_C_O
17AC_PROG_CXX
18
19# Initialize libtool
20LT_PREREQ([2.2])
21LT_INIT([disable-static])
22
23# Version
24m4_define(version_triplet,m4_split(AC_PACKAGE_VERSION,[[.]]))
25HB_VERSION_MAJOR=m4_argn(1,version_triplet)
26HB_VERSION_MINOR=m4_argn(2,version_triplet)
27HB_VERSION_MICRO=m4_argn(3,version_triplet)
28HB_VERSION=AC_PACKAGE_VERSION
29
30AC_SUBST(HB_VERSION_MAJOR)
31AC_SUBST(HB_VERSION_MINOR)
32AC_SUBST(HB_VERSION_MICRO)
33AC_SUBST(HB_VERSION)
34
35
36# Functions and headers
37AC_CHECK_FUNCS(mprotect sysconf getpagesize mmap)
38AC_CHECK_HEADERS(unistd.h sys/mman.h)
39
40# Compiler flags
41AC_CANONICAL_HOST
42if test "x$GCC" = "xyes"; then
43
44	# Make symbols link locally
45	LDFLAGS="$LDFLAGS -Bsymbolic-functions"
46
47	# Make sure we don't link to libstdc++
48	CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
49
50	case "$host" in
51		arm-*-*)
52			# Request byte alignment on arm
53			CXXFLAGS="$CXXFLAGS -mstructure-size-boundary=8"
54		;;
55	esac
56fi
57
58dnl ==========================================================================
59
60PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, have_glib=true, have_glib=false)
61PKG_CHECK_MODULES(GTHREAD, gthread-2.0, , have_glib=false)
62if $have_glib; then
63	AC_DEFINE(HAVE_GLIB, 1, [Have glib2 library])
64fi
65AM_CONDITIONAL(HAVE_GLIB, $have_glib)
66
67dnl ==========================================================================
68
69PKG_CHECK_MODULES(CAIRO, cairo >= 1.8.0, have_cairo=true, have_cairo=false)
70if $have_cairo; then
71	AC_DEFINE(HAVE_CAIRO, 1, [Have cairo graphics library])
72fi
73AM_CONDITIONAL(HAVE_CAIRO, $have_cairo)
74
75PKG_CHECK_MODULES(CAIRO_PNG, cairo-png, have_cairo_png=true, have_cairo_png=false)
76if $have_cairo_png; then
77	AC_DEFINE(HAVE_CAIRO_PNG, 1, [Have cairo-png support in cairo graphics library])
78fi
79AM_CONDITIONAL(HAVE_CAIRO_PNG, $have_cairo_png)
80
81PKG_CHECK_MODULES(CAIRO_FT, cairo-ft, have_cairo_ft=true, have_cairo_ft=false)
82if $have_cairo_ft; then
83	AC_DEFINE(HAVE_CAIRO_FT, 1, [Have cairo-ft support in cairo graphics library])
84fi
85AM_CONDITIONAL(HAVE_CAIRO_FT, $have_cairo_ft)
86
87dnl ==========================================================================
88
89PKG_CHECK_MODULES(ICU, icu, have_icu=true, [
90	AC_CHECK_PROG([have_icu], [icu-config], [true], [false])
91	if $have_icu; then
92		icu_cflags=`icu-config --cppflags`
93		icu_libs=`icu-config --ldflags-libsonly`
94		AC_SUBST(ICU_CFLAGS, [$icu_cflags])
95		AC_SUBST(ICU_LIBS, [$icu_libs])
96	fi
97])
98if $have_icu; then
99	AC_DEFINE(HAVE_ICU, 1, [Have ICU library])
100fi
101AM_CONDITIONAL(HAVE_ICU, $have_icu)
102
103dnl ==========================================================================
104
105PKG_CHECK_MODULES(FREETYPE, freetype2, have_freetype=true, have_freetype=false)
106if $have_freetype; then
107	AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library])
108	_save_libs="$LIBS"
109	_save_cflags="$CFLAGS"
110	LIBS="$LIBS $FREETYPE_LIBS"
111	CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
112	AC_CHECK_FUNCS(FT_Face_GetCharVariantIndex)
113	LIBS="$_save_libs"
114	CFLAGS="$_save_cflags"
115fi
116AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype)
117
118dnl ===========================================================================
119
120AC_CONFIG_FILES([
121Makefile
122harfbuzz.pc
123src/Makefile
124src/hb-version.h
125test/Makefile
126])
127
128AC_OUTPUT
129