Commit Graph

94 Commits

Author SHA1 Message Date
Jason Rhinelander
74cc73d46b DOWNLOAD_SODIUM=FORCE to always download libsodium
This bypasses the check for a compatible local libsodium.
2020-02-06 16:28:35 -04:00
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.
2020-02-02 16:38:48 -04:00
Jason Rhinelander
955c475dbe Enable cpu detection on amd64
The optional runtime detection shouldn't rely on being compiled in avx2
mode.
2020-01-08 20:45:25 -04:00
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.
2020-01-07 19:58:18 -04:00
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).
2020-01-07 18:39:46 -04:00
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.
2019-12-16 20:52:44 -04:00
Jeff Becker
30a8bb681f
more 2019-12-16 09:04:35 -05:00
Jeff Becker
31150fa4d0
require version 2019-12-16 09:03:19 -05:00
Jason Rhinelander
cdca34e628 Fix runtime AVX2 detection
The feature flags come via __cpuid_count instead of __cpuid

Also removes a couple unneeded headers.
2019-11-21 11:50:04 -04:00
Jason Rhinelander
57ccb1fd5c Move sodium download into separate cmake include 2019-10-31 17:49:08 -03:00
Jeff Becker
c1a81d26f1
pull in libsodium if local version sucks 2019-10-31 15:30:02 -04:00
Rick V
d02d4ac044
remove vendored libsodium 2019-10-30 18:02:35 -05:00
Jeff
49b410b437
Merge pull request #888 from majestrate/fix-broken-build-2019-10-30
fix typo in cmake
2019-10-30 13:02:54 -04:00
Jeff Becker
fc4900094f
if this works i'll be pissed at gcc 2019-10-30 12:58:54 -04:00
Jeff Becker
2cb15e7e0b
enable see2 when used 2019-10-30 12:45:51 -04:00
Jeff Becker
0a204b7760
try disabling extra calls for some reason sodium_memcmp destroys the stack and i have no idea why 2019-10-30 12:39:15 -04:00
Jason Rhinelander
0774213e87 Fix cmake sodium version check 2019-10-30 13:25:23 -03:00
Jeff Becker
f228eca39e
fix typo 2019-10-30 10:46:29 -04:00
Jeff Becker
3ebea458e9
use vendored libsodium if we dont have a good version 2019-10-29 12:31:36 -04:00
Jeff Becker
f38240f945
devendor libsodium by default except for android 2019-10-29 12:01:58 -04:00
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)
2019-09-03 08:02:35 -05:00
Rick V
595b15d538
make format crypto/ 2019-09-03 08:02:35 -05:00
Rick V
b3a975ff8e
sun fix
fix testing on sun
2019-08-27 06:53:08 -05:00
Jeff Becker
1f761a1cb0
* fix arm cross compile on ubuntu disco
* add toolchain option for cross compile
2019-07-16 09:41:43 -04:00
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
2019-04-28 17:04:52 +01:00
Michael
4143472a17
Add cmake module to target a library as 'system', and fix a few warnings 2019-04-25 00:27:31 +01:00
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
2019-04-19 13:24:33 -05:00
Jeff Becker
3da6551e82
make android compile 2019-04-08 11:54:19 -04:00
Ryan Tharp
98e3753764 fix typo 2019-02-18 05:12:13 -08:00
Ryan Tharp
25d00e2974 Merge remote-tracking branch 'origin/master' 2019-02-18 02:00:36 -08:00
Ryan Tharp
ad91071633 Fix undefined behaviors and misaligned member access 2019-02-18 01:59:33 -08:00
Michael
90373b806c
Fix log tag after cmake changes 2019-02-15 20:49:10 +00:00
Michael
1aeacb0043
Refactor CMakeLists into distinct directories 2019-02-12 01:19:37 +00:00
Michael
3b3926a0ea
Refactor CMakeLists into distinct directories 2019-02-09 16:30:29 +00:00
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
2018-11-19 04:29:36 -06:00
Jeff Becker
9db99d4d04
fix debian build 2018-11-13 10:16:14 -05:00
despair
907e557696 fuck the apple compiler
bad merge!

make -Werror optional for end-users
2018-11-12 23:39:47 -06:00
Jeff Becker
d408b08889
make windows cross compile pass, make format parts of libutp 2018-11-09 07:56:04 -05:00
Jeff Becker
fd87f2ac96
purge VLAs from the codebase 2018-11-09 07:25:14 -05:00
Jeff Becker
04a249a503
Merge remote-tracking branch 'rick/dev' 2018-11-08 07:36:18 -05:00
Jeff Becker
960aa479e9
fixes for ancient rpi toolchain 2018-11-08 07:31:50 -05:00
despair
2a5a0f1577 fix warnings on windows
up next: fix netbsd
2018-11-07 18:09:49 -06:00
Jeff Becker
7a78832841
Merge remote-tracking branch 'rick/dev' 2018-11-07 11:05:47 -05:00
Jeff Becker
7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev 2018-11-07 10:57:34 -05:00
Michael Thorpe
33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
2018-11-07 15:31:13 +00:00
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.
2018-11-06 17:54:34 -06:00
Michael Thorpe
a2d5d80779
Enable warnings as errors
test criteria:
- Built from clean on macOS
2018-11-06 22:48:17 +00:00
Jeff Becker
f1cca956f9
make android compile again 2018-11-06 09:06:09 -05:00
despair
5a32ccf220 scan-build fixes on win32 code paths 2018-10-30 00:16:34 -05:00
despair
3aaea187b6 add intel intrinsics for 32-bit avx build
make crypto and abyss static

update readme for windows
2018-10-30 00:16:32 -05:00