liboqs/config/flags.m4
Nir Drucker d3ff24cd31 Add BIKE to master and some autotools/Makefiles changes (#333)
* Supporting BIKE KEM reference code

* Hiding print global symbol when VERBOSE!=2

* Supporting USE_OPENSSL + OPENSSL_DIR

* - The file config/.gitkeep is no longer needed its purpose was to allow git having an empty folder (config).
- Moved the file acinclude.m4 to the config directory (where all the *.m4 files are).
- Added .travis/defs.sh - this file holds common definitions used by travis scripts.
- Changed style-check to first check for clang-format only then handle modified files.
- Sodium support is no longer required.
- Breaked configure.ac into sub m4 files
- Sorted the flags list.
- Changed FrodoKEM to Frodo for consistency with SIKE and BIKE. Note that it is already under the KEM directory.
- Chaned USE_* protocl flags to ENABLE_* for consistency
- Adjaust most of the makefile to have a consistent compilation flags
- Added some more compilation warnings.

* Rename functions by using a legend instead of the FN() macro

* prettyprint

* 1) Some more Makefiles cleanup 2)Adding OQS_API defnition - hidding other symbols

* Reverting frodo renaming

* Reverting the checks order.

* Removing NEW_API.md

* pretty print

* 1)Disable bad warnings on gcc4.8/4.9 2) Disable all warnings on SIKE

* Disable the cast-align warning for now

* Documentation

* 1) Reenable BIKE error messages
2) Auto detection of AVX/AVX2/BMI features.

* Enable AVX features only on X86_64 Linux platforms

* Adding BIKE additional implementation for Linux(x86_64) and GCC

* Fixing configure.ac when OpenSSL is disabled

* Enabling BIKE's AVX512 implementation

* Wrap AVX512 code with ifdef

* Changes from code review

* Prettyprint

* Fix typo

* Rename symbol
2018-08-14 13:07:16 -04:00

46 lines
1.2 KiB
Plaintext

# Set compilation flags
AC_DEFUN([SET_AM_CFLAGS],
[
AM_CFLAGS=${AM_CFLAGS}" -std=gnu11"
# Basic set of errors
AM_CFLAGS=${AM_CFLAGS}" -Wall -Wextra -Werror "
#TODO: undisabled
#AM_CFLAGS=${AM_CFLAGS}" -Wpedantic -Wcast-qual "
# Add extra warnings
AM_CFLAGS=${AM_CFLAGS}" -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized "
AM_CFLAGS=${AM_CFLAGS}" -Wshadow -Wformat-security -Wwrite-strings "
# Disable, due to bugs in GCC 4.8/4.9
AM_CFLAGS=${AM_CFLAGS}" -Wno-missing-braces -Wno-missing-field-initializers"
# Add debug symbols
AM_CFLAGS=${AM_CFLAGS}" -g "
# For shared objects
AM_CFLAGS=${AM_CFLAGS}" -fPIC "
# Hidding all unneeded symbols.
AM_CFLAGS=${AM_CFLAGS}" -fvisibility=hidden "
# Add default include directories
AM_CFLAGS=${AM_CFLAGS}" -I`pwd`/include -I. "
AM_COND_IF(USE_OPENSSL, [AM_CFLAGS=${AM_CFLAGS}" -I"${OPENSSL_DIR}"/include "])
# Optimization level
AM_CFLAGS=${AM_CFLAGS}" -O3 "
AM_CFLAGS=${AM_CFLAGS}" -fomit-frame-pointer "
AM_COND_IF(USE_AES_NI, [AM_CFLAGS=${AM_CFLAGS}" -maes -msse2 "])
# Extra flags
AM_CFLAGS=${AM_CFLAGS}" -DCONSTANT_TIME "
AM_CONDITIONAL(CONSTANT_TIME,[true])
AC_SUBST(AM_CFLAGS)
]
)