Commit graph

57 commits

Author SHA1 Message Date
Jason Rhinelander 06a7148515 Fix macos no-dynamic-libs check 2022-11-30 23:00:58 -04:00
Jason Rhinelander 72a356798d
apple now links everything to libobjc.dylib now, hurray for great success! 2022-10-17 13:45:23 -03:00
Jason Rhinelander 0638aea2fb
Fix apple static libs check 2022-04-15 14:32:06 -03:00
Jason Rhinelander 3cfbf0fb66
Windows build fixes
- bump libusb version
- build hidapi using cmake (autoconf is deprecated, and doesn't properly
  set up the required linking on Windows)
- pass through toolchain
- zmq/win32 compilation fix
2022-04-14 14:36:59 -03:00
Jason Rhinelander 5a5c9bf450
Update static build deps to latest versions 2022-04-14 14:32:02 -03:00
Jason Rhinelander 14cb314f70 Add patch for hidapi + autoconf 2.70+
Fixes the mac build, and will fix future linux build once distros start
shipping 2.70+.
2021-07-06 20:07:52 -03:00
Jason Rhinelander f3325f9ec8 Clean up unused/unmaintained contrib and utils
Everything removed here is unsupported and doesn't work (leftover stuff
from Monero).
2021-03-28 22:08:45 -03:00
Jason Rhinelander 91a4e7f2df Make ios static lib match android static lib name 2021-01-08 18:16:06 -04:00
Jason Rhinelander 37159b2ba0 Export symbols and strip debug symbols from android static lib
This massively reduces the size.
2021-01-08 18:15:25 -04:00
Sean Darcy d37a6e88c9 Drone static upload still looking for loki executables 2021-01-07 18:40:22 -04:00
Sean Darcy 2822747a62 lokinet revert 2021-01-07 18:40:22 -04:00
Jason Rhinelander 5c9ed9b61d Fix android tarfile creation 2021-01-07 18:37:52 -04:00
Jason Rhinelander d3b08c4a5e builds.lokinet.dev -> oxen.rocks 2021-01-07 18:37:52 -04:00
Jason Rhinelander 2d2e7c53ac Add 'include' & 'lib' dirs into android deps archive
This makes it directly extractable into what the new android wallet
expects (and matches the ios archive, aside from the arch subdirs).
2021-01-07 18:37:52 -04:00
Jason Rhinelander cdf62b2377 Remove all but the wallet2_api header for ios
The new ios wallet now uses the wallet2_api.h rather than directly
including core loki headers which greatly simplifies what we have to
package.
2021-01-07 18:37:52 -04:00
Jason Rhinelander 952543da76 Update electron wallet filename 2021-01-07 18:35:21 -04:00
Jason Rhinelander 3dd6bbf2ba Add snapshot gui wallet builds + uploads 2020-11-19 22:54:42 -04:00
Jason Rhinelander 8175e5e810 Run lokid test under gdb
Scripts for running under gdb + dumping a stack trace on problems from
lokinet.
2020-11-06 18:04:20 -04:00
Jason Rhinelander 7f83c58c63 Merge arm/sim libs and collect headers in ios deps package 2020-11-06 00:41:28 -04:00
Jason Rhinelander 7d0eeeff06 Also build simulator library 2020-11-06 00:41:28 -04:00
Jason Rhinelander ca1a89ded0 Add ios build & upload
Also renames the android upload script to drone-android-blahblah to be
more consistent.
2020-11-06 00:41:28 -04:00
Jason Rhinelander daaa8dbefd Lots of build hacks for iOS 2020-11-04 15:06:59 -04:00
Jason Rhinelander 0bc97684a2 Package merged wallet_api rather than plain wallet_api 2020-11-04 12:11:20 -04:00
Jason Rhinelander 7a533e19a3 Add android build to drone steps 2020-11-04 12:11:20 -04:00
Jason Rhinelander f6c3adfb8e Small tweaks to build system
- make tagged and stable branch builds not add git tag to the tar.xz
  filename
- copy apt-get tweaks (to make it less noisy) from deb branches
- do a faster shallow submodule clone
- remove exclusion for removed is_hdd test
- remove deb_builder (deb building drone code is in its own branches)
- fix upload dir for a tagged build
2020-10-03 23:24:08 -03:00
Jason Rhinelander 5ba6197d59 Update zeromq patches for mingw 2020-09-16 13:14:24 -03:00
Jason Rhinelander b7a7dfc080 Add zlib + curl to static deps 2020-08-07 17:14:03 -03:00
Jason Rhinelander 5da3d2f7ef Drone: add static builds for mac/linux/windows
Adds static drone builds for linux (built on bionic), mac, and Windows
(built with mingw32).

The builds get uploaded to https://builds.lokinet.dev

The linux and mac builds use LTO (which takes longer, but significantly
reduces binary size).  The mingw32 build can probably also get there,
but currently fails with LTO when unbound tries linking against openssl
(it probably just needs a small patch to add magic -lwsock2 dep in the
right place in unbound).

