<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>219835</bug_id>
          
          <creation_ts>2020-12-13 08:52:11 -0800</creation_ts>
          <short_desc>[CMake][WPE] Remove unconditional WebCore dependency to WPEBackend-FDO</short_desc>
          <delta_ts>2020-12-15 02:14:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CMake</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>annulen</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>psaavedra</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1714317</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-12-13 08:52:11 -0800</bug_when>
    <thetext>This dependency should be enabled only when client-side video or audio rendering is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714318</commentid>
    <comment_count>1</comment_count>
      <attachid>416117</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-12-13 08:53:46 -0800</bug_when>
    <thetext>Created attachment 416117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714483</commentid>
    <comment_count>2</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2020-12-14 10:29:19 -0800</bug_when>
    <thetext>Depending on the toolchain is composed (for example, I&apos;m thinking about in SDK generated by the Yocto meta-webkit layout what includes the libWPE as a system library) we could  get such build instruction for an object:

```
arm-poky-linux-gnueabi-g++   -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi --sysroot=/home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi  -DBUILDING_WITH_CMAKE=1
...
...
-isystem /home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/include/wpe-fdo-1.0
...
-isystem /home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/include/wpe-1.0
...
-c DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-40.cpp
```

This lead in a in a conflict during the headers lookup due to a collision in the &quot;version.h&quot; files name included in both libraries:
 

In file included from /home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/include/wpe-1.0/wpe/wpe.h:43,
                 from ../../Source/WebCore/platform/libwpe/PlatformKeyboardEventLibWPE.cpp:32,
                 from DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-39.cpp:8:
/home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/include/wpe-fdo-1.0/wpe/version.h:27:2: error: #error &quot;Only &lt;wpe/fdo.h&gt; can be included directly.&quot;
   27 | #error &quot;Only &lt;wpe/fdo.h&gt; can be included directly.&quot;


The wpe-1.0/wpe/wpe.h is looking for the version.h header from wpe-1.0 but it finds the wpe-fdo-1.0/wpe/version.h because the WPEBackend-FDO lib is defined before as a system lib before than the libWPE library.


On way to avoid this it could be just ensure the right order if the -isystem flags by prepending (better say: appending before) the LibWPE system lib: `list(APPEND WebCore_LIBRARIES ${WPEBACKEND_FDO_LIBRARIES})` before adding the WPEbackend-fdo system libraries. Like here:

```
Index: Source/WebCore/PlatformWPE.cmake
===================================================================
--- Source/WebCore/PlatformWPE.cmake	(revision 270767)
+++ Source/WebCore/PlatformWPE.cmake	(working copy)
@@ -60,7 +60,6 @@
     ${GLIB_LIBRARIES}
     ${LIBTASN1_LIBRARIES}
     ${UPOWERGLIB_LIBRARIES}
-    ${WPEBACKEND_FDO_LIBRARIES}
 )
 
 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
@@ -69,10 +68,15 @@
     ${GLIB_INCLUDE_DIRS}
     ${LIBTASN1_INCLUDE_DIRS}
     ${UPOWERGLIB_INCLUDE_DIRS}
-    ${WPEBACKEND_FDO_INCLUDE_DIRS}
 )
 
+if (USE_WPE_VIDEO_PLANE_DISPLAY_DMABUF OR USE_WPEBACKEND_FDO_AUDIO_EXTENSION)
+    list(APPEND WebCore_LIBRARIES ${WPEBACKEND_FDO_LIBRARIES})
+    list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES ${WPE_INCLUDE_DIRS})
+    list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES ${WPEBACKEND_FDO_INCLUDE_DIRS})
+endif ()
+
 if (USE_OPENXR)
     list(APPEND WebCore_LIBRARIES ${OPENXR_LIBRARIES})
     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES ${OPENXR_INCLUDE_DIRS})
-endif ()
\ No newline at end of file
+endif ()
```

WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714493</commentid>
    <comment_count>3</comment_count>
      <attachid>416171</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-12-14 10:48:15 -0800</bug_when>
    <thetext>Created attachment 416171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714534</commentid>
    <comment_count>4</comment_count>
      <attachid>416171</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2020-12-14 12:03:01 -0800</bug_when>
    <thetext>Comment on attachment 416171
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=416171&amp;action=review

