Commit Graph

486 Commits

Author SHA1 Message Date
Jason Rhinelander 0839c16f19 Final abseil purge
Bye-bye Google Boost.
2020-02-24 14:27:44 -04:00
Jason Rhinelander 2e9840ea39 Replace abseil date code with Hinnart's date.h
Howard Hinnart's date.h is the library that was accepted as C++20
date/calendar support, so this is essentially a backport of C++20 date
time support.

(It does support timezone support, but requires more of the library and
that seems like overkill for what we need; this just prints UTC
timestamps instead, which need only a header-only include).
2020-02-24 14:27:44 -04:00
Jason Rhinelander ac1486d0be Replace absl::optional with optional-lite
Step 1 of removing abseil from lokinet.

For the most part this is a drop-in replacement, but there are also a
few changes here to the JSONRPC layer that were needed to work around
current gcc 10 dev snapshot:

- JSONRPC returns a json now instead of an optional<json>.  It doesn't
  make any sense to have a json rpc call that just closes the connection
  with returning anything.  Invoked functions can return a null (default
  constructed) result now if they don't have anything to return (such a
  null value won't be added as "result").
2020-02-19 18:21:25 -04:00
Jason Rhinelander ecdc389e1a Fix typo in option to disable submodule checks 2020-02-17 20:22:13 -04:00
Jason Rhinelander c522bc0537 ghc::filesystem devendor to submodule
Also removed some unused/old options for conditionally not using
ghc::filesystem and a sodium option that wasn't used anywhere.
2020-02-13 15:47:11 -04:00
Jason Rhinelander 3df4eaef2d Devendor cxxopts to submodule 2020-02-13 15:18:17 -04:00
Jason Rhinelander edbe0c7bf4 Devendor gtest to a submodule 2020-02-13 15:15:34 -04:00
Jason Rhinelander 5a787de73b Switch abseil & nlohmann to submodules and update to latest stable
Our current abseil won't build with gcc 10 (its `optional`
implementation appears broken), and spews warnings under slightly older
compilers; updating to the latest stable 2019 branch fixes both issues.
2020-02-13 15:14:17 -04:00
Jason Rhinelander 04fa117399 Use -mcpu=native on ppc64le 2020-02-07 00:22:27 -04:00
Jeff Becker 7aa1b2c27c
monotonic time and run testnet at 20% realtime 2020-01-23 12:14:25 -05:00
Jason Rhinelander 7cec0db371 Simplify CRYPTO_FLAGS logic, remove RYZEN_HACK
We currently spend a bunch of time setting CRYPTO_FLAGS and then just
completely wipe it out if NATIVE_BUILD is specified.

The AMD_RYZEN_HACK is really not needed; it was only some early CPU
microcode and compiler combinations that had trouble detecting Ryzen's
FMA3 support (and Ryzen *doesn't* properly support FMA4--it can be
forced on and runs, but apparently it can give wrong results).
2020-01-07 18:57:40 -04:00
Jason Rhinelander 6f3757e933 Modernize non-AVX2 tuning to haswell
Tuning to an ancient architecture doesn't make a lot of sense; we want
to support the ancient architecture, but don't want to optimize for it.

Also change the AVX2 tuning to use haswell so that optimizations don't
depend on the CPU in the system the build runs on.
2020-01-07 18:53:00 -04:00
Jeff 0c979aaa3f
Merge pull request #1017 from despair86/dev
IX86 builds should only require SSE3 by default
2019-12-31 10:32:03 -05:00
Rick V 6bb95ce718 IX86 builds should only require SSE3, and this still allows debian release mgr to override the target selection flag 2019-12-31 09:15:57 -06:00
Ryan Tharp 60a36a4a7d when STATIC_LINK search for static versions of libraries, delay CURL detection until later 2019-12-23 06:55:02 +00:00
Rick V fd6602bf05
fix versiontag 2019-12-16 11:32:42 -06:00
Rick V 9fa9209114
don't be aggressive
remove libcurl packaging rules. We still build it, but ship only the curl.exe
2019-12-16 11:28:47 -06:00
Rick V e15c57c114
get ready for v0.6
bump version

don't ship the shared object
2019-12-16 11:28:21 -06:00
Stephen Shelton 332f33b049 Remove FS_LIB conditionals 2019-12-12 12:58:46 -07:00
Stephen Shelton 5ce260fce1 Use vendored fs::filesystem on all platforms 2019-12-12 12:29:03 -07:00
Jason Rhinelander 638fb25b47 Put version info into a compiled file
This rewrites the version info using lokid's approach of compiling it
into a .cpp file that gets generated as part of the build (*not* during
the configure stage).

