Build 10527
GIT-
Condition mimalloc's -Wno-class-memaccess on GCC version
SVN handles and Git names are merged into one person.
Condition mimalloc's -Wno-class-memaccess on GCC version
Fix whitespace issues
Disable LF on macOS
Improve LF thing
Add consideration of IMPLICIT_ARCH=arm64 to logic
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
Only pass --high-entropy-va when we pass --dynamicbase
Add USE_SSE2 option for 32-bit x86 and default it to off
This option might not exist forever, but for now entropy is preserved.
Add DBGLEVEL so I can set it to 3 and get macros in my symbols
Separate -Wl,--dynamicbase into its own variable so it can be disabled independently.
For some reason it breaks my GDB.
Disable manifest file generation on all platforms
Allow component cflags to override global CWARNS for clang-tools rule.
Build debug builds with -Og instead of -O0 where available.
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.
Move rules around to unbreak Linux builds. This may be a GNU Make bug. DONT_BUILD.
Distinguish between .c files in rsrc and ones generated at build time in obj.
Add libxmp-lite, replacing static linking to a library that was uncommon in Linux and Mac package managers.
Add LPeg sources, replacing the haphazard static linking that required a custom-built library in a hardcoded location.
Move the ENet group up into a new section for libraries that are not ours but included in our repository.
Remove manual assembly of object file lists and replace it with a system for tracking dependencies between groups.
Rename some groups so that the part before the first _ corresponds to the parent group that has _SRC and _OBJ defines.
Replace "gnu" with "c" in language standard declarations if we are using clang.
This should give us compatibility without compromising platforms that either don't recognize the "gnu" variants but include strdup, snprintf, etc anyway (clang on desktop), or that support "gnu" and don't include these functions in the "c" variants (gcc in devkitPPC). DONT_BUILD.
Add phony target "clang-tools" for use with clang-tools.
ex: clang-query `make clang-tools` DONT_BUILD.
Add *_ORDERONLYDEPS, which saves us an error message when building Lunatic on Mac.
Add *_SRCS variables, which reassemble the full paths of all source files.
Separate combinations of component objects for the six build targets into a variable specifically representing the combination.
The original variable name now contains the sub-group only.
Use -std=c99 and -std=c++03 instead of -std=gnu99 and -std=gnu++03.
Use "clang++" for building C++ with clang.
Add CROSS_SUFFIX option, as requested by rhoenie.
Move CUSTOMOPT to follow COMPILERFLAGS and LINKERFLAGS, so that it can overwrite more.
Move "-Wimplicit -Werror-implicit-function-declaration" from CONLYFLAGS to a new CONLYWARNS.
Delete the default suffixes, to possible help avoid internal Make race conditions.
Only pass APPNAME and APPBASENAME to the preprocessor if a value for them was passed in.
Keeping compiler invocation clutter to a minimum is good.
Use the override keyword when implicitly disabling Polymer and libvpx when USE_OPENGL=0.
Fix STARTUP_WINDOW=0 on Windows so that the resource objects are built, but the editor's startup window is not. DONT_BUILD.
Extend STARTUP_WINDOW to GTK. DONT_BUILD.
Fold OSX_STARTUPWINDOW into STARTUP_WINDOW. DONT_BUILD.
Remove -fno-pic from everywhere. This should fix building on Ubuntu 16.10 and any other platform that has PIE enabled.
Allow an invocation like `make CC=clang-3.8` to work properly.
Only apply $(ARCH) processing code on Macs.
Switch the detection order of OPTOPT flags so that i386 is checked after x86_64. This ensures full compatibility for fat OS X binaries built using ARCH="-arch i386 -arch x86_64".