Commit Graph

249 Commits

Author SHA1 Message Date
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
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
Riccardo Spagni 62d2a55719
Merge pull request #2600
885c773a cmake: print which stack trace lib is used (redfish)
2017-10-15 18:49:11 +02:00
Riccardo Spagni 1740f0a13e
Merge pull request #2583
27fdaaa4 Fix building with -DARCH=default -DNO_AES=ON (moneromooo-monero)
2017-10-15 18:37:14 +02:00
Jaquee 1cf940f2a1 epee http_client SSL support 2017-10-15 17:29:04 +02:00
Jaquee eec1013785 CMakeLists.txt - Add openssl include dir 2017-10-15 17:25:26 +02:00
redfish 2051f89fbe cmake: build tests last
Keep -Werror for src, contrib and do not pass it for tests/
2017-10-08 20:47:50 -04:00
redfish 885c773af3 cmake: print which stack trace lib is used
To avoid the suprize of stack tracing being enabled
but libunwind not being linked in.
2017-10-07 12:13:31 -04:00
moneromooo-monero 27fdaaa409
Fix building with -DARCH=default -DNO_AES=ON 2017-10-06 08:47:03 +01:00
Riccardo Spagni 031f486e12
Merge pull request #2486
8b1acc9a Fix OpenSSL 1.1 detection for static builds (hyc)
2017-09-25 20:25:29 +02:00
Riccardo Spagni 7b8398eed7
Merge pull request #2485
a3691ae3 daemon: fix static building with libzmq (iDunk5400)
2017-09-25 20:25:10 +02:00
Riccardo Spagni b911130a46
Merge pull request #2442
e29282d2 build: auto update version info without manually deleting version.h (stoffu)
2017-09-25 16:50:35 +02:00
redfish 504311128d cmake: make warning about headers not fatal
Warning issued on older boost and/or OS:

In file included from /usr/include/boost/asio/detail/socket_types.hpp:61:0,
                 from /usr/include/boost/asio/detail/epoll_reactor.hpp:30,
                 from /usr/include/boost/asio/detail/reactor.hpp:21,
                 from /usr/include/boost/asio/detail/impl/task_io_service.ipp:24,
                 from /usr/include/boost/asio/detail/task_io_service.hpp:198,
                 from /usr/include/boost/asio/impl/io_service.hpp:71,
                 from /usr/include/boost/asio/io_service.hpp:767,
                 from /usr/include/boost/asio/basic_io_object.hpp:19,
                 from /usr/include/boost/asio/basic_socket.hpp:20,
                 from /usr/include/boost/asio/basic_datagram_socket.hpp:20,
                 from /usr/include/boost/asio.hpp:21,
                 from /home/vagrant/slave/monero-static-alpine-3_5-x86_64/build/src/common/download.cpp:32:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
 #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
2017-09-24 11:25:16 -04:00
redfish 0a70ba2c01 cmake: fix setting of -Werror
Setting COMPILE_FLAGS (or COMPILE_OPTIONS) property directly does not
end up on the command line (even though it should because
add_compile_options does just that).

Also, set -Werror for tests as well, because no warnings now.

Not set for 'external' only because simply moving add_compile_options
above add_subdirectory(external) doesn't do it, and moving add_usbdirectory
down is too big of a change (it will pick up new flags).

-Werror set only for GCC on Linux, since warnings not yet
cleared for other compilers/systems.
2017-09-24 11:25:11 -04:00
iDunk5400 a3691ae31c
daemon: fix static building with libzmq 2017-09-23 12:34:02 +02:00
stoffu e29282d208
build: auto update version info without manually deleting version.h 2017-09-21 07:47:37 +09:00
hyc 8b1acc9a86 Fix OpenSSL 1.1 detection for static builds 2017-09-20 01:38:43 +01:00
Thomas Winget 0299cb77ca
Fix various oversights/bugs in ZMQ RPC server code
- Add some RPC commands (and touch up a couple others)
- some bounds checking
- some better pointer management
- const correctness and error handling

-- Thanks @vtnerd for type help with serialization and CMake changes
2017-09-05 12:20:40 -04:00
Thomas Winget 77986023c3
json serialization for rpc-relevant monero types
Structured {de-,}serialization methods for (many new) types
which are used for requests or responses in the RPC.

New types include RPC requests and responses, and structs which compose
types within those.

# Conflicts:
#	src/cryptonote_core/blockchain.cpp
2017-09-05 12:20:27 -04:00
Jaquee f233c01c8f CMakeLists.txt - ios/xcode fix 2017-08-05 19:21:10 +02:00
Roberto Oliveira 44bfe6048b enable monero build on ppc64le architecture
Fix wrong flags for ppc64le:
-maes - not avaiable
-march - changed by -mcpu that does the same for powerpc
2017-06-27 17:06:19 +00:00
jethro e1f3dfccc8 Add readline support to cli
This PR adds readline support to the daemon and monero-wallet-cli. Only
GNU readline is supported (e.g. not libedit) and there are cmake checks
to ensure this.

There is a cmake variable, Readline_ROOT_DIR that can specify a
directory to find readline, otherwise some default paths are searched.

There is also a cmake option, USE_READLINE, that defaults to ON. If set
to ON, if readline is not found, the build continues but without
readline support.