LGTM

&gt; Source/WebCore/PlatformWPE.cmake:75
&gt; +    list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES ${WPE_INCLUDE_DIRS})

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714696</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-15 02:14:47 -0800</bug_when>
    <thetext>Committed r270826: &lt;https://trac.webkit.org/changeset/270826&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416171.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416117</attachid>
            <date>2020-12-13 08:53:46 -0800</date>
            <delta_ts>2020-12-14 10:48:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219835-20201213085344.patch</filename>
            <type>text/plain</type>
            <size>1854</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU1NzQ0NzU5YWQwYzVk
NmZjMmY4NjU5MDYyMDM1MDY4MjViZDJmOS4uNjY3NThhZmQ3ZTY3NTcyNDUwOGM1Njc0NDFjM2Zl
MDFjZGZiZmNkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTEyLTEzICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ01ha2VdW1dQ
RV0gUmVtb3ZlIHVuY29uZGl0aW9uYWwgV2ViQ29yZSBkZXBlbmRlbmN5IHRvIFdQRUJhY2tlbmQt
RkRPCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4
MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBs
YXRmb3JtV1BFLmNtYWtlOiBUaGUgV1BFQmFja2VuZC1GRE8gZGVwZW5kZW5jeSBzaG91bGQgYmUg
ZW5hYmxlZCBvbmx5IHdoZW4gY2xpZW50LXNpZGUKKyAgICAgICAgdmlkZW8gb3IgYXVkaW8gcmVu
ZGVyaW5nIGlzIGVuYWJsZWQuCisKIDIwMjAtMTItMTMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgbWlzc2luZyBHcmlkIGZpbGVzIHRv
IHRoZSBwcm9qZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdQRS5jbWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IDc5YzUxODI4ZDE5ZTY3
Y2UyNWUxODlhZTIxN2IwNzU1ZGRkMjkxZTkuLmY4YjA1YWM5ZDU2MjJlYzUxMTVhNmRjMjRmZjVj
ZWFhMGYwMmMzMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC02MCw3ICs2MCw2IEBA
IGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCiAgICAgJHtHTElCX0xJQlJBUklFU30KICAg
ICAke0xJQlRBU04xX0xJQlJBUklFU30KICAgICAke1VQT1dFUkdMSUJfTElCUkFSSUVTfQotICAg
ICR7V1BFQkFDS0VORF9GRE9fTElCUkFSSUVTfQogKQogCiBsaXN0KEFQUEVORCBXZWJDb3JlX1NZ
U1RFTV9JTkNMVURFX0RJUkVDVE9SSUVTCkBAIC02OSwxMCArNjgsMTQgQEAgbGlzdChBUFBFTkQg
V2ViQ29yZV9TWVNURU1fSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICR7R0xJQl9JTkNMVURFX0RJ
UlN9CiAgICAgJHtMSUJUQVNOMV9JTkNMVURFX0RJUlN9CiAgICAgJHtVUE9XRVJHTElCX0lOQ0xV
REVfRElSU30KLSAgICAke1dQRUJBQ0tFTkRfRkRPX0lOQ0xVREVfRElSU30KICkKIAoraWYgKFVT
RV9XUEVfVklERU9fUExBTkVfRElTUExBWV9ETUFCVUYgT1IgVVNFX1dQRUJBQ0tFTkRfRkRPX0FV
RElPX0VYVEVOU0lPTikKKyAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUyAke1dQRUJB
Q0tFTkRfRkRPX0xJQlJBUklFU30pCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TWVNURU1fSU5D
TFVERV9ESVJFQ1RPUklFUyAke1dQRUJBQ0tFTkRfRkRPX0lOQ0xVREVfRElSU30pCitlbmRpZiAo
KQorCiBpZiAoVVNFX09QRU5YUikKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUyAk
e09QRU5YUl9MSUJSQVJJRVN9KQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xV
REVfRElSRUNUT1JJRVMgJHtPUEVOWFJfSU5DTFVERV9ESVJTfSkKLWVuZGlmICgpClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorZW5kaWYgKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416171</attachid>
            <date>2020-12-14 10:48:15 -0800</date>
            <delta_ts>2020-12-15 02:14:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219835-20201214104813.patch</filename>
            <type>text/plain</type>
            <size>1936</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBiZmYyZjZmYTc3OGJh
