d333042d85
warnings: add switch, and disable pragma, warnings
2018-12-06 16:09:21 +11:00
f5a4420164
build: transition from experimental filesystem
2018-12-05 19:12:02 +11:00
7eb31caa22
cxx: add libcxx-7.0.0 library for std::filesystem
2018-10-15 17:16:26 +11:00
16611ec091
optimisation: group instruction sets by enabled status
2018-09-14 13:00:37 +10:00
99c1ae6afd
optimisation: use more conservative architecture flags
...
We can't enable SSE3 if we want to compile for our Atom test target, so
we explicitly disable this and a few future instruction sets that we
know won't be accessible.
2018-09-13 14:53:06 +10:00
e82c8b7d4a
optimisation: bite the bullet and use O0 by default for debug
...
Og optimisation eliminates too many expressions to be useful for fine
grained debugging so we should make Og the exception rather than O0
2018-09-05 13:17:50 +10:00
23865396af
asciidoc: don't hardcode a theme
2018-08-28 14:02:54 +10:00
7207c6dc8c
asciidoc: add asciidoctor as a fallback implementation
2018-08-28 14:02:34 +10:00
3deaf0503b
warnings: disable redundant-decl
2018-08-20 16:29:32 +10:00
305bd4a46e
optimisation: don't enable stack-protector under win32
...
This apparently triggers segfaults when using the standard library so
it's unusable.
2018-08-13 14:56:32 +10:00
7694a39501
cxx: explicitly enable format macros
...
This is required to enable format functionality under win32
2018-08-13 14:55:45 +10:00
87cfe7d051
compile_flag: add failure regex
2018-07-04 16:46:32 +10:00
26319b51a1
compile_flag: restore CMAKE_REQUIRED_FLAGS
2018-07-04 16:46:15 +10:00
878a1f118f
sanitizer: add an option to enable various sanitizers
2018-07-04 16:25:05 +10:00
9198bae72d
compile_flag: also pass parameters to the linker during the test
2018-07-04 16:24:30 +10:00
1c5ded53b3
cxx: update flags for gcc-8.1.0
2018-05-05 14:37:58 +10:00
5208910a35
warnings: enable -Wparentheses
2018-03-27 20:17:03 +11:00
43d5fb4523
optimisation: try to enable sse3
...
Effectively all hardware we target includes sse3 instructions at this
point.
2018-03-22 15:08:36 +11:00
efaf99ff60
cxx: attempt to enable coloured diagnostics on clang
2018-03-22 15:08:16 +11:00
6af34bc023
optimisation: add stubs for unsafe maths
2018-01-30 16:26:42 +11:00
712fcdf455
optimisastion: add explanatory note for optimisation flags
2018-01-24 17:33:15 +11:00
630aa5de08
optimisation: switch back to Og for debugging
...
O0 is catastrophically slow for some of our projects. Don't
unconditionally use O0.
2018-01-24 17:28:33 +11:00
1bde0634b4
warnings: add -Wno-gnu-string-literal-operator-template
2018-01-23 18:54:14 +11:00
21e8792153
compile_flag: workaround gcc's -Wno-foo handling
2018-01-23 18:53:45 +11:00
8c9ca6a372
optimisation: temporarily disable -ggdb
...
This works around an ICE with libcruft-util's coord classes and GCC's
trunc_int_for_mode.
2018-01-18 11:54:11 +11:00
9cd8c56cdc
optimisation: re-enable fipa-pta under GCC
...
It appears codegen works again? Perhaps we were running into a seperate
issue and fipa-pta always worked.
2018-01-18 11:51:38 +11:00
b3d2938410
cxx: quote the filesystem libraries
2017-12-20 16:12:11 +11:00
6576747031
optimsation: prefer -O0 over -Og
...
Og optimises out too many variables to be useful in a large percentages
of the cases. Instead use O0. If we need to revert to Og we'll instead
introduce a new flag.
2017-11-22 17:09:05 +11:00
bd4b8328c2
optimisation: remove deprecated clang optimisation
2017-09-12 14:24:59 +10:00
157ff8962c
cxx: default to using libcxx where possible
...
using libcxx alleviates some compilation errors under newer clang and
c++17.
2017-08-07 12:58:10 +10:00
8a83b07ea0
optimisation: use Og instead of O0 by default
...
O0 is hellishly slow, this is every so slightly less so.
2017-07-04 16:21:00 +10:00
a1d3200fde
nc: request thread support by default
...
we need this for util::job::queue which is in pretty much everything, so
we may as well globally enable threading.
2017-07-04 14:20:00 +10:00
929556d677
warnings: temporarily remove fallthrough warning
...
we use fallthrough fairly liberally in some bitwise and crypto
codepaths, and keeping this warning message (particularly in debug
builds where we use Werror) is painful.
2017-06-13 14:11:36 +10:00
06bb32ff00
warnings: disable unsafe-loop-optimisation
...
This warning caused too many false positives with range-for and other
language constructs and was very rarely actually helpful. Disable for
the time being.
2017-05-24 15:16:33 +10:00
770bc543a6
cxx: detect clang library for std::filesystem
2017-05-16 16:59:19 +10:00
e1ac923f32
optimisation: set gcc-{ar,nm,ranlib} for LTO targets
2017-05-12 15:57:30 +10:00
cec999bfdf
cxx: clear the default cmake cxxflags/cflags
...
cmake forces some values we don't want. it's better to start from
scratch.
2017-05-12 14:56:47 +10:00
2b9bff932c
warnings: add gcc 7 default warnings
2017-05-12 14:56:20 +10:00
bbe3b5a466
cxx: explicitly clear stdcxxfs library if not required
2017-02-16 19:42:51 +11:00
45be843568
search_libs: add comment
2017-02-01 13:45:48 +11:00
4488026028
search_libs: also set a _FOUND variable
...
There was no way to differentiate between not needing any library for a
symbol and not finding a symbol. So we add a _FOUND variable indicating
whether the symbol was discovered.
2017-02-01 13:36:43 +11:00
5b87197002
warnings: remove vestigial m4_sh version checks
2017-01-31 20:45:18 +11:00
1bc4f38108
asciidoc: add simple asciidoc package
2017-01-31 20:31:19 +11:00
e8d23f5865
ragel: disable unused variable warnings for generated source
2017-01-27 15:01:41 +11:00
d106a052a1
nc: protect against multiple invokations
2017-01-25 18:46:41 +11:00
dd58dbde82
optimisation: don't use ENABLE_FOO option names
2017-01-25 18:46:23 +11:00
7fea529319
optimisation: use a more reliable LTO flag test order
2017-01-25 18:45:42 +11:00
dfdf4da1b1
link_flag: actually set the response variable
2017-01-25 18:43:46 +11:00
7df08f6818
optimisation: use correct capitalisation of Debug
2017-01-23 21:42:34 +11:00
a5d2619f7d
cxx: unconditionally link to stdc++fs if found
2017-01-23 21:42:11 +11:00