Passing `-msse2` doesn't seem to be sufficient to opt into SSE floating point math
instead of the less stable x87.
`-mstackrealign` also seems necessary when using SSE on x86_32.
Add optional `detect.py` `get_tools` method to let platforms register SCons
tools they need.
This helps move this logic out of SConstruct, keeping platforms more self
contained, and helping thirdparty platforms define their own custom tools.
This logic was also unreliable (the `use_mingw` one would only work if
passed manually on the command line, not in e.g. `get_flags`).
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
Setting it only for release templates on Windows and macOS was inconsistent,
and Jolt requires it as a minimum.
Drop the `-mxsave` flag from the raycast module, this doesn't seem to be
used explicitly by Embree, and unnecessarily makes our config and baseline
muddy.
It seems that we are only enabling this option together with unsafe
build determinators. However it seems that MD5-timestamp by itself is
not unsafe.
MD5-Timestamp works by first checking the timestamp of a file, comparing
it to the scons database and if it does not match it will do an md5sum
to determine if the file needs rebuilding.
Without this option SCons will always create md5sums of every file. In
the case of a null build this is 50% of the time.
* Delete old gcc 7 check
* Use f-strings where it is easy
* Use AddVariables instead of Add for collections of options
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Noticed that when I run with `ninja_file` it wasn't created even
though in terminal I saw that the file will be generated
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
* Delete old check for gcc 8 as we support 9 or higher
* Flatten branches for clang and apple clang
* Renamed is_vanilla_clang to is_apple_clang to be more clear
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>