blob: d3ceb4c5ef5ec0371933c64c84bb7dc3ad4b9678 [file] [log] [blame]
include($$QTWEBENGINE_ROOT/src/buildtools/config/support.pri)
defineReplace(getConfigDir) {
CONFIG(release, debug|release):return("release")
return("debug")
}
defineReplace(getChromiumSrcDir) {
exists($$QTWEBENGINE_ROOT/.git): git_chromium_src_dir = $$system("git config qtwebengine.chromiumsrcdir")
# Fall back to the snapshot path if git does not know about chromium sources (i.e. init-repository.py has not been used)
isEmpty(git_chromium_src_dir): git_chromium_src_dir = "src/3rdparty/chromium"
return($$git_chromium_src_dir)
}
defineReplace(which) {
out = $$1
win32 {
command = $$split(out, " ")
executable = $$first(command)
# Return the first match only
out = $$system("((for /f \"usebackq delims=\" %i in (`where $$executable 2^> NUL`) do @if not defined _endwhich (@echo %i & set _endwhich=true)) & set _endwhich=)")
isEmpty(out) {
message($$executable not found)
out = $$executable
}
for(arg, command): !equals(arg, $$executable): out += $$arg
} else:unix {
command = $$split(out, " ")
executable = $$first(command)
out = $$system("which $$executable 2>/dev/null")
isEmpty(out) {
message($$executable not found)
out = $$executable
}
for(arg, command): !equals(arg, $$executable): out += $$arg
}
return($$out)
}
# Returns the unquoted path to the python executable.
defineReplace(pythonPath) {
isEmpty(QMAKE_PYTHON2) {
# Fallback for building QtWebEngine with Qt < 5.8
QMAKE_PYTHON2 = python
}
return($$QMAKE_PYTHON2)
}
# Returns the python executable for use with shell / make targets.
defineReplace(pythonPathForShell) {
return($$shell_quote($$shell_path($$pythonPath())))
}
# Returns the python executable for use with $$system()
defineReplace(pythonPathForSystem) {
return($$system_quote($$system_path($$pythonPath())))
}
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(gn/out/Release/gn, $$src_3rd_party_dir))
win32: out = $${out}.exe
return($$out)
}
defineReplace(gnWebEngineArgs) {
linux {
include($$QTWEBENGINE_ROOT/src/buildtools/config/linux.pri)
include($$QTWEBENGINE_ROOT/src/core/config/linux.pri)
}
macos {
include($$QTWEBENGINE_ROOT/src/buildtools/config/mac_osx.pri)
include($$QTWEBENGINE_ROOT/src/core/config/mac_osx.pri)
}
win32 {
include($$QTWEBENGINE_ROOT/src/buildtools/config/windows.pri)
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(gnPdfArgs) {
linux: include($$QTWEBENGINE_ROOT/src/buildtools/config/linux.pri)
macos: include($$QTWEBENGINE_ROOT/src/buildtools/config/mac_osx.pri)
ios: include($$QTWEBENGINE_ROOT/src/pdf/config/ios.pri)
win32: include($$QTWEBENGINE_ROOT/src/buildtools/config/windows.pri)
include($$QTWEBENGINE_ROOT/src/pdf/config/common.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)
}
defineReplace(pkgConfigHostExecutable) {
wrapper_name = $$OUT_PWD/pkg-config-host_wrapper.sh
wrapper_cmd = $$QMAKE_PKG_CONFIG_HOST
isEmpty(wrapper_cmd): wrapper_cmd = pkg-config
wrapper_content = \
"$$LITERAL_HASH!/bin/sh" \
"unset PKG_CONFIG_LIBDIR" \
"unset PKG_CONFIG_SYSROOT_DIR" \
"exec $$wrapper_cmd \"$@\""
!build_pass:!write_file($$wrapper_name, wrapper_content, exe): error()
QMAKE_DISTCLEAN += $$wrapper_name
export(QMAKE_DISTCLEAN)
return($$system_quote($$system_path($$wrapper_name)))
}