diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmake/mkspecs/features/configure.prf | 26 | ||||
-rw-r--r-- | tools/qmake/mkspecs/features/functions.prf | 75 | ||||
-rw-r--r-- | tools/qmake/mkspecs/features/gn_generator.prf | 235 | ||||
-rw-r--r-- | tools/scripts/gn_find_mocables.py | 68 | ||||
-rw-r--r-- | tools/scripts/gn_run_binary.py | 33 | ||||
-rwxr-xr-x | tools/scripts/init-repository.py | 1 | ||||
-rwxr-xr-x | tools/scripts/take_snapshot.py | 18 | ||||
-rw-r--r-- | tools/scripts/version_resolver.py | 6 |
8 files changed, 424 insertions, 38 deletions
diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf index 43a5f2757..f12bf5ae9 100644 --- a/tools/qmake/mkspecs/features/configure.prf +++ b/tools/qmake/mkspecs/features/configure.prf @@ -23,23 +23,40 @@ defineTest(runConfigure) { isQtMinimum(5, 8) { include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri) QT_FOR_CONFIG += webengine-private + + qtConfig(pepper-plugins): WEBENGINE_CONFIG += use_pepper_plugins + qtConfig(printing-and-pdf): WEBENGINE_CONFIG += use_printing use_pdf qtConfig(proprietary-codecs): WEBENGINE_CONFIG += use_proprietary_codecs qtConfig(spellchecker): WEBENGINE_CONFIG += use_spellchecker + qtConfig(webrtc): WEBENGINE_CONFIG += use_webrtc + qtConfig(embedded): WEBENGINE_CONFIG += embedded_build + } else { + cross_compile: WEBENGINE_CONFIG += embedded_build + } + isQtMinimum(5, 9) { + qtConfig(appstore-compliant): WEBENGINE_CONFIG += use_appstore_compliant_code + linux: WEBENGINE_CONFIG += use_gn + macos: WEBENGINE_CONFIG += use_gn + win32: WEBENGINE_CONFIG += use_gn } + !use?(gn): skipBuild("Chromium 55 and new can only be built with GN") linux { QT_FOR_CONFIG += gui-private !config_khr:skipBuild("khronos development headers appear to be missing (mesa/libegl1-mesa-dev)") REQUIRED_PACKAGES = dbus-1 fontconfig - !cross_compile: qtConfig(xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst + !contains(WEBENGINE_CONFIG, embedded_build): qtConfig(xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst qtConfig(pulseaudio): REQUIRED_PACKAGES += libpulse qtConfig(system-png): REQUIRED_PACKAGES += libpng qtConfig(system-harfbuzz) { packagesExist("\'harfbuzz >= 1.2.0\'"): WEBENGINE_CONFIG += use_system_harfbuzz else: log("System harfbuzz is too old (min. version 1.2). Using Chromium's copy.$${EOL}") } - !cross_compile: REQUIRED_PACKAGES += libpci + qtConfig(glib) { + packagesExist("\'glib-2.0 >= 2.32.0\'"): WEBENGINE_CONFIG += use_glib + else: skipBuild("System glib is too old (min. version 2.32).$${EOL}") + } for(package, $$list($$REQUIRED_PACKAGES)) { !packagesExist($$package):skipBuild("Unmet dependency: $$package") @@ -80,14 +97,11 @@ defineTest(runConfigure) { WEBENGINE_CONFIG += use_bundled_snappy } - !cross_compile { + !contains(WEBENGINE_CONFIG, embedded_build) { packagesExist(nss): WEBENGINE_CONFIG += use_nss else: log("System NSS not found, BoringSSL will be used.$${EOL}") } } - !cross_compile { - WEBENGINE_CONFIG += enable_pdf - } isEmpty(skipBuildReason): { cache(CONFIG, add, $$list(webengine_successfully_configured)) diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf index 6545ef791..b4965129c 100644 --- a/tools/qmake/mkspecs/features/functions.prf +++ b/tools/qmake/mkspecs/features/functions.prf @@ -59,10 +59,10 @@ defineTest(isPlatformSupported) { skipBuild("Using XCode version $$QMAKE_XCODE_VERSION, but at least version 5.1 is required to build Qt WebEngine.") return(false) } - # We require OS X 10.9 (darwin version 13.0.0) or newer + # We require OS X 10.0 (darwin version 14.0.0) or newer darwin_major_version = $$section(QMAKE_HOST.version, ., 0, 0) - lessThan(darwin_major_version, 13) { - skipBuild("Qt WebEngine requires OS X version 10.9 or newer.") + lessThan(darwin_major_version, 14) { + skipBuild("Qt WebEngine requires OS X version 10.10 or newer.") return(false) } !isMinOSXSDKVersion(10, 10): { @@ -222,14 +222,26 @@ defineTest(isSanitizerLinuxClangVersionSupported) { defineTest(isGCCVersionSupported) { # The below will work for gcc 4.7 and up and also match gcc 5 - greaterThan(QT_GCC_MINOR_VERSION, 6):return(true) + CONFIG(release, debug|release): greaterThan(QT_GCC_MINOR_VERSION, 6):return(true) greaterThan(QT_GCC_MAJOR_VERSION, 4):return(true) - skipBuild("Using gcc version "$$QT_GCC_MAJOR_VERSION"."$$QT_GCC_MINOR_VERSION", but at least gcc version 4.7 is required to build Qt WebEngine.") + + # We need GCC 4.9 for debug builds because Skia handles SIMD inlines in headers poorly. + greaterThan(QT_GCC_MINOR_VERSION, 8):return(true) + CONFIG(debug, debug|release) { + skipBuild("Using gcc version "$$QT_GCC_MAJOR_VERSION"."$$QT_GCC_MINOR_VERSION", but at least gcc version 4.9 is required to build debug versions of Qt WebEngine.") + } else { + skipBuild("Using gcc version "$$QT_GCC_MAJOR_VERSION"."$$QT_GCC_MINOR_VERSION", but at least gcc version 4.7 is required to build Qt WebEngine.") + } return(false) } +defineTest(isDeveloperBuild) { + qtConfig(private_tests): return(true) # enabled for developer-build + return(false) +} + defineTest(isQMLTestSupportApiEnabled) { - qtConfig(private_tests): return(true) # enable for developer-build + isDeveloperBuild(): return(true) contains(QT_BUILD_PARTS, tests): return(true) contains(WEBENGINE_CONFIG, testsupport): return(true) return(false) @@ -385,24 +397,49 @@ defineTest(use?) { return(false) } -defineReplace(findOrBuildNinja) { - # If NINJA_PATH env var is set, prefer that. - # Fallback to locating our own bootstrapped ninja. - out = $(NINJA_PATH) - !exists($$out) { +defineReplace(ninjaPath) { src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT") - out = $$shadowed($$absolute_path(ninja/ninja, $$src_3rd_party_dir)) win32: out = $${out}.exe + return($$out) +} + +defineReplace(gnPath) { + src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT") + out = $$shadowed($$absolute_path(chromium/tools/gn/out/Release/gn, $$src_3rd_party_dir)) - # If we did not find ninja, then we bootstrap it. - !exists($$out) { - mkpath($$dirname(out)) - ninja_configure = $$absolute_path(ninja/configure.py, $$src_3rd_party_dir) - system("cd $$system_quote($$system_path($$dirname(out))) && python $$system_quote($$system_path($$ninja_configure)) --bootstrap") + win32: out = $${out}.exe + return($$out) +} + +defineReplace(gnArgs) { + linux { + contains(WEBENGINE_CONFIG, embedded_build): include($$QTWEBENGINE_ROOT/src/core/config/embedded_linux.pri) + else: include($$QTWEBENGINE_ROOT/src/core/config/desktop_linux.pri) } - } - return($$system_path($$out)) + macos: include($$QTWEBENGINE_ROOT/src/core/config/mac_osx.pri) + win32: include($$QTWEBENGINE_ROOT/src/core/config/windows.pri) + isEmpty(gn_args): error(No gn_args found please make sure you have valid configuration.) + return($$gn_args) +} + +defineReplace(gnArch) { + qtArch = $$1 + contains(qtArch, "i386"): return(x86) + contains(qtArch, "x86_64"): return(x64) + contains(qtArch, "arm"): return(arm) + contains(qtArch, "arm64"): return(arm64) + contains(qtArch, "mips"): return(mipsel) + contains(qtArch, "mips64"): return(mips64el) + return(unknown) +} + +defineReplace(gnOS) { + macos: return(mac) + win32: return(win) + linux: return(linux) + error(Unsupported platform) + return(unknown) } defineTest(skipBuild) { diff --git a/tools/qmake/mkspecs/features/gn_generator.prf b/tools/qmake/mkspecs/features/gn_generator.prf new file mode 100644 index 000000000..57c53935c --- /dev/null +++ b/tools/qmake/mkspecs/features/gn_generator.prf @@ -0,0 +1,235 @@ +load(moc) +load(resources) + +defineReplace(getTargetType) { + equals(TEMPLATE, "app"):return("executable") + equals(TEMPLATE, "lib") { + CONFIG(static): return("static_library") + return("shared_library") + } + return("none") +} + +defineReplace(filter_flag_values) { + value_to_check = $$1 + macos:equals(value_to_check, "$(EXPORT_ARCH_ARGS)") { + # EXPORT_ARCH_ARGS comes from qtbase/mkspecs/features/mac/default_post.prf which is a way + # to figure out the architectures to pass to the compiler at Makefile time. Because this + # variable expansion is not supported by GN, we filter it out. GN takes care of assigning + # the architecture itself. + return("") + } + return($$value_to_check) +} + +isEmpty(GN_FILE): GN_FILE = $$system_path($$_PRO_FILE_PWD_/BUILD.gn) +isEmpty(GN_RUN_BINARY_SCRIPT): GN_RUN_BINARY_SCRIPT = "//build/gn_run_binary.py" +isEmpty(GN_FIND_MOCABLES_SCRIPT): GN_FIND_MOCABLES_SCRIPT = "//build/gn_find_mocables.py" + +# MOC SETUP + +GN_CONTENTS += "moc_source_h_files = exec_script(\"$$GN_FIND_MOCABLES_SCRIPT\"," +GN_CONTENTS += " [ \"$$_PRO_FILE_PWD_\"," +for (headerfile, HEADERS): GN_CONTENTS += " \"$$GN_SRC_DIR/$$headerfile\"," +GN_CONTENTS += " ], \"list lines\", [\"$$system_path($$_PRO_FILE_)\"]"\ + ")" +GN_CONTENTS += "moc_source_cpp_files = exec_script(\"$$GN_FIND_MOCABLES_SCRIPT\"," +GN_CONTENTS += " [ \"$$_PRO_FILE_PWD_\"," +for (sourcefile, SOURCES): GN_CONTENTS += " \"$$GN_SRC_DIR/$$sourcefile\"," +GN_CONTENTS += " ], \"list lines\", [\"$$system_path($$_PRO_FILE_)\"]"\ + ")" + +DEFINES_LIST = $$join(DEFINES, " -D", "-D") +INCLUDE_LIST = $$join(INCLUDEPATH, " -I", "-I") + +# we don't generate a moc_predef file yet. +MOC_PREDEF_FILE = +MOC_COMMAND = $$clean_path($$mocCmdBase()) +MOC_COMMAND = $$replace(MOC_COMMAND, $$re_escape("$(DEFINES)"), $$DEFINES_LIST) +MOC_COMMAND = $$replace(MOC_COMMAND, $$re_escape("$(INCPATH)"), $$INCLUDE_LIST) +MOC_COMMAND = $$eval($$list($$MOC_COMMAND)) + +GN_CONTENTS += "if (moc_source_h_files != []) {" +GN_CONTENTS += " action_foreach(\"generate_h_mocs\") {"\ + " script = \"$$GN_RUN_BINARY_SCRIPT\"" +GN_CONTENTS += " sources = moc_source_h_files" \ + " outputs = [ \"$target_gen_dir/.moc/moc_{{source_name_part}}.cpp\" ]" +GN_CONTENTS += " inputs = [ \"$$system_path($$_PRO_FILE_)\" ]" \ + " args = [" +for(token, MOC_COMMAND): GN_CONTENTS += " \"$$replace(token,\",\\\")\"," +GN_CONTENTS += " \"{{source}}\"," \ + " \"-o\"," \ + " rebase_path(\"$target_gen_dir/.moc/moc_{{source_name_part}}.cpp\")"\ + " ]" +GN_CONTENTS += " }" +GN_CONTENTS += "}" +GN_CONTENTS += "if (moc_source_cpp_files != []) {" +GN_CONTENTS += " action_foreach(\"generate_cpp_mocs\") {"\ + " script = \"$$GN_RUN_BINARY_SCRIPT\"" +GN_CONTENTS += " sources = moc_source_cpp_files" \ + " outputs = [ \"$target_gen_dir/.moc/{{source_name_part}}.moc\" ]" +GN_CONTENTS += " inputs = [ \"$$system_path($$_PRO_FILE_)\" ]" \ + " args = [" +for(token, MOC_COMMAND): GN_CONTENTS += " \"$$replace(token,\",\\\")\"," +GN_CONTENTS += " \"{{source}}\"," \ + " \"-o\"," \ + " rebase_path(\"$target_gen_dir/.moc/{{source_name_part}}.moc\")"\ + " ]" +GN_CONTENTS += " }" +GN_CONTENTS += "}" + +# RESOURCES SETUP + +CLEAN_QMAKE_RCC = $$clean_path($$QMAKE_RCC) + +GN_CONTENTS += "action_foreach(\"generate_resources\") {"\ + " script = \"$$GN_RUN_BINARY_SCRIPT\"" +GN_CONTENTS += " sources = [" +for (sourcefile, RESOURCES): GN_CONTENTS += " \"$$GN_SRC_DIR/$$sourcefile\"," +GN_CONTENTS += " ]" \ + " outputs = [ \"$target_gen_dir/.rcc/qrc_{{source_name_part}}.cpp\" ]" +GN_CONTENTS += " inputs = [ \"$$system_path($$_PRO_FILE_)\" ]" \ + " args = [" \ + " \"$$replace(CLEAN_QMAKE_RCC,\",\\\")\"," +for(resource_flag, $$QMAKE_RESOURCE_FLAGS): GN_CONTENTS += " \"$$resource_flag\"" +GN_CONTENTS += " \"-name\"," \ + " \"{{source_name_part}}\"," \ + " \"{{source}}\"," \ + " \"-o\"," \ + " rebase_path(\"$target_gen_dir/.rcc/qrc_{{source_name_part}}.cpp\")"\ + " ]" +GN_CONTENTS += "}" + +# TARGET SETUP + +TARGET_TYPE = $$getTargetType() + +GN_CONTENTS += "$${TARGET_TYPE}(\"$$TARGET\") {" +!isEmpty(GN_CREATE_PRI): GN_CONTENTS += " create_pri_file = $$GN_CREATE_PRI" +!isEmpty(GN_IMPORTS) { +for (imp, GN_IMPORTS): GN_CONTENTS += " import(\"$$imp\")" +} + +!isEmpty(QMAKE_CFLAGS) { + GN_CONTENTS += " cflags = [" + for(flag, QMAKE_CFLAGS): GN_CONTENTS += " \"$$filter_flag_values($$flag)\"," + GN_CONTENTS += " ]" +} + +!isEmpty(QMAKE_FRAMEWORKPATH) { + GN_CONTENTS += " cflags += [" + for(path, QMAKE_FRAMEWORKPATH): GN_CONTENTS += " \"-F$$path\"," + GN_CONTENTS += " ]" +} + +# Stop the barrage of unused variables warnings. +gcc|clang { + QMAKE_CXXFLAGS += "-Wno-unused-parameter" + QMAKE_CXXFLAGS += "-Wno-unused-variable" +} + +!isEmpty(QMAKE_CXXFLAGS) { + GN_CONTENTS += " cflags_cc = [" + for(flag, QMAKE_CXXFLAGS): GN_CONTENTS += " \"$$filter_flag_values($$flag)\"," + GN_CONTENTS += " ]" +} + +GN_CONTENTS += " if (!defined(defines)) {"\ + " defines = []"\ + " }" +GN_CONTENTS += " defines += [" +# Remove single quotes around function macro defines, so that GN doesn't escape them, thus breaking +# the macro. +# Also add a layer of escaping for double quotes. +for (define, DEFINES): { + define = $$replace(define,\",\\\") + define = $$replace(define,\',) + GN_CONTENTS += " \"$$define\"," +} +!isEmpty(QMAKE_LIBDIR_EGL): + GN_CONTENTS += " \"QT_LIBDIR_EGL=\\\"$${QMAKE_DIR_SEP}$$relative_path($$QMAKE_LIBDIR_EGL, $$[QT_SYSROOT])\\\"\"," +!isEmpty(QMAKE_LIBDIR_OPENGL_ES2) + GN_CONTENTS += " \"QT_LIBDIR_GLES2=\\\"$${QMAKE_DIR_SEP}$$relative_path($$QMAKE_LIBDIR_OPENGL_ES2, $$[QT_SYSROOT])\\\"\"," +GN_CONTENTS += " ]" + +# Source files to compile +GN_CONTENTS += " sources = [" +for (sourcefile, SOURCES): GN_CONTENTS += " \"$$GN_SRC_DIR/$$sourcefile\"," +for (headerfile, HEADERS): GN_CONTENTS += " \"$$GN_SRC_DIR/$$headerfile\"," +GN_CONTENTS += " ]" + +# Add Sources generated by rcc from qrc files. +!isEmpty(RESOURCES): GN_CONTENTS += " sources += get_target_outputs(\":generate_resources\")" + +GN_CONTENTS += " if (!defined(include_dirs)) {"\ + " include_dirs = []"\ + " }" +GN_CONTENTS += " include_dirs += [" +for (path, INCLUDEPATH): GN_CONTENTS += " \"$$path\"," +GN_CONTENTS += " rebase_path(\"$target_gen_dir/.moc/\")" +GN_CONTENTS += " ]" + +GN_CONTENTS += " if (!defined(ldflags)) {"\ + " ldflags = []"\ + " }" +GN_CONTENTS += " ldflags += [" +for (flag, QMAKE_LFLAGS): GN_CONTENTS += " \"$$filter_flag_values($$flag)\"," +for (flag, GN_FLAGS): GN_CONTENTS += " \"$$flag\"," +!isEmpty(QMAKE_RPATHDIR) { + for (rpath, QMAKE_RPATHDIR) { + macos: GN_CONTENTS += " \"-Wl,-rpath,$${rpath}\"," + else:unix: GN_CONTENTS += " \"-Wl,-rpath=$${rpath}\"," + } +} +!isEmpty(QMAKE_RPATHLINKDIR): GN_CONTENTS += " \"-Wl,-rpath-link=$${QMAKE_RPATHLINKDIR}\"," +GN_CONTENTS += " ]" + +GN_CONTENTS += " if (!defined(lib_dirs)) {"\ + " lib_dirs = []"\ + " }" +GN_CONTENTS += " lib_dirs += [" +lib_dirs = $$find(LIBS, ^-L.*) +lib_dirs = $$unique(lib_dirs) +for (lib_dir, lib_dirs): GN_CONTENTS += " \"$$replace(lib_dir, -L, )\"," +GN_CONTENTS += " ]" + +GN_CONTENTS += " if (!defined(libs)) {"\ + " libs = []"\ + " }" +GN_CONTENTS += " libs += [" +for (lib, GN_LIBS): GN_CONTENTS += " \"$$lib\"," +libs = $$find(LIBS, ^-l.*) +libs = $$unique(libs) +for (lib, libs): GN_CONTENTS += " \"$$replace(lib, -l, )\"," +GN_CONTENTS += " ]" + +GN_CONTENTS += " if (!defined(deps)) {"\ + " deps = []"\ + " }" +GN_CONTENTS += " deps += [" +!isEmpty(RESOURCES): GN_CONTENTS += " \":generate_resources\"," +GN_CONTENTS += " ]" +GN_CONTENTS += " if (moc_source_h_files != []) {" +GN_CONTENTS += " deps += [" +GN_CONTENTS += " \":generate_h_mocs\"," +GN_CONTENTS += " ]" +# Add moc output files to compile +GN_CONTENTS += " sources += get_target_outputs(\":generate_h_mocs\")" +GN_CONTENTS += " }" +GN_CONTENTS += " if (moc_source_cpp_files != []) {" +GN_CONTENTS += " deps += [" +GN_CONTENTS += " \":generate_cpp_mocs\"," +GN_CONTENTS += " ]" +GN_CONTENTS += " }" +GN_CONTENTS += "}" +!isEmpty(GN_INCLUDES) { + for (inc, GN_INCLUDES): GN_CONTENTS += $$cat($$inc,lines) +} + +build_pass|!debug_and_release: write_file($$GN_FILE, GN_CONTENTS) + +# The generated Makefile shouldn't build anything by itself, just re-run qmake if necessary +TEMPLATE = aux +SOURCES = +HEADERS = +RESOURCES = diff --git a/tools/scripts/gn_find_mocables.py b/tools/scripts/gn_find_mocables.py new file mode 100644 index 000000000..d97dcb534 --- /dev/null +++ b/tools/scripts/gn_find_mocables.py @@ -0,0 +1,68 @@ +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the QtWebEngine module of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:GPL-EXCEPT$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 3 as published by the Free Software +## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +import re +import sys +import os + +mocables = set() +includedMocs = set() +dir = sys.argv[1] +files = sys.argv[2:] + +for f in filter(os.path.isfile, [os.path.join(dir, f) for f in files]): + inBlockComment = False + for line in open(f).readlines(): + # Block comments handling + if "/*" in line: + inBlockComment = True + if inBlockComment and "*/" in line: + inBlockComment = False + if line.find("*/") != len(line) - 3: + line = line[line.find("*/")+2:] + else: + continue + if inBlockComment: + continue + #simple comments handling + if "//" in line: + line = line.partition("//")[0] + if re.match(".*Q_OBJECT", line): + mocables.add(f) + im = re.search('#include "(moc_\w+.cpp)"', line) + if im: + includedMocs.add(im.group(1)) + +for mocable in includedMocs: + print "Found included moc: " + mocable + +assert len(includedMocs) == 0 , "Included mocs are not supported !" + +for mocable in mocables: + print mocable +sys.exit(0) diff --git a/tools/scripts/gn_run_binary.py b/tools/scripts/gn_run_binary.py new file mode 100644 index 000000000..5debf02ab --- /dev/null +++ b/tools/scripts/gn_run_binary.py @@ -0,0 +1,33 @@ +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the QtWebEngine module of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:GPL-EXCEPT$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 3 as published by the Free Software +## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + + +import sys +import subprocess + +sys.exit(subprocess.call(sys.argv[1:])) diff --git a/tools/scripts/init-repository.py b/tools/scripts/init-repository.py index 9fd951be4..dc5cdb8ce 100755 --- a/tools/scripts/init-repository.py +++ b/tools/scripts/init-repository.py @@ -80,6 +80,7 @@ def updateLastChange(): print 'updating LASTCHANGE files' subprocess.call(['python', 'build/util/lastchange.py', '-o', 'build/util/LASTCHANGE']) subprocess.call(['python', 'build/util/lastchange.py', '-s', 'third_party/WebKit', '-o', 'build/util/LASTCHANGE.blink']) + subprocess.call(['python', 'build/util/lastchange.py', '-m', 'SKIA_COMMIT_HASH', '-s', 'third_party/skia', '--header', 'skia/ext/skia_commit_hash.h']) os.chdir(currentDir) def initUpstreamSubmodules(): diff --git a/tools/scripts/take_snapshot.py b/tools/scripts/take_snapshot.py index 93575d821..7af70bf22 100755 --- a/tools/scripts/take_snapshot.py +++ b/tools/scripts/take_snapshot.py @@ -58,7 +58,7 @@ def isInChromiumBlacklist(file_path): if file_path.endswith('.gyp') or file_path.endswith('.gypi') or file_path.endswith('.isolate'): return False # We do need all the gn file. - if file_path.endswith('.gn') or file_path.endswith('.gni') or file_path.endswith('typemap') or \ + if file_path.endswith('.gn') or file_path.endswith('.gni') or file_path.endswith('.typemap') or \ file_path.endswith('.mojom'): return False if ( '_jni' in file_path @@ -76,10 +76,8 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('android_webview') or file_path.startswith('apps/') or file_path.startswith('ash/') - or file_path.startswith('athena') - or file_path.startswith('base/android/java') + or file_path.startswith('base/android') or file_path.startswith('breakpad') - or file_path.startswith('build/android/') or file_path.startswith('buildtools/clang_format/script') or (file_path.startswith('chrome/') and not file_path.startswith('chrome/VERSION') and @@ -91,8 +89,8 @@ def isInChromiumBlacklist(file_path): not '/renderer/resources/' in file_path and not 'repack_locales' in file_path and not 'third_party/chromevox' in file_path and - not 'media/desktop_media_list.h' in file_path and - not 'media/desktop_streams_registry.' in file_path and + not 'media/webrtc/desktop_media_list.h' in file_path and + not 'media/webrtc/desktop_streams_registry.' in file_path and not 'common/chrome_constants.' in file_path and not 'common/chrome_paths' in file_path and not 'common/chrome_switches.' in file_path and @@ -113,21 +111,20 @@ def isInChromiumBlacklist(file_path): not file_path.endswith('.json') and not file_path.endswith('chrome_version.rc.version')) or file_path.startswith('chrome_frame') + or file_path.startswith('chromecast') or file_path.startswith('chromeos') - or file_path.startswith('cloud_print') or file_path.startswith('components/chrome_apps/') or file_path.startswith('components/cronet/') or file_path.startswith('components/drive/') or file_path.startswith('components/invalidation/') or file_path.startswith('components/gcm_driver/') - or file_path.startswith('components/mus/') or file_path.startswith('components/nacl/') or file_path.startswith('components/omnibox/') or file_path.startswith('components/policy/') or file_path.startswith('components/proximity_auth/') or (file_path.startswith('components/resources/terms/') and not file_path.endswith('terms_chromium.html')) or file_path.startswith('components/rlz/') - or file_path.startswith('components/sync_driver/') + or file_path.startswith('components/sync/') or file_path.startswith('components/test/') or file_path.startswith('components/test_runner/') or file_path.startswith('components/translate/') @@ -143,7 +140,6 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('net/android/java') or file_path.startswith('remoting') or file_path.startswith('rlz') - or file_path.startswith('sync') or file_path.startswith('testing/android') or file_path.startswith('testing/buildbot') or file_path.startswith('third_party/WebKit/LayoutTests') @@ -168,6 +164,7 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('third_party/cython') or file_path.startswith('third_party/deqp') or file_path.startswith('third_party/elfutils') + or file_path.startswith('third_party/freetype-android') or file_path.startswith('third_party/google_input_tools') or file_path.startswith('third_party/gperf') or file_path.startswith('third_party/gnu_binutils') @@ -298,6 +295,7 @@ def exportChromium(): # Add LASTCHANGE files which are not tracked by git. files.append('build/util/LASTCHANGE') files.append('build/util/LASTCHANGE.blink') + files.append('skia/ext/skia_commit_hash.h') print 'copying files to ' + third_party_chromium for i in xrange(len(files)): printProgress(i+1, len(files)) diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py index e481f0ed0..b80efff34 100644 --- a/tools/scripts/version_resolver.py +++ b/tools/scripts/version_resolver.py @@ -38,9 +38,9 @@ import json import urllib2 import git_submodule as GitSubmodule -chromium_version = '53.0.2785.148' -chromium_branch = '2785' -ninja_version = 'v1.7.1' +chromium_version = '55.0.2883.105' +chromium_branch = '2883' +ninja_version = 'v1.7.2' json_url = 'http://omahaproxy.appspot.com/all.json' |