Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Building QtWebEngine for different target Platforms
Forum Updated to NodeBB v4.3 + New Features

Building QtWebEngine for different target Platforms

Scheduled Pinned Locked Moved Unsolved General and Desktop
3 Posts 2 Posters 845 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • kosteltsevK Offline
    kosteltsevK Offline
    kosteltsev
    wrote on last edited by
    #1

    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.

    K 1 Reply Last reply
    0
    • kosteltsevK kosteltsev

      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.

      K Offline
      K Offline
      koahnig
      wrote on last edited by
      #2

      @kosteltsev

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

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

      Vote the answer(s) that helped you to solve your issue(s)

      kosteltsevK 1 Reply Last reply
      0
      • K koahnig

        @kosteltsev

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

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

        kosteltsevK Offline
        kosteltsevK Offline
        kosteltsev
        wrote on last edited by
        #3

        @koahnig

        Thank you. I will look.

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved