bug 449292 - part 2 - add harfbuzz library to the gfx build process. r=ted
authorJonathan Kew <jfkthame@gmail.com>
Fri, 11 Jun 2010 20:14:37 +0100
changeset 43521 1e34b75052eb2b7c8e6e924b57c2ae99d5c7e075
parent 43520 211a9ef74d59fc02f56f4f30aca1b04e360f5a4f
child 43522 1a397bc1831b566475ef0cd3f49eca3f209f1f28
push idunknown
push userunknown
push dateunknown
reviewersted
bugs449292
milestone1.9.3a6pre
bug 449292 - part 2 - add harfbuzz library to the gfx build process. r=ted
config/autoconf.mk.in
configure.in
gfx/Makefile.in
gfx/harfbuzz/src/Makefile.in
--- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in
@@ -456,16 +456,18 @@ PNG_REQUIRES	=
 else
 PNG_CFLAGS	= @MOZ_PNG_CFLAGS@
 PNG_LIBS	= @MOZ_PNG_LIBS@
 PNG_REQUIRES	= png
 endif
 
 QCMS_LIBS	= @QCMS_LIBS@
 
+MOZ_HARFBUZZ_LIBS = @MOZ_HARFBUZZ_LIBS@
+
 MOZ_NATIVE_SQLITE = @MOZ_NATIVE_SQLITE@
 SQLITE_CFLAGS     = @SQLITE_CFLAGS@
 SQLITE_LIBS       = @SQLITE_LIBS@
 
 NSPR_CONFIG	= @NSPR_CONFIG@
 NSPR_CFLAGS	= @NSPR_CFLAGS@
 NSPR_LIBS	= @NSPR_LIBS@
 
--- a/configure.in
+++ b/configure.in
@@ -8399,23 +8399,30 @@ else
         MOZ_CAIRO_CFLAGS="$MOZ_CAIRO_CFLAGS $CAIRO_XRENDER_CFLAGS"
    fi
 fi
 
 AC_SUBST(MOZ_TREE_CAIRO)
 AC_SUBST(MOZ_CAIRO_CFLAGS)
 AC_SUBST(MOZ_CAIRO_LIBS)
 
+dnl ========================================================
 dnl qcms
 dnl ========================================================
 
 QCMS_LIBS='$(DEPTH)/gfx/qcms/$(LIB_PREFIX)mozqcms.$(LIB_SUFFIX)'
 AC_SUBST(QCMS_LIBS)
 
 dnl ========================================================
+dnl HarfBuzz
+dnl ========================================================
+MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)'
+AC_SUBST(MOZ_HARFBUZZ_LIBS)
+
+dnl ========================================================
 dnl disable xul
 dnl ========================================================
 MOZ_ARG_DISABLE_BOOL(xul,
 [  --disable-xul           Disable XUL],
     MOZ_XUL= )
 if test "$MOZ_XUL"; then
   AC_DEFINE(MOZ_XUL)
 else
--- a/gfx/Makefile.in
+++ b/gfx/Makefile.in
@@ -51,17 +51,17 @@ endif
 # In static builds, ycbcr must appear after layers in
 # the link line on linux. This order is defined by the
 # order listed in DIRS. On shared builds ycbcr must
 # be built first so the order is reversed.
 ifndef BUILD_STATIC_LIBS
 DIRS		+= ycbcr
 endif
 
-DIRS		+= public idl src qcms layers thebes src/thebes
+DIRS		+= public idl src qcms layers harfbuzz/src thebes src/thebes
 
 ifdef BUILD_STATIC_LIBS
 DIRS		+= ycbcr
 endif
 
 ifdef MOZ_IPC
 DIRS		+= ipc
 endif
new file mode 100644
--- /dev/null
+++ b/gfx/harfbuzz/src/Makefile.in
@@ -0,0 +1,84 @@
+#
+# Copyright (C) 2010  Mozilla Foundation
+#
+#  This is used to integrate the HarfBuzz library with the Mozilla build.
+#
+# Permission is hereby granted, without written agreement and without
+# license or royalty fees, to use, copy, modify, and distribute this
+# software and its documentation for any purpose, provided that the
+# above copyright notice and the following two paragraphs appear in
+# all copies of this software.
+#
+# IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+# DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+# ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+# IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+# DAMAGE.
+#
+# THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+# FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
+# ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+# PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+#
+# Mozilla author(s): Jonathan Kew
+#
+
+
+DEPTH     = ../../..
+topsrcdir = @top_srcdir@
+srcdir    = @srcdir@
+VPATH     = @srcdir@
+
+include $(DEPTH)/config/autoconf.mk
+
+ifndef MOZ_ENABLE_LIBXUL
+VISIBILITY_FLAGS =
+endif
+
+MODULE         = harfbuzz
+LIBRARY_NAME   = mozharfbuzz
+LIBXUL_LIBRARY = 1
+
+CSRCS =            \
+  hb-blob.c        \
+  hb-language.c    \
+  hb-ot-tag.c      \
+  hb-unicode.c     \
+  $(NULL)
+
+CPPSRCS	=          \
+  hb-buffer.cc     \
+  hb-font.cc       \
+  hb-ot-shape.cc   \
+  hb-ot-layout.cc  \
+  hb-shape.cc      \
+  $(NULL)
+
+EXPORTS_NAMESPACES = harfbuzz
+
+EXPORTS_harfbuzz = \
+  hb.h             \
+  hb-blob.h        \
+  hb-buffer.h      \
+  hb-common.h      \
+  hb-font.h        \
+  hb-language.h    \
+  hb-ot.h          \
+  hb-ot-layout.h   \
+  hb-ot-tag.h      \
+  hb-ot-shape.h    \
+  hb-shape.h       \
+  hb-unicode.h     \
+  $(NULL)
+
+LOCAL_INCLUDES  += -I$(srcdir) 
+
+FORCE_STATIC_LIB = 1
+# This library is used by other shared libs in a static build
+FORCE_USE_PIC = 1
+
+include $(topsrcdir)/config/rules.mk
+
+DEFINES += -DPACKAGE_VERSION="\"moz\""
+DEFINES += -DPACKAGE_BUGREPORT="\"http://bugzilla.mozilla.org/\""