Commit Graph

289 Commits

Author SHA1 Message Date
TheCharlatan baaf0f90f1
A Travis to monero
Add a Travis build script for Monero. This was blatantly copied from
Bitcoin. It spawns jobs in docker containers running an ubuntu bionic
image.

This commit also a fixes a problem where librt was still linked, even
when compiling statically.
2018-09-26 13:11:50 +03:00
TheCharlatan 927f044e40
Fixup 32bit arm build
Set the architecture in the toolchain file correctly
2018-09-26 03:32:46 +03:00
TheCharlatan df364242a9
Fix Windows build
icu tex support is not required, so just disable it.
Re-add mistakingly removed crypt32 lib.
2018-09-26 03:32:18 +03:00
TheCharlatan 86f56d1463
Add libsodium to the packages, the arm build was complaining about it.
Fixup arm toolchain file.
2018-09-26 03:31:53 +03:00
TheCharlatan 1fe0fbdf64
Adapt translations to upstream changes 2018-09-26 03:31:32 +03:00
TheCharlatan 5244b6fe5c
Add lrelease to the depends
This includes a minimal qt build without gui
2018-09-26 03:30:30 +03:00
TheCharlatan dfe5f94145
Unbound is now a submodule. Adapt depends for this.
Fix builds for native linux and windows

The architecture flag was set incorrectly.
It needs to be set only when compiling arm6.
2018-09-26 03:29:16 +03:00
TheCharlatan d55544036b
Add support for apple and arm building
Add pcsc-lite to linux builds
Fixup windows icu4c linking with depends, the static libraries have an 's' appended to them
Compiling depends arm-linux-gnueabihf will allow you to compile armv6zk monero binaries
2018-09-26 03:27:34 +03:00
TheCharlatan 30531812de
Disable stack unwinding for mingw32 depends build. 2018-09-26 03:27:12 +03:00
thomasvaughan 37f9a97b0a
NetBSD support 2018-09-21 02:38:59 +03:00
iDunk5400 67571e7ba5
Windows: fix undefined references after unbound submodule update 2018-09-21 02:38:58 +03:00
MoroccanMalinois 33adb9b1dc
Build: Fix target release-static-android 2018-09-21 02:38:58 +03:00
MoroccanMalinois ec6b93e4ca
Translations: handle cross compiling 2018-09-21 02:38:58 +03:00
iDunk5400 1c18b27021
CMakeLists.txt: disable -fstack-protector* on windows
Current GCC produces broken binaries with these options
2018-09-21 02:38:57 +03:00
moneromooo-monero 8bbef9d942
CMakeLists.txt: add -mmitigate-rop to security flags if found
This is GCC/x86/x86_64 only
2018-09-21 02:38:57 +03:00
wowario 0c681083ca
Add submodule init and update to cmake 2018-09-18 01:24:11 +03:00
anonimal f6687c3ed8
rapidjson: remove outdated in-tree, use submodule
Includes ~2 years worth of fixes including security and build.

Note: this pulls directly from master, not a release branch/tag. See
https://github.com/Tencent/rapidjson/issues/1265

(cherry picked from commit 8a6c081df7)
2018-05-25 05:33:23 +00:00
cslashm e05a17f1ea Fix PCSC discovery under Windows/MSYS
Fix PCSC compilation under windows
2018-05-22 19:43:49 +02:00
anonimal 1e20d705e7
Build: update CMake and p2p for in-tree miniupnp 2018-04-23 22:12:08 +00:00
rbrunner7 733deab249 Adjust to the MSYS2/MinGW static ICU library file renaming
In package mingw-w64-x86_64-icu, version 58.2-3, the names of static
library files were changed, which leads to changes in CMakeLists.txt as
needed for compiling for Windows.
2018-03-08 19:10:44 +01:00
Riccardo Spagni 237f0179b7
Merge pull request #3313
43026822 Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windows (rbrunner7)
2018-03-05 19:15:54 +02:00
Edward Betts fbcc91c2a4 Correct spelling mistakes. 2018-03-05 17:00:40 +00:00
cslashm e745c1e38d Code modifications to integrate Ledger HW device into monero-wallet-cli.
The basic approach it to delegate all sensitive data (master key, secret
ephemeral key, key derivation, ....) and related operations to the device.
As device has low memory, it does not keep itself the values
(except for view/spend keys) but once computed there are encrypted (with AES
are equivalent) and return back to monero-wallet-cli. When they need to be
manipulated by the device, they are decrypted on receive.