The Mac binaries are built using a 10.13 deployment target.  (I'm not
100% sure that this is sufficient -- it's possible we might have to also
push the magic mac deployment flag to the built dependencies).
2020-06-15 12:49:34 -03:00
Jason Rhinelander 70b9fed4fd Static builds: make usable binaries from cmake
This adds a static dependency script for libraries like boost, unbound,
etc. to cmake, invokable with:

    cmake .. -DBUILD_STATIC_DEPS=ON

which downloads and builds static versions of all our required
dependencies (boost, unbound, openssl, ncurses, etc.).  It also implies
-DSTATIC=ON to build other vendored deps (like miniupnpc, lokimq) as
static as well.

Unlike the contrib/depends system, this is easier to maintain (one
script using nicer cmake with functions instead of raw Makefile
spaghetti code), and isn't concerned with reproducible builds -- this
doesn't rebuild the compiler, for instance.  It also works with the
existing build system so that it is simply another way to invoke the
cmake build scripts but doesn't require any external tooling.

This works on Linux, Mac, and Windows.

Some random comments on this commit (for preserving history):

- Don't use target_link_libraries on imported targets.  Newer cmake is
fine with it, but Bionic's cmake doesn't like it but seems okay with
setting the properties directly.

- This rebuilds libzmq and libsodium, even though there is some
provision already within loki-core to do so: however, the existing
embedded libzmq fails with the static deps because it uses libzmq's
cmake build script, which relies on pkg-config to find libsodium which
ends up finding the system one (or not finding any), rather than the one
we build with DownloadLibSodium.  Since both libsodium and libzmq are
faily simple builds it seemed easiest to just add them to the cmake
static build rather than trying to shoehorn the current code into the
static build script.

- Half of the protobuf build system ignores CC/CXX just because Google,
and there's no documentation anywhere except for a random closed bug
report about needing to set these other variables (CC_FOR_BUILD,
CXX_FOR_BUILD) instead, but you need to.  Thanks Google.

- The boost build is set to output very little because even the minimum
-d1 output level spams ~15k lines of output just for the headers it
installs.
2020-06-15 12:49:33 -03:00
Doyle 315b6ac869 Merge commit '8501481' into MergeUpstream3 2020-05-18 16:21:45 +10:00
Doyle 951a93f1fa dockerfile: Build Sodium before ZMQ for --with-libsodium for symbol decl conflicts
Make collect script more sane, don't go backwards in directory
2019-10-10 11:53:06 +11:00
hyperreality ac0a229739 Fix Android build in Docker
Fixes issue with libtinfo5 being required by iconv1.15 but not installed
by default in latest Debian stable.

Tested with a fresh build of the Android image.
2019-08-18 18:02:13 -07:00
Doyle 84a461710b
Add script for collecting output from docker build (#678) 2019-06-27 16:53:07 +10:00
binaryFate 1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
doy-lee 339f96b0cc Merge commit 'c23b6f8' into LokiMergeUpstreamUntil_20181010_77e1ebf 2018-10-10 15:07:16 +11:00
doy-lee cf32598ec5 Merge commit 'cd8c7f6' into LokiMergeUpstreamUntil_20181010_77e1ebf 2018-10-10 14:38:40 +11:00
doy-lee c73da116ae Merge commit '4a652d6' into LokiMergeUpstreamUntil_20180911_e6d36c1 2018-10-10 13:48:01 +11:00
Gregory Lemercier 02c2b43a72 Utils: Add Dockerfile for android 64-bit build 2018-10-09 15:58:18 +02:00
doy-lee 68b5ffc537 Merge commit 'fad88e1' into LokiMergeUpstream20180821 2018-09-28 16:57:00 +10:00
MoroccanMalinois 936e22a9b5
Dockerfile: use single build dir 2018-09-25 00:16:13 +02:00
doy-lee b64d7048a3 Merge commit '94ed562' into LokiMergeUpstream20180821 2018-09-19 14:15:55 +10:00
MoroccanMalinois 89202ce462
Docker android: add libsodium 2018-09-10 10:12:43 -04:00
MoroccanMalinois e774f2498a
Docker android: use common prefix 2018-09-10 10:11:58 -04:00
MoroccanMalinois 339a23a85e
Docker: Fix android build 2018-08-22 21:21:34 +00:00
jcktm 967e59125a updated make release shell script 2018-08-17 18:32:06 +10:00
jcktm d12859a590 build_scripts: fixed bug in make-release.sh 2018-08-15 15:58:01 +10:00
jcktm 8420eebe3b build: added script for releases and mulitple jobs for windows build 2018-08-13 11:21:49 +10:00
einsteinsfool 7cdd147da5 Changed URLs to HTTPS 2018-06-23 21:15:29 +02:00
xmr-eric 18216f19dd Update 2018 copyright 2018-01-26 10:03:20 -05:00
damir 5388c81bbc Added using TOOLCHAIN_DIR varable on symlinking in android dockerfiles 2017-12-19 17:32:49 +03:00