Commit Graph

94 Commits (db0920d921c6984d85fba97b8ccd9d51065684f4)

Author SHA1 Message Date
Jason Rhinelander 74cc73d46b DOWNLOAD_SODIUM=FORCE to always download libsodium
This bypasses the check for a compatible local libsodium.
4 years ago
Jason Rhinelander 2b93ccb393 Bump libsodium required version to 1.0.18
We use crypto_core_ed25519_scalar_mul which is only exported by
libsodium >= 1.0.18.
4 years ago
Jason Rhinelander 955c475dbe Enable cpu detection on amd64
The optional runtime detection shouldn't rely on being compiled in avx2
mode.
4 years ago
Jason Rhinelander 6069b726e1 Fix ntru avx2 compilation when DOWNLOAD_SODIUM
We don't explicitly have to link against it, but it doesn't hurt *and*
this also pulls in the proper sodium include path, which we do need.
4 years ago
Jason Rhinelander 210cb837c6 Enable -avx2 -fma for ntru even when compiling without AVX2 support
This code is runtime guarded with CPU feature tests, so even if we are
making a non-AVX2 build we still want to compile the avx code path with
-mavx2 -mfma so that it can be opportunistically used when run on
AVX2-supporting CPUs (particularly for the debs and release binaries).
4 years ago
Jason Rhinelander 54b644e280 Add -DDOWNLOAD_SODIUM to re-enabled dl&build of sodium
Also supported in the Makefile (e.g. `make DOWNLOAD_SODIUM=ON`)

Also DRYs out the Makefile a little.
5 years ago
Jeff Becker 30a8bb681f
more 5 years ago
Jeff Becker 31150fa4d0
require version 5 years ago
Jason Rhinelander cdca34e628 Fix runtime AVX2 detection
The feature flags come via __cpuid_count instead of __cpuid

Also removes a couple unneeded headers.
5 years ago
Jason Rhinelander 57ccb1fd5c Move sodium download into separate cmake include 5 years ago
Jeff Becker c1a81d26f1
pull in libsodium if local version sucks 5 years ago
Rick V d02d4ac044
remove vendored libsodium 5 years ago
Jeff 49b410b437
Merge pull request #888 from majestrate/fix-broken-build-2019-10-30
fix typo in cmake
5 years ago
Jeff Becker fc4900094f
if this works i'll be pissed at gcc 5 years ago
Jeff Becker 2cb15e7e0b
enable see2 when used 5 years ago
Jeff Becker 0a204b7760
try disabling extra calls for some reason sodium_memcmp destroys the stack and i have no idea why 5 years ago
Jason Rhinelander 0774213e87 Fix cmake sodium version check 5 years ago
Jeff Becker f228eca39e
fix typo 5 years ago
Jeff Becker 3ebea458e9
use vendored libsodium if we dont have a good version 5 years ago
Jeff Becker f38240f945
devendor libsodium by default except for android 5 years ago
Rick V 294b98527d
clang-format remaining code, use __asm__ for avx2 port since we
insist on straight C99 without extensions (asm isn't special in
C99, __asm__ is)
5 years ago
Rick V 595b15d538
make format crypto/ 5 years ago
Rick V b3a975ff8e
sun fix
fix testing on sun
5 years ago
Jeff Becker 1f761a1cb0
* fix arm cross compile on ubuntu disco
* add toolchain option for cross compile
5 years ago
Michael 0b4d787042
More work on router docker image
- Multi-stage docker build (final image only 15MB!)
- Build in release mode
    - Fix bug with release mode
    - Fix compiler being dumb AF
    - Disable FORTIFY for now
- Enable LTO when making a staticly linked release
- Fix some gcc specific warnings
- Refactor cmake stuff into multiple files
5 years ago
Michael 4143472a17
Add cmake module to target a library as 'system', and fix a few warnings 5 years ago
michael-loki 0195152e05 Allow builds on MSVC (#518)
* Import cxxopts to replace getopts usage

* Add visual studio build things

* Fixup abseil build parts

* Replace __attribute__((unused)) with ABSL_ATTRIBUTE_UNUSED

* Fixup minor windows build issues

* Replace getopts usage

* Temporarily fixup .rc files

* More minor windows fixes

* Get a working build

* Revert .rc files

* Revert changes to nodedb
5 years ago
Jeff Becker 3da6551e82
make android compile 5 years ago
Ryan Tharp 98e3753764 fix typo 5 years ago
Ryan Tharp 25d00e2974 Merge remote-tracking branch 'origin/master' 5 years ago
Ryan Tharp ad91071633 Fix undefined behaviors and misaligned member access 5 years ago
Michael 90373b806c
Fix log tag after cmake changes 5 years ago
Michael 1aeacb0043
Refactor CMakeLists into distinct directories 5 years ago
Michael 3b3926a0ea
Refactor CMakeLists into distinct directories 5 years ago
despair d9863128b9 the intrinsic variant is 32-bit clean
the ASM variant is not

found it

fix

something is wrong with the external build

hmm

why is this critical section doing nothing

fix multiple init

debug init

ok fixed
6 years ago
Jeff Becker 9db99d4d04
fix debian build 6 years ago
despair 907e557696 fuck the apple compiler
bad merge!

make -Werror optional for end-users
6 years ago
Jeff Becker d408b08889
make windows cross compile pass, make format parts of libutp 6 years ago
Jeff Becker fd87f2ac96
purge VLAs from the codebase 6 years ago
Jeff Becker 04a249a503
Merge remote-tracking branch 'rick/dev' 6 years ago
Jeff Becker 960aa479e9
fixes for ancient rpi toolchain 6 years ago
despair 2a5a0f1577 fix warnings on windows
up next: fix netbsd
6 years ago
Jeff Becker 7a78832841
Merge remote-tracking branch 'rick/dev' 6 years ago
Jeff Becker 7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev 6 years ago
Michael Thorpe 33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
6 years ago
despair 04e620ebf2 add iocp tcp connect
msys2 grabs its reactos sdk headers straight out of git
most cross-compilers use the versioned releases (v6 as of last week)

huh. for once setting the windows version macros doesn't break anything.
6 years ago
Michael Thorpe a2d5d80779
Enable warnings as errors
test criteria:
- Built from clean on macOS
6 years ago
Jeff Becker f1cca956f9
make android compile again 6 years ago
despair 5a32ccf220 scan-build fixes on win32 code paths 6 years ago
despair 3aaea187b6 add intel intrinsics for 32-bit avx build
make crypto and abyss static

update readme for windows
6 years ago