Moreover, using the client for storing the value in encrypted form limits
the modification in the client code. Those values are transfered from one
C-structure to another one as previously.

The code modification has been done with the wishes to be open to any
other hardware wallet. To achieve that a C++ class hw::Device has been
introduced. Two initial implementations are provided: the "default", which
remaps all calls to initial Monero code, and  the "Ledger", which delegates
all calls to Ledger device.
2018-03-04 12:54:53 +01:00
rbrunner7 430268224d Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windows 2018-02-25 12:57:58 +01:00
Riccardo Spagni 172b7824d1
Merge pull request #3195
9017084a cmake: add -DHAVE_ defines to the command line (moneromooo-monero)
2018-02-16 14:20:46 +01:00
moneromooo-monero 9017084a7b
cmake: add -DHAVE_ defines to the command line
since there's no config.h here
2018-01-28 08:57:51 +00:00
xmr-eric 18216f19dd Update 2018 copyright 2018-01-26 10:03:20 -05:00
moneromooo-monero b7e5a70bb1
epee: detect strptime, use std::get_time as fallback 2018-01-11 21:41:07 +00:00
Riccardo Spagni d5dad4f0a2
Merge pull request #3062
f035478d Fix translations header generation when cross-compilating (Guillaume LE VAILLANT)
2018-01-10 11:55:46 +01:00
Riccardo Spagni 397a9f0656
Merge pull request #3007
0281f634 cmake: fix boost version detection (moneromooo-monero)
2018-01-10 11:55:00 +01:00
Riccardo Spagni d08aee7a7e
Merge pull request #2993
776b44f1 Add misc hardening flags to the cmake machinery (moneromooo-monero)
2018-01-10 11:53:26 +01:00
Guillaume LE VAILLANT f035478d35 Fix translations header generation when cross-compilating
Define generate_translations_header as an external project to be able
to use the compilation toolchain for the host instead of the toolchain
for the target.
2018-01-04 11:36:29 +01:00
Riccardo Spagni dd11bfb89c
Merge pull request #2934
db2bc965 Embed the translation files in the binary (Guillaume LE VAILLANT)
2018-01-02 00:28:45 +02:00
moneromooo-monero 776b44f17b
Add misc hardening flags to the cmake machinery
See https://wiki.debian.org/Hardening#User_Space
2017-12-31 14:26:12 +00:00
moneromooo-monero 0281f63486
cmake: fix boost version detection 2017-12-26 12:09:54 +00:00
moneromooo-monero 1a379ef656
fuzz_testing: build with ASAN (assumed to be available) 2017-12-23 11:27:34 +00:00
Guillaume LE VAILLANT db2bc96512 Embed the translation files in the binary
If a translation file exists in a "translations" directory located in
the same directory as the binary, it is used in priority (this can be
useful when working on translations as you don't have to recompile the
whole program all the time), and if no such file is found the embedded
translation file is used (if it exists).
2017-12-15 18:44:01 +01:00
moneromooo-monero 000666ff78
add a memwipe function
It's meant to avoid being optimized out

