Kp
def268faf9
Combine lazy object caches
2015-10-28 02:44:36 +00:00
Kp
edea687627
Remove HAVE_STRUCT_TIMEVAL
...
SConstruct defines it for all platforms. It is only false on Mac OS 9,
which is no longer supported.
2015-10-27 03:04:49 +00:00
Kp
e7c65dbc3f
Use property for LinuxPlatformSettings ogllibs
...
It is only called once per instance, so caching it as an instance
value is not helpful. Change it to a property so that __init__ can be
removed.
2015-10-27 03:04:49 +00:00
Kp
a4eda5e6f7
Include commented tool versions in sconf tests
...
Encourage SCons not to reuse test results when the printed version
strings have changed.
2015-10-24 03:13:11 +00:00
Kp
4951cb0b8f
Fix build break if no git and extra_version=''
2015-10-18 21:01:20 +00:00
Kp
927b14848f
Add optional cpp output targets
2015-10-18 21:01:18 +00:00
Kp
091bcbec26
Support skipping configure/compile stages
2015-10-18 21:01:18 +00:00
Kp
2a1e07adfa
Detect failure to git ls-files
for check_header_includes
2015-10-13 02:43:25 +00:00
Kp
d3198ab0bd
Use env.Textfile to generate stub check_header_includes.cpp
2015-10-13 02:43:24 +00:00
Kp
365340560d
Cache result of checking for .git
2015-10-13 02:43:24 +00:00
Kp
c1b1da61e5
Support unusual values of CPP define SHAREPATH
...
Use the full CPP define quoting function instead of just hoping
sharepath is clean.
2015-10-13 02:43:24 +00:00
Kp
2e17c03c9e
Remove unnecessary list comprehension for vers_id.cpp
...
It was a convenience for binding 's' to one value, but that can be
rewritten without the comprehension.
2015-10-13 02:43:24 +00:00
Kp
a71e886fce
Add scons option to skip pch optimization
...
Add option to compute indirect includes even when not necessary, since
indirect includes influence the inclusion count shown in the comments.
Enabling this option makes SCons work harder for the same output binary.
It should only be used by developers who want to see precise file
inclusion counts.
2015-10-09 02:46:10 +00:00
Kp
4041e3ba53
Test whether compiler can use PCHs it generates
...
Current gcc requires a non-PIE cc1plus for working PCH support. If the
chosen compiler is PIE, it will succeed in building the PCH, then fail
when trying to use it.
2015-10-03 17:17:49 +00:00
Kp
f37e55737c
Shorten secondary calls to Git.pcall
2015-09-29 02:41:22 +00:00
Kp
433b80c0b3
Reduce copying of pkg-config result
2015-09-29 02:41:22 +00:00
Kp
e2d16844a8
Fix handling of pch_cpp_assume_unchanged
2015-09-26 21:17:14 +00:00
Kp
f3470cef5f
Show tool versions in sconf output
2015-09-26 21:17:13 +00:00
Kp
51a86c62ef
Hide undocumented options
...
If no help text is defined, hide the associated option from --help.
2015-09-26 21:17:13 +00:00
Kp
0b242833f5
Always set StaticSubprocess.stdout to PIPE
2015-09-26 21:17:13 +00:00
Kp
63dd2656ed
Document some SConstruct tests
2015-09-26 21:17:12 +00:00
Kp
76b94de1de
Add commented out hook for warning on valptridx exceptions
2015-09-26 21:17:12 +00:00
Kp
4afae87883
Remove -Wcast-align from default compiler options
...
Per issue from MattWatt, gcc for Raspberry Pi warns about alignment
issues.
Per issue from kreator, clang warns about alignment issues on OS X.
However, it does not warn on x86_64-pc-linux-gnu.
GCC only warns when compiling for a target architecture that requires
alignment, so it does not warn for i686-pc-linux-gnu or
x86_64-pc-linux-gnu.
Using this warning would be nice, but since it only triggers on
architectures not maintained by active developers, it causes more
trouble than it may solve.
Alignment sensitive users will have to get by with software fixups until
an active developer begins targeting alignment sensitive hardware.
Reported-by: MattWatt <https://github.com/dxx-rebirth/dxx-rebirth/issues/119 >
Reported-by: kreatordxx <https://github.com/dxx-rebirth/dxx-rebirth/issues/120 >
2015-09-19 23:04:36 +00:00
Kp
f1021de448
Add SDL_NumJoysticks() to SDL library test
...
Some builds of SDL lack joystick support. Rebirth requires joystick
support in SDL, even if the user never connects a joystick. Add a call
to SDL_NumJoysticks during the SDL test so that systems without SDL
joystick support fail the "usable library SDL" test.
2015-09-19 23:04:36 +00:00
Kp
ae5fc1b74b
Remove wrapper Cxx11Compile
...
All compilation is now at least C++11.
2015-09-19 23:04:36 +00:00
Kp
348c656311
Explicitly require C++11 support
2015-09-19 23:04:36 +00:00
Kp
6c49f5b95d
Disable ccache/distcc during SConf
2015-09-19 23:04:36 +00:00
Kp
d18835bcf9
Invert sense of {} messages
...
Prefer to always have 'yes' for good results and 'no' for bad results.
2015-09-19 23:04:35 +00:00
Kp
22a7d121f5
Restructure compiler preferred option tests
2015-09-19 23:04:35 +00:00
Kp
61044df4f7
Use string formatting consistently
2015-09-19 23:04:35 +00:00
Kp
451325c89b
Improve lazy object setup
2015-09-19 23:04:35 +00:00
Kp
54928db871
Cache os.environ.get
2015-09-19 23:04:35 +00:00
Kp
8f7ed1f5ee
Remove unused program_specific_objects
2015-09-19 23:04:35 +00:00
Kp
d954cdf279
Look up configure test docstring at record time
2015-09-13 21:02:19 +00:00
Kp
198b8295c4
Force sconf.log verbose for LINKCOMSTR
2015-09-13 21:02:19 +00:00
Kp
f2d9ffe48d
Rewrite PCH generation
2015-09-13 20:23:05 +00:00
Kp
0ec66ef673
Use collections.defaultdict for successful_flags
2015-09-13 20:23:05 +00:00
Kp
433fc96505
Avoid redefining LazyObjectConstructor.__strip_extension
2015-09-09 03:27:52 +00:00
Kp
80f70fbc34
Remove SConf test check_compiler_template_parentheses_warning
...
Test check_compiler_template_parentheses_warning probes for a bug in
gcc-4.6. Upstream fixed the bug in gcc-4.7. Using gcc-4.6 is no longer
supported, so remove the test for the bug.
2015-08-22 20:43:04 +00:00
Kp
37838329a1
Add SConf hook to check result against expected value
2015-08-22 20:43:04 +00:00
Kp
3bf0c93067
Factor out lookup of sconf overrides
2015-08-22 20:43:03 +00:00
Kp
b5bf4cf9cc
Change - to _ for check_compiler_option names
2015-08-22 20:43:03 +00:00
Kp
389cd42f47
Default verbosebuild on for non-tty outputs
2015-08-14 03:02:04 +00:00
Kp
41ecab004f
Skip message for unknown variables when there is nothing to do
...
Reported-by: zicodxx <https://github.com/dxx-rebirth/dxx-rebirth/issues/115 >
Fixes: 870ed653b5
("Warn about unknown scons variables")
2015-08-11 03:05:55 +00:00
Kp
001fdfff37
Add workaround for gcc-4.8 ref qualifier quirk
...
In gcc-4.8, a member method with const lvalue and const rvalue methods
is ambiguous.
$ cat t.cpp
class A
{
public:
void a() const &;
void a() const &&;
};
A b();
void c()
{
b().a(); // fails in gcc-4.8, works in later
}
$ gcc-4.8 -Wall -Wextra -std=gnu++0x -O2 -c t.cpp
t.cpp: In function 'void c()':
t.cpp:11:8: error: call of overloaded 'a()' is ambiguous
b().a();
^
t.cpp:11:8: note: candidates are:
t.cpp:4:7: note: void A::a() const &
void a() const &;
^
t.cpp:5:7: note: void A::a() const &&
void a() const &&;
^
$ gcc-4.9 -Wall -Wextra -std=gnu++0x -O2 -c t.cpp
$
Fixes: bda7fef3a0
("Use get_local_player to compute reference to local player")
2015-08-05 02:59:03 +00:00
Kp
b979f52ebf
Centralize required C++11 features
2015-08-03 03:11:25 +00:00
Kp
7086bbae14
Simplify automatic compiler test
2015-08-03 03:11:24 +00:00
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
Kp
945914f1d6
Enable -Wuninitialized, -Wempty-body, -Wignored-qualifiers, -Wunused
2015-03-22 18:49:21 +00:00
Kp
d9bfced915
Blacklist moving _REENTRANT to dxxsconf.h
...
Passing -pthread implies -D_REENTRANT, so if -D_REENTRANT is moved to
dxxsconf.h, then _REENTRANT is defined twice.
2015-03-22 18:49:21 +00:00
Kp
28a5b70c7c
Remove write-only osasmdef
2015-03-22 18:49:21 +00:00
derhass
6d4ee7a329
RPi: use CPPFLAGS instead of CXXFLAGS for -isystem
...
Suggested by Kp.
2015-03-21 17:54:04 +01:00
derhass
beda132361
RPi: use SConstruct's message() function for the RPi build message
2015-03-21 17:53:58 +01:00
derhass
f46e4a2a7c
RPi: use -isystem for the VideoCore library header path
...
Rebirth builds with -Werror=redundant-decls -Werror=undef, which are
triggered by the bcm_host.h. Making gcc treat those paths as
system headers avoids these issues. This was suggested by Kp.
2015-03-21 17:53:13 +01:00
Kp
13d85fa38e
Make d1x=value imply d2x=0 and vice versa
2015-03-12 02:21:21 +00:00
Kp
650831c0fe
Set -O2 for debug builds
...
Enable optimization by default for all builds. Users can pass -O0 if an
unoptimized build is needed.
2015-03-07 17:20:41 +00:00
Bradley Bell
bbb32d0175
added cmd and cvar modules from d2x
2015-02-10 23:35:44 -08:00
Bradley Bell
0db11cc139
add d2x command-line interface to console
2015-02-10 17:01:00 -08:00
Kp
8d3f047427
Make udt_to_message __attribute__((unused))
...
Clang warns for unused static inline functions defined in a source file,
including those defined in a macro in a header, when the macro is
expanded in the source file.
2015-02-05 03:03:50 +00:00
Kp
4488458ed8
Reactivate check_attribute_alloc_size
...
Fixes: c8022a1001
("Abstract socket array/sockaddr dispatch")
2015-01-25 05:32:45 +00:00
Kp
c8022a1001
Abstract socket array/sockaddr dispatch
2015-01-18 01:58:33 +00:00
Kp
95aaf09ae0
Add -Wno-missing-field-initializers if needed
...
GCC with -Wmissing-field-initializers warns for a={}, but this is a
common construct in Rebirth code to zero-initialize an entire structure.
Users might add -Wmissing-field-initializers or a group option which
enables -Wmissing-field-initializers, so add code to explicitly disable
this warning when the compiler rejects this form of initialization.
2015-01-15 04:30:03 +00:00
Kp
fd01d4c673
Reorder wall_is_doorway to favor likely results
2015-01-12 00:26:03 +00:00
Kp
484a2a705d
Use strcasecmp when available
2015-01-12 00:26:03 +00:00
Kp
e71d91d411
Skip ccache/distcc for link
2015-01-11 05:08:30 +00:00
Kp
662cf903ca
Add $CXXFLAGS to $LINKFLAGS for LTO
2015-01-11 05:08:30 +00:00
Kp
4be02cd9c5
Add support for poison=overwrite
2015-01-03 23:44:32 +00:00
Kp
2cc77d647f
Add ccache/distcc support
2015-01-03 23:44:32 +00:00
Kp
62f4a847bc
Check for usable libSDL
2015-01-03 23:44:32 +00:00
Kp
44b4a54495
Fix duplicate -lSDL_mixer
2015-01-03 23:44:32 +00:00
Kp
b86870f5ef
Make d_debugbreak cold
2014-12-24 03:34:33 +00:00
Kp
100e6ceedf
Shorten DXX_BUILD_DESCENT_I macro
2014-12-20 04:36:11 +00:00
Kp
e1bb249176
Remove unused UI_GADGET_KEYTRAP
2014-12-20 04:36:09 +00:00
Kp
5f6a54875c
Make pkg-config errors non-fatal
...
Later configure tests will abort if the package is not found some other
way.
2014-12-11 02:32:28 +00:00
Kp
e216b709d4
Use pkg-config on Darwin if available
2014-12-05 04:11:37 +00:00
Kp
84932930c8
Fix escaping empty flags
2014-12-05 04:11:37 +00:00
Kp
813d88bb55
Combine pkg-config caches
2014-12-05 04:11:37 +00:00
Matt Vandermeulen
b94274e5a5
Merge pull request #16 from btb/osx-issues
...
Osx issues
2014-12-04 21:46:19 -05:00
Bradley Bell
0cc88280ba
Simplify by using generic Info.plist, builtin substitions
2014-12-04 18:11:57 -08:00
Bradley Bell
876c4522b3
use correct path for localized strings
2014-12-04 16:39:45 -08:00
Bradley Bell
6cf4e86185
use correct path for bundle executable
2014-12-04 15:58:50 -08:00
Kp
a977d5d202
Search for SDL_mixer pkg-config too
...
Users might install SDL and SDL_mixer to separate paths, so search for
SDL_mixer.pc too.
2014-12-04 03:31:07 +00:00
Bradley Bell
3daa0f63b1
Add search SDL_mixer framework paths for headers instead of using <Framework/Header.h> notation
2014-12-03 15:14:18 -08:00
Bradley Bell
782e12fd49
For Darwin, code expects SDL_mixer to be in the framework path.
...
Use that here too.
2014-12-02 14:29:41 -08:00
Kp
ec8738ca62
Merge branch 'btb/osx-fixes' into unification/master
...
Merge Mac OS X specific fixes from btb. The Windows and Linux builds
are unaffected. The OS X changes look sane, but cannot be tested here.
Changes not specific to OS X were previously committed separately.
Requested by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/12
2014-12-01 23:47:10 +00:00
Kp
d0ec27898b
Detect -Wnarrowing constructor calls even without inheritance
2014-11-26 02:57:36 +00:00
Bradley Bell
7f10bb28bf
use NSAlert for cocoa. Carbon support totally deprecated
2014-11-23 19:53:02 -08:00
Bradley Bell
d822d09d35
move messagebox and SDLMain to platform_objects
2014-11-23 04:25:42 -08:00
Kp
57ed5c24fd
Add developer option to test header completeness
2014-11-17 04:02:25 +00:00
Kp
177c935b9d
Move 3d/clipper.cpp to SDL-only build
2014-11-16 19:14:51 +00:00
Kp
e766381265
Fix __builtin_constant_p test at -Og
...
Remove explicit 'inline' on __builtin_constant_p test, since -Og will
inline simple functions on request but not inline speculatively or
inline complex templates. When testing at -Og with 'static inline',
__builtin_constant_p is marked as functional, but physfsx checks are not
inlined and result in spurious failures. When testing at -Og with
'static', __builtin_constant_p is marked as broken and the physfsx
checks are skipped. When testing at -O2, __builtin_constant_p is marked
as working and the physfsx checks are included.
2014-11-02 16:46:11 +00:00
Kp
1312008dca
Filter duplicate prefixes in register_program
...
Without a filter, certain combinations add $CXXFLAGS multiple times.
2014-10-16 01:56:30 +00:00
Kp
870ed653b5
Warn about unknown scons variables
2014-10-10 02:58:05 +00:00
Kp
ec1eb03cc2
Move d2x-rebirth/main/segment.cpp -> similar/main/segment.cpp
2014-10-04 17:53:09 +00:00
Kp
d8ca0b2e70
Add initial LTO support
2014-09-28 21:09:19 +00:00
Kp
6384f8dffe
Move main body into configure _Test method
2014-09-28 21:09:19 +00:00
Kp
e6bd1ae52c
Handle None in get_Werror_string
2014-09-27 00:32:22 +00:00
Kp
703f60ac3f
Fix -Wtype-limits warnings
2014-09-21 21:41:55 +00:00
Kp
fece9f51a4
Optimize serial using __builtin_bswap if available
2014-09-20 22:15:32 +00:00
Kp
ef42a7cdad
Compact version number definition
2014-09-17 02:45:32 +00:00
Kp
5b70836203
Fix -Werror leakage on failed CXXFLAGS-free tests
2014-09-17 02:11:43 +00:00
Kp
85b09fd380
Avoid redundant -Werror usage
...
If -Werror is set by the user, use -Wflag instead of -Werror=flag.
2014-09-17 02:09:53 +00:00
Kp
d1a36bfc6a
Add option to rebuild vers_id when any object file changes
2014-09-13 22:10:24 +00:00
Kp
a11c4aed3d
Shorten vers_id command line
2014-09-13 22:09:32 +00:00
Kp
0387a2c771
Disallow using RAIIdmem::operator T* on rvalues
2014-09-07 23:56:37 +00:00
Kp
7d166a70e0
Prevent accidental RAIIdmem construction
2014-09-07 23:56:37 +00:00
Kp
07176ece8b
Add Valgrind poison stubs
2014-09-07 19:39:18 +00:00
Kp
7f6299aaa7
Use built-in __linux__ instead of custom __LINUX__
2014-09-02 22:10:34 +00:00
Kp
56e7fa5f37
Add special case for escaped newline
2014-09-02 22:09:44 +00:00
Kp
4a0d0b3800
Move '-o $TARGET' to end of command line
2014-09-02 22:09:07 +00:00
Kp
94550355a8
Use make_unique instead of bare new
2014-08-24 18:28:09 +00:00
Kp
8b51e0fda5
Test for nonconforming template instantiation depth
2014-08-20 01:08:12 +00:00
Kp
ecd0ff1557
Check whether C++ linker works
2014-08-12 02:31:31 +00:00
Kp
c4eabfd388
Use wider alignment for sconf options
...
SConf option names are long and look bad with the regular alignment.
2014-08-05 02:43:29 +00:00
Kp
5b01c33d94
Allow scons prefix list to have empty inner element
...
All targets have the unqualified entry in their search list. Allow an
explicitly specified unqualified entry to suppress the implicit entry.
For example:
scons dxx=e,,f
Previously, this was equal to scons dxx=e,f and would set CXXFLAGS to
the concatenation of:
e_CXXFLAGS
f_CXXFLAGS
CXXFLAGS
Now, it remains dxx=e,,f and will concatenate:
e_CXXFLAGS
CXXFLAGS
f_CXXFLAGS
2014-08-05 02:41:42 +00:00
Kp
1adaad4147
Remove broken assembler support
...
Assembler failed to build in 0.58.1. Assembler failed to run correctly
after 59344482
/ fc92651eb
changed y_pointers from int[] to int*.
2014-08-04 03:09:33 +00:00
Kp
d9f6e944c9
Use template aliases when available
2014-08-03 03:08:15 +00:00
Kp
2ec453f636
Fix tests with -Wunused-parameter
2014-08-01 03:34:08 +00:00
Kp
af6e4c2218
Optimistically reorder tests
...
Run tests last-to-first to detect success immediately. Run the lesser
tests next, so that build logs show what the compiler can do.
2014-08-01 03:34:08 +00:00
Kp
17dd525029
Improve __builtin_constant_p test
...
Discourage compiler from inlining due to -finline-functions-called-once.
Otherwise, -O2 -fno-inline will inline the sconf test, but not inline
real usage.
2014-08-01 03:34:08 +00:00
Kp
ecc49d0a11
Prefer compound statements to lambdas
...
Compound statements produce better error messages.
2014-08-01 03:34:08 +00:00
Kp
b37c295c59
Pick default extra_version from git tag
2014-07-26 22:53:41 +00:00
Kp
99555d0e73
Extend sconf force support
...
Allow forcing a test to succeed without changing flags.
2014-07-19 22:25:27 +00:00
Kp
b4a778ed9d
Use DXX_ALWAYS_ERROR_FUNCTION for printf check
...
Enable printf check without relying on embedded compound statements.
2014-07-19 21:15:01 +00:00
Kp
602da5a93c
Enable DXX_ALWAYS_ERROR_FUNCTION wherever lambdas are allowed
2014-07-19 18:01:15 +00:00
Kp
66890d16a7
Centralize quoting macro values
2014-07-19 18:01:15 +00:00
Kp
9cf70f29f6
Fix forcing features off
2014-06-30 03:31:54 +00:00
Kp
90300d54d9
Precompute fix_recip table
2014-06-23 04:46:07 +00:00
Kp
ef20958fcc
Refactor C++ standard test
2014-06-23 04:46:07 +00:00
Kp
fb89da37d1
Remove _may_repeat on check_cxx_works
...
self.__automatic_compiler_tests prevents repetition.
2014-06-22 21:05:25 +00:00
Kp
e6a691c5c7
Check that types passed to PHYSFS_write are POD
...
More is needed to trap some misuses, but those traps flag existing code.
2014-06-22 03:54:35 +00:00
Kp
5eb3c6267a
Remove C-only warnings
2014-06-08 00:05:33 +00:00
Kp
b5701bf202
Add __attribute__((warn_unused_result)) to partial_range
2014-06-08 00:05:33 +00:00
Kp
9b0fb5da0a
Write eclip structures carefully
2014-02-01 18:55:18 +00:00
Kp
917ef39258
Use array<> for Vclip
2014-01-23 03:48:25 +00:00
Kp
5cc3885478
Remove executable= in subprocess spawn; Windows handles it poorly
2014-01-07 04:12:39 +00:00
Kp
b3af37e976
Exclude library settings from DXXArchive environment
...
Archives link nothing, so this simplifies reaching the bug fixed in the
previous commit.
2014-01-04 18:04:04 +00:00
Kp
3fadf28751
Avoid KeyError when preserving an environment key that does not exist
2014-01-04 18:04:04 +00:00
Kp
8218af34b5
Add special type to let obj_*link take either pointer or index
2014-01-03 04:04:04 +00:00
Kp
1e8036bd24
Split compiler.h for PCH compatibility
2013-12-21 05:12:38 +00:00
Kp
fbf1f8a658
Annotate mem_malloc/calloc/realloc as __attribute__((alloc_size))
2013-12-20 03:33:32 +00:00
Kp
737fe73dd7
Annotate mem_malloc/mem_calloc as __attribute__((malloc))
2013-12-20 03:24:39 +00:00
Kp
c561c3d514
Move multi_send_data_direct type into template parameter
...
Optimizing compilers may now delete the size check.
2013-12-20 03:08:19 +00:00
Kp
2f18c5037d
Store group lists as countarray objects
2013-12-18 03:48:52 +00:00
Kp
e8de74b8bf
Reject inappropriate printf usage
2013-12-17 04:03:35 +00:00
Kp
9a189bcfd1
Unify SDL_mixer setup
2013-12-17 04:01:22 +00:00
Kp
08767eb1c5
Probe for libphysfs during configure stage
2013-12-17 04:01:22 +00:00
Kp
15e03d7e9a
Factor out configure functionality
2013-12-17 04:01:22 +00:00
Kp
b30639b0c4
Add special case to save CPPDEFINES to configure header
...
Avoid cluttering the command line by moving CPPDEFINES to the configure
header.
2013-12-15 21:53:20 +00:00
Kp
adee72c624
Move -pthread to be Linux only
2013-12-15 18:59:01 +00:00
Kp
f05b6f0008
Use on-stack bit array for tracking AI segment visits
2013-12-15 18:50:39 +00:00
Kp
f351cc024d
Add convenience alias 'dxx' to SConstruct
2013-12-15 18:46:42 +00:00
Kp
8a5644fc07
Only pass -Werror=redundant-decls if it works well
2013-12-13 03:59:49 +00:00
Kp
3f92639efc
Remove unnecessary PCH variable
2013-12-13 03:44:02 +00:00
Kp
8bd9f9bccd
Make vers_id.o depend on PCH if present
2013-12-13 03:44:02 +00:00
Kp
ac6fe9aca6
Test for compiler support for pre-compiled headers
...
Fix interaction of pre-compiled headers with configure-modified flags.
2013-12-13 03:44:02 +00:00
Kp
07877853ba
Use static_assert where available
2013-12-13 03:44:02 +00:00
Kp
e784dd4357
Remove C compiler handling from SConstruct
2013-12-13 03:44:02 +00:00
Kp
322c61ef01
Remove use of heap-based splitword
2013-12-08 21:43:53 +00:00
Kp
706b458699
Mark PHYSFSX_find* functions nonnull
2013-12-07 18:40:32 +00:00
Kp
7f5410cc8b
Use lengthof instead of sizeof(A)/sizeof(A[0])
...
The latter form can accept pointers, but the template lengthof cannot.
2013-12-07 18:38:10 +00:00
Kp
babbe8e9e6
Move */arch/carbon -> common/arch/carbon
2013-12-06 03:58:10 +00:00
Kp
18bf9b94ea
Move */arch/cocoa -> common/arch/cocoa
2013-12-06 03:57:18 +00:00
Kp
6e8684da0f
Remove duplicate FRAMEWORKS setup
2013-12-06 03:56:56 +00:00
Kp
d7ab757393
Remove Darwin physfs hacks
...
When physfs is in the library search path, the regular usage of adding
physfs to LIBS is sufficient.
2013-12-06 03:55:58 +00:00
Kp
a14acee361
Clean up install handling
2013-12-06 03:54:52 +00:00
Kp
320d22aae1
Move similar/main/collide.c -> similar/main/collide.cpp
2013-12-06 03:27:30 +00:00
Kp
fcf216474b
Move */main/collide.c -> similar/main/collide.c
2013-12-06 03:27:30 +00:00
Kp
517a8c1e37
Move similar/main/fireball.c -> similar/main/fireball.cpp
2013-12-06 03:27:30 +00:00
Kp
bd4029c922
Clean platform handling
2013-12-06 00:24:07 +00:00
Kp
c6d68ca288
Check for game-specific prefix before general ones
2013-12-06 00:24:07 +00:00
Kp
dc6ba09b62
Suppress duplicate registration of the same configuration prefix
2013-12-06 00:24:07 +00:00
Kp
0619afcc52
Remove repetitive short name in program setup
2013-12-06 00:24:07 +00:00
Kp
18aea17f9e
Move */main/fireball.c -> similar/main/fireball.c
2013-12-02 00:21:31 +00:00
Kp
ff9c15b51f
Move d2x-rebirth/libmve/mveplay.c -> d2x-rebirth/libmve/mveplay.cpp
2013-12-02 00:11:33 +00:00
Kp
22f3f78ac5
Move d2x-rebirth/libmve/mvelib.c -> d2x-rebirth/libmve/mvelib.cpp
2013-12-01 23:57:00 +00:00
Kp
59e4a8f1ba
Move d2x-rebirth/libmve/mve_audio.c -> d2x-rebirth/libmve/mve_audio.cpp
2013-12-01 23:57:00 +00:00
Kp
20a9c83182
Move d2x-rebirth/libmve/decoder8.c -> d2x-rebirth/libmve/decoder8.cpp
2013-12-01 23:57:00 +00:00
Kp
f65d7e8d5c
Move d2x-rebirth/libmve/decoder16.c -> d2x-rebirth/libmve/decoder16.cpp
2013-12-01 23:57:00 +00:00
Kp
8b50798bf7
Move d2x-rebirth/misc/physfsrwops.c -> d2x-rebirth/misc/physfsrwops.cpp
2013-12-01 23:56:17 +00:00
Kp
5fae3a5e28
Move similar/main/gamemine.c -> similar/main/gamemine.cpp
2013-12-01 23:55:50 +00:00
Kp
2ac98f7269
Move */main/gamemine.c -> similar/main/gamemine.c
2013-12-01 23:55:29 +00:00
Kp
6fda1ab889
Move similar/main/iff.c -> similar/main/iff.cpp
2013-12-01 23:32:56 +00:00
Kp
f99c2b739a
Move */iff/iff.c -> similar/main/iff.c
2013-12-01 23:24:51 +00:00
Kp
1b59de804b
Move d2x-rebirth/main/bmread.c -> d2x-rebirth/main/bmread.cpp
2013-12-01 23:24:33 +00:00
Kp
de366b12ee
Move d1x-rebirth/main/bmread.c -> d1x-rebirth/main/bmread.cpp
2013-12-01 23:24:33 +00:00
Kp
9db2badadb
Move similar/main/bm.c -> similar/main/bm.cpp
2013-12-01 22:52:54 +00:00
Kp
c258115b30
Move */main/bm.c -> similar/main/bm.c
2013-12-01 22:51:44 +00:00
Kp
e9f6a6ba13
Support stacking *FLAGS via site-local.py
2013-12-01 22:49:37 +00:00
Kp
25c731cc2c
Probe for usable array template
2013-12-01 22:42:47 +00:00
Kp
abd503dd0d
Record build environment in generated file
2013-12-01 00:56:24 +00:00
Kp
9fd6cfd59d
Move __STDC_FORMAT_MACROS to SConstruct for PCH compatibility
...
__STDC_FORMAT_MACROS is needed to enable PRIi64. __STDC_FORMAT_MACROS
must be set before including any headers, so when PCH is used, it must
be set on the command line.
2013-12-01 00:54:23 +00:00
Kp
c8225369c7
Fix flag restore in configure tests
2013-11-24 22:53:30 +00:00
Kp
6296dbc749
Do not document tests with leading underscore
2013-11-24 22:53:30 +00:00
Kp
ba1bbce571
Move similar/main/fuelcen.c -> similar/main/fuelcen.cpp
2013-11-24 22:51:56 +00:00
Kp
8f23539485
Propagate probed flags into all environments
2013-11-24 22:51:01 +00:00
Kp
2d920e5f7b
Move similar/main/gameseq.c -> similar/main/gameseq.cpp
2013-11-24 22:49:52 +00:00
Kp
aa05263b29
Move */main/gameseq.c -> similar/main/gameseq.c
2013-11-24 22:47:19 +00:00
Kp
53149e6bcd
Move similar/main/ai.c -> similar/main/ai.cpp
2013-11-23 22:47:45 +00:00
Kp
47a4bb1ff1
Move */main/ai.c -> similar/main/ai.c
2013-11-23 22:47:45 +00:00
Kp
5ff051cf4e
Move */main/fuelcen.c -> similar/main/fuelcen.c
2013-11-10 22:56:12 +00:00