X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=2fb058ffdd72931a08204144c552ce94510636ad;hb=HEAD;hp=545eae748502aa6b0257811b4e86df72cf4c6e0e;hpb=a6451aa626fa5850d7c3b716bd52126995154e27;p=framework%2Fuifw%2Fharfbuzz.git diff --git a/configure.ac b/configure.ac index 545eae7..2fb058f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,40 +1,208 @@ -AC_PREREQ(2.59) -AC_INIT(harfbuzz, 0.1, [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz]) +AC_PREREQ([2.64]) +AC_INIT([harfbuzz], + [0.9.0], + [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz], + [harfbuzz], + [http://harfbuzz.org/]) + AC_CONFIG_SRCDIR([harfbuzz.pc.in]) AC_CONFIG_HEADERS([config.h]) -AM_INIT_AUTOMAKE([1.9.6 gnu dist-bzip2 no-dist-gzip -Wall no-define]) -m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) -AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL dnl ([1.4]) Don't remove! +AM_INIT_AUTOMAKE([1.11.1 gnu dist-bzip2 no-dist-gzip -Wall no-define]) +AM_SILENT_RULES([yes]) + +# Initialize libtool +LT_PREREQ([2.2]) +LT_INIT([disable-static]) +# Check for programs AC_PROG_CC +AM_PROG_CC_C_O AC_PROG_CXX -AC_CHECK_FUNCS(mprotect sysconf getpagesize) -AC_CHECK_HEADERS(unistd.h sys/mman.h) +# Version +m4_define(hb_version_triplet,m4_split(AC_PACKAGE_VERSION,[[.]])) +m4_define(hb_version_major,m4_argn(1,hb_version_triplet)) +m4_define(hb_version_minor,m4_argn(2,hb_version_triplet)) +m4_define(hb_version_micro,m4_argn(3,hb_version_triplet)) +HB_VERSION_MAJOR=hb_version_major +HB_VERSION_MINOR=hb_version_minor +HB_VERSION_MICRO=hb_version_micro +HB_VERSION=AC_PACKAGE_VERSION +AC_SUBST(HB_VERSION_MAJOR) +AC_SUBST(HB_VERSION_MINOR) +AC_SUBST(HB_VERSION_MICRO) +AC_SUBST(HB_VERSION) + +# Libtool version +m4_define([hb_version_int], + m4_eval(hb_version_major*10000 + hb_version_minor*100 + hb_version_micro)) +m4_if(m4_eval(hb_version_minor % 2), [1], + dnl for unstable releases + [m4_define([hb_libtool_revision], 0)], + dnl for stable releases + [m4_define([hb_libtool_revision], hb_version_micro)]) +m4_define([hb_libtool_age], + m4_eval(hb_version_int - hb_libtool_revision)) +m4_define([hb_libtool_current], + m4_eval(hb_version_major + hb_libtool_age)) +HB_LIBTOOL_VERSION_INFO=hb_libtool_current:hb_libtool_revision:hb_libtool_age +AC_SUBST(HB_LIBTOOL_VERSION_INFO) -# Make sure we don't link to libstdc++ +dnl GTK_DOC_CHECK([1.15],[--flavour no-tmpl]) + +# Functions and headers +AC_CHECK_FUNCS(atexit mprotect sysconf getpagesize sched_yield mmap _setmode isatty) +AC_CHECK_HEADERS(unistd.h sys/mman.h sched.h io.h) + +# Compiler flags +AC_CANONICAL_HOST if test "x$GCC" = "xyes"; then + + # Make symbols link locally + LDFLAGS="$LDFLAGS -Bsymbolic-functions" + + # Make sure we don't link to libstdc++ CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions" + + case "$host" in + arm-*-*) + # Request byte alignment on arm + CXXFLAGS="$CXXFLAGS -mstructure-size-boundary=8" + ;; + esac fi dnl ========================================================================== -PKG_CHECK_MODULES(GLIB, glib-2.0, have_glib=true, have_glib=false) -AC_DEFINE(HAVE_GLIB, 1, [Have FreeType 2 library]) +have_ot=true +if $have_ot; then + AC_DEFINE(HAVE_OT, 1, [Have native OpenType Layout backend]) +fi +AM_CONDITIONAL(HAVE_OT, $have_ot) + +dnl =========================================================================== + +PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, have_glib=true, have_glib=false) +if $have_glib; then + AC_DEFINE(HAVE_GLIB, 1, [Have glib2 library]) +fi AM_CONDITIONAL(HAVE_GLIB, $have_glib) -PKG_CHECK_MODULES(FREETYPE, freetype, have_freetype=true, have_freetype=false) -AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library]) -AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype) +PKG_CHECK_MODULES(GTHREAD, gthread-2.0, have_gthread=true, have_gthread=false) +if $have_gthread; then + AC_DEFINE(HAVE_GTHREAD, 1, [Have gthread2 library]) +fi +AM_CONDITIONAL(HAVE_GTHREAD, $have_gthread) + +PKG_CHECK_MODULES(GOBJECT, gobject-2.0 glib-2.0 >= 2.16, have_gobject=true, have_gobject=false) +if $have_gobject; then + AC_DEFINE(HAVE_GOBJECT, 1, [Have gobject2 library]) + GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` + AC_SUBST(GLIB_MKENUMS) +fi +AM_CONDITIONAL(HAVE_GOBJECT, $have_gobject) + +dnl ========================================================================== + +PKG_CHECK_MODULES(CAIRO, cairo >= 1.8.0, have_cairo=true, have_cairo=false) +if $have_cairo; then + AC_DEFINE(HAVE_CAIRO, 1, [Have cairo graphics library]) +fi +AM_CONDITIONAL(HAVE_CAIRO, $have_cairo) + +PKG_CHECK_MODULES(CAIRO_FT, cairo-ft, have_cairo_ft=true, have_cairo_ft=false) +if $have_cairo_ft; then + AC_DEFINE(HAVE_CAIRO_FT, 1, [Have cairo-ft support in cairo graphics library]) +fi +AM_CONDITIONAL(HAVE_CAIRO_FT, $have_cairo_ft) dnl ========================================================================== +PKG_CHECK_MODULES(ICU, icu, have_icu=true, [ + have_icu=true + AC_CHECK_HEADERS(unicode/uchar.h,, have_icu=false) + AC_MSG_CHECKING([for libicuuc]) + LIBS_old=$LIBS + LIBS="$LIBS -licuuc" + AC_TRY_LINK([#include ], + [u_getIntPropertyValue (0, (UProperty)0);], + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no);have_icu=false) + LIBS=$LIBS_old + if $have_icu; then + ICU_CFLAGS=-D_REENTRANT + ICU_LIBS="-licuuc" + AC_SUBST(ICU_CFLAGS) + AC_SUBST(ICU_LIBS) + fi +]) +if $have_icu; then + AC_DEFINE(HAVE_ICU, 1, [Have ICU library]) +fi +AM_CONDITIONAL(HAVE_ICU, $have_icu) + +dnl ========================================================================== + +PKG_CHECK_MODULES(GRAPHITE2, graphite2, have_graphite=true, have_graphite=false) +if $have_graphite; then + AC_DEFINE(HAVE_GRAPHITE2, 1, [Have Graphite library]) +fi +AM_CONDITIONAL(HAVE_GRAPHITE2, $have_graphite) + +dnl ========================================================================== + +PKG_CHECK_MODULES(FREETYPE, freetype2 >= 2.3.8, have_freetype=true, have_freetype=false) +if $have_freetype; then + AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library]) + _save_libs="$LIBS" + _save_cflags="$CFLAGS" + LIBS="$LIBS $FREETYPE_LIBS" + CFLAGS="$CFLAGS $FREETYPE_CFLAGS" + AC_CHECK_FUNCS(FT_Face_GetCharVariantIndex) + LIBS="$_save_libs" + CFLAGS="$_save_cflags" +fi +AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype) + +dnl =========================================================================== + +AC_CHECK_HEADERS(usp10.h windows.h, have_uniscribe=true, have_uniscribe=false) +if $have_uniscribe; then + UNISCRIBE_CFLAGS= + UNISCRIBE_LIBS="-lusp10 -lgdi32" + AC_SUBST(UNISCRIBE_CFLAGS) + AC_SUBST(UNISCRIBE_LIBS) + AC_DEFINE(HAVE_UNISCRIBE, 1, [Have Uniscribe backend]) +fi +AM_CONDITIONAL(HAVE_UNISCRIBE, $have_uniscribe) + +dnl =========================================================================== + +AC_CACHE_CHECK([for Intel atomic primitives], hb_cv_have_intel_atomic_primitives, [ + hb_cv_have_intel_atomic_primitives=false + AC_TRY_LINK([], [ + void memory_barrier (void) { __sync_synchronize (); } + int atomic_add (int i) { return __sync_fetch_and_add (&i, 1); } + int atomic_cmpxchg (int *i, int *j, int *k) { return __sync_bool_compare_and_swap (&i, j, k); } + ], hb_cv_have_intel_atomic_primitives=true + ) +]) +if $hb_cv_have_intel_atomic_primitives; then + AC_DEFINE(HAVE_INTEL_ATOMIC_PRIMITIVES, 1, [Have Intel __sync_* atomic primitives]) +fi + +dnl =========================================================================== + AC_CONFIG_FILES([ -harfbuzz.pc Makefile +harfbuzz.pc src/Makefile +src/hb-version.h +util/Makefile +test/Makefile +test/api/Makefile +test/shaping/Makefile ]) AC_OUTPUT