From a7e58bf253d08b896df3bbf247bbbaae718e426d Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Tue, 25 Feb 2014 15:33:43 +0200 Subject: Build bundled HarfBuzz-NG outside QtGui Being a part of QtGui, HarfBuzz-NG breaks build with -Werror. Instead of disabling a particular warnings-as-errors, build a prefixed static library and make it a link-time dependency. Change-Id: Id0be1f0e0034092d50f83cd364d5c65940fee869 Reviewed-by: Lars Knoll --- src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro | 126 +++++++++++++++++++++++++++++++ src/3rdparty/harfbuzz.pri | 120 ----------------------------- src/3rdparty/harfbuzzng.pri | 6 ++ 3 files changed, 132 insertions(+), 120 deletions(-) create mode 100644 src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro delete mode 100644 src/3rdparty/harfbuzz.pri create mode 100644 src/3rdparty/harfbuzzng.pri (limited to 'src/3rdparty') diff --git a/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro b/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro new file mode 100644 index 0000000000..d65520927b --- /dev/null +++ b/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro @@ -0,0 +1,126 @@ +TARGET = qtharfbuzzng +TEMPLATE = lib + +CONFIG += \ + static \ + hide_symbols \ + exceptions_off rtti_off +CONFIG -= qt + +DESTDIR = $$QT_BUILD_TREE/lib + +DEFINES += HAVE_CONFIG_H +HEADERS += $$PWD/src/config.h + +INCLUDEPATH += $$PWD/include + +SOURCES += \ + $$PWD/src/hb-blob.cc \ + $$PWD/src/hb-buffer.cc \ + $$PWD/src/hb-buffer-serialize.cc \ + $$PWD/src/hb-common.cc \ + $$PWD/src/hb-face.cc \ + $$PWD/src/hb-font.cc \ + $$PWD/src/hb-ot-tag.cc \ + $$PWD/src/hb-set.cc \ + $$PWD/src/hb-shape.cc \ + $$PWD/src/hb-shape-plan.cc \ + $$PWD/src/hb-shaper.cc \ + $$PWD/src/hb-unicode.cc \ + $$PWD/src/hb-warning.cc + +HEADERS += \ + $$PWD/src/hb-atomic-private.hh \ + $$PWD/src/hb-buffer-private.hh \ + $$PWD/src/hb-buffer-deserialize-json.hh \ + $$PWD/src/hb-buffer-deserialize-text.hh \ + $$PWD/src/hb-cache-private.hh \ + $$PWD/src/hb-face-private.hh \ + $$PWD/src/hb-font-private.hh \ + $$PWD/src/hb-mutex-private.hh \ + $$PWD/src/hb-object-private.hh \ + $$PWD/src/hb-open-file-private.hh \ + $$PWD/src/hb-open-type-private.hh \ + $$PWD/src/hb-ot-head-table.hh \ + $$PWD/src/hb-ot-hhea-table.hh \ + $$PWD/src/hb-ot-hmtx-table.hh \ + $$PWD/src/hb-ot-maxp-table.hh \ + $$PWD/src/hb-ot-name-table.hh \ + $$PWD/src/hb-private.hh \ + $$PWD/src/hb-set-private.hh \ + $$PWD/src/hb-shape-plan-private.hh \ + $$PWD/src/hb-shaper-impl-private.hh \ + $$PWD/src/hb-shaper-list.hh \ + $$PWD/src/hb-shaper-private.hh \ + $$PWD/src/hb-unicode-private.hh \ + $$PWD/src/hb-utf-private.hh + +HEADERS += \ + $$PWD/src/hb.h \ + $$PWD/src/hb-blob.h \ + $$PWD/src/hb-buffer.h \ + $$PWD/src/hb-common.h \ + $$PWD/src/hb-face.h \ + $$PWD/src/hb-font.h \ + $$PWD/src/hb-set.h \ + $$PWD/src/hb-shape.h \ + $$PWD/src/hb-shape-plan.h \ + $$PWD/src/hb-unicode.h \ + $$PWD/src/hb-version.h + +# Open Type +SOURCES += \ + $$PWD/src/hb-ot-layout.cc \ + $$PWD/src/hb-ot-map.cc \ + $$PWD/src/hb-ot-shape.cc \ + $$PWD/src/hb-ot-shape-complex-arabic.cc \ + $$PWD/src/hb-ot-shape-complex-default.cc \ + $$PWD/src/hb-ot-shape-complex-hangul.cc \ + $$PWD/src/hb-ot-shape-complex-hebrew.cc \ + $$PWD/src/hb-ot-shape-complex-indic.cc \ + $$PWD/src/hb-ot-shape-complex-indic-table.cc \ + $$PWD/src/hb-ot-shape-complex-myanmar.cc \ + $$PWD/src/hb-ot-shape-complex-sea.cc \ + $$PWD/src/hb-ot-shape-complex-thai.cc \ + $$PWD/src/hb-ot-shape-complex-tibetan.cc \ + $$PWD/src/hb-ot-shape-fallback.cc \ + $$PWD/src/hb-ot-shape-normalize.cc + +HEADERS += \ + $$PWD/src/hb-ot-layout-common-private.hh \ + $$PWD/src/hb-ot-layout-gdef-table.hh \ + $$PWD/src/hb-ot-layout-gpos-table.hh \ + $$PWD/src/hb-ot-layout-gsubgpos-private.hh \ + $$PWD/src/hb-ot-layout-gsub-table.hh \ + $$PWD/src/hb-ot-layout-jstf-table.hh \ + $$PWD/src/hb-ot-layout-private.hh \ + $$PWD/src/hb-ot-map-private.hh \ + $$PWD/src/hb-ot-shape-complex-arabic-fallback.hh \ + $$PWD/src/hb-ot-shape-complex-arabic-table.hh \ + $$PWD/src/hb-ot-shape-complex-indic-machine.hh \ + $$PWD/src/hb-ot-shape-complex-indic-private.hh \ + $$PWD/src/hb-ot-shape-complex-myanmar-machine.hh \ + $$PWD/src/hb-ot-shape-complex-private.hh \ + $$PWD/src/hb-ot-shape-complex-sea-machine.hh \ + $$PWD/src/hb-ot-shape-fallback-private.hh \ + $$PWD/src/hb-ot-shape-normalize-private.hh \ + $$PWD/src/hb-ot-shape-private.hh + +HEADERS += \ + $$PWD/src/hb-ot.h \ + $$PWD/src/hb-ot-layout.h \ + $$PWD/src/hb-ot-shape.h \ + $$PWD/src/hb-ot-tag.h + +mac { + # Apple Advanced Typography + DEFINES += HAVE_CORETEXT + + SOURCES += \ + $$PWD/src/hb-coretext.cc + + HEADERS += \ + $$PWD/src/hb-coretext.h +} + +TARGET = $$TARGET$$qtPlatformTargetSuffix() diff --git a/src/3rdparty/harfbuzz.pri b/src/3rdparty/harfbuzz.pri deleted file mode 100644 index 1b7f7b95e1..0000000000 --- a/src/3rdparty/harfbuzz.pri +++ /dev/null @@ -1,120 +0,0 @@ -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-face.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-face-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-face.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-hangul.cc \ - $$QT_HARFBUZZ_DIR/src/hb-ot-shape-complex-hebrew.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-complex-tibetan.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-jstf-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-shape.h \ - $$QT_HARFBUZZ_DIR/src/hb-ot-tag.h - - mac { - # Apple Advanced Typography - SOURCES += \ - $$QT_HARFBUZZ_DIR/src/hb-coretext.cc - - HEADERS += \ - $$QT_HARFBUZZ_DIR/src/hb-coretext.h - - DEFINES += HAVE_CORETEXT - } - - DEFINES += HAVE_CONFIG_H - - TR_EXCLUDE += $$QT_HARFBUZZ_DIR/* -} else:contains(QT_CONFIG, system-harfbuzz) { - LIBS_PRIVATE += -lharfbuzz -} diff --git a/src/3rdparty/harfbuzzng.pri b/src/3rdparty/harfbuzzng.pri new file mode 100644 index 0000000000..74433688f6 --- /dev/null +++ b/src/3rdparty/harfbuzzng.pri @@ -0,0 +1,6 @@ +contains(QT_CONFIG, harfbuzz) { + INCLUDEPATH += $$PWD/harfbuzz-ng/include + LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtharfbuzzng$$qtPlatformTargetSuffix() +} else:contains(QT_CONFIG, system-harfbuzz) { + LIBS_PRIVATE += -lharfbuzz +} -- cgit v1.2.3