bug 527276 - part 2 - add OTS lib to the build process. r=ted a=blocking2.0
authorJonathan Kew <jfkthame@gmail.com>
Thu, 07 Oct 2010 08:59:18 +0100
changeset 55083 ff826d1ba112c80188264de55a9cecb49aa8f96c
parent 55082 b45ce9db9d727eeb732a5ccd6dc7029656cbfa75
child 55084 9120bc25cfb72c24c2c8cd2ba1cfeaaba7c413c4
push idunknown
push userunknown
push dateunknown
reviewersted, blocking2
bugs527276
milestone2.0b8pre
bug 527276 - part 2 - add OTS lib to the build process. r=ted a=blocking2.0
config/autoconf.mk.in
config/stl-headers
configure.in
gfx/Makefile.in
gfx/ots/src/Makefile.in
toolkit/content/license.html
toolkit/library/libxul-config.mk
--- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in
@@ -460,16 +460,17 @@ 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_OTS_LIBS = @MOZ_OTS_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/config/stl-headers
+++ b/config/stl-headers
@@ -23,8 +23,15 @@ iostream
 limits
 list
 map
 memory
 stack
 string
 vector
 set
+cassert
+climits
+cstdarg
+cstdio
+cstdlib
+cstring
+utility
--- a/configure.in
+++ b/configure.in
@@ -8560,16 +8560,22 @@ 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 OTS
+dnl ========================================================
+MOZ_OTS_LIBS='$(DEPTH)/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)'
+AC_SUBST(MOZ_OTS_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
@@ -55,17 +55,17 @@ endif
 ifndef BUILD_STATIC_LIBS
 DIRS		+= ycbcr
 endif
 
 ifneq ($(OS_ARCH)$(OS_TEST),Linuxx86_64)
 DIRS		+= angle
 endif
 
-DIRS		+= src qcms layers harfbuzz/src thebes src/thebes
+DIRS		+= src qcms layers harfbuzz/src ots/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/ots/src/Makefile.in
@@ -0,0 +1,85 @@
+#
+# Copyright (C) 2010  Mozilla Foundation
+#
+#  This is used to integrate the OTS 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         = ots
+LIBRARY_NAME   = mozots
+LIBXUL_LIBRARY = 1
+
+CSRCS =   \
+  $(NULL)
+
+CPPSRCS	= \
+  cff.cc  \
+  cff_type2_charstring.cc \
+  cmap.cc \
+  cvt.cc  \
+  fpgm.cc \
+  gasp.cc \
+  glyf.cc \
+  hdmx.cc \
+  head.cc \
+  hhea.cc \
+  hmtx.cc \
+  kern.cc \
+  loca.cc \
+  ltsh.cc \
+  maxp.cc \
+  name.cc \
+  os2.cc  \
+  ots.cc  \
+  post.cc \
+  prep.cc \
+  vdmx.cc \
+  vorg.cc \
+  $(NULL)
+
+EXPORTS = \
+  ../include/opentype-sanitiser.h \
+  ../include/ots-memory-stream.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/\""
--- a/toolkit/content/license.html
+++ b/toolkit/content/license.html
@@ -2182,19 +2182,20 @@ NEGLIGENCE OR OTHER TORTIOUS ACTION, ARI
 WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 </pre>
 
 
     <hr>
 
     <h1><a name="chromium"></a>Chromium License</h1>
 
-    <p class="correctme">This license applies to some files in the directory
+    <p class="correctme">This license applies to some files in the directories
       <span class="path">ipc/chromium/</span>,
-      <span class="path">dom/plugins/</span> and
+      <span class="path">dom/plugins/</span>,
+      <span class="path">gfx/ots/</span> and
       <span class="path">gfx/ycbcr</span>.
     </p>
 
 <pre>
 Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are
--- a/toolkit/library/libxul-config.mk
+++ b/toolkit/library/libxul-config.mk
@@ -362,16 +362,17 @@ EXTRA_DSO_LDOPTS += \
 	$(LIBS_DIR) \
 	$(JPEG_LIBS) \
 	$(PNG_LIBS) \
 	$(QCMS_LIBS) \
 	$(MOZ_JS_LIBS) \
 	$(NSS_LIBS) \
 	$(MOZ_CAIRO_LIBS) \
 	$(MOZ_HARFBUZZ_LIBS) \
+	$(MOZ_OTS_LIBS) \
 	$(MOZ_APP_EXTRA_LIBS) \
 	$(NULL)
 
 ifdef MOZ_NATIVE_ZLIB
 EXTRA_DSO_LDOPTS += $(ZLIB_LIBS)
 else
 EXTRA_DSO_LDOPTS += $(MOZ_ZLIB_LIBS)
 endif