Build 8454
SVN-
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.
SVN handles and Git names are merged into one person.
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".
Create GTK *_banner.c files in obj/ subfolders instead of rsrc/ so that they don't need separate cleanup rules.
Make Objective-C code build as Objective-C++ when we build C code as C++.
Add extra optimization defaults for OS X builds since all Intel Macs are guaranteed certain features due to the time of their debut.
Clean up handling of architectures.
Convert object lists to an escaped multi-line format for better diffing.
Add some missing dependencies on the folders in which objects are created.
Add L_CXXONLYFLAGS, and use it to pass "-static-libstdc++" on Windows.
Remove STATICSTDCPP variable.
Rename "CPPONLYFLAGS" variable to "CXXONLYFLAGS", since "CPPFLAGS" traditionaly refers to the C preprocessor, not C++.
Automatically disable ASM when "arm" is found in `uname -m` on Linux.
Link to libz on OS X like on Windows.
Update/fix treatment of libpng libraries and headers under Windows and OS X.