One negative side effect of using readline is that the color prompt in
the wallet-cli now has no color and just uses terminal default. I know
how to fix this but it's quite a big change so will tackle another time.
2017-06-18 10:08:37 -04:00
stoffu dd8e3266b2
shared libs build (i.e. make debug) 2017-05-17 10:17:08 +09:00
hyc e65d66fe04 Fix ARM64 identification
The actual arch flag the compiler recognizes is "armv8-a".
This is true for both gcc and clang.
2017-04-12 23:54:33 +01:00
Riccardo Spagni e9ca165b1a
Merge pull request #1950
f5bd3465 IOS CMAKE build settings (Jaquee)
d8a88d05 add IOS CMAKE toolchain (Jaquee)
2017-04-11 00:26:15 +02:00
moneromooo-monero a8ac4f0a70
update easylogging++ to latest upstream 2017-04-10 21:05:02 +01:00
Jaquee f5bd346573
IOS CMAKE build settings 2017-04-03 18:38:50 +02:00
Christoph Schnerch 33f3cfdec0 set USE_LTO_DEFAULT to false 2017-03-20 13:24:30 +01:00
Gareth 088930facc Problem: misleading information about LMDB storage
Solution: updated the comments to reflect the current situation in terms of LMDB implementation and no longer recommend 'memory' for blockchain storage in production use.
2017-03-08 21:29:08 +08:00
Riccardo Spagni c3599fa7b9
update copyright year, fix occasional lack of newline at line end 2017-02-21 19:38:18 +02:00
Riccardo Spagni 058eed369b
cmakify openssl 2017-02-21 17:11:12 +02:00
moneromooo-monero f640512c53
Optionally query moneropulse DNS records to check for updates
It just checks and prints a message if there is a new version
for now.
2017-02-20 22:58:16 +00:00
Riccardo Spagni c64e10c2d7
Merge pull request #1700
73785263 backtrace_symbols() requires -lexecinfo on dragonflybsd (Dan Miller)
2017-02-12 23:20:27 +02:00
Dan Miller 7378526393 backtrace_symbols() requires -lexecinfo on dragonflybsd
freebsd also needs -lexecinfo for backtrace()
2017-02-09 11:22:12 -08:00
kenshi84 8027ce0c75 extract some basic code from libcryptonote_core into libcryptonote_basic 2017-02-08 22:45:15 +09:00
MoroccanMalinois c833a39a4d cmake set atomic for android 2017-02-05 04:33:33 +01:00
moneromooo-monero cd34fc655d
Use easylogging++'s stack trace facility where possible
This avoids using libunwind, which often causes trouble.
2017-02-04 12:33:03 +00:00
moneromooo-monero 5833d66f65
Change logging to easylogging++
This replaces the epee and data_loggers logging systems with
a single one, and also adds filename:line and explicit severity
levels. Categories may be defined, and logging severity set
by category (or set of categories). epee style 0-4 log level
maps to a sensible severity configuration. Log files now also
rotate when reaching 100 MB.

To select which logs to output, use the MONERO_LOGS environment
variable, with a comma separated list of categories (globs are
supported), with their requested severity level after a colon.
If a log matches more than one such setting, the last one in
the configuration string applies. A few examples:

This one is (mostly) silent, only outputting fatal errors:

MONERO_LOGS=*:FATAL

This one is very verbose:

MONERO_LOGS=*:TRACE

This one is totally silent (logwise):

MONERO_LOGS=""

This one outputs all errors and warnings, except for the
"verify" category, which prints just fatal errors (the verify
category is used for logs about incoming transactions and
blocks, and it is expected that some/many will fail to verify,
hence we don't want the spam):

MONERO_LOGS=*:WARNING,verify:FATAL

Log levels are, in decreasing order of priority:
FATAL, ERROR, WARNING, INFO, DEBUG, TRACE

Subcategories may be added using prefixes and globs. This
example will output net.p2p logs at the TRACE level, but all
other net* logs only at INFO:

MONERO_LOGS=*:ERROR,net*:INFO,net.p2p:TRACE

Logs which are intended for the user (which Monero was using
a lot through epee, but really isn't a nice way to go things)
should use the "global" category. There are a few helper macros
for using this category, eg: MGINFO("this shows up by default")
or MGINFO_RED("this is red"), to try to keep a similar look
and feel for now.

Existing epee log macros still exist, and map to the new log
levels, but since they're used as a "user facing" UI element
as much as a logging system, they often don't map well to log
severities (ie, a log level 0 log may be an error, or may be
something we want the user to see, such as an important info).
In those cases, I tried to use the new macros. In other cases,
I left the existing macros in. When modifying logs, it is
probably best to switch to the new macros with explicit levels.

The --log-level options and set_log commands now also accept
category settings, in addition to the epee style log levels.
2017-01-16 00:25:46 +00:00
Riccardo Spagni ec323d8c3f
Merge pull request #1561
d561f4ad enable clang checks that were disabled (Chris Vickio)
0aefb2f6 remove std::move from return statements (pessimizing-move warning) (Chris Vickio)
629d5b76 change counter from bool to int (deprecated-increment-bool warning) (Chris Vickio)
fb76d439 add extra braces around subobjects (missing-braces warning) (Chris Vickio)
3b6d5f25 make struct/class declarations consistent (mismatched-tags warning) (Chris Vickio)
fcf66925 remove unused fields from network_throttle (unused-private-field warning) (Chris Vickio)
296f8c16 inline unused function (for unused-function warning) (Chris Vickio)
2017-01-15 19:01:08 -05:00
Chris Vickio d561f4ad92 enable clang checks that were disabled 2017-01-15 19:23:33 +03:00
NanoAkron e68ea86cc4
Change logic of testing for libunwind on OSX and ARM 2017-01-09 16:39:44 +00:00
Riccardo Spagni 2a996f492f
Merge pull request #1510
80abc3bc Build wallet with Android NDK (MoroccanMalinois)
2017-01-08 16:40:02 -08:00