Commit Graph

55 Commits

Author SHA1 Message Date
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
2d9f884cbc link_flag: use consistent macro variable names 2017-01-23 16:48:36 +11:00
af25ffdf6c link_flag: don't forcible cache the check_link_flag variable 2017-01-23 16:48:02 +11:00
acac995e0b link_flag: reset the link flags after the link test 2017-01-23 16:47:03 +11:00
7917ab4ae8 canonical_host: assume x86_64 for msvc
This is a short term bandaid to get builds testable under Windows.
2017-01-23 14:56:08 +11:00
576a112da8 cxx: add msvc c++ standard test 2017-01-23 14:55:37 +11:00
75bf85232e test_restrict: remove unncessary cmake version test 2017-01-23 14:54:44 +11:00
86822e7f6b platform: allow win32 to pass platform checks 2017-01-23 14:54:22 +11:00
c640c55181 add a convenience include for all nc build files 2017-01-18 21:43:58 +11:00