memory_cleanse lifted from bitcoin
2017-11-27 22:15:34 +00:00
Riccardo Spagni 7ae7e5ef93
Merge pull request #2793
3501ed1f Do not require libatomic on FreeBSD (Vasil Dimov)
2017-11-25 19:48:12 +02:00
Riccardo Spagni edebe4e3b6
Merge pull request #2736
0d9c0db9 Do not build against epee_readline if it was not built (Howard Chu)
178014c9 split off readline code into epee_readline (moneromooo-monero)
a9e14a19 link against readline only for monerod and wallet-wallet-{rpc,cli} (moneromooo-monero)
437421ce wallet: move some scoped_message_writer calls from the libs (moneromooo-monero)
e89994e9 wallet: rejig to avoid prompting in wallet2 (moneromooo-monero)
ec5135e5 move input_line from command_line to simplewallet (moneromooo-monero)
082db75f move cryptonote command line options to cryptonote_core (moneromooo-monero)
2017-11-14 21:31:51 +02:00
Howard Chu 0d9c0db996
Do not build against epee_readline if it was not built 2017-11-14 17:06:37 +00:00
moneromooo-monero a9e14a19dc
link against readline only for monerod and wallet-wallet-{rpc,cli} 2017-11-14 17:06:32 +00:00
Pavel Maryanov a17efcb039
make this build on SunOS/Solaris 2017-11-14 17:03:48 +00:00
Vasil Dimov 3501ed1fdf
Do not require libatomic on FreeBSD
f3e09f36 hooked a dependency on libatomic on 32 bit machines if Clang is
used because compilation failed with:

`std::__atomic_base<unsigned long long>::load(std::memory_order) const':
/usr/bin/../lib/gcc/i686-pc-linux-gnu/6.1.1/../../../../include/c++/6.1.1/bits/atomic_base.h:396:
undefined reference to `__atomic_load_8'

But that does not happen on FreeBSD. The problem is likely that on Linux
Clang tries to use GCC-provided C++11 library. Further,
__atomic_load_8() (for 8-byte integers) is not readily available on 32
bit machines. From https://gcc.gnu.org/wiki/Atomic/GCCMM: "When lock
free instructions are not available (either through hardware or OS
support) atomic operations are left as function calls to be resolved by
a library."
2017-11-11 15:29:42 +02:00
Riccardo Spagni af448d3883
Merge pull request #2694
11e0deef cmake: add dep of version lib on version.cpp (redfish)
35340259 .gitignore: do not ignore cmake source files (redfish)
2017-11-09 18:22:25 +02:00
Riccardo Spagni ef3c77117a
Merge pull request #2689
6a90506a Link against libpgm/libnorm if found, optional libzmq ldependencies (moneromooo-monero)
2017-11-01 11:26:22 +02:00
moneromooo-monero 6a90506a8d
Link against libpgm/libnorm if found, optional libzmq ldependencies 2017-10-21 08:39:52 +01:00
redfish 11e0deef31 cmake: add dep of version lib on version.cpp
Also, move cmake source files into cmake/ to keep them together.
2017-10-20 22:07:34 -04:00
redfish 29497f7920 epee: use boost type for SSL error code
Fixes compile error when building with OpenSSL v1.1:

contrib/epee/include/net/net_helper.h: In member function ‘void epee::net_utils::blocked_mode_client::shutdown_ssl()’:
contrib/epee/include/net/net_helper.h:579:106: error: ‘SSL_R_SHORT_READ’ was not declared in this scope
    if (ec.category() == boost::asio::error::get_ssl_category() && ec.value() != ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ))
                                                                                                          ^
contrib/epee/include/net/net_helper.h:579:106: note: suggested alternative: ‘SSL_F_SSL_READ’

See boost/asio/ssl/error.hpp.
Boost handles differences between OpenSSL versions.

cmake: fail if Boost is too old for OpenSSL v1.1
2017-10-17 16:12:58 -04:00
Riccardo Spagni 845afb5191
Merge pull request #2613
2051f89f cmake: build tests last (redfish)
2017-10-15 18:58:31 +02:00