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 id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersted
bugs449292
milestone1.9.3a6pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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/\""