Bug 249718 - Unify more of xcconfig content across projects
Summary: Unify more of xcconfig content across projects
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Alexey Proskuryakov
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-12-21 08:43 PST by Alexey Proskuryakov
Modified: 2022-12-30 18:46 PST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.