[RCORE] Make some config defines settable by build systems #4548
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.
The way config.h and it's 'SUPPORT_FEATURE' flags are setup right now makes it impossible for build systems to change these flags without fully redefining every feature in config.h. This is not easy for people to do, and is counter to raylib's simple design.
This PR takes 3 of those flags and reverses the sense of them, turning them from SUPPORT_ flags to DISABLE_ flags.
This means that by default raylib will enable the code that implements these features, unless the build system defines the specific DISABLE_ feature flag.
By reversing these defines, it makes it very easy for people to simply add the things they want to turn off to a makefile or project. Raylib has gone from 'add stuff to it' to 'remove stuff you don't need from it'.
I simply picked 3 flags that made the most sense to disable, if this concept is accepted we can apply it additional features.
The big ones here are screen capture and gif recording since they use a specific key that people may want to use for other features (this is my use case)