Javier Jardón | 2abe126 | 2011-01-09 22:18:53 -0500 | [diff] [blame] | 1 | AC_PREREQ([2.64]) |
| 2 | AC_INIT([harfbuzz], |
Behdad Esfahbod | 595dc63 | 2011-05-27 04:14:12 -0400 | [diff] [blame] | 3 | [0.7.0], |
Javier Jardón | 2abe126 | 2011-01-09 22:18:53 -0500 | [diff] [blame] | 4 | [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz], |
| 5 | [harfbuzz], |
Behdad Esfahbod | 5b21eff | 2011-05-25 14:49:35 -0400 | [diff] [blame] | 6 | [http://harfbuzz.org/]) |
Javier Jardón | 2abe126 | 2011-01-09 22:18:53 -0500 | [diff] [blame] | 7 | |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 8 | AC_CONFIG_SRCDIR([harfbuzz.pc.in]) |
| 9 | AC_CONFIG_HEADERS([config.h]) |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 10 | |
Javier Jardón | 2abe126 | 2011-01-09 22:18:53 -0500 | [diff] [blame] | 11 | AM_INIT_AUTOMAKE([1.11.1 gnu dist-bzip2 no-dist-gzip -Wall no-define]) |
Javier Jardón | 2abe126 | 2011-01-09 22:18:53 -0500 | [diff] [blame] | 12 | AM_SILENT_RULES([yes]) |
| 13 | |
| 14 | # Check for programs |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 15 | AC_PROG_CC |
Behdad Esfahbod | 0109816 | 2010-10-05 18:36:45 -0400 | [diff] [blame] | 16 | AM_PROG_CC_C_O |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 17 | AC_PROG_CXX |
| 18 | |
Javier Jardón | 2abe126 | 2011-01-09 22:18:53 -0500 | [diff] [blame] | 19 | # Initialize libtool |
| 20 | LT_PREREQ([2.2]) |
Behdad Esfahbod | 9ff819f | 2011-05-05 19:47:59 -0400 | [diff] [blame] | 21 | LT_INIT([disable-static]) |
Javier Jardón | 2abe126 | 2011-01-09 22:18:53 -0500 | [diff] [blame] | 22 | |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 23 | # Version |
Behdad Esfahbod | 329c157 | 2011-05-25 16:07:07 -0400 | [diff] [blame] | 24 | m4_define(hb_version_triplet,m4_split(AC_PACKAGE_VERSION,[[.]])) |
| 25 | m4_define(hb_version_major,m4_argn(1,hb_version_triplet)) |
| 26 | m4_define(hb_version_minor,m4_argn(2,hb_version_triplet)) |
| 27 | m4_define(hb_version_micro,m4_argn(3,hb_version_triplet)) |
| 28 | HB_VERSION_MAJOR=hb_version_major |
| 29 | HB_VERSION_MINOR=hb_version_minor |
| 30 | HB_VERSION_MICRO=hb_version_micro |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 31 | HB_VERSION=AC_PACKAGE_VERSION |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 32 | AC_SUBST(HB_VERSION_MAJOR) |
| 33 | AC_SUBST(HB_VERSION_MINOR) |
| 34 | AC_SUBST(HB_VERSION_MICRO) |
| 35 | AC_SUBST(HB_VERSION) |
| 36 | |
Behdad Esfahbod | 329c157 | 2011-05-25 16:07:07 -0400 | [diff] [blame] | 37 | # Libtool version |
| 38 | m4_define([hb_version_int], |
| 39 | m4_eval(hb_version_major*10000 + hb_version_minor*100 + hb_version_micro)) |
| 40 | m4_if(m4_eval(hb_version_minor % 2), [1], |
| 41 | dnl for unstable releases |
| 42 | [m4_define([hb_libtool_revision], 0)], |
| 43 | dnl for stable releases |
| 44 | [m4_define([hb_libtool_revision], hb_version_micro)]) |
| 45 | m4_define([hb_libtool_age], |
| 46 | m4_eval(hb_version_int - hb_libtool_revision)) |
| 47 | m4_define([hb_libtool_current], |
| 48 | m4_eval(hb_version_major + hb_libtool_age)) |
| 49 | HB_LIBTOOL_VERSION_INFO=hb_libtool_current:hb_libtool_revision:hb_libtool_age |
| 50 | AC_SUBST(HB_LIBTOOL_VERSION_INFO) |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 51 | |
Behdad Esfahbod | b9b10ad | 2011-09-13 13:30:39 -0400 | [diff] [blame] | 52 | GTK_DOC_CHECK([1.15],[--flavour no-tmpl]) |
| 53 | |
Behdad Esfahbod | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 54 | # Functions and headers |
Behdad Esfahbod | 5be7d04 | 2011-05-17 15:05:34 -0400 | [diff] [blame] | 55 | AC_CHECK_FUNCS(mprotect sysconf getpagesize mmap) |
Behdad Esfahbod | 4451168 | 2011-09-16 00:38:19 -0400 | [diff] [blame] | 56 | AC_CHECK_HEADERS(unistd.h sys/mman.h io.h) |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 57 | |
Behdad Esfahbod | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 58 | # Compiler flags |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 59 | AC_CANONICAL_HOST |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 60 | if test "x$GCC" = "xyes"; then |
Behdad Esfahbod | 5b7f389 | 2011-04-27 15:10:12 -0400 | [diff] [blame] | 61 | |
Behdad Esfahbod | 71cef14 | 2011-05-06 19:30:59 -0400 | [diff] [blame] | 62 | # Make symbols link locally |
| 63 | LDFLAGS="$LDFLAGS -Bsymbolic-functions" |
| 64 | |
Behdad Esfahbod | 5b7f389 | 2011-04-27 15:10:12 -0400 | [diff] [blame] | 65 | # Make sure we don't link to libstdc++ |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 66 | CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions" |
Behdad Esfahbod | 5b7f389 | 2011-04-27 15:10:12 -0400 | [diff] [blame] | 67 | |
| 68 | case "$host" in |
| 69 | arm-*-*) |
| 70 | # Request byte alignment on arm |
| 71 | CXXFLAGS="$CXXFLAGS -mstructure-size-boundary=8" |
| 72 | ;; |
| 73 | esac |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 74 | fi |
| 75 | |
| 76 | dnl ========================================================================== |
| 77 | |
Behdad Esfahbod | e6a5b88 | 2011-05-05 16:24:42 -0400 | [diff] [blame] | 78 | PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, have_glib=true, have_glib=false) |
Behdad Esfahbod | f94cf6b | 2009-11-02 18:55:19 -0500 | [diff] [blame] | 79 | if $have_glib; then |
Behdad Esfahbod | d94647e | 2009-11-03 16:35:10 -0500 | [diff] [blame] | 80 | AC_DEFINE(HAVE_GLIB, 1, [Have glib2 library]) |
Behdad Esfahbod | f94cf6b | 2009-11-02 18:55:19 -0500 | [diff] [blame] | 81 | fi |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 82 | AM_CONDITIONAL(HAVE_GLIB, $have_glib) |
| 83 | |
Behdad Esfahbod | c214cff | 2011-08-14 15:17:16 +0200 | [diff] [blame] | 84 | PKG_CHECK_MODULES(GTHREAD, gthread-2.0, have_gthread=true, have_gthread=false) |
| 85 | if $have_gthread; then |
| 86 | AC_DEFINE(HAVE_GTHREAD, 1, [Have gthread2 library]) |
| 87 | fi |
| 88 | AM_CONDITIONAL(HAVE_GTHREAD, $have_gthread) |
| 89 | |
| 90 | PKG_CHECK_MODULES(GOBJECT, gobject-2.0, have_gobject=true, have_gobject=false) |
| 91 | if $have_gobject; then |
| 92 | AC_DEFINE(HAVE_GOBJECT, 1, [Have gobject2 library]) |
Behdad Esfahbod | d75333f | 2011-08-19 19:59:24 +0200 | [diff] [blame] | 93 | GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` |
| 94 | AC_SUBST(GLIB_MKENUMS) |
Behdad Esfahbod | c214cff | 2011-08-14 15:17:16 +0200 | [diff] [blame] | 95 | fi |
| 96 | AM_CONDITIONAL(HAVE_GOBJECT, $have_gobject) |
| 97 | |
Behdad Esfahbod | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 98 | dnl ========================================================================== |
| 99 | |
Behdad Esfahbod | 5353bf4 | 2011-02-22 18:06:19 -0500 | [diff] [blame] | 100 | PKG_CHECK_MODULES(CAIRO, cairo >= 1.8.0, have_cairo=true, have_cairo=false) |
| 101 | if $have_cairo; then |
| 102 | AC_DEFINE(HAVE_CAIRO, 1, [Have cairo graphics library]) |
| 103 | fi |
| 104 | AM_CONDITIONAL(HAVE_CAIRO, $have_cairo) |
| 105 | |
| 106 | PKG_CHECK_MODULES(CAIRO_PNG, cairo-png, have_cairo_png=true, have_cairo_png=false) |
| 107 | if $have_cairo_png; then |
| 108 | AC_DEFINE(HAVE_CAIRO_PNG, 1, [Have cairo-png support in cairo graphics library]) |
| 109 | fi |
| 110 | AM_CONDITIONAL(HAVE_CAIRO_PNG, $have_cairo_png) |
| 111 | |
| 112 | PKG_CHECK_MODULES(CAIRO_FT, cairo-ft, have_cairo_ft=true, have_cairo_ft=false) |
| 113 | if $have_cairo_ft; then |
| 114 | AC_DEFINE(HAVE_CAIRO_FT, 1, [Have cairo-ft support in cairo graphics library]) |
| 115 | fi |
| 116 | AM_CONDITIONAL(HAVE_CAIRO_FT, $have_cairo_ft) |
| 117 | |
Behdad Esfahbod | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 118 | dnl ========================================================================== |
| 119 | |
Behdad Esfahbod | d1f1707 | 2010-11-30 00:57:15 -0500 | [diff] [blame] | 120 | PKG_CHECK_MODULES(ICU, icu, have_icu=true, [ |
Behdad Esfahbod | e9c2341 | 2011-08-02 11:40:44 -0400 | [diff] [blame] | 121 | if test $cross_compiling == no; then |
| 122 | AC_CHECK_PROG([have_icu], [icu-config], [true], [false]) |
| 123 | if $have_icu; then |
Behdad Esfahbod | 0d7d482 | 2011-08-03 17:39:24 -0400 | [diff] [blame] | 124 | ICU_CFLAGS=`icu-config --cppflags` |
| 125 | ICU_LIBS=`icu-config --ldflags-libsonly` |
| 126 | ICU_CFLAGS=`echo "$ICU_CFLAGS" | sed "s@ -I/usr/include @ @"` |
| 127 | AC_SUBST(ICU_CFLAGS) |
| 128 | AC_SUBST(ICU_LIBS) |
Behdad Esfahbod | e9c2341 | 2011-08-02 11:40:44 -0400 | [diff] [blame] | 129 | fi |
Behdad Esfahbod | ecd3b6e | 2011-08-04 01:57:40 -0400 | [diff] [blame] | 130 | else |
| 131 | have_icu=false |
Behdad Esfahbod | d1f1707 | 2010-11-30 00:57:15 -0500 | [diff] [blame] | 132 | fi |
| 133 | ]) |
Behdad Esfahbod | d94647e | 2009-11-03 16:35:10 -0500 | [diff] [blame] | 134 | if $have_icu; then |
| 135 | AC_DEFINE(HAVE_ICU, 1, [Have ICU library]) |
| 136 | fi |
| 137 | AM_CONDITIONAL(HAVE_ICU, $have_icu) |
| 138 | |
Behdad Esfahbod | 4637739 | 2011-08-24 02:12:05 +0200 | [diff] [blame] | 139 | dnl ========================================================================== |
Behdad Esfahbod | 1f49cf3 | 2011-08-24 01:29:25 +0200 | [diff] [blame] | 140 | |
| 141 | PKG_CHECK_MODULES(GRAPHITE, graphite2, have_graphite=true, have_graphite=false) |
Behdad Esfahbod | 4637739 | 2011-08-24 02:12:05 +0200 | [diff] [blame] | 142 | if $have_graphite; then |
Behdad Esfahbod | 1f49cf3 | 2011-08-24 01:29:25 +0200 | [diff] [blame] | 143 | AC_DEFINE(HAVE_GRAPHITE, 1, [Have Graphite library]) |
| 144 | fi |
Behdad Esfahbod | 4637739 | 2011-08-24 02:12:05 +0200 | [diff] [blame] | 145 | AM_CONDITIONAL(HAVE_GRAPHITE, $have_graphite) |
| 146 | |
| 147 | dnl ========================================================================== |
Behdad Esfahbod | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 148 | |
Behdad Esfahbod | 0b7e4d9 | 2011-08-15 20:41:59 +0200 | [diff] [blame] | 149 | PKG_CHECK_MODULES(FREETYPE, freetype2 >= 2.3.8, have_freetype=true, have_freetype=false) |
Behdad Esfahbod | f94cf6b | 2009-11-02 18:55:19 -0500 | [diff] [blame] | 150 | if $have_freetype; then |
| 151 | AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library]) |
Behdad Esfahbod | cd11a98 | 2009-12-20 23:05:02 +0100 | [diff] [blame] | 152 | _save_libs="$LIBS" |
| 153 | _save_cflags="$CFLAGS" |
| 154 | LIBS="$LIBS $FREETYPE_LIBS" |
| 155 | CFLAGS="$CFLAGS $FREETYPE_CFLAGS" |
| 156 | AC_CHECK_FUNCS(FT_Face_GetCharVariantIndex) |
| 157 | LIBS="$_save_libs" |
| 158 | CFLAGS="$_save_cflags" |
Behdad Esfahbod | f94cf6b | 2009-11-02 18:55:19 -0500 | [diff] [blame] | 159 | fi |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 160 | AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype) |
| 161 | |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 162 | dnl =========================================================================== |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 163 | |
Behdad Esfahbod | 02aeca9 | 2011-08-04 22:31:05 -0400 | [diff] [blame] | 164 | have_ot=true; |
| 165 | if $have_ot; then |
| 166 | AC_DEFINE(HAVE_OT, 1, [Have native OpenType Layout backend]) |
| 167 | fi |
| 168 | AM_CONDITIONAL(HAVE_OT, $have_ot) |
| 169 | |
| 170 | dnl =========================================================================== |
| 171 | |
Behdad Esfahbod | 0fbb2dc | 2011-08-03 19:55:04 -0400 | [diff] [blame] | 172 | AC_CHECK_HEADERS(usp10.h windows.h, have_uniscribe=true, have_uniscribe=false) |
| 173 | if $have_uniscribe; then |
| 174 | UNISCRIBE_CFLAGS= |
| 175 | UNISCRIBE_LIBS="-lusp10 -lgdi32" |
| 176 | AC_SUBST(UNISCRIBE_CFLAGS) |
| 177 | AC_SUBST(UNISCRIBE_LIBS) |
Behdad Esfahbod | 02aeca9 | 2011-08-04 22:31:05 -0400 | [diff] [blame] | 178 | AC_DEFINE(HAVE_UNISCRIBE, 1, [Have Uniscribe backend]) |
Behdad Esfahbod | 0fbb2dc | 2011-08-03 19:55:04 -0400 | [diff] [blame] | 179 | fi |
| 180 | AM_CONDITIONAL(HAVE_UNISCRIBE, $have_uniscribe) |
| 181 | |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 182 | AC_CONFIG_FILES([ |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 183 | Makefile |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 184 | harfbuzz.pc |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 185 | src/Makefile |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 186 | src/hb-version.h |
Behdad Esfahbod | 511a136 | 2011-08-09 15:03:00 +0200 | [diff] [blame] | 187 | util/Makefile |
Behdad Esfahbod | bbdeff5 | 2011-04-07 16:05:07 -0400 | [diff] [blame] | 188 | test/Makefile |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 189 | ]) |
| 190 | |
| 191 | AC_OUTPUT |