Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

shims: enable cc arg refurbishment for ninja #12990

Merged
merged 1 commit into from Mar 14, 2022

Conversation

Bo98
Copy link
Member

@Bo98 Bo98 commented Mar 12, 2022

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes? Here's an example.
  • Have you successfully run brew style with your changes locally?
  • Have you successfully run brew typecheck with your changes locally?
  • Have you successfully run brew tests with your changes locally?

We do it for Make so we should start doing it for Ninja too now.

@Bo98 Bo98 assigned cho-m and unassigned cho-m Mar 12, 2022
@BrewTestBot
Copy link
Member

Review period will end on 2022-03-15 at 00:00:00 UTC.

@Bo98 Bo98 requested a review from cho-m March 12, 2022 18:19
@BrewTestBot BrewTestBot added the waiting for feedback Merging is blocked until sufficient time has passed for review label Mar 12, 2022
@Bo98 Bo98 added the critical Critical change which should be shipped as soon as possible. label Mar 12, 2022
@BrewTestBot BrewTestBot removed the waiting for feedback Merging is blocked until sufficient time has passed for review label Mar 12, 2022
@BrewTestBot
Copy link
Member

Review period skipped due to critical label.

@carlocab
Copy link
Member

Fine with this. However, I wonder whether the fact that we've gone for so long without refurbishing cc args with ninja with very little problems suggests that we should consider doing less arg refurbishment rather than more of it.

@Bo98
Copy link
Member Author

Bo98 commented Mar 14, 2022

Well it is causing issues not stripping -march - it's just not widely noticeable because our CI does not test for issues caused by that. Maybe some things are adding debug symbols but the consequences of that are negligible.

The rest are mostly portability and compatibility reasons and as such really shouldn't matter for modern software with a modern build system:

  • Being less strict on warnings (good for newer Xcodes that may introduce additional warnings).
  • Removing non-Clang flags (most modern build systems usually abstract this away).
  • Enforcing mmacosx-version-min to be 10.9 or later (fixes stdlib issues) on 10.13 and later.
  • Enforces -isysroot to be Homebrew's choice of SDK (this can be very important for things like curl headers - using a newer SDK can lead to and has led to runtime crahes).
  • Preventing -I, -L to non-Homebrew locations (does not impact our CI really, but can be important for users building from source).

For software with a good build system, most of the above should not be a concern. Software using Ninja tend to have more modern build systems.

Ninja is still to be honest quite a small portion of our formulae - it's largely inflated by GNOME formulae. Qt and v8 are two to look out for.

@Bo98
Copy link
Member Author

Bo98 commented Mar 14, 2022

we should consider doing less arg refurbishment rather than more of it.

To be clear though: I do generally agree with this.

@Bo98 Bo98 merged commit f7b7293 into Homebrew:master Mar 14, 2022
@Bo98 Bo98 deleted the ninja-refurbish-args branch March 14, 2022 17:53
@MikeMcQuaid
Copy link
Member

👍🏻 on this, thanks @Bo98!

@github-actions github-actions bot added the outdated PR was locked due to age label Apr 21, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 21, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
critical Critical change which should be shipped as soon as possible. outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants