Commit graph

955 commits

Author SHA1 Message Date
Kp 4d8ae44794 Add helper macro DXX_CONSTANT_TRUE 2015-07-29 03:05:28 +00:00
Kp 4a6ae13367 Centralize PCH object hook 2015-07-25 23:10:48 +00:00
Kp d4dc3df3de Support PCH+LTO 2015-07-25 23:10:48 +00:00
Kp 9a5654e002 Move similar/editor/autosave.cpp -> common/editor/autosave.cpp 2015-07-25 23:10:47 +00:00
Kp 15fb75c1c7 Fix check_header_includes build 2015-07-25 23:10:45 +00:00
Kp cdb113a050 Diagnose including compiler-type_traits without dxxsconf.h 2015-07-25 23:10:45 +00:00
Kp 9f84f0851d Enable clang LTO
clang does not support -flto=N syntax for parallel LTO.

Remove -fno-fat-lto-objects too.  clang does not understand it;
gcc 4.9 and later default to non-fat LTO.

Fixes: 1037a92d60 ("Allow parallel lto")
2015-07-18 21:01:56 +00:00
Kp 82e1ea5636 Move similar/mem/mem.cpp -> common/mem/mem.cpp 2015-07-18 21:01:56 +00:00
Kp a58e8f87a0 Move similar/misc/hash.cpp -> common/misc/hash.cpp 2015-07-18 21:01:56 +00:00
Kp cfdffa184f Move similar/arch/sdl/event.cpp -> common/arch/sdl/event.cpp 2015-07-18 21:01:56 +00:00
Kp 04d9f82a50 Move similar/arch/sdl/key.cpp -> common/arch/sdl/key.cpp 2015-07-18 21:01:56 +00:00
Kp c7542fe9fc Move similar/arch/sdl/mouse.cpp -> common/arch/sdl/mouse.cpp 2015-07-18 21:01:56 +00:00
Kp 51ee9d2833 SDL2: skip build of rbaudio.cpp 2015-07-14 02:42:12 +00:00
Kp a2cb5fea6e Add SConf option to use SDL2 2015-07-14 02:42:12 +00:00
Kp 658102a868 Improve static_assert test
Previously, SConstruct tested whether static_assert worked with trivial
constant expressions.  Extend the test to more complicated expressions
like the ones used in the program.

Replace the typedef based approach with an inline enum to avoid warnings
about unused local typedefs.

