Bug 249718

Summary: Unify more of xcconfig content across projects
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: WebKit Misc.Assignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal CC: emw, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=249963

Description Alexey Proskuryakov 2022-12-21 08:43:56 PST
Move more common variables from individual projects' xcconfigs to a central location, refactoring where they diverged.
Comment 1 Radar WebKit Bug Importer 2022-12-21 08:44:12 PST
<rdar://problem/103600264>
Comment 2 Alexey Proskuryakov 2022-12-21 09:13:14 PST
Pull request: https://github.com/WebKit/WebKit/pull/7958
Comment 3 Alexey Proskuryakov 2022-12-21 09:16:29 PST
The configs are still far from what I'd consider nicely organized. My goal here was to move as much as possible, reducing the amount of almost-duplicated code with subtle differences. This will make it possible to have verifiably correct PRs for further cleanup.

Some TODOs that I wrote down while working on this:

- Update TARGET_MAC_OS_X_VERSION_MAJOR (and delete TARGET_MACOS_LEGACY_VERSION_IDENTIFIER)

- Clean up SEARCH_PATHS, they generally make no sense
    - split them by production (deployment_location?) vs. engineering 

- Is SUPPORTED_PLATFORMS needed anywhere?

- Eliminate WK_WHICH_BUILD_SYSTEM

- DumpRenderTree.app - skip install on macOS (unsure about Catalyst)

- Normalize prefixing search paths with SDK_DIR/SDKROOT (should be consistent, and maybe neither is needed)
    - Full path is currently needed when makefiles use the variable

- Normalize when we use $(inherited), and when we don't.

- _PATH vs. _DIR naming - which are full file system paths? Which ones end with a slash? Should we have something like _IF_NEEDED on those that are empty when unused?

- What is COPY_STAGED_FRAMEWORKS_TO_SECONDARY_PATH? Why do we ever need to copy during build?

- Use actual names for cryptexes etc. in variables, not the confusing "override/alternative" naming.

- libANGLE-shared.dylib and libwebrtc.dylib LC_ID_DYLIB's are inconsistent in STP (one is loader path relative, another is absolute).
Comment 4 EWS 2022-12-22 16:00:38 PST
Committed 258266@main (e31966cc25b1): <https://commits.webkit.org/258266@main>

Reviewed commits have been landed. Closing PR #7958 and removing active labels.