<?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>236045</bug_id>
          
          <creation_ts>2022-02-02 16:01:48 -0800</creation_ts>
          <short_desc>[XCBuild] Users of libgtest.a depend on headers from gtest.framework</short_desc>
          <delta_ts>2022-02-02 22:07:53 -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>Tools / Tests</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Williams">emw</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1836678</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-02-02 16:01:48 -0800</bug_when>
    <thetext>In Make-based sequential builds, we always build gtest&apos;s dynamic target (gtest.framework). This target also builds the static library (libgtest.a) as a dependency, but only copies headers to the framework (i.e. `$SRCROOT/gtest/include` is copied to `$BUILT_PRODUCT_DIR/gtest.framework/Headers`). 

When a downstream project imports a gtest header, it finds it in the framework bundle.

The problem is that WebKit never actually links against gtest.framework. All our targets which use gtest link against the static library (libgtest.a). In workspace builds, Xcode sees this and only builds gtest&apos;s static target. Our surprise dependency on the _headers_ of gtest.framework is revealed as users of gtest fail to find its headers.

Fix by making gtest&apos;s static target also produce headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836682</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-02 16:10:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/88406549&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836687</commentid>
    <comment_count>2</comment_count>
      <attachid>450713</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-02-02 16:12:56 -0800</bug_when>
    <thetext>Created attachment 450713
Add headers phase in gtest static target</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836772</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-02 22:07:51 -0800</bug_when>
    <thetext>Committed r289027 (246735@main): &lt;https://commits.webkit.org/246735@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450713.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450713</attachid>
            <date>2022-02-02 16:12:56 -0800</date>
            <delta_ts>2022-02-02 22:07:52 -0800</delta_ts>
            <desc>Add headers phase in gtest static target</desc>
            <filename>gtest-static-target-headers.patch</filename>
            <type>text/plain</type>
            <size>4720</size>
            <attacher name="Elliott Williams">emw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxvZyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0NoYW5nZUxvZwppbmRleCA5ZWYxOGZiNGNkMjMuLmFiMGY2N2Y0OTliMSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAyLTAyICBFbGxpb3R0IFdpbGxpYW1zICA8