NDc5YjVjYjUyMGQ4ZDEzMTM4NGY5MjEyZi4uOTFmNzE5M2U3YTg2MTJlYTM3ZDBiYmRhOTNiMmFm
MWI2M2I4ZmU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTEyLTEzICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ01ha2VdW1dQ
RV0gUmVtb3ZlIHVuY29uZGl0aW9uYWwgV2ViQ29yZSBkZXBlbmRlbmN5IHRvIFdQRUJhY2tlbmQt
RkRPCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4
MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBs
YXRmb3JtV1BFLmNtYWtlOiBUaGUgV1BFQmFja2VuZC1GRE8gZGVwZW5kZW5jeSBzaG91bGQgYmUg
ZW5hYmxlZCBvbmx5IHdoZW4gY2xpZW50LXNpZGUKKyAgICAgICAgdmlkZW8gb3IgYXVkaW8gcmVu
ZGVyaW5nIGlzIGVuYWJsZWQuCisKIDIwMjAtMTItMTQgIEVtaWxpbyBDb2JvcyDDgWx2YXJleiAg
PGVtaWxpb0BjcmlzYWwuaW8+CiAKICAgICAgICAgSW1wbGVtZW50IDo6ZmlsZS1zZWxlY3Rvci1i
dXR0b24gcHNldWRvLWVsZW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bVdQRS5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IDc5YzUx
ODI4ZDE5ZTY3Y2UyNWUxODlhZTIxN2IwNzU1ZGRkMjkxZTkuLjFkNTZmZTIzOTdhYTY4MzkyMmY5
ZTY1ZTNjY2Q3NDcwN2U3Mzc0NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
V1BFLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC02MCw3
ICs2MCw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCiAgICAgJHtHTElCX0xJQlJB
UklFU30KICAgICAke0xJQlRBU04xX0xJQlJBUklFU30KICAgICAke1VQT1dFUkdMSUJfTElCUkFS
SUVTfQotICAgICR7V1BFQkFDS0VORF9GRE9fTElCUkFSSUVTfQogKQogCiBsaXN0KEFQUEVORCBX
ZWJDb3JlX1NZU1RFTV9JTkNMVURFX0RJUkVDVE9SSUVTCkBAIC02OSwxMCArNjgsMTUgQEAgbGlz
dChBUFBFTkQgV2ViQ29yZV9TWVNURU1fSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICR7R0xJQl9J
TkNMVURFX0RJUlN9CiAgICAgJHtMSUJUQVNOMV9JTkNMVURFX0RJUlN9CiAgICAgJHtVUE9XRVJH
TElCX0lOQ0xVREVfRElSU30KLSAgICAke1dQRUJBQ0tFTkRfRkRPX0lOQ0xVREVfRElSU30KICkK
IAoraWYgKFVTRV9XUEVfVklERU9fUExBTkVfRElTUExBWV9ETUFCVUYgT1IgVVNFX1dQRUJBQ0tF
TkRfRkRPX0FVRElPX0VYVEVOU0lPTikKKyAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0xJQlJBUklF
UyAke1dQRUJBQ0tFTkRfRkRPX0xJQlJBUklFU30pCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9T
WVNURU1fSU5DTFVERV9ESVJFQ1RPUklFUyAke1dQRV9JTkNMVURFX0RJUlN9KQorICAgIGxpc3Qo
QVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMgJHtXUEVCQUNLRU5EX0ZE
T19JTkNMVURFX0RJUlN9KQorZW5kaWYgKCkKKwogaWYgKFVTRV9PUEVOWFIpCiAgICAgbGlzdChB
UFBFTkQgV2ViQ29yZV9MSUJSQVJJRVMgJHtPUEVOWFJfTElCUkFSSUVTfSkKICAgICBsaXN0KEFQ
UEVORCBXZWJDb3JlX1NZU1RFTV9JTkNMVURFX0RJUkVDVE9SSUVTICR7T1BFTlhSX0lOQ0xVREVf
RElSU30pCi1lbmRpZiAoKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2VuZGlmICgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>