Allow use with compilers that lack working static_assert or that cannot
accept complicated expressions.  Add a non-checking definition that uses
the input parameter.  This prevents warnings when types or constants are
used only for the static_assert.
2015-07-09 03:12:45 +00:00
Kp c03fe30fc2 Move similar/arch/sdl/timer.cpp -> common/arch/sdl/timer.cpp 2015-07-04 21:01:17 +00:00
Kp 2bc1f786d5 Test for -Wlogical-op before using it
clang does not understand it, so using it unconditionally breaks the
clang build.
2015-06-20 03:50:46 +00:00
Kp 3905f1a668 Enable -Wcast-qual 2015-06-13 22:42:21 +00:00
Kp 92f44fcaaa Enable -Wmissing-include-dirs 2015-06-13 22:42:21 +00:00
Kp 7c436f1fbb Merge pull #39 into unification/master
Requested-by: btb <https://github.com/dxx-rebirth/dxx-rebirth/pull/39>
Acked-by: Matt1360 <https://github.com/dxx-rebirth/dxx-rebirth/pull/39#issuecomment-88712761>
Acked-by: zico <https://github.com/dxx-rebirth/dxx-rebirth/pull/39#issuecomment-88907523>
2015-06-07 16:21:37 +00:00
Kp ff452dbded Move CLI code to common
None of it depends on D1 vs D2.
2015-06-07 16:20:46 +00:00
Kp a8431a1933 Fix noreturn test with LTO 2015-05-28 03:08:38 +00:00
Kp 41c58ec70e Remove zlib.h from physfs test
The test does not use zlib functions directly.
2015-05-23 04:13:29 +00:00
Kp 3caea6d618 Enable -Wvla 2015-05-17 00:59:26 +00:00
Kp 0ece005dfa Use screen_mode for screen resolution 2015-05-14 02:23:13 +00:00
Kp 8daf33b422 Blacklist broken clang C++11 constructor inheritance 2015-05-09 17:39:02 +00:00
Kp f92e890f50 Improve valptridx exception reporting 2015-05-09 17:39:02 +00:00
Kp 1037a92d60 Allow parallel lto 2015-05-09 17:38:57 +00:00
Kp ee3731ccd1 Add workaround for clang -Wunused-parameter bug 2015-05-06 02:11:03 +00:00
Kp 9dc22b1ee6 Expand DXX_CXX11_EXPLICIT_DELETE
Various functions use the non-macro form, so support for =delete is
already mandatory.  Remove the remnants of support for compilers which
lack =delete and replace it with a hard stop when the compiler rejects
declaring explicitly deleted functions.
2015-05-01 02:18:33 +00:00
Kp 596ece352b Enable -Wextra 2015-04-26 20:15:57 +00:00
Kp 6792c1bc4b Enable -Wunused-parameter 2015-04-26 20:15:56 +00:00
Bradley Bell 844aad2639 Merge branch 'unification/master' into command-line 2015-04-24 20:54:35 -07:00
Kp bb3f414128 Cache scons subprocess calls 2015-04-22 02:44:30 +00:00
Kp f86f06f1d4 Add -fvisibility=hidden when supported
Saves ~4k of text on debug+editor build
2015-04-22 02:44:29 +00:00
Kp eee5e8d4b9 Require compiler support for constexpr 2015-04-22 02:44:29 +00:00
Kp 239f633356 Remove unused include directory 2015-04-19 04:18:50 +00:00
Kp be4eef36dd Always add -g to CXXFLAGS 2015-04-17 02:38:12 +00:00
Kp 6633eef18b Fix spurious quote on version string 2015-04-16 01:48:15 +00:00
Kp fa82c1bd3b Add special case for physfs requiring zlib
Dynamic linked physfs handles its own zlib dependencies.  If the user
links to a static physfs and physfs is built with support for zip files,
then we need to add zlib to the link line.
2015-04-09 02:29:58 +00:00
Kp add7107cc7 Fix preserving CCACHE_PREFIX 2015-04-04 17:23:47 +00:00
Kp 942f867926 Always set -Wredundant-decls
<gcc-4.7 no longer builds due to incomplete decltype handling
>=gcc-4.7 handles -Wredundant-decls correctly

Remove the SConf test and always set -Wredundant-decls.
2015-04-03 02:46:25 +00:00
Kp 85a777d300 Move pkg-config lookups into configure tests 2015-04-02 02:36:52 +00:00
Kp 66806e1f34 Enable -Wmissing-braces
clang includes it in -Wall, so add it for gcc
2015-04-02 02:36:52 +00:00
Kp 05bf944bee Fix gcc-4.7 objptridx narrowing error
Constructor forwarding using braces causes a -Wnarrowing warning in
objptridx constructors.  Switch to using parentheses to avoid the
warning.
2015-03-28 01:16:11 +00:00
Kp 9fe3fdd2bb Add sconf check for gcc bug #51064
Set -Wparentheses only if the compiler accepts template computed expressions.
2015-03-27 02:50:23 +00:00
Kp 06a1c74c18 Fix Windows OpenGL build
Fixes: 9d33fad4dd ("Implement different GL synchronization methods")
2015-03-25 01:59:21 +00:00
derhass 639b569496 Merge branch 'unification/master' into unification/syncgl_v2
Conflicts:
	similar/arch/ogl/gr.cpp
	similar/misc/args.cpp
2015-03-23 20:18:17 +01:00
derhass 6d41224638 move GL synchronization code into its own class 2015-03-22 21:19:06 +01:00
derhass db267af6f2 add basic OpenGL extension handling
Currently only used for fence sync objects.
2015-03-22 20:32:14 +01:00