ZW13QGFwcGxlLmNvbT4KKworICAgICAgICBbWENCdWlsZF0gVXNlcnMgb2YgbGliZ3Rlc3QuYSBk
ZXBlbmQgb24gaGVhZGVycyBmcm9tIGd0ZXN0LmZyYW1ld29yaworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MDQ1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gTWFrZS1iYXNlZCBzZXF1ZW50aWFsIGJ1
aWxkcywgZ3Rlc3QncyBkeW5hbWljIHRhcmdldCBidWlsZHMsIGV2ZW4gdGhvdWdoIHdlIGRvbid0
IHVzZQorICAgICAgICBpdC4gRG93bnN0cmVhbSBwcm9qZWN0cyB3ZXJlIHJlbHlpbmcgb24gdGhh
dCB0YXJnZXQgdG8gYnVpbGQgYW5kIHByb2R1Y2UgYSBndGVzdC5mcmFtZXdvcmsKKyAgICAgICAg
d2l0aCBoZWFkZXJzIGluIGl0LgorCisgICAgICAgIEluc3RlYWQsIGNvbmZpZ3VyZSBndGVzdCdz
IHN0YXRpYyB0YXJnZXQgdG8gY29weSB0aGUgcHJvamVjdCdzIGBpbmNsdWRlYCBkaXJlY3Rvcnkg
aW50bworICAgICAgICBidWlsZCBwcm9kdWN0cy4gSGVhZGVycyBhcmUgY29waWVkIHRvICRCVUlM
VF9QUk9EVUNUU19ESVIvdXNyL2xpYi9pbmNsdWRlL2d0ZXN0LgorCisgICAgICAgICogZ3Rlc3Qv
eGNvZGUvZ3Rlc3QueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgZm9sZGVyIHJlZmVy
ZW5jZSB0byBgaW5jbHVkZWAuCisKIDIwMjItMDEtMTggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hy
aXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVc2UgYysrMmEgaW5zdGVhZCBvZiBnbnUr
KzJhIGZvciBDb2NvYSBidWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0
L3hjb2RlL2d0ZXN0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9ndGVzdC94Y29kZS9ndGVzdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM1ZThj
YTk1MDVkMy4uMGZjYmUyMDgzMGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVz
dC94Y29kZS9ndGVzdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2d0ZXN0L3hjb2RlL2d0ZXN0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYz
LDYgKzYzLDcgQEAKIAkJNDUzOUM5M0EwRUMyODBFMjAwQTcwRjRDIC8qIGd0ZXN0LXBhcmFtLXV0
aWwuaCBpbiBDb3B5IEhlYWRlcnMgSW50ZXJuYWwgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDUzOUM5MzcwRUMyODBFMjAwQTcwRjRDIC8qIGd0ZXN0LXBhcmFtLXV0aWwuaCAq
LzsgfTsKIAkJNDU2N0M4MTgxMjY0RkY3MTAwNzc0MEJFIC8qIGd0ZXN0LXByaW50ZXJzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTY3QzgxNzEyNjRG
RjcxMDA3NzQwQkUgLyogZ3Rlc3QtcHJpbnRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQdWJsaWMsICk7IH07IH07CiAJCUEzQzEwQkUwMjYwOTUyQzYwMDIzMTU1RCAvKiBndGVz
dC1tYXRjaGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTNDMTBCREYyNjA5NTJDNTAwMjMxNTVEIC8qIGd0ZXN0LW1hdGNoZXJzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OworCQlERDNEQ0E0ODI3QUI0MEQy
MDA3RTVCNjEgLyogZ3Rlc3QgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBERDNEQ0E0NjI3QUI0MEFEMDA3RTVCNjEgLyogZ3Rlc3QgKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjY3RDRGM0UxQzdGNUQ4QjAwMTdD
NzI5IC8qIGd0ZXN0LXBvcnQtYXJjaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjY3RDRGM0QxQzdGNUQ4QjAwMTdDNzI5IC8qIGd0ZXN0LXBvcnQtYXJj
aC5oICovOyB9OwogCQlGNjdENEYzRjFDN0Y1REE3MDAxN0M3MjkgLyogZ3Rlc3QtcG9ydC1hcmNo
LmggaW4gQ29weSBIZWFkZXJzIEludGVybmFsICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2N0Q0RjNEMUM3RjVEOEIwMDE3QzcyOSAvKiBndGVzdC1wb3J0LWFyY2guaCAqLzsg
fTsKIAkJRjY3RDRGNDQxQzdGNUREMDAwMTdDNzI5IC8qIGd0ZXN0LXBvcnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2N0Q0RjQxMUM3RjVERDAwMDE3
QzcyOSAvKiBndGVzdC1wb3J0LmggKi87IH07CkBAIC0yMzQsNiArMjM1LDcgQEAKIAkJNDUzOUM5
MzcwRUMyODBFMjAwQTcwRjRDIC8qIGd0ZXN0LXBhcmFtLXV0aWwuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gImd0ZXN0LXBhcmFtLXV0aWwuaCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ1NjdDODE3MTI2NEZGNzEwMDc3NDBCRSAvKiBndGVzdC1wcmludGVycy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAiZ3Rlc3QtcHJpbnRlcnMuaCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzQzEwQkRGMjYwOTUyQzUwMDIzMTU1RCAvKiBn
dGVzdC1tYXRjaGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAiZ3Rlc3Qt
bWF0Y2hlcnMuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUREM0RDQTQ2MjdBQjQw
QUQwMDdFNUI2MSAvKiBndGVzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IGZvbGRlcjsgcGF0aCA9IGd0ZXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNjdENEYzRDFDN0Y1RDhCMDAxN0M3MjkgLyogZ3Rlc3QtcG9ydC1hcmNoLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJndGVzdC1wb3J0LWFyY2guaCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY2N0Q0RjQxMUM3RjVERDAwMDE3QzcyOSAvKiBndGVz
dC1wb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJndGVzdC1wb3J0Lmgi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjdENEY0MjFDN0Y1REQwMDAxN0M3Mjkg
LyogZ3Rlc3QtcHJpbnRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gImd0
ZXN0LXByaW50ZXJzLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzM5LDYgKzM0
MSw3IEBACiAJCTQwNDg4M0Q5MEUyRjc5OUIwMENGNzY1OCAvKiBpbmNsdWRlICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlERDNEQ0E0NjI3QUI0MEFEMDA3
RTVCNjEgLyogZ3Rlc3QgKi8sCiAJCQkJNDA0ODgzREEwRTJGNzk5QjAwQ0Y3NjU4IC8qIGd0ZXN0
ICovLAogCQkJKTsKIAkJCW5hbWUgPSBpbmNsdWRlOwpAQCAtNDU3LDYgKzQ2MCwxNCBAQAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OworCQlE
RDNEQ0E0NzI3QUI0MENFMDA3RTVCNjEgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhl
YWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZp
bGVzID0gKAorCQkJCUREM0RDQTQ4MjdBQjQwRDIwMDdFNUI2MSAvKiBndGVzdCBpbiBIZWFkZXJz
ICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwor
CQl9OwogLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4g
UEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KQEAgLTQ5OCw2ICs1MDksNyBAQAogCQkJaXNhID0g
UEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDQwQzg0OTAyMTAx
QTIxMkUwMDgzNjQyQSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRh
cmdldCAiZ3Rlc3Qtc3RhdGljIiAqLzsKIAkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCUREM0RDQTQ3
MjdBQjQwQ0UwMDdFNUI2MSAvKiBIZWFkZXJzICovLAogCQkJCTQwQzg0OEY3MTAxQTIwOUMwMDgz
NjQyQSAvKiBTb3VyY2VzICovLAogCQkJKTsKIAkJCWJ1aWxkUnVsZXMgPSAoCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>