Makefile: misc cleanups and fixes Mostly removing cruft, deduplicating, consolidating. Defaults to system default compiler instead of gcc. Fixes parallel builds which were broken in 8a9f7e9e336cede20ec7da6bebc0f81a86ab79db by insufficient RTFM. Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
Makefile: support explicit static linking of all configurable libraries Fixes a bug in df973c344562c8cadc2413d36dcaa03f8e9040c2 where libd0_rijndael static linking only worked if DP_LINK_CRYPTO_RIJNDAEL=static was read from the environment rather than being passed as an override. Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
Makefile: support explicit static linking of libd0 Allows a kludge to be removed in Xonotic. Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
build: disallow use of VLAs They're no longer allowed in Linux for safety and performance reasons. Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
Improve x86 detection to fix compiler errors on other architectures Also some related minor makefile cleanup. Closes https://gitlab.com/xonotic/darkplaces/-/issues/382 See also: 1244b3ab0853e8738c8f5e5b617e8d8f25d4eca4 Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
ode: Disable by default. Minor memory savings in all edict_ts
makefile: Support statically linking SDL2 on all platforms git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12926 d7cf8633-e32d-0410-b094-e92efae38249
makefile: Add -Wwrite-strings. This is also a -Wall warning under g++ git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12848 d7cf8633-e32d-0410-b094-e92efae38249
Revert "makefile: Add -Wc++11-compat-reserved-user-defined-literal" This reverts commit 8cca05ca8d1e9b28c00afd25ec7d80b0ffe4f68f. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12847 d7cf8633-e32d-0410-b094-e92efae38249
makefile: Add -Wc++11-compat-reserved-user-defined-literal git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12846 d7cf8633-e32d-0410-b094-e92efae38249
Improve clang support. Add tcc support. Clang builds now perform as good as gcc tcc builds perform like crap, but it's nice to support a fourth compiler. There is an issue on Linux with a Pulseaudio library not linking correctly, however. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12795 d7cf8633-e32d-0410-b094-e92efae38249
Add -Winline flag git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12755 d7cf8633-e32d-0410-b094-e92efae38249
Add -Wc++-compat flag and fix its sole warning. This *should* be safe. Famous last words... git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12752 d7cf8633-e32d-0410-b094-e92efae38249
Add -Wshadow cflag and eliminate its warnings, including with g++ git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12750 d7cf8633-e32d-0410-b094-e92efae38249
Implement XMP module sound support This implements support for libxmp in the engine. It will dlopen by default and is therefore not a strict dependency. Implementation by nyov: https://gitlab.com/xonotic/darkplaces/-/merge_requests/8 Updated for darkplaces trunk/master by nico: https://gitlab.com/xonotic/darkplaces/-/merge_requests/88 git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12682 d7cf8633-e32d-0410-b094-e92efae38249
Clean up makefiles a bit. Remove leftovers of stuff no longer in the engine Slightly clean up the makefiles. 3DRAS and D3D don't exist in the engine anymore. Fix from nico: https://gitlab.com/xonotic/darkplaces/-/merge_requests/91 git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12681 d7cf8633-e32d-0410-b094-e92efae38249
Another flag bites the dust. This time: -ffinite-math-only. Since GCC 5, with this flag set, NaN compares equal to zero in some cases but not others. Causes e.g. "attempted division by zero" error spam from this QC code: float x = nan(""); if (x == 0) { return 0; } return 1.0 / x; Yes, those NaNs should not be happening in the first place, but suddenly passing some but not all equality checks to zero seems rather dangerous. Reference: issue #2412 (not a fix for it; the QC code has a problem too but this change helps track it down properly). git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12522 d7cf8633-e32d-0410-b094-e92efae38249
Remove cl-release and similar targets from makefile as they no longer exist. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12435 d7cf8633-e32d-0410-b094-e92efae38249
Removed per-platform clients (wgl/glx/agl) - now only SDL2 client exists. Removed dedicated server from VS2017 projects - it's not really needed. Removed cd_sdl.c since SDL1.2 support is not maintained, and the SDL2 code path in it is equivalent to cd_null.c as SDL2 does not support controlling cd audio playback - also removed cd_null.c and the corresponding code in cd_shared.c, which now only uses faketrack mode. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12422 d7cf8633-e32d-0410-b094-e92efae38249
Refactor DP_MACHINE logic in makefile and makefile.inc because it was broken on mingw. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12262 d7cf8633-e32d-0410-b094-e92efae38249