Make it possible to build HarfBuzz-NG in Qt

Change-Id: Ib956adb0ab7bcfba3ce73acf7c19bda815d6eb73
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
bb10
Konstantin Ritt 2013-08-26 14:27:33 +03:00 committed by The Qt Project
parent a70c0ad1d1
commit 79e77a58a6
15 changed files with 148 additions and 0 deletions

View File

@ -0,0 +1 @@
#include "../../src/hb-blob.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-buffer.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-common.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-font.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-ot-layout.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-ot-tag.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-ot.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-set.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-shape-plan.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-shape.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-unicode.h"

View File

@ -0,0 +1 @@
#include "../../src/hb-version.h"

View File

@ -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"

24
src/3rdparty/harfbuzz-ng/src/config.h vendored Normal file
View File

@ -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 */

103
src/3rdparty/harfbuzz.pri vendored Normal file
View File

@ -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
}