liboqs/configure.ac
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

78 lines
1.9 KiB
Plaintext

# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
# Init
AC_INIT([liboqs], [1.0.0], [])
LT_INIT([disable-shared])
AM_INIT_AUTOMAKE([subdir-objects no-dependencies])
# Configure
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/common/ds_benchmark.h])
AC_CONFIG_MACRO_DIRS([config])
# Set paths to external libraries.
ADD_EXTERNAL_LIB
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AM_PROG_AS
# Perform general system checks
AC_GENERAL_CHECKS
# DOXYGEN SUPPORT
CONFIG_DOXYGEN
# Detect the host CPU and x86 features that are availble.
DETECT_HOST_AND_CPU
# Configure the list of supported features
CONFIG_FEATURES
# Common sources
SRCDIR=${SRCDIR}" src/common"
# Crypto sources
SRCDIR=${SRCDIR}" src/crypto/aes \
src/crypto/sha3 \
src/crypto/rand_urandom_aesctr \
src/crypto/rand_urandom_chacha20"
# Protocols
SRCDIR=${SRCDIR}" src/kem \
src/kex \
src/sig"
#Set the default compilation flags
SET_AM_CFLAGS
AC_SUBST(SRCDIR)
AC_CONFIG_FILES([Makefile
src/common/Makefile
src/kem/Makefile
src/kex/Makefile
src/crypto/sha3/Makefile
src/crypto/rand_urandom_chacha20/Makefile
src/crypto/rand_urandom_aesctr/Makefile
src/crypto/aes/Makefile
src/kex_rlwe_newhope/Makefile
src/kex_sidh_msr/Makefile
src/kex_code_mcbits/Makefile
src/kex_ntru/Makefile
src/sig/Makefile
src/sig_picnic/Makefile
src/sig_qtesla/Makefile
src/kex_rlwe_newhope/avx2/Makefile
src/kem/bike/Makefile
src/kem/frodokem/Makefile
src/kem/sike/Makefile
])
AC_OUTPUT