aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt (follow)
AgeCommit message (Collapse)AuthorFilesLines
2018-10-13build: use ARCH 'native' by default, allow to configure and override itxiphon1-5/+3
2018-10-08Merge pull request #4529Riccardo Spagni1-1/+1
c95a1408 CMakeLists.txt: Fix typo (erciccione)
2018-10-08Revert "Merge pull request #4472"Riccardo Spagni1-3/+2
This reverts commit 79d46c4d551a9b1261801960095bf4d24967211a, reversing changes made to c9fc61dbb56cca442c775faa2554a7460879b637.
2018-10-08CMakeLists.txt: Fix typoerciccione1-1/+1
2018-10-07Merge pull request #4501Riccardo Spagni1-0/+19
fb3593c2 Add check if submodules need to be updated (TheCharlatan)
2018-10-05Add check if submodules need to be updatedTheCharlatan1-0/+19
Adds CMake check that pulls from the different git remotes and checks if there is any output.
2018-10-04blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon1-2/+3
2018-09-29Merge pull request #4457Riccardo Spagni1-32/+36
85318e78 build: set ARCH_FLAG before compiler/linker flag checks (xiphon)
2018-09-29Merge pull request #4448Riccardo Spagni1-4/+8
6a781408 Make depends use self built clang for darwin (TheCharlatan)
2018-09-29Merge pull request #4446Riccardo Spagni1-1/+1
69da14e1 fixes make debug compilation on OSX (Dusan Klinec)
2018-09-25Merge pull request #4420Riccardo Spagni1-1/+1
0f4f873b Fix Darwin Sodium build (TheCharlatan) bf1e1d97 A Travis to monero (TheCharlatan)
2018-09-24Replace USB-CCID (smartcard) by USB-HIDcslashm1-9/+21
Remove PCSC dependencies which is a bit hard (not user friendly) to install on linux and Mac Split Ledger logic and device IO
2018-09-22A Travis to moneroTheCharlatan1-1/+1
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-21Merge pull request #4401Riccardo Spagni1-1/+7
66901901 README: harmonize command formatting inside README.md (Andrea) 8cd98408 disable AES on s390x architecture (Tuan M. Hoang) 4ed30bab wallet: implement coin splitting for sweep_* 'outputs' option (whythat) 24f52396 wallet: add 'outputs' option for sweep_* commands (whythat) 52e19d69 README: Compile boost with cxxflags=-fPIC cflags=-fPIC (Italocoin Project) 0c77523d README: fill in libsodium package name for Arch (phloatingman)
2018-09-18Merge pull request #3430Riccardo Spagni1-5/+28
42397359 Fixup 32bit arm build (TheCharlatan) a06d2581 Fix Windows build (TheCharlatan) ecaf5b3f Add libsodium to the packages, the arm build was complaining about it. (TheCharlatan) cbbf4d24 Adapt translations to upstream changes (TheCharlatan) db571546 Updated pcsc url (TheCharlatan) f0ba19fd Add lrelease to the depends (TheCharlatan) cfb30462 Add Miniupnp submodule (TheCharlatan) 5f7da005 Unbound is now a submodule. Adapt depends for this. (TheCharlatan) d6b9bdd3 Update readmes to reflect the usage of depends (TheCharlatan) 56b6e41e Add support for apple and arm building (TheCharlatan) 29311fd1 Disable stack unwinding for mingw32 depends build. (TheCharlatan) 8db3d573 Modify depends for monero's dependencies (TheCharlatan) 0806a23a Initial depends addition (TheCharlatan)
2018-09-18disable AES on s390x architectureTuan M. Hoang1-1/+7
rebased by moneromooo
2018-09-18Fixup 32bit arm buildTheCharlatan1-1/+3
Set the architecture in the toolchain file correctly
2018-09-17Fix Windows buildTheCharlatan1-1/+1
icu tex support is not required, so just disable it. Re-add mistakingly removed crypt32 lib.
2018-09-17Add libsodium to the packages, the arm build was complaining about it.TheCharlatan1-3/+0
Fixup arm toolchain file.
2018-09-14Merge pull request #4326Riccardo Spagni1-0/+11
bcda7adc NetBSD support (thomasvaughan)
2018-09-14Merge pull request #4232Riccardo Spagni1-0/+3
9e6c7784 CMakeLists.txt: add -mmitigate-rop to security flags if found (moneromooo-monero)
2018-09-11NetBSD supportthomasvaughan1-0/+11
2018-09-10Adapt translations to upstream changesTheCharlatan1-10/+10
2018-09-10Add lrelease to the dependsTheCharlatan1-1/+11
This includes a minimal qt build without gui
2018-09-10Unbound is now a submodule. Adapt depends for this.TheCharlatan1-1/+1
Fix builds for native linux and windows The architecture flag was set incorrectly. It needs to be set only when compiling arm6.
2018-09-10Add support for apple and arm buildingTheCharlatan1-4/+15
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-10Disable stack unwinding for mingw32 depends build.TheCharlatan1-0/+3
2018-09-09CMakeLists.txt: detect -fcf-protection=full and -fstack-clash-protectionmoneromooo-monero1-0/+8
Introduced with GCC 8.2
2018-09-04Merge pull request #4290luigi11111-4/+6
2bc977b CMakeLists.txt: disable -fstack-protector* on windows
2018-09-04Merge pull request #4295luigi11111-1/+1
ce63d56 Windows: fix undefined references after unbound submodule update (iDunk5400)
2018-08-23Windows: fix undefined references after unbound submodule updateiDunk54001-1/+1
2018-08-21Build: Fix target release-static-androidMoroccanMalinois1-0/+1
2018-08-21Translations: handle cross compilingMoroccanMalinois1-5/+1
2018-08-21CMakeLists.txt: disable -fstack-protector* on windowsiDunk54001-4/+6
Current GCC produces broken binaries with these options
2018-08-07CMakeLists.txt: add -mmitigate-rop to security flags if foundmoneromooo-monero1-0/+3
This is GCC/x86/x86_64 only
2018-06-19Merge pull request #3844luigi11111-0/+3
bdf5a3a Fix PCSC compilation under windows (cslashm) f17383a Fix CMAKE config for PCSC in order to avoid msys DLL dependencies (cslashm)
2018-06-19Merge pull request #3835luigi11111-5/+24
d44d19c Fixed for compilation in big endian PPC. (nioroso-x3)
2018-06-08Merge pull request #3887luigi11111-0/+1
14f0d38 Incorporate Window debug build targets (philkode)
2018-05-31Incorporate Window debug build targetsphilkode1-0/+1
2018-05-25rapidjson: remove outdated in-tree, use submoduleanonimal1-1/+1
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
2018-05-23Fix PCSC compilation under windowscslashm1-0/+3
PR3843 based on release-v0.12 => rebased on master
2018-05-19Fixed for compilation in big endian PPC. "Everything is broken thought due ↵Judemir Ribeiro1-5/+24
to little endian logic."
2018-04-21Build: update CMake and p2p for in-tree miniupnpanonimal1-8/+0
(cherry picked from commit a7366b5feeffaeb65b217b2d6f138e0ab1c90192)
2018-03-08Adjust to the MSYS2/MinGW static ICU library file renamingrbrunner71-1/+1
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-05Merge pull request #3313Riccardo Spagni1-1/+2
43026822 Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windows (rbrunner7)
2018-03-05Correct spelling mistakes.Edward Betts1-1/+1
2018-03-04Code modifications to integrate Ledger HW device into monero-wallet-cli.cslashm1-0/+9
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-02-25Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windowsrbrunner71-1/+2
2018-02-16Merge pull request #3195Riccardo Spagni1-7/+21
9017084a cmake: add -DHAVE_ defines to the command line (moneromooo-monero)
2018-01-28cmake: add -DHAVE_ defines to the command linemoneromooo-monero1-7/+21
since there's no config.h here
2018-01-26Update 2018 copyrightxmr-eric1-1/+1
2018-01-11epee: detect strptime, use std::get_time as fallbackmoneromooo-monero1-0/+4
2018-01-10Merge pull request #3062Riccardo Spagni1-1/+5
f035478d Fix translations header generation when cross-compilating (Guillaume LE VAILLANT)
2018-01-10Merge pull request #3007Riccardo Spagni1-1/+1
0281f634 cmake: fix boost version detection (moneromooo-monero)
2018-01-10Merge pull request #2993Riccardo Spagni1-7/+83
776b44f1 Add misc hardening flags to the cmake machinery (moneromooo-monero)
2018-01-04Fix translations header generation when cross-compilatingGuillaume LE VAILLANT1-1/+5
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-02Merge pull request #2934Riccardo Spagni1-0/+4
db2bc965 Embed the translation files in the binary (Guillaume LE VAILLANT)
2017-12-31Add misc hardening flags to the cmake machinerymoneromooo-monero1-7/+83
See https://wiki.debian.org/Hardening#User_Space
2017-12-26cmake: fix boost version detectionmoneromooo-monero1-1/+1
2017-12-23fuzz_testing: build with ASAN (assumed to be available)moneromooo-monero1-0/+10
2017-12-15Embed the translation files in the binaryGuillaume LE VAILLANT1-0/+4
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-11-27add a memwipe functionmoneromooo-monero1-0/+8
It's meant to avoid being optimized out memory_cleanse lifted from bitcoin
2017-11-25Merge pull request #2793Riccardo Spagni1-1/+1
3501ed1f Do not require libatomic on FreeBSD (Vasil Dimov)
2017-11-14Merge pull request #2736Riccardo Spagni1-1/+1
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-14Do not build against epee_readline if it was not builtHoward Chu1-0/+1
2017-11-14link against readline only for monerod and wallet-wallet-{rpc,cli}moneromooo-monero1-1/+0
2017-11-14make this build on SunOS/SolarisPavel Maryanov1-0/+6
2017-11-11Do not require libatomic on FreeBSDVasil Dimov1-1/+1
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-09Merge pull request #2694Riccardo Spagni1-2/+0
11e0deef cmake: add dep of version lib on version.cpp (redfish) 35340259 .gitignore: do not ignore cmake source files (redfish)
2017-11-01Merge pull request #2689Riccardo Spagni1-0/+8
6a90506a Link against libpgm/libnorm if found, optional libzmq ldependencies (moneromooo-monero)
2017-10-21Link against libpgm/libnorm if found, optional libzmq ldependenciesmoneromooo-monero1-0/+8
2017-10-20cmake: add dep of version lib on version.cppredfish1-2/+0
Also, move cmake source files into cmake/ to keep them together.
2017-10-17epee: use boost type for SSL error coderedfish1-0/+5
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-15Merge pull request #2613Riccardo Spagni1-9/+3
2051f89f cmake: build tests last (redfish)
2017-10-15Merge pull request #2600Riccardo Spagni1-1/+4
885c773a cmake: print which stack trace lib is used (redfish)
2017-10-15Merge pull request #2583Riccardo Spagni1-1/+5
27fdaaa4 Fix building with -DARCH=default -DNO_AES=ON (moneromooo-monero)
2017-10-15epee http_client SSL supportJaquee1-1/+1
2017-10-15CMakeLists.txt - Add openssl include dirJaquee1-0/+2
2017-10-08cmake: build tests lastredfish1-9/+3
Keep -Werror for src, contrib and do not pass it for tests/
2017-10-07cmake: print which stack trace lib is usedredfish1-1/+4
To avoid the suprize of stack tracing being enabled but libunwind not being linked in.
2017-10-06Fix building with -DARCH=default -DNO_AES=ONmoneromooo-monero1-1/+5
2017-09-25Merge pull request #2486Riccardo Spagni1-7/+7
8b1acc9a Fix OpenSSL 1.1 detection for static builds (hyc)
2017-09-25Merge pull request #2485Riccardo Spagni1-1/+6
a3691ae3 daemon: fix static building with libzmq (iDunk5400)
2017-09-25Merge pull request #2442Riccardo Spagni1-1/+1
e29282d2 build: auto update version info without manually deleting version.h (stoffu)
2017-09-24cmake: make warning about headers not fatalredfish1-1/+1
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-24cmake: fix setting of -Werrorredfish1-12/+6
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-23daemon: fix static building with libzmqiDunk54001-1/+6
2017-09-21build: auto update version info without manually deleting version.hstoffu1-1/+1
2017-09-20Fix OpenSSL 1.1 detection for static buildshyc1-7/+7
2017-09-05Fix various oversights/bugs in ZMQ RPC server codeThomas Winget1-0/+8
- 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-05json serialization for rpc-relevant monero typesThomas Winget1-0/+2
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-08-05CMakeLists.txt - ios/xcode fixJaquee1-0/+3
2017-06-27enable monero build on ppc64le architectureRoberto Oliveira1-1/+9
Fix wrong flags for ppc64le: -maes - not avaiable -march - changed by -mcpu that does the same for powerpc
2017-06-18Add readline support to clijethro1-0/+13
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-05-17shared libs build (i.e. make debug)stoffu1-0/+2
2017-04-12Fix ARM64 identificationhyc1-1/+2
The actual arch flag the compiler recognizes is "armv8-a". This is true for both gcc and clang.
2017-04-11Merge pull request #1950Riccardo Spagni1-6/+10
f5bd3465 IOS CMAKE build settings (Jaquee) d8a88d05 add IOS CMAKE toolchain (Jaquee)
2017-04-10update easylogging++ to latest upstreammoneromooo-monero1-2/+3
2017-04-03IOS CMAKE build settingsJaquee1-6/+10
2017-03-20set USE_LTO_DEFAULT to falseChristoph Schnerch1-1/+1
2017-03-08Problem: misleading information about LMDB storageGareth1-2/+2
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-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni1-1/+1
2017-02-21cmakify opensslRiccardo Spagni1-0/+17
2017-02-20Optionally query moneropulse DNS records to check for updatesmoneromooo-monero1-0/+8
It just checks and prints a message if there is a new version for now.
2017-02-12Merge pull request #1700Riccardo Spagni1-2/+4
73785263 backtrace_symbols() requires -lexecinfo on dragonflybsd (Dan Miller)
2017-02-09backtrace_symbols() requires -lexecinfo on dragonflybsdDan Miller1-2/+4
freebsd also needs -lexecinfo for backtrace()
2017-02-08extract some basic code from libcryptonote_core into libcryptonote_basickenshi841-0/+1
2017-02-05cmake set atomic for androidMoroccanMalinois1-0/+3
2017-02-04Use easylogging++'s stack trace facility where possiblemoneromooo-monero1-7/+13
This avoids using libunwind, which often causes trouble.
2017-01-16Change logging to easylogging++moneromooo-monero1-1/+1
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-15Merge pull request #1561Riccardo Spagni1-1/+0
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-15enable clang checks that were disabledChris Vickio1-1/+0
2017-01-09Change logic of testing for libunwind on OSX and ARMNanoAkron1-4/+9
2017-01-08Merge pull request #1510Riccardo Spagni1-2/+16
80abc3bc Build wallet with Android NDK (MoroccanMalinois)
2017-01-05Build wallet with Android NDKMoroccanMalinois1-2/+16
2016-12-23Silence CMake policy warning on macos.Randi Joseph1-0/+3
See: https://cmake.org/cmake/help/v3.0/policy/CMP0042.html
2016-12-15Preliminary support for DragonFly BSDAntonio Huete Jimenez1-5/+11
- It builds but no further testing has been done.
2016-12-09Revert forcing -fPIC for all ARMv8 buildsNanoAkron1-1/+0
2016-11-12Always compile Position Independent Code on 64-bit ARMv8 systemsNanoAkron1-7/+6
2016-10-27Report Boost library version during compilationNanoAkron1-0/+2
2016-09-26Merge pull request #1105Riccardo Spagni1-5/+0
344e96c remove check for certain clang versions (Dan Miller) b73bed2 Don't define stdc++ on FreeBSD (Dan Miller)
2016-09-21remove check for certain clang versionsDan Miller1-5/+0
2016-09-19Don't define stdc++ on FreeBSDDan Miller1-1/+1
2016-09-18Fix test for 'ARM_ID' as caught by @radfish in #1088NanoAkron1-3/+3
2016-09-18fix conflictRiccardo Spagni1-4/+22
2016-09-18Merge pull request #1094Riccardo Spagni1-2/+14
06bb692 cmake: support BUILD_SHARED_LIBS built-in option (redfish) e1c7af3 cmake: transitive deps and remove deprecated LINK_* (redfish) 54010b9 crypto: armv7: slow-hash: remove redundant source include (redfish)
2016-09-18cmake: support BUILD_SHARED_LIBS built-in optionredfish1-2/+14
Support building internal libraries as shared. This reduces development time by eliminating the need to re-link all binaries every time non-interface code in the library changes. Instead, can hack on libxyz, then `make libxyz`, and re-run monerod. By default BUILD_SHARED_LIBS is OFF in release build type, and ON in debug build type, but can be overriden with -D.
2016-09-18+crypto for ARMv8 now tests and modifies ${ARCH$NanoAkron1-12/+3
2016-09-18Updated +crypto option for ARMv8 to modify ${ARCH} insteadNanoAkron1-11/+26
2016-09-17Add +crypto flag for ARMv8-aNanoAkron1-2/+6
2016-09-17cmake: quotes around ARCH_ID stringredfish1-3/+3
It's only blank only if somebody running cmake in MSYS/MinGW (Windows) manually forgets to add -D ARCH, but when it is blank, without quotes those lines are invalid cmake syntax.
2016-09-17cmake: remove redundant checks around CMAKE_{AR,RANLIB}redfish1-10/+4
Those are always set, no point in checking. #1065
2016-09-10Attempt to fix broken compilation on some systems caused by #1074iDunk54001-6/+9
2016-09-10Merge pull request #1047Riccardo Spagni1-2/+12
0f94f61 cmake: handle dists which prefix gcc binaries wth arch triplet (redfish)
2016-09-10Merge pull request #1040Riccardo Spagni1-1/+5
77fa663 cmake: split BUILD_GUI_DEPS option into two (redfish)
2016-09-03change CMake project nameRiccardo Spagni1-1/+1
2016-09-03cmake: split BUILD_GUI_DEPS option into tworedfish1-1/+5
The split is to make this software more packageable. 'make install' is used by the package building scripts, and should not be installing vendored dependencies onto the system.
2016-09-03gui/libwallet_merged: libunbound is one more dependencyIlya Kitaev1-0/+4
2016-09-01cmake: option+target for profiling for coverageredfish1-4/+13
2016-08-31cmake: handle dists which prefix gcc binaries wth arch tripletredfish1-2/+12
Issue #1026
2016-08-30Add ARMv8 Handling to CMakeLists.txt - version 2NanoAkron1-11/+82
Adds 64-bit ARMv8 handling to CMakeLists.txt and implements GCC flags for two errata on the Cortex-A53 present on every chip in revision 0: https://developer.arm.com/docs/epm048406/latest/arm-processor-cortex-a53-mpcore-product-revision-r0-software-developers-errata-notice 835769 affects 64-bit multiply accumulate 843419 affects internal page addressing Rewritten to build on @radfish's changes Updated to address @radfish's points
2016-08-28cmake: define a default build typeredfish1-0/+5
Lets 'cmake .. && make' be sufficient to build.
2016-08-28Merge pull request #997Riccardo Spagni1-36/+32
1c7d3b0 cmake: define ARM var for all ARM arch variants (redfish) 6fe543d cmake: ARM: exclude libunwind in static build (redfish) 397b720 make: remove NO_AES from arm targets (redfish) 57ca3f3 make: make the ARM release targets statically linked (redfish) 43c07a1 readme: editted install/build instructions for clarity (redfish) a0d4058 Revert "makefile: remove unnecessary ARM-specific targets" (redfish) c2bc34b Revert "Interpret x86_64 as x86-64 for architecture" (redfish) c54b9a1 cmake: don't set ARCH from CMAKE_SYSTEM_PROCESSOR (redfish)
2016-08-28Merge pull request #995Riccardo Spagni1-2/+12
94de4b0 cmake: pass -static when STATIC=ON on Windows (redfish)
2016-08-28Merge pull request #992Riccardo Spagni1-2/+2
f1ba51c remove -Wall from coverage arguments (Jacob Torrey) f017fec Build the core_tests under Travis (Jacob Torrey) e0bf02a Streamline release-test target (Jacob Torrey) baf4574 Update badge to point to monero's coveralls (Jacob Torrey) d1dc2c3 Re-enable Travis IRC notifications (Jacob Torrey) 9c71b9e Silence coveralls to prevent 4MB logs (Jacob Torrey) 65041fb Disabled libwallet_api_test until Issue #895 resolved (Jacob Torrey) a450138 Disable core_tests on Travis-CI (Jacob Torrey) 650afac Added -j2 to Makefile and clean up matrix (Jacob Torrey) 256dec0 Streamline test building target (Jacob Torrey) 14915c2 Ensure tests are built prior to testing (Jacob Torrey) fe4992b Added coverage g++ commands (Jacob Torrey) 497b24f Update .travis.yml (Jacob Torrey) 678467d Update for the current make environment (Jacob Torrey) abcac26 Fixed tab/space issue on YAML (Jacob Torrey) 7351a11 Converted to a build matrix for testing and release (Jacob Torrey) 342dbfb Prep for coveralls (Jacob Torrey)
2016-08-28remove original Cryptonote blockchain_storage blockchain formatmoneromooo-monero1-4/+0
2016-08-28cmake: define ARM var for all ARM arch variantsredfish1-12/+16
This is refactoring only. No behavior change.
2016-08-28cmake: ARM: exclude libunwind in static buildredfish1-1/+2
Else error in build with STATIC=ON: cd /home/redfish/bitmonero/build/release/src/miner && /usr/bin/cmake -E cmake_link_script CMakeFiles/simpleminer.dir/link.txt --verbose=1 /usr/bin/c++ -std=c++11 -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wundef -Wvla -Wwrite-strings -Wno-error=extra -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-unused-variable -Wno-error=unused-variable -Wno-error=undef -Wno-error=uninitialized -Wlogical-op -Wno-error=maybe-uninitialized -Wno-reorder -Wno-missing-field-initializers -march=armv7-a -fno-strict-aliasing -mfloat-abi=hard -DNDEBUG -O2 -flto -ffat-lto-objects -static-libgcc -static-libstdc++ -Wl,--wrap=__cxa_throw CMakeFiles/simpleminer.dir/simpleminer.cpp.o -o ../../bin/simpleminer -rdynamic -Wl,-Bstatic -lrt -Wl,-Bdynamic -ldl ../cryptonote_core/libcryptonote_core.a ../common/libcommon.a -Wl,-Bstatic -lboost_filesystem -lboost_program_options -lboost_regex -lboost_chrono -lboost_system -lboost_thread -Wl,-Bdynamic -pthread -Wl,-Bstatic -lrt -Wl,-Bdynamic -ldl ../blockchain_db/libblockchain_db.a ../cryptonote_core/libcryptonote_core.a ../blockchain_db/libblockchain_db.a ../../contrib/otshell_utils/libotshell_utils.a ../blocks/libblocks.a ../common/libcommon.a ../../external/unbound/libunbound.a -lssl -lcrypto -lunwind -Wl,-Bstatic -lboost_program_options ../crypto/libcrypto.a -lboost_date_time -lboost_serialization -lboost_filesystem ../../external/db_drivers/liblmdb/liblmdb.a -Wl,-Bdynamic -pthread -Wl,-Bstatic -lboost_chrono -lboost_system -lboost_thread -lrt -Wl,-Bdynamic -ldl /usr/bin/ld: ../../bin/simpleminer: hidden symbol `__aeabi_unwind_cpp_pr0' in /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/6.1.1/libgcc_eh.a(unwind-arm.o) is referenced by DSO /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status
2016-08-28Revert "Interpret x86_64 as x86-64 for architecture"redfish1-5/+1
This reverts commit 86234921506944dddab4e2f5edf96bf747be6c73. Let's restrict ARCH to values accepted by -march to keep things clear and consistent. ARCH is -march, with only one exception: a value of "default" indicates to not pass -march at all.
2016-08-28cmake: don't set ARCH from CMAKE_SYSTEM_PROCESSORredfish1-27/+22
It is not correct to do so, because ARCH should only take values supported by the -march argument, with the exception of 'default' which denotes not passing -march at all. ARCH defines the target architecture for builds that are intended to be portable to other machines.
2016-08-27cmake: pass -static when STATIC=ON on Windowsredfish1-2/+12
This gets rid of bitmonerod.exe's dependecy on libwindpthreads-1.dll in build on Windows on x86_64 (via MSYS2 default toolchain). With this patch all DLL dependencies are on DLLs in c:\windows\system32.
2016-08-27remove -Wall from coverage argumentsJacob Torrey1-2/+2
2016-08-26Added coverage g++ commandsJacob Torrey1-2/+2
Signed-off-by: Jacob Torrey <torreyj@ainfosec.com>
2016-08-22Merge pull request #964Riccardo Spagni1-6/+2
2a2b655 Build: make boost 1.58 minimum requirement. Fixes #956 (anonimal)
2016-08-16Build: make boost 1.58 minimum requirement. Fixes #956anonimal1-6/+2
2016-08-16Build: use libstdc++ with clang < 3.7anonimal1-2/+2
2016-08-01cmake: do not pass -O2 in debug build on ARMredfish1-7/+8
Also, minor cleanup of redundant flag-setting code.
2016-07-28cmake: libatomic only needed for 32-bit Clang buildsredfish1-5/+3
2016-07-28cmake: cleanup logic that sets flags per target/subdirredfish1-32/+24
The previous logic that used a COMMON_*_FLAGS intermediate variable and then re-assigned CMAKE_*_FLAGS before including each subdirectory was confusing and ugly. This PR is the right way to do it. This commit is purely refactoring: built binaries unchanged.
2016-07-27cmake,common: flag for stack traceredfish1-18/+24
By default the flag is enabled whenever libunwind is found on the system, with the exception of static build on OSX (for which we can't install the throw hook #932 due to lack of support for --wrap in OSX ld64 linker).
2016-07-26cmake: install throw hook in OSX build tooredfish1-0/+3
This is an attempt to fix build with STATIC=ON on OSX (#932): [ 95%] Linking CXX executable ../../bin/bitmonerod Undefined symbols for architecture x86_64: "___real___cxa_throw", referenced from: ___wrap___cxa_throw in libcommon.a(stack_trace.cpp.o) ld: symbol(s) not found for architecture x86_64
2016-07-26cmake: do not install hook on throw when building testsredfish1-6/+14
This fixes build of tests with STATIC=ON, which failed with: /tmp/cc8lNtqY.ltrans12.ltrans.o: In function `boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::thread_resource_error> >::rethrow() const [clone .lto_priv.41]': cc8lNtqY.ltrans12.o:(.text+0x4e): undefined reference to `__wrap___cxa_throw' The hook is implemented in libcommon, which is not linked into some of the test binaries. An alternative solution is to link all tests against libcommon, but that seems worse because it introduces a false dependency (also, I tried that and for some of the test binaries the linker still failed to pick up the symol from libcommon, strangely.)
2016-07-22cmake: do not pass -Werror when building testsredfish1-15/+22
The tests currently issue a warning that "warning: -fassociative-math disabled; other options take precedence" The associative math optimization is turned on indirectly by -Ofast. Apparently, the optimization is forced to be disabled, while compiling test harnesses generated by Google Test framework. Unfortunately, there is no -Wno-error=* flag to disable this warning (see gcc --help=warnings). An alternative to this patch is to disable the optimization explicitly with -fno-associative-math, but that seems worse. Another alternative is to not pass -Ofast for tests build, but we want the tests to be built with exact same optimization flags as the code being tested, otherwise the value of the tests is diminished. Another alternative is to remove -Werror from the entire build, but it's good to include that flag to preclude people leaving warnings. A note regarding implementation of not passing -Werror for tests: I considered filtering out -Werror from CMAKE_{C,CXX}_FLAGS but that seems to be worse because it's surprizing behavior, to those reading the code that adds -Werror. It is better to add it for when it is used and not added otherwise. I also considered relying on order, adding -Werror after inluding 'tests' subdir, but before including the other subdirs, but that also seems cryptic to the reader. So, I settled with the current solution, of explicitly setting CMAKE_{C,CXX}_FLAGS to different values before including the respective subdir. Testing done: compared compiler invocation for non-tests source files using `make VERBOSE=1` with and without this commit: the only difference is the position of -Werror. So, this commit doesn't change the binary.
2016-07-20fix atomic library to only fire off for clangRiccardo Spagni1-3/+5
2016-07-20fix duplicate clang block in cmakeRiccardo Spagni1-4/+1
2016-07-20Merge pull request #904Riccardo Spagni1-5/+12
f07f120 cmake: don't try to link with atomic on Apple (redfish) 19349d7 cmake: ARM: clang: make warning non-fatal: inline asm (redfish) f3e09f3 cmake: link with -latomic for clang (redfish) f4b35ae cmake: include -ldl via cmake built-in var (redfish) fa85cd8 common: stack trace: make clang happy with func ptrs (redfish) 4dce26b cmake: do not pass -stdlib=c++ to clang >=3.7 (redfish)
2016-07-20Merge pull request #896Riccardo Spagni1-1/+1
1e89f4f cmake: do not ignore dangerous warnings with -Wno-error (redfish)
2016-07-12cmake: don't try to link with atomic on Appleredfish1-1/+1
-latomic is necessary with Clang on Linux, but apparently, on OSX it's not found.
2016-07-10cmake: ARM: clang: make warning non-fatal: inline asmredfish1-0/+3
Clang issues a warning for some inline asm in stack_trace.cpp. This patch ieaves the warning to be displayed as a reminder to fix the code.
2016-07-10cmake: link with -latomic for clangredfish1-0/+5
otherwise clang build fails with ../cryptonote_core/libcryptonote_core.a(miner.cpp.o): In function `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' This has no effect on the gcc build. The one strange thing is that test code like std::atomic<int> x; int main() { return x; } compiles and links without errors with clang, without -latomic. This alone would suggest that this patch is unnecessary, but that is not the case. It's not clear exactly why, though. The bitmonero code is including the same header, but it must be doing something more complex than in this test code snippet that causes the failure at link time pasted above. In any case, passing -latomic fixes the problem and seems safe. .
2016-07-10cmake: include -ldl via cmake built-in varredfish1-4/+1
This does two things: 1. fixes clang build, which otherwise errors with undefined symbol 'dlsym'. 2. simplifies the cmake script, delegating to cmake to figure out platform-specific flags for linking against the dl library.
2016-07-10cmake: do not pass -stdlib=c++ to clang >=3.7redfish1-2/+4
Tested on Linux (Arch) with clang 3.7 and 3.8 i686 and ARM: if -stdlib=c++ is passed to clang, then the build errors out with <string>,<iostrea>,etc. headers not found. Simply not passing the arg fixes the problem. **NOTE**: not tested on OSX.
2016-07-09cmake: do not ignore dangerous warnings with -Wno-errorredfish1-1/+1
Shorten the list of warnings that are reported, but which are forced to NOT generate an error, via -Wno-error. Unwhitelist these: strict-aliasing, sign-compare, type-limits For example, ignoring strict-aliasing warning caused lots of wasted time diagnosing Issue #847.
2016-07-08cmake: pass -fno-strict-aliasing to fix build with GCC 6.1.1redfish1-0/+5
This patch is a temprorary workaround until aliasing is fixed in the code (Issue #847).
2016-07-06Merge pull request #877Riccardo Spagni1-8/+16
ecd0f2d makefile: remove unnecessary ARM-specific targets (redfish) c650160 cmake: disable AES on ARM (redfish) 804b1bc cmake: initialize ARCH for native builds (redfish) bb39034 cmake: remove repetitive code in handling of NO_AES (redfish)
2016-07-06Merge pull request #873Riccardo Spagni1-1/+1
d718960 remove POSIX_C_SOURCE and remove dlfcn.h for static builds (luigi1111)
2016-06-23cmake: BUILD_TESTS as option explicitly; added missed dependencyIlya Kitaev1-0/+3
2016-06-21cmake: disable AES on ARMredfish1-1/+3
On ARM, gcc fails with 'unknown argument' if passed '-maes'.
2016-06-21cmake: initialize ARCH for native buildsredfish1-1/+6
We need ARCH, because it needs to be set for ARM7, ARM6 to be initialized. Strangely, on different machines (both ARMv7, Arch), ${ARCH} var is either empty or 'native'. Handle both cases.
2016-06-21cmake: remove repetitive code in handling of NO_AESredfish1-7/+8
Minor eefactor only. No behavior or interface change in this commit.
2016-06-21remove POSIX_C_SOURCE and remove dlfcn.h for static buildsluigi11111-1/+1
The former was a faulty "fix" for gmtime_r not existing on Windows. The latter is needed only for dynamic builds, and is not included with msys2, which ends up fine because Windows is only built static at this time.
2016-06-21Merge pull request #869Riccardo Spagni1-2/+2
03e545d More fixing for Windows (iDunk) e8baa57 CMakeLists.txt: fix build for mingw (iDunk)
2016-06-20More fixing for WindowsiDunk1-1/+1
2016-06-20CMakeLists.txt: fix build for mingwiDunk1-1/+1
Fix from iDunk from IRC.
2016-06-20CMakeLists: fix build without libunwindmoneromooo-monero1-0/+1
2016-04-28Print stack trace on exceptionsmoneromooo-monero1-0/+18
if libunwind is found. Useful for debugging logs.
2016-03-21Revert "Print stack trace upon exceptions"moneromooo-monero1-12/+0
Ain't nobody got time for link/cmake skullduggery. This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
2016-03-19Print stack trace upon exceptionsmoneromooo-monero1-0/+12
Useful for debugging users' logs
2016-03-12change to LMDB as default, even on 32-bit and ARMRiccardo Spagni1-28/+19
2016-02-12cmake: Include OpenSSL libraries in static linkingwarptangent1-2/+0
2016-02-12cmake: Remove unused variablewarptangent1-1/+1
DL is empty and unused elsewhere. The intention at one point may have been to use CMAKE_DL_LIBS, but that would more likely apply in some situations involving static linking.
2016-02-12cmake: Fix unbound config compile settingswarptangent1-0/+2
This allows the OpenSSL function checks to compile in unbound's CMake configuration. Otherwise, the functions SHA256() and EVP_sha512() won't be called from libunbound as possible algorithms. They had not been compiling because static OpenSSL libraries were being used, along with lack of -ldl. The static library preference is unnecessary for the checks, so use default suffixes ordering for CMAKE_FIND_LIBRARY_SUFFIXES when building unbound. Related files: configure_checks.cmake external/unbound/validator/val_secalgo.c secalgo_ds_digest(), setup_key_digest()
2016-02-01Add make option to disable BerkeleyDBwarptangent1-2/+11
Sample use: BERKELEY_DB=0 make debug This makes development with BlockchainLMDB easier when virtual methods have changed and don't match BlockchainBDB.
2016-01-22Last fixups in the Cmake stuff and better default build instructionme0wmix1-8/+1
2016-01-21Added/corrected OpenBSD build instructions.me0wmix1-2/+1
2016-01-21OpenBSD support for Monero.me0wmix1-5/+16
2016-01-11Tweak arm6 flagsHoward Chu1-1/+1
2016-01-03ARMv7 optimization flags are too aggressiveHoward Chu1-2/+2
2016-01-02Fix release flagsHoward Chu1-2/+6
flags were being accumulated instead of being set. Win32 was getting -O2 -DNDEBUG -Ofast -DNDEBUG etc... Also for Win32, stay compatible to WinXP
2015-12-31updated copyright yearRiccardo Spagni1-1/+1