We set CMAKE_EXPORT_COMPILE_COMMANDS=ON so the compilation database is
automatically exported to the build directory. However, many language
servers expect this file to be in the project root directory, so a common
post-build step is to:
```shell
$ ln -s <build-directory>/compile_commands.json
```
This PR enables developers to do this without having to worry about
accidentally commiting a symlink file.
Signed-off-by: carson radtke <nosrac925@gmail.com>
* Add .DS_Store (macOS) to .gitignore
Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
* Correct path to built docs in README
Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
* Add Visual Studio Code .vscode & Jetbrains .idea to .gitignore
Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
---------
Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
* removes further fixed build directory dependencies
* formatting corrected
* remove cleanup code unsuitable for win
* remove include unknown in windows
* adapt mkdir to win API
* Fixed a typo in a comment
* Refactored sig API following nist-branch (also fixes issue 380)
* Fixed Windows compilation error in sig.c.
* Added Picnic to Windows' config, and changed defaul alg to Picnic (since qTesla is not yet supported on Windows)
* Moved sig_picnic and sig_qtesla under sig directory, to harmonize with kem api
* Use different default sig alg on Windows to fix Travis back-compat tests and platform gap.
* Further changes required for OQS to be properly used by applications
* Compare OQS functions's return values to OQS error codes in sig.c.
* Fixed typos in comments.
* Replaced minimal_oqs_sig with example_sig.
* Ensure travis tests fail on error
* Add try-catch block in all-tests.sh
* Ignore example_sig
* Point global-namespace-check to .libs/liboqs.a
* More precise error handling in global-namespace-check
* Warning colours in travis tests and error handling in free-check
* Error handling in style-check
* Clean up style-check
* Removed leftover minimal_sig_oqs ref and VS projects.
* Prettyprint
* Revert clang-format version check
* Re-revert clang-format style check
* Prettyprint
* Added speed_sig to master.
* Removed superfluous extern from sig schemes .h
* Enable KAT-check
* Add check_kats script
* Add kat kem checks
* Make pretty print happy
* Update travis
* Update .gitignore
* Add kat-check to travis
* Fix path in kat-check
* Add -lm for kat
* Update travis.yml
* If algorithm is not enabled then kat check should not throw errors
* Prevent code duplication
* Add new kat files and modified script from nist-branch for bike
* Don't fail if algorithm not enabled
* Add rand_nist.c to VisualStudio build (manually edited VS files)
* Remove rand_nist.c from windows build
* Disable rand nist for windowa
* Fix
* 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
* Initial attempt at adding new KEM API and first KEM (SIKE)
* Fix name spacing in kem_sike
* Prettyprint kem_sike
* Use OQS_STATUS return codes
* Get speed_kem working
* Add missing config.h file for SIKE
* Add minimal kex and sig example file showing the api usage
* Fix regular expression
* update
* Update global namespace regex
* Further updates to gloabalnamespace script
* added minimal_sig/kex_oqs as test cases
* commit
* commit
* commit
updated tabs to spaces
* commit
make prettyprint
* commit
replaced macros with functions
* commit
changed print_hex_string to disp_hex_string to comply to the coding
standards
* updated regex
* Remove spurious regex updates
* commit
* Added back _ntt_double and _rec in regex
Otherwise gcc fails on travis
* commit
* Updated the picnic library, and removed it as a patched submodule and instead committed the code direclty.
* Added previously ignored config file, and added exception to gitignore.
* Removed the mention about recursive cloning in the readme.
* Replaced the implementation of Picnic with the optimized version of https://github.com/IAIK/Picnic.git.
Some notes:
- Picnic is now a git submodule, built separately (build_picnic.sh) and linked into OQS.
- The params are part of the Picnic library, no need to generate them separately.
- The Picnic params have been renamed
- Picnic has been disabled in the Visual Studio build (until the library supports VS)
* Deleted script to download old picnic implementation.
* Added picnic build commands to the configure script.
* Updated travis to build new picnic lib.
* Added note that clone must be recursive (to get picnic submodule).
* Removed dependency on m4ri and added picnic build instruction in travis (since apparently the configure scrip is not run as usual).
* Changed build_picnic.sh script invocation.
* install cmake3.8
Fix for PR 190
* commit
* commit
* Pulled down update to picnic submodule.
* pulled picnic update fixing compat macros failure
* Added openssl lib to test_sig linker if openssl is enabled.
* Disable Picnic on gcc < 5.
* Fixed travis.yml syntax error.
* Pulled updates to Picnic submodule (fixing build error on MacOS).
* Removed banned-functions test that only checks for bzero. For some strange reason, it doesn't work on travis while building picnic, even if bzero is not in the code.
* prettyprint
* Changed prettyprint's picnic exclusion dir.
* external lib changes
* Disable LTO in Picnic that prevents lib merging.
* Changed mode on build_picnic.sh.
* Added newline at the end of the file.
* Updated version of Picnic.
* Added patch to picnic to satisfy the global functions namespace convention.
* Added force option to patch to avoid error when rebuilding.
* Updated picnic-related entries, and added cmake files (obtained by travis).
* Updated ignore patch for picnic.
* Ignore mods (patched files) in 3rd party picnic library.
* Changed return code if no sig algs are configured, from error to success.
It's not really an error, and this makes the Travis build fail otherwise.
* Updated external picnic, and modified how it is patched and built (to avoid multiple patching).
* disabled Picnic on gcc 4
* Silenced picnic's dry-run patching (to avoid error messages if lib has already been patched).
* added comments to script
* Ignore (patched) submodule when checking for modified files.
Also delete a "grep -v" for picnic that meant to do the same thing, but
was in the wrong place after refactoring.
* Added --ignore-submodules to second call to git status
* Add temp/ to gitignore, to prevent Travis style-check failure on mac.
* Added sig API and Picnic signature algs.
* Removed ifdef around Picnic defines, to avoid modifying calling apps.
* Some clean-ups: updated Picnic reference in Readme, made download script executable, added TODO in test_sig.
* Removed const-removing cast since Picnic API now uses const.
* Revamped test_sig, cleaned-up sig and sig_picnic.
* Enables setting location of picnic params through an env variable (vs. hardcoded).
* Minor change.
* Enable travis test for picnic
* Fix yml error
* Fix yml error
* Fix apt package error
* Fix include for picnic
* Exit on first error
* Setup picnic external
* Fix a typo
* c99 mode for picnic matrices file in picnic
* update .gitignore
* Remove warnings from picnic
* Typo
* Another typo
* add picnic build for mac
* formatting
* Updated README after Picnic refactoring.
* Update and uniformization of README.md
* Minor typos in README.md
* Fix merge mistake.
* Fix M4RI_DIR path
* Undo README changes.
* Removing merge artifacts
* File not being used anywhere