From 3aa163491c9c8f28c88ac87cafc6418f2c0e46c5 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Mon, 26 Aug 2013 18:44:36 +0300 Subject: Add configure options for [experimental] HarfBuzz-NG support Change-Id: I15f49b56f49ae53c16db904e03f668c3135edaa5 Reviewed-by: Oswald Buddenhagen Reviewed-by: Lars Knoll --- tools/configure/configureapp.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tools/configure') diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index dc4ca24d83..e13de4f777 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -260,6 +260,7 @@ Configure::Configure(int& argc, char** argv) dictionary[ "LIBJPEG" ] = "auto"; dictionary[ "LIBPNG" ] = "auto"; dictionary[ "FREETYPE" ] = "yes"; + dictionary[ "HARFBUZZ" ] = "no"; dictionary[ "ACCESSIBILITY" ] = "yes"; dictionary[ "OPENGL" ] = "yes"; @@ -566,6 +567,13 @@ void Configure::parseCmdLine() else if (configCmdLine.at(i) == "-system-freetype") dictionary[ "FREETYPE" ] = "system"; + else if (configCmdLine.at(i) == "-no-harfbuzz") + dictionary[ "HARFBUZZ" ] = "no"; + else if (configCmdLine.at(i) == "-qt-harfbuzz") + dictionary[ "HARFBUZZ" ] = "yes"; + else if (configCmdLine.at(i) == "-system-harfbuzz") + dictionary[ "HARFBUZZ" ] = "system"; + // CE- C runtime -------------------------------------------- else if (configCmdLine.at(i) == "-crt") { ++i; @@ -1821,6 +1829,14 @@ bool Configure::displayHelp() desc("FREETYPE", "yes", "-qt-freetype", "Use the libfreetype bundled with Qt."); desc("FREETYPE", "system","-system-freetype", "Use the libfreetype provided by the system."); + desc("HARFBUZZ", "no", "-no-harfbuzz", "Do not compile in HarfBuzz-NG support."); + desc("HARFBUZZ", "yes", "-qt-harfbuzz", "(experimental) Use HarfBuzz-NG bundled with Qt\n" + "to do text shaping. It can still be disabled\n" + "by setting QT_HARFBUZZ environment variable to \"old\"."); + desc("HARFBUZZ", "system","-system-harfbuzz", "(experimental) Use HarfBuzz-NG from the operating system\n" + "to do text shaping. It can still be disabled\n" + "by setting QT_HARFBUZZ environment variable to \"old\"."); + if ((platform() == QNX) || (platform() == BLACKBERRY)) { desc("SLOG2", "yes", "-slog2", "Compile with slog2 support."); desc("SLOG2", "no", "-no-slog2", "Do not compile with slog2 support."); @@ -2071,6 +2087,9 @@ bool Configure::checkAvailability(const QString &part) available = checkAngleAvailability(); } + else if (part == "HARFBUZZ") + available = tryCompileProject("unix/harfbuzz"); + else if (part == "LIBJPEG") available = findFile("jpeglib.h"); else if (part == "LIBPNG") @@ -2487,6 +2506,11 @@ void Configure::generateOutputVars() else if (dictionary[ "FREETYPE" ] == "system") qtConfig += "system-freetype"; + if (dictionary[ "HARFBUZZ" ] == "yes") + qtConfig += "harfbuzz"; + else if (dictionary[ "HARFBUZZ" ] == "system") + qtConfig += "system-harfbuzz"; + // Styles ------------------------------------------------------- if (dictionary[ "STYLE_WINDOWS" ] == "yes") qmakeStyles += "windows"; @@ -3319,6 +3343,7 @@ void Configure::generateConfigfiles() if (dictionary["DBUS"] == "no") qconfigList += "QT_NO_DBUS"; if (dictionary["QML_DEBUG"] == "no") qconfigList += "QT_QML_NO_DEBUGGER"; if (dictionary["FREETYPE"] == "no") qconfigList += "QT_NO_FREETYPE"; + if (dictionary["HARFBUZZ"] == "no") qconfigList += "QT_NO_HARFBUZZ"; if (dictionary["NATIVE_GESTURES"] == "no") qconfigList += "QT_NO_NATIVE_GESTURES"; if (dictionary["OPENGL_ES_CM"] == "yes" || @@ -3488,6 +3513,7 @@ void Configure::displayConfig() sout << " JPEG support............" << dictionary[ "JPEG" ] << endl; sout << " PNG support............." << dictionary[ "PNG" ] << endl; sout << " FreeType support........" << dictionary[ "FREETYPE" ] << endl; + sout << " HarfBuzz-NG support....." << dictionary[ "HARFBUZZ" ] << endl; sout << " PCRE support............" << dictionary[ "PCRE" ] << endl; sout << " ICU support............." << dictionary[ "ICU" ] << endl; if ((platform() == QNX) || (platform() == BLACKBERRY)) -- cgit v1.2.3