Among other things, this means that changing the version no longer
invalidates ccache or cmake dependencies, and because it depends on
`.git/index` git commits will cause the version to be regenerated,
making the commit tag more reliable (currently if you rebuild without
running cmake your git commit tag doesn't update).
2019-12-11 22:40:07 -04:00
Jeff 512a350783
Merge pull request #953 from majestrate/try-preventing-router-lockup-2019-12-07
try fixing router lockup
2019-12-09 07:38:17 -05:00
Jeff Becker 2eabe98d9b
add systemd watchdog if enabled on compile time 2019-12-07 14:21:26 -05:00
Jason Rhinelander 8d2c22fc72 Replace cppbackport with ghc-filesystem
From https://github.com/gulrak/filesystem which is more up-to-date and
looks better maintained than cppbackport.
2019-12-06 20:41:22 -04:00
Jeff Becker d685057754
update readme and disable curl on windows 2019-11-26 17:11:13 -05:00
Jeff Becker 3878ebd534
use curl to fetch from lokid rpc the identity key 2019-11-26 16:58:20 -05:00
Jeff Becker 70ceca1e72
disable gtest when no unit tests 2019-11-05 07:29:43 -05:00
Jeff Becker 6bd593f3e2
move it more 2019-11-05 07:28:08 -05:00
Jeff Becker 329c9d1044
move more stuff 2019-11-05 07:26:44 -05:00
Jeff Becker a5b1379b88
exclude debian from setting CRYPTO_FLAGS 2019-11-05 07:24:05 -05:00
Jeff Becker c3302018ba
more 2019-11-05 07:11:05 -05:00
Jeff Becker e3724577d3
detect properly for mobile 2019-11-05 07:01:14 -05:00
Jeff Becker ea7884231d
move it 2019-11-05 06:58:40 -05:00
Jeff Becker 9d0d96b70f
get rid of NON_PC_TARGET 2019-11-05 06:45:49 -05:00
Rick V 35c131cb27
restore crypto flags for binary builds 2019-10-30 18:02:34 -05:00
Rick V 9b9ea6e6d0
make that a universal rule 2019-10-30 18:02:32 -05:00
Jeff Becker 3ebea458e9
use vendored libsodium if we dont have a good version 2019-10-29 12:31:36 -04:00
Jeff Becker 168420dba8
finishing touches 2019-10-29 12:07:20 -04:00
Jeff Becker f38240f945
devendor libsodium by default except for android 2019-10-29 12:01:58 -04:00
Jeff 3a6c16aa36
Merge pull request #871 from majestrate/ed25519-signing
Ed25519 signing
2019-10-28 10:42:40 -04:00
Jeff Becker 01c4a9c287
revert a few things 2019-10-28 10:16:00 -04:00
Stephen Shelton 961c8dbddf Prevent in-source-builds with cmake macro 2019-10-24 13:21:45 -06:00
jeff 869ab0b652 Merge remote-tracking branch 'upstream/dev' into vpn-api-2019-10-03 2019-10-21 08:01:29 -04:00
Jason Rhinelander 281fbff42f Fix build on xenial
- xenial's cmake version (3.5.1) builds everything fine and test suite
  passes, so lower the minimum to that.

- add a hack for xenial's kernel header & glibc version breaking if both
  net/if.h and linux/if.h get included.  The only thing we actually need
  from net/if.h that linux/if.h doesn't have is `if_nametoindex`, so
  just hack that definition in for xenial's specific glibc/kernel header
  versions.
2019-10-11 17:26:12 -03:00
jeff c26b67c379 finish wiring up jni shizz 2019-10-08 10:52:01 -04:00
jeff 7d7c6bf38c Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography 2019-10-07 06:08:47 -04:00
Michael 77b4efd78b
fixup ios 2019-10-07 00:52:04 +01:00
Michael abc527ca35
Split cmake files for executables into src dirs 2019-10-05 16:08:12 +01:00
jeff 6dc350a8f3 update cmake 2019-10-04 14:16:39 -04:00
jeff 52757fef0e Merge remote-tracking branch 'micheal/background_mode' into vpn-api-2019-10-03 2019-10-04 14:10:58 -04:00