November 2023
-
Condition mimalloc's -Wno-class-memaccess on GCC version
October 2023
-
specify minimum Windows version when linking
July 2023
-
Fix FURY=1 build removing the "obj/fury/" folder after linking.
Show details
This bug was introduced in 36af1bb2 and caused the subsequent mapster32 linking to fail. The obj dump folder now has "_dump" as suffix. For regular duke3d builds, this temp folder had the name "obj/eduke32", and hence did not conflict with the "obj/duke3d" folder.
May 2023
-
Fix whitespace issues
-
Disable LF on macOS
-
Improve LF thing
-
Add consideration of IMPLICIT_ARCH=arm64 to logic
Show details
Fixes warning: -read_only_relocs cannot be used with arm64
-
Don't use LLD on macOS
-
Use correct location of Homebrew when building on Apple Silicon
-
silence libxmp warnings
-
disable ASan in 64-bit debug
-
fix problems with 36af1bb2881ac1ec58d6d80142adc12a285fa7d3 and ee2d323fe0682c3b95d8f85509f289502520318c
Show details
Now I like it even less, ha.
April 2023
-
this was needed to get automatic dependency generation to work with source files that exist in subdirectories below a target's main source dir, but I don't really like it.
-
parameterize wildcard portion of getfiltered function
-
make using LTO=xx for multithreaded linking work on Windows without the error spew, and default it to 12 threads if unspecified
September 2022
-
standardize platform toolset and language settings
-
make -frounding-math clang-only
Show details
We were only using this to make clang behave like GCC, but some versions of GCC are bugged such that enabling -frounding-math prevents them from correctly handling constexpr float values determined at compile time.
-
rework to use exclusion lists instead of inclusion lists for determining which objects to use as part of the build
Show details
Benefits: almost 200 lines deleted from the Makefile, new source files added to the project require no additional setup. Drawback: you can't leave random shit with .c or .cpp file extensions laying around your source directories (sounds more like another benefit tbh).
-
enable ASan with FORCEDEBUG=1, not just FORCEDEBUG=2
July 2022
-
fix tarball version numbering
June 2022
-
bump -march from nocona to core2 for x86_64
-
if not 0 or 1, pass value of LTO variable as parameter to -flto argument
-
specify -frounding-math to make sure GCC and clang are on the same page regarding float behavior
-
add -Wno-null-dereference and -Wno-stringop-overflow to ImGui build flags
-
add -Wno-unused-function for clang
-
remove -Wl,--allow-multiple-definition, -mwindows, -lmingw32, -lpthread, -pthread, -static-libgcc, -static-libstdc++, and add -Wl,-subsystem,windows
Show details
None of these seem to be needed anymore. Tested with MSYS2 and the newest MSVCRT based toolchain from https://winlibs.com
-
enable ThinLTO with clang on Windows, use lld when linking clang builds
Show details
lld works with GCC builds too, but you have to disable LTO if you want to use it.
February 2022
-
remove extra escape characters from link failure message
January 2022
-
bump CSTD and CXXSTD to gnu11 and gnu++14 respectively
December 2021
-
add SDL_STATIC so Fury can static link SDL on Linux, but not any of its dependencies or other required libraries
October 2021
-
don't bother trying to fill VC_REV, VC_HASH, and VC_BRANCH if we don't even have a .git directory
-
disable microprofile
December 2020
-
fix "C1083: Cannot open compiler generated file" error with polymost1Frag.glsl.cpp and polymost1Vert.glsl.cpp
Show details
I'm not entirely happy with this due to the addition of the extra filter in the IDE to hold the generated files, but it's better than having to hit build twice in order to get a successful compilation.
June 2020
-
fix build.vcxproj after merge error with ab90c721b94d2e683b909f1a49b35f6ed8af8901
-
specify 9 characters of length when generating VC_HASH
Show details
This is the default for current versions of git, but older versions used a default of 7.
-
use HEAD instead of origin for generating VC_HASH
May 2020
-
Only pass --high-entropy-va when we pass --dynamicbase
December 2019
-
Add USE_SSE2 option for 32-bit x86 and default it to off
Show details
This option might not exist forever, but for now entropy is preserved.
November 2019
-
Add DBGLEVEL so I can set it to 3 and get macros in my symbols
September 2019
-
Separate -Wl,--dynamicbase into its own variable so it can be disabled independently.
Show details
For some reason it breaks my GDB.
August 2019
-
Disable manifest file generation on all platforms
March 2018
-
Allow component cflags to override global CWARNS for clang-tools rule.
January 2018
-
Build debug builds with -Og instead of -O0 where available.
August 2017
-
Fix building the tools on Mac.
-
More no-shell stuff that I didn't want to rebase past the lowercase stuff.
-
Make the dynamic rule creation a little bit simpler, thanks to the previous commit.
-
Make most variables in the component construction lowercase.
-
Mess with Wii stuff to fix a majority of its make invocation circumstances.
-
Eliminate all mandatory use of *nix userland tools.
Show details
Windows should no longer need an msys install to build with MinGW-w64. Working Title: MSYS Gets Shell-Shocked
-
Assignment operator cleanup.