From 79e77a58a6b71f79af2e864ffa91eb2cc16c5216 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Mon, 26 Aug 2013 14:27:33 +0300 Subject: Make it possible to build HarfBuzz-NG in Qt Change-Id: Ib956adb0ab7bcfba3ce73acf7c19bda815d6eb73 Reviewed-by: Lars Knoll --- .../harfbuzz-ng/include/harfbuzz/hb-blob.h | 1 + .../harfbuzz-ng/include/harfbuzz/hb-buffer.h | 1 + .../harfbuzz-ng/include/harfbuzz/hb-common.h | 1 + .../harfbuzz-ng/include/harfbuzz/hb-font.h | 1 + .../harfbuzz-ng/include/harfbuzz/hb-ot-layout.h | 1 + .../harfbuzz-ng/include/harfbuzz/hb-ot-tag.h | 1 + src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot.h | 1 + src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-set.h | 1 + .../harfbuzz-ng/include/harfbuzz/hb-shape-plan.h | 1 + .../harfbuzz-ng/include/harfbuzz/hb-shape.h | 1 + .../harfbuzz-ng/include/harfbuzz/hb-unicode.h | 1 + .../harfbuzz-ng/include/harfbuzz/hb-version.h | 1 + src/3rdparty/harfbuzz-ng/include/harfbuzz/hb.h | 9 ++ src/3rdparty/harfbuzz-ng/src/config.h | 24 +++++ src/3rdparty/harfbuzz.pri | 103 +++++++++++++++++++++ 15 files changed, 148 insertions(+) create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-blob.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-buffer.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-common.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-font.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-layout.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot-tag.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-ot.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-set.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape-plan.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-shape.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-unicode.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb-version.h create mode 100644 src/3rdparty/harfbuzz-ng/include/harfbuzz/hb.h create mode 100644 src/3rdparty/harfbuzz-ng/src/config.h create mode 100644 src/3rdparty/harfbuzz.pri (limited to 'src') 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 + +#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 +# 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 +} -- cgit v1.2.3