Who is responsible for QtWebEngine build system?
-
In the Qt build system there are some issues related to passing CFLAGS to the QtWebEngine build system during the process of building whole Qt (when the parameter -skip qtwebengine is not used). Qt build system reads the contents of QMAKE_CFLAGS and declare ninja variables according to found options. If we consider the qtwebengine/src/core/gyp_run.pro we can find the code for parsing QMAKE_CFLAGS contains. For example, when we deal to MIPS architecture the code of gyp_run.pro trying to find the "mips32r2" substring in the value of QMAKE_CFLAGS variable:
contains(QMAKE_CFLAGS, "mips32r2"): mips_arch_variant=\"r2\"
But in the QMAKE_CFLAGS variable the contains() function cannot find "mips32r2" string because the GCC option can be "-march=mips32r2". Also in the code above we have to add mips_arch_variant variable into GYP_CONFIG. So the correct code should be loke follow:
contains(QMAKE_CFLAGS, "-march=mips32r2"): GYP_CONFIG += mips_arch_variant=\"r2\"
Further created ninja variables are processed in the file qtwebengine/src/3rdparty/chromium/build/common.gypi where we also can see incorrect or not fulfill behaviour.
For example to tune compilation for the P5600 architecture we have to pass the following options to GCC-5.3.0
$ ${CROSS_COMPILE}gcc -march=mips32r2 -mtune=p5600
For GCC-5.4.0 we can simplify our controls to the only one option: -march=p5600.
For MIPS P5600 I can suggest patch. Please let me known who are responsible for QtWebEngine build system. I will send my suggestions as a patch. I don't want to contribute this by myself because I'm not a Qt developer.
-
There is no sense in duplicated posting