[build] fix various make issues#11486
Open
sorens wants to merge 6 commits into
Open
Conversation
remove this ancient logical branch pinning -mcpu=apple-m1 on darwin and all other os with -march=native. -march and -mcpu had little effect on runtime performance. set $MARCH and $MCPU as desired when building.
xcode 11 was a long time ago. plus, flag is for the link step, not the compile step so it was never being applied anyway.
debug, release and optimized can coexist in engine/build/
1. logical error when to use default_potion() 2. resolve the 'object backing the pointer ' warning for potion_view
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
i am interested in making the build process easier, deterministic, reproducible and useful (use correct flags, remove the bit rot). it seems the four targets are:
makemake debugmake releasemake optimizedI left
makeuntouched, no variant build (CI reasons).i investigated the use of the
fast-mathoptimization. there was no speed improvement observed in my testing (darwin, m5). there was a noticeable affect to determinism. if you still want to usefast-math, set$FFAST-MATHin your environment prior to building.-fltodid have a much greater impact on runtime performance, set$LTOin your environment. note:-flto, does not use the-O3compiler optimization; likely you'll default to your linker's default optimization level (maybe-O2?). In my testing, forcing a-O3linker optimization had no effect on simc performance.i am using the latest macOS, Tahoe 26.5 on an M5 with the latest tools. If there are developers that need to use older platforms, please let me know. i made these changes with the goal of honoring as many existing platforms and versions as possible. if i made a choice that makes development more difficult for you, let me know and I can adjust.
there is always a solution.
follow-on: I forgot to check CI and there is drift from what CI is building to what I was working on in the engine Makefile. i'll look at that next. I guess the real fixes would be to align on cmake+ninja for every platform.