Bug 219870 - "make clean" fails on EmptyDSTROOT target
Summary: "make clean" fails on EmptyDSTROOT target
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-12-14 12:47 PST by Ryan Hostetler
Modified: 2020-12-15 09:12 PST (History)
2 users (show)

See Also:


Attachments
Patch (1.53 KB, patch)
2020-12-14 12:57 PST, Ryan Hostetler
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Hostetler 2020-12-14 12:47:28 PST
rdar://72309233

After the fix for rdar://55716322 in https://trac.webkit.org/changeset/270536/webkit, issuing "make clean" from the command line fails when it hits the EmptyDSTROOT target that was added in that revision.

Steps To Reproduce:
1. From the root of OpenSource, issue "make clean" in Terminal.

Results:
After cleaning a bunch of targets successfully, it fails when it hits the EmptyDSTROOT target with a "Build setting PRODUCT_NAME undefined" error.

Output:

=== CLEAN AGGREGATE TARGET EmptyDSTROOT OF PROJECT WebKit WITH CONFIGURATION Debug ===

Check dependencies
Build setting PRODUCT_NAME undefined

** CLEAN FAILED **


The following build commands failed:
	Check dependencies
(1 failure)
make[2]: *** [clean] Error 65
make[1]: *** [clean] Error 2
make: *** [clean] Error 2
Comment 1 Ryan Hostetler 2020-12-14 12:57:02 PST
Created attachment 416188 [details]
Patch
Comment 2 Alexey Proskuryakov 2020-12-14 17:11:54 PST
Comment on attachment 416188 [details]
Patch

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

> Source/WebKit/WebKit.xcodeproj/project.pbxproj:14427
> +				PRODUCT_NAME = "$(TARGET_NAME)";

How do we decide when to put PRODUCT_NAME in xcconfig, and when do we put it in pbxproj? I see precedent for both.
Comment 3 Ryan Hostetler 2020-12-14 17:44:22 PST
(In reply to Alexey Proskuryakov from comment #2)
> Comment on attachment 416188 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=416188&action=review
> 
> > Source/WebKit/WebKit.xcodeproj/project.pbxproj:14427
> > +				PRODUCT_NAME = "$(TARGET_NAME)";
> 
> How do we decide when to put PRODUCT_NAME in xcconfig, and when do we put it
> in pbxproj? I see precedent for both.

There are a few similar script-only aggregate targets in bmalloc, JavaScriptCore, libwebrtc, WTF that keep this setting in pbxproj.
I opted for the pbxproj approach as to not introduce a new file for a target that is designed to work around a bug.
Comment 4 EWS 2020-12-15 09:12:56 PST
Committed r270843: <https://trac.webkit.org/changeset/270843>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416188 [details].