summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2013-08-26 14:27:33 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-27 18:04:23 +0200
commit79e77a58a6b71f79af2e864ffa91eb2cc16c5216 (patch)
treeb87ba2d9f8b0b77a2a498f687fd0dcc1e55a4f18
parenta70c0ad1d15e1346f7784f4e720bbe460af85c17 (diff)
Make it possible to build HarfBuzz-NG in Qt
Change-Id: Ib956adb0ab7bcfba3ce73acf7c19bda815d6eb73 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-blob.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-buffer.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-common.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-font.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-layout.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-tag.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-set.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape-plan.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-unicode.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-version.h1
-rw-r--r--src/3rdparty/harfbuzz-ng/include/harfbuzz/hb.h9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/config.h24
-rw-r--r--src/3rdparty/harfbuzz.pri103
15 files changed, 148 insertions, 0 deletions
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-blob.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-blob.h
new file mode 100644
index 0000000000..31ccd0fb99
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-blob.h
@@ -0,0 +1 @@
+#include "../../src/hb-blob.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-buffer.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-buffer.h
new file mode 100644
index 0000000000..070330685b
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-buffer.h
@@ -0,0 +1 @@
+#include "../../src/hb-buffer.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-common.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-common.h
new file mode 100644
index 0000000000..778dbf37ec
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-common.h
@@ -0,0 +1 @@
+#include "../../src/hb-common.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-font.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-font.h
new file mode 100644
index 0000000000..ea395383c4
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-font.h
@@ -0,0 +1 @@
+#include "../../src/hb-font.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-layout.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-layout.h
new file mode 100644
index 0000000000..2a68a0f235
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-layout.h
@@ -0,0 +1 @@
+#include "../../src/hb-ot-layout.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-tag.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-tag.h
new file mode 100644
index 0000000000..175e5b2921
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-tag.h
@@ -0,0 +1 @@
+#include "../../src/hb-ot-tag.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot.h
new file mode 100644
index 0000000000..b5e233199d
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot.h
@@ -0,0 +1 @@
+#include "../../src/hb-ot.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-set.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-set.h
new file mode 100644
index 0000000000..47cc1c3f0d
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-set.h
@@ -0,0 +1 @@
+#include "../../src/hb-set.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape-plan.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape-plan.h
new file mode 100644
index 0000000000..6e49cb6b55
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape-plan.h
@@ -0,0 +1 @@
+#include "../../src/hb-shape-plan.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape.h
new file mode 100644
index 0000000000..81881f9cb5
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape.h
@@ -0,0 +1 @@
+#include "../../src/hb-shape.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-unicode.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-unicode.h
new file mode 100644
index 0000000000..8712e6605f
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-unicode.h
@@ -0,0 +1 @@
+#include "../../src/hb-unicode.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-version.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-version.h
new file mode 100644
index 0000000000..b575c4c98c
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-version.h
@@ -0,0 +1 @@
+#include "../../src/hb-version.h"
diff --git a/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb.h b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb.h
new file mode 100644
index 0000000000..641fa370b0
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/include/harfbuzz/hb.h
@@ -0,0 +1,9 @@
+#include "hb-blob.h"
+#include "hb-buffer.h"
+#include "hb-common.h"
+#include "hb-font.h"
+#include "hb-set.h"
+#include "hb-shape.h"
+#include "hb-shape-plan.h"
+#include "hb-unicode.h"
+#include "hb-version.h"
diff --git a/src/3rdparty/harfbuzz-ng/src/config.h b/src/3rdparty/harfbuzz-ng/src/config.h
new file mode 100644
index 0000000000..62e42e54e4
--- /dev/null
+++ b/src/3rdparty/harfbuzz-ng/src/config.h
@@ -0,0 +1,24 @@
+#ifndef HB_CONFIG_H
+#define HB_CONFIG_H
+
+#define HAVE_OT
+
+#define HB_NO_MT
+#define HB_NO_UNICODE_FUNCS
+
+#include <QtCore/qglobal.h>
+
+#ifndef HB_INTERNAL
+# define HB_INTERNAL Q_DECL_HIDDEN
+#endif
+
+// because strdup() is not part of strict Posix, declare it here
+extern "C" char *strdup(const char *src);
+
+#ifndef HAVE_ATEXIT
+# define HAVE_ATEXIT 1
+# include <QtCore/qcoreapplication.h>
+# define atexit qAddPostRoutine
+#endif
+
+#endif /* HB_CONFIG_H */
diff --git a/src/3rdparty/harfbuzz.pri b/src/3rdparty/harfbuzz.pri
new file mode 100644
index 0000000000..fd0750ae1a
--- /dev/null
+++ b/src/3rdparty/harfbuzz.pri
@@ -0,0 +1,103 @@
+contains(QT_CONFIG, harfbuzz) {
+ QT_HARFBUZZ_DIR = $$QT_SOURCE_TREE/src/3rdparty/harfbuzz-ng
+
+ INCLUDEPATH += $$QT_HARFBUZZ_DIR/include
+
+ SOURCES += \
+ $$QT_HARFBUZZ_DIR/src/hb-blob.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-buffer.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-buffer-serialize.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-common.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-fallback-shape.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-font.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-tag.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-set.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-shape.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-shape-plan.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-shaper.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-unicode.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-warning.cc
+
+ HEADERS += \
+ $$QT_HARFBUZZ_DIR/src/hb-atomic-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-buffer-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-buffer-deserialize-json.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-buffer-deserialize-text.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-cache-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-font-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-mutex-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-object-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-open-file-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-open-type-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-head-table.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-hhea-table.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-hmtx-table.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-maxp-table.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-name-table.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-set-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-shape-plan-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-shaper-impl-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-shaper-list.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-shaper-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-unicode-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-utf-private.hh
+
+ HEADERS += \
+ $$QT_HARFBUZZ_DIR/src/hb.h \
+ $$QT_HARFBUZZ_DIR/src/hb-blob.h \
+ $$QT_HARFBUZZ_DIR/src/hb-buffer.h \
+ $$QT_HARFBUZZ_DIR/src/hb-common.h \
+ $$QT_HARFBUZZ_DIR/src/hb-font.h \
+ $$QT_HARFBUZZ_DIR/src/hb-set.h \
+ $$QT_HARFBUZZ_DIR/src/hb-shape.h \
+ $$QT_HARFBUZZ_DIR/src/hb-shape-plan.h \
+ $$QT_HARFBUZZ_DIR/src/hb-unicode.h \
+ $$QT_HARFBUZZ_DIR/src/hb-version.h
+
+ # Open Type
+ SOURCES += \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-layout.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-map.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-arabic.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-default.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-indic.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-indic-table.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-myanmar.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-sea.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-thai.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-fallback.cc \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-normalize.cc
+
+ HEADERS += \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-layout-common-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-layout-gdef-table.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-layout-gpos-table.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-layout-gsubgpos-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-layout-gsub-table.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-layout-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-map-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-arabic-fallback.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-arabic-table.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-indic-machine.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-indic-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-myanmar-machine.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-sea-machine.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-fallback-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-normalize-private.hh \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-shape-private.hh
+
+ HEADERS += \
+ $$QT_HARFBUZZ_DIR/src/hb-ot.h \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-layout.h \
+ $$QT_HARFBUZZ_DIR/src/hb-ot-tag.h
+
+ DEFINES += HAVE_CONFIG_H
+ QT += core-private
+
+ TR_EXCLUDE += $$QT_HARFBUZZ_DIR/*
+} else:contains(QT_CONFIG, system-harfbuzz) {
+ LIBS_PRIVATE += -lharfbuzz
+}