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 | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 52 | # Functions and headers |
Behdad Esfahbod | 5be7d04 | 2011-05-17 15:05:34 -0400 | [diff] [blame] | 53 | AC_CHECK_FUNCS(mprotect sysconf getpagesize mmap) |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 54 | AC_CHECK_HEADERS(unistd.h sys/mman.h) |
| 55 | |
Behdad Esfahbod | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 56 | # Compiler flags |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 57 | AC_CANONICAL_HOST |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 58 | if test "x$GCC" = "xyes"; then |
Behdad Esfahbod | 5b7f389 | 2011-04-27 15:10:12 -0400 | [diff] [blame] | 59 | |
Behdad Esfahbod | 71cef14 | 2011-05-06 19:30:59 -0400 | [diff] [blame] | 60 | # Make symbols link locally |
| 61 | LDFLAGS="$LDFLAGS -Bsymbolic-functions" |
| 62 | |
Behdad Esfahbod | 5b7f389 | 2011-04-27 15:10:12 -0400 | [diff] [blame] | 63 | # Make sure we don't link to libstdc++ |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 64 | CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions" |
Behdad Esfahbod | 5b7f389 | 2011-04-27 15:10:12 -0400 | [diff] [blame] | 65 | |
| 66 | case "$host" in |
| 67 | arm-*-*) |
| 68 | # Request byte alignment on arm |
| 69 | CXXFLAGS="$CXXFLAGS -mstructure-size-boundary=8" |
| 70 | ;; |
| 71 | esac |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 72 | fi |
| 73 | |
| 74 | dnl ========================================================================== |
| 75 | |
Behdad Esfahbod | e6a5b88 | 2011-05-05 16:24:42 -0400 | [diff] [blame] | 76 | PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, have_glib=true, have_glib=false) |
Behdad Esfahbod | 0c2ec1d | 2011-05-10 19:11:27 -0400 | [diff] [blame] | 77 | PKG_CHECK_MODULES(GTHREAD, gthread-2.0, , have_glib=false) |
Behdad Esfahbod | f94cf6b | 2009-11-02 18:55:19 -0500 | [diff] [blame] | 78 | if $have_glib; then |
Behdad Esfahbod | d94647e | 2009-11-03 16:35:10 -0500 | [diff] [blame] | 79 | AC_DEFINE(HAVE_GLIB, 1, [Have glib2 library]) |
Behdad Esfahbod | f94cf6b | 2009-11-02 18:55:19 -0500 | [diff] [blame] | 80 | fi |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 81 | AM_CONDITIONAL(HAVE_GLIB, $have_glib) |
| 82 | |
Behdad Esfahbod | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 83 | dnl ========================================================================== |
| 84 | |
Behdad Esfahbod | 5353bf4 | 2011-02-22 18:06:19 -0500 | [diff] [blame] | 85 | PKG_CHECK_MODULES(CAIRO, cairo >= 1.8.0, have_cairo=true, have_cairo=false) |
| 86 | if $have_cairo; then |
| 87 | AC_DEFINE(HAVE_CAIRO, 1, [Have cairo graphics library]) |
| 88 | fi |
| 89 | AM_CONDITIONAL(HAVE_CAIRO, $have_cairo) |
| 90 | |
| 91 | PKG_CHECK_MODULES(CAIRO_PNG, cairo-png, have_cairo_png=true, have_cairo_png=false) |
| 92 | if $have_cairo_png; then |
| 93 | AC_DEFINE(HAVE_CAIRO_PNG, 1, [Have cairo-png support in cairo graphics library]) |
| 94 | fi |
| 95 | AM_CONDITIONAL(HAVE_CAIRO_PNG, $have_cairo_png) |
| 96 | |
| 97 | PKG_CHECK_MODULES(CAIRO_FT, cairo-ft, have_cairo_ft=true, have_cairo_ft=false) |
| 98 | if $have_cairo_ft; then |
| 99 | AC_DEFINE(HAVE_CAIRO_FT, 1, [Have cairo-ft support in cairo graphics library]) |
| 100 | fi |
| 101 | AM_CONDITIONAL(HAVE_CAIRO_FT, $have_cairo_ft) |
| 102 | |
Behdad Esfahbod | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 103 | dnl ========================================================================== |
| 104 | |
Behdad Esfahbod | d1f1707 | 2010-11-30 00:57:15 -0500 | [diff] [blame] | 105 | PKG_CHECK_MODULES(ICU, icu, have_icu=true, [ |
Behdad Esfahbod | e9c2341 | 2011-08-02 11:40:44 -0400 | [diff] [blame] | 106 | if test $cross_compiling == no; then |
| 107 | AC_CHECK_PROG([have_icu], [icu-config], [true], [false]) |
| 108 | if $have_icu; then |
Behdad Esfahbod | 0d7d482 | 2011-08-03 17:39:24 -0400 | [diff] [blame] | 109 | ICU_CFLAGS=`icu-config --cppflags` |
| 110 | ICU_LIBS=`icu-config --ldflags-libsonly` |
| 111 | ICU_CFLAGS=`echo "$ICU_CFLAGS" | sed "s@ -I/usr/include @ @"` |
| 112 | AC_SUBST(ICU_CFLAGS) |
| 113 | AC_SUBST(ICU_LIBS) |
Behdad Esfahbod | e9c2341 | 2011-08-02 11:40:44 -0400 | [diff] [blame] | 114 | fi |
Behdad Esfahbod | ecd3b6e | 2011-08-04 01:57:40 -0400 | [diff] [blame] | 115 | else |
| 116 | have_icu=false |
Behdad Esfahbod | d1f1707 | 2010-11-30 00:57:15 -0500 | [diff] [blame] | 117 | fi |
| 118 | ]) |
Behdad Esfahbod | d94647e | 2009-11-03 16:35:10 -0500 | [diff] [blame] | 119 | if $have_icu; then |
| 120 | AC_DEFINE(HAVE_ICU, 1, [Have ICU library]) |
| 121 | fi |
| 122 | AM_CONDITIONAL(HAVE_ICU, $have_icu) |
| 123 | |
Behdad Esfahbod | 174e3fe | 2011-05-05 19:37:53 -0400 | [diff] [blame] | 124 | dnl ========================================================================== |
| 125 | |
Behdad Esfahbod | eb4ebda | 2009-11-03 14:09:32 -0500 | [diff] [blame] | 126 | PKG_CHECK_MODULES(FREETYPE, freetype2, have_freetype=true, have_freetype=false) |
Behdad Esfahbod | f94cf6b | 2009-11-02 18:55:19 -0500 | [diff] [blame] | 127 | if $have_freetype; then |
| 128 | AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library]) |
Behdad Esfahbod | cd11a98 | 2009-12-20 23:05:02 +0100 | [diff] [blame] | 129 | _save_libs="$LIBS" |
| 130 | _save_cflags="$CFLAGS" |
| 131 | LIBS="$LIBS $FREETYPE_LIBS" |
| 132 | CFLAGS="$CFLAGS $FREETYPE_CFLAGS" |
| 133 | AC_CHECK_FUNCS(FT_Face_GetCharVariantIndex) |
| 134 | LIBS="$_save_libs" |
| 135 | CFLAGS="$_save_cflags" |
Behdad Esfahbod | f94cf6b | 2009-11-02 18:55:19 -0500 | [diff] [blame] | 136 | fi |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 137 | AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype) |
| 138 | |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 139 | dnl =========================================================================== |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 140 | |
Behdad Esfahbod | 02aeca9 | 2011-08-04 22:31:05 -0400 | [diff] [blame] | 141 | have_ot=true; |
| 142 | if $have_ot; then |
| 143 | AC_DEFINE(HAVE_OT, 1, [Have native OpenType Layout backend]) |
| 144 | fi |
| 145 | AM_CONDITIONAL(HAVE_OT, $have_ot) |
| 146 | |
| 147 | dnl =========================================================================== |
| 148 | |
Behdad Esfahbod | 0fbb2dc | 2011-08-03 19:55:04 -0400 | [diff] [blame] | 149 | AC_CHECK_HEADERS(usp10.h windows.h, have_uniscribe=true, have_uniscribe=false) |
| 150 | if $have_uniscribe; then |
| 151 | UNISCRIBE_CFLAGS= |
| 152 | UNISCRIBE_LIBS="-lusp10 -lgdi32" |
| 153 | AC_SUBST(UNISCRIBE_CFLAGS) |
| 154 | AC_SUBST(UNISCRIBE_LIBS) |
Behdad Esfahbod | 02aeca9 | 2011-08-04 22:31:05 -0400 | [diff] [blame] | 155 | AC_DEFINE(HAVE_UNISCRIBE, 1, [Have Uniscribe backend]) |
Behdad Esfahbod | 0fbb2dc | 2011-08-03 19:55:04 -0400 | [diff] [blame] | 156 | fi |
| 157 | AM_CONDITIONAL(HAVE_UNISCRIBE, $have_uniscribe) |
| 158 | |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 159 | AC_CONFIG_FILES([ |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 160 | Makefile |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 161 | harfbuzz.pc |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 162 | src/Makefile |
Behdad Esfahbod | c78f448 | 2011-05-05 21:31:04 -0400 | [diff] [blame] | 163 | src/hb-version.h |
Behdad Esfahbod | bbdeff5 | 2011-04-07 16:05:07 -0400 | [diff] [blame] | 164 | test/Makefile |
Behdad Esfahbod | 29aa400 | 2009-11-02 16:28:39 -0500 | [diff] [blame] | 165 | ]) |
| 166 | |
| 167 | AC_OUTPUT |