aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data/cc
Commit message (Collapse)AuthorAgeFilesLines
* Add an explicit OS target for EmscriptenJack Lloyd2018-10-121-0/+1
| | | | | This allows things to mostly work out of the box (#1702), and allows us to write Emscripten specific code where required.
* Small fixes for QNX [ci skip]Jack Lloyd2018-10-121-1/+1
| | | | Private report of a successful build on QNX 7 with these fixes.
* Fixes for building for LLVM bitcode/EmscriptenJack Lloyd2018-10-071-1/+1
| | | | GH #1702
* With MSVC, use /arch:AVX for AVX2 enabled codeJack Lloyd2018-10-011-1/+1
| | | | | It seems otherwise VC generates a mix of SSE and AVX code resulting in lots of transition penalties.
* Change Clang fuzzing flags to avoid deprecated options. [ci skip]Jack Lloyd2018-09-241-1/+1
|
* Update build flags for Sun StudioJack Lloyd2018-09-181-3/+3
|
* Define _ENABLE_EXTENDED_ALIGNED_STORAGE for MSVC 15.8Jack Lloyd2018-07-131-1/+1
| | | | See #1624 for background
* Add support for ARMv8 SM4 instructionsJack Lloyd2018-07-091-0/+4
| | | | Tested in qemu
* Required changes according to the code reviewHegedüs Márton Csaba2018-06-112-0/+4
|
* Add BMI2-specific SHA-256Jack Lloyd2018-05-272-2/+2
| | | | | Currently just a copy of the baseline compression function, but compiled with BMI2 flags. On Skylake improves performance by about 40%.
* Add sanitizer-specific optimization flagsJack Lloyd2018-04-072-2/+4
|
* Add support for XLC symbol visibility attributes [ci skip]Jack Lloyd2018-03-281-0/+3
|
* Adds sanitizer support for the xlC compilerMatthias Gierlings2018-03-281-0/+6
| | | | | | | | | | | | | | | - Option "--with-sanitizers" sets compiler flag "-qcheck=all" - Alternatively "--enable-sanitizers" can be set to either "address" which translates to "-qcheck=bounds:stackclobber:unset" or "undefined" which sets the flags "-qcheck=nullptr:divzero". The flags are explained here: https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.2/com.ibm.xlc131.aix.doc/compiler_ref/opt_check.html Currently compiling with "--with-sanitizers" or "--enable-sanitizers=undefined" will cause compilation to fail because of a "possible division by 0" in `Botan::bigint_divop`. This seems to be a false positive, before the division occurrs an Invalid_Argument exception will be thrown.
* Add --enable-sanitizers= flag to specify which sanitizers to useJack Lloyd2018-03-272-6/+15
| | | | Allows adding support for MSan with Clang and UBsan with GCC
* Deprecated declarations should be error in maintainer modeJack Lloyd2018-03-252-2/+2
| | | | Users get nervous on seeing these during compilation.
* Add option to specify the MSVC runtimeJack Lloyd2018-03-211-2/+5
| | | | Fixes GH #210
* Enable SHA-1 intrinsics on MSVCJack Lloyd2018-03-041-0/+1
| | | | GH #939
* Add (untested) support for x32 buildJack Lloyd2018-03-021-0/+1
| | | | Needed for Debian
* AES encryption using POWER8 intrinsicsJack Lloyd2018-02-231-0/+2
|
* Use -m32 for x86-32 builds with GCCJack Lloyd2018-02-021-0/+1
| | | | | This used to not work but is fine with GCC 4.8 which is the minimum version we support. Fixes #1438
* ABI for Aarch64 cryptoJack Lloyd2018-01-122-0/+4
|
* Remove CPU specific optimization flagsJack Lloyd2018-01-087-114/+7
| | | | | | | These are best left to the user to set via CXXFLAGS or --cc-abi-flags Add override if arch ends in in {eb, el, be, le} to set the endian. Avoids an extra file for ppc64le.
* Update configuration information for Intel C++Jack Lloyd2018-01-041-5/+15
| | | | This is completely untested and just based on the documentation.
* Hack for building on Cygwin (newlib)Jack Lloyd2017-12-281-0/+1
| | | | | | | Newlib hides system functions if __STRICT_ANSI__ is defined, as happens with -std=c++11. To get access to POSIX APIs you must use a -std=gnu variant. However doing that in the build is kind of painful, it's easier to selectively undefine the macro.
* Add exceptions to mach_abi_linking groupsJack Lloyd2017-12-232-2/+2
| | | | | Allows avoiding -pthread on Haiku which doesn't support that flag. (Even though it has pthreads, go figure...)
* Detect the compiler version using the preprocessor instead of command lineJack Lloyd2017-12-141-0/+2
| | | | Fixes #1314
* Rename SSE4.x names to avoid underscoresJack Lloyd2017-12-114-8/+8
| | | | | | This breaks how we determine the ISA flags for amalgamation files. The code for doing that is kind of a hack but I don't want to mess with it right now, easier to just rename the ISA internally.
* Rename the SSE4 ISA extensionsJack Lloyd2017-12-114-8/+8
| | | | Simplifies macro generation
* Enable using NEON on ClangJack Lloyd2017-12-101-0/+3
| | | | | Clang doesn't like the way SIMD shifts were implemented, I guess it fails to inline the constant. Make it a template parameter instead.
* Move -Wstrict-overflow to maintainer mode [ci skip]Jack Lloyd2017-12-091-2/+2
| | | | It tends to have false positives, and is deprecated starting in GCC 8
* Drop support for Cilk+Jack Lloyd2017-12-021-2/+1
| | | | | It's been dropped from GCC, appears OpenACC is the new hotness for this kind of thing.
* Merge the gnumake and nmake makefilesJack Lloyd2017-12-019-31/+16
|
* Use this to prevent fallback to Unix ar default argsJack Lloyd2017-11-291-1/+1
|
* Allow overriding ar commandJack Lloyd2017-11-299-60/+5
| | | | | | | | Splits up the ar command and ar options to make this possible. Removes support for calling `ranlib` after `ar`: testing in #1317 confirms that all platforms we support no longer need it. See #1237. Also fixes #455
* Move Clang -Wunreachable-code warning to maintainer modeJack Lloyd2017-09-301-2/+2
| | | | | In older Clangs it produces false positives on compiler intrinsics and these will just frighten the user ;)
* Improve support for IBM XLCJack Lloyd2017-09-211-6/+8
| | | | | A uint128 type is available but is apparently broken, causes problems with x25519
* Be less forgiving in maintainer modeJack Lloyd2017-09-172-2/+2
|
* Add support for LLVM bitcode targetJack Lloyd2017-08-302-9/+3
|
* Fix warnings from clangs -Wdocumentation flagJack Lloyd2017-07-281-1/+1
|
* configure: encode submodel prefix into single valueSimon Warta2017-04-042-11/+11
| | | | to reuse dictionary parsing
* Add some MSVC compiler flagsDaniel Neus2017-04-041-2/+2
| | | | | | | | /Oi enabled in release builds: generates intrinsic functions for appropriate function calls https://msdn.microsoft.com/en-us/library/f99tchzc.aspx /Os if `--optimize-for-size` is used: tells the compiler to favor optimizations for size over optimizations for speed https://msdn.microsoft.com/en-us/library/f9534wye.aspx
* Make it possible to disable stack smashing protection.Jack Lloyd2017-02-042-2/+4
| | | | | | Also reflect anything in ABI flags into pkg-config Libs field. GH #863
* Add support for Aarch32 NEON flagsJack Lloyd2017-01-291-1/+4
| | | | configure.py already supports this arch-specific ISA flag syntax.
* Add support for NEON in SIMD_4x32Jack Lloyd2017-01-291-0/+2
| | | | Tested on qemu-aarch64
* Add -std=c++11 to Sun CC command lineJack Lloyd2017-01-281-1/+1
|
* add "--with-external-libdir" to configure.pyDaniel Neus2017-01-261-1/+1
| | | | | | Fixes #767 and #19 Main purpose is to support external libs like OpenSSL on Windows.
* Fix configure.py error when compiler doesn't support desired ISA flagsJack Lloyd2017-01-221-0/+15
| | | | | | | | | | | | | Seen with rarely tested compilers (Sun Studio, Intel, ...) that we are missing info for. Previously this led to a hard error which is pointless. Instead just disable the relevant module and warn the user that something was disabled, if they want to go look into why. Remove bogus clmul entry in x86_64 - actually we lump both AES and CLMUL flags under the same ISA ("aesni") since all known CPUs support either both or neither. Caught by new configure warning. Add Sun Studio ISA flags from GH #846
* Add os iosSimon Warta2017-01-031-0/+1
|
* Add Cilk/OpenMP supportJack Lloyd2016-11-262-0/+5
|
* Add new configure argument --optimize-for-sizeJack Lloyd2016-11-034-0/+4
| | | | | | | | | | | Uses -Os for GCC/Clang/ICC, /O1 for MSVC. Might be used in the future to control compile time features also (eg using a large precomputed table, vs not). Does not have any influence on module selection, just informs the build that a smaller binary is preferable. [ci skip]