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
QtWS25 Last Chance

Building QtWebEngine for different target Platforms

Scheduled Pinned Locked Moved Unsolved General and Desktop
3 Posts 2 Posters 805 Views
  • 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