Building QtWebEngine for different target Platforms

  • 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/ we can find the code for parsing QMAKE_CFLAGS contains. For example, when we deal to MIPS architecture the code of 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.

  • @kosteltsev

    You should check out on JIRA and file a bug report.

    JIRA should be also the platform for exchanging information on patches.

  • @koahnig

    Thank you. I will look.

Log in to reply