Commit Graph

336 Commits

Author SHA1 Message Date
Sean Bowe 306a336a0a
make-release.py: Versioning changes for 3.0.0. 2020-05-22 11:46:19 -06:00
Sean Bowe 7000f452fa
make-release.py: Versioning changes for 3.0.0-rc1. 2020-05-21 07:32:25 -06:00
Sean Bowe f9d4405c09
make-release.py: Versioning changes for 2.1.2-3. 2020-05-08 12:39:13 -06:00
Sean Bowe bdb2df182b
make-release.py: Versioning changes for 2.1.2-2. 2020-05-08 11:41:47 -06:00
Sean Bowe 5d24937e5f
make-release.py: Versioning changes for 2.1.2-1. 2020-05-06 10:50:43 -06:00
Sean Bowe 9eadd525a5
make-release.py: Versioning changes for 2.1.2. 2020-04-22 10:43:50 -06:00
Sean Bowe 2386046941
make-release.py: Versioning changes for 2.1.2-rc1. 2020-04-15 17:45:34 -06:00
Jack Grigg 684e62e903 Fix Rust static library linking for Windows builds
The library renaming step is necessary because the naming convention
used by rustc does not match the naming convention for libtool/MinGW.
2020-03-12 00:50:45 +13:00
Jack Grigg 90f7234136 Replace librustzcash from depends system with src/rust
The --enable-online-rust configure flag replicates the behaviour of the
LIBRUSTZCASH_OVERRIDE environment variable (enabling the build system to
use crates.io instead of vendored dependencies).
2020-03-06 16:49:03 +13:00
Homu e93586a0c4 Auto merge of #4331 - zcash:hotfix-v2.1.1-1, r=ebfull
Hotfix v2.1.1-1

The commits in this PR have been reviewed internally by our team.
2020-02-07 04:50:43 +00:00
Sean Bowe afc553c448
make-release.py: Versioning changes for 2.1.1-1. 2020-02-06 16:51:15 -07:00
Jack Grigg 2e9028f1f1 Move default -g flag into configure.ac behind --enable-debug=no
This ensures that if --enable-debug is set, we correctly use -g3 if it
is available, instead of overriding it.

Part of #4317.
2020-01-31 13:39:38 +00:00
Jack Grigg 999b3a3235 Make -fwrapv conditional on --enable-debug=no
-fwrapv and -ftrapv conflict, and whichever is last takes precedence
(for gcc). This meant that -ftrapv was being ignored when --enable-debug
was set. This commit correctly sets only one of them based on whether
--enable-debug is set.

Part of #4317.
2020-01-31 13:22:07 +00:00
Jack Grigg 42a58f1e23 configure: Change default Proton to match build.sh 2020-01-31 12:12:07 +00:00
Homu 8e8a9350c3 Auto merge of #4222 - str4d:configure-updates, r=str4d
./configure updates

Includes code cherry-picked from the following upstream Bitcoin Core PRs:

- bitcoin/bitcoin#6748
- bitcoin/bitcoin#12373
- bitcoin/bitcoin#12692
- bitcoin/bitcoin#12901
- bitcoin/bitcoin#13005
- bitcoin/bitcoin#13445
- bitcoin/bitcoin#12686
- bitcoin/bitcoin#16435

Part of #2074.
2020-01-30 16:01:48 +00:00
Gavin Andresen d7a20b6373 Simple benchmarking framework
Benchmarking framework, loosely based on google's micro-benchmarking
library (https://github.com/google/benchmark)

Wny not use the Google Benchmark framework? Because adding Even More Dependencies
isn't worth it. If we get a dozen or three benchmarks and need nanosecond-accurate
timings of threaded code then switching to the full-blown Google Benchmark library
should be considered.

The benchmark framework is hard-coded to run each benchmark for one wall-clock second,
and then spits out .csv-format timing information to stdout. It is left as an
exercise for later (or maybe never) to add command-line arguments to specify which
benchmark(s) to run, how long to run them for, how to format results, etc etc etc.
Again, see the Google Benchmark framework for where that might end up.

See src/bench/MilliSleep.cpp for a sanity-test benchmark that just benchmarks
'sleep 100 milliseconds.'

To compile and run benchmarks:
  cd src; make bench

Sample output:

Benchmark,count,min,max,average
Sleep100ms,10,0.101854,0.105059,0.103881
2020-01-22 21:40:35 +00:00
Sean Bowe 5133275342
make-release.py: Versioning changes for 2.1.1. 2020-01-17 10:26:14 -07:00
Sean Bowe 846868f0c7
make-release.py: Versioning changes for 2.1.1-rc2. 2020-01-13 17:55:01 -07:00
Sean Bowe 2c88a156ba
make-release.py: Versioning changes for 2.1.1-rc1. 2020-01-07 20:13:03 -07:00
sandakersmann 0859ea4951
Update _COPYRIGHT_YEAR in configure.ac to 2020 2019-12-27 18:04:14 +01:00
Jack Grigg a89c1058bc
configure: Don't require RELRO and BIND_NOW when cross-compiling darwin 2019-12-10 20:40:28 +00:00
Jack Grigg bbdba3be33
configure: Re-introduce additional sanitizer flags
Re-adds flags that were removed in 72aa644a2a.
2019-11-12 14:07:34 +00:00
Carl Dong 81ddf862f7
autoconf: Sane --enable-debug defaults.
Don't optimize at all when --enable-debug is supplied. This makes sure
that nothing is optimized out.
2019-11-12 13:16:10 +00:00
practicalswift a8780a982e
Add -ftrapv to DEBUG_CXXFLAGS when --enable-debug is used 2019-11-12 13:15:25 +00:00
Chun Kuan Lee 88c9e22eb2
Reset default -g -O2 flags when enable debug 2019-11-12 13:14:52 +00:00
Evan Klitzke 45e203181a
Make --enable-debug to pick better options
Various changes:

 * Don't check $GCC and $GXX
 * Prefer -Og instead of -O0
 * If -g3 isn't available, use -g

This also incidentally fixes compiler warnings with GCC and glibc when using
--enable-debug, as the old default values mixed poorly with the hardening flags.
2019-11-12 13:14:23 +00:00
practicalswift 76125f64bc
build: Show enabled sanitizers in configure output 2019-11-12 13:12:08 +00:00
Evan Klitzke ce0a143c1e
Add --with-sanitizers option to configure
This enables the use of different compiler sanitizers, coresponding to
the -fsanitize option in GCC and Clang.
2019-11-12 13:11:03 +00:00
murrayn c699c93734
Add build support for 'gprof' profiling. 2019-11-12 13:07:36 +00:00
Pavel Janík fda3f64b27
Rewrite help texts for features enabled by default. 2019-11-12 13:03:59 +00:00
Jack Grigg 72aa644a2a
Revert "Add configure flags for enabling ASan/UBSan and TSan"
This reverts commit c4379e3a22.
2019-11-12 13:01:16 +00:00
Homu 98b70f1264 Auto merge of #4215 - zcash:hotfix-2.1.0-1, r=str4d
Hotfix v2.1.0-1
2019-11-09 08:05:33 -08:00
Jack Grigg e07604a132
make-release.py: Versioning changes for 2.1.0-1. 2019-11-08 18:34:15 +00:00
Homu 5ec69e8c2c Auto merge of #4171 - defuse:fuzzer-packaging, r=str4d
Add AFL in zcutil (with all-in-one script)

Supersedes #4156 and #4167.

Fuzzing targets and input sets are defined by the contents of directories in `./src/fuzzing/`. Inside the directory, there's a `fuzz.cpp` and `fuzz.h` with a `main()` function that will replace `zcashd`'s actual `main()` as well as an `input` subdirectory containing the inputs, one per file. To just run a fuzzer, you can, for example...

```
make clean # if you've previously build zcashd without AFL instrumentation
./zcutil/afl/afl-getbuildrun.sh DecodeHexTx
```

Alternatively you can...

```
./zcutil/afl/afl-get.sh /tmp/afl   # (or wherever you want to build AFL)
./zcutil/afl/afl-build.sh /tmp/afl DecodeHexTx -j$(nproc)
./zcutil/afl/afl-run.sh /tmp/afl DecodeHexTx
```

Run `make clean` whenever you switch between a normal build and an AFL-instrumented build.
2019-11-06 03:33:05 -08:00
Eirik Ogilvie-Wigley 5be8d1ecd1 make-release.py: Versioning changes for 2.1.0. 2019-11-02 10:53:13 -06:00
Eirik Ogilvie-Wigley bdfed7e178 make-release.py: Versioning changes for 2.1.0-rc1. 2019-10-22 14:35:07 -06:00
Taylor Hornby 8a0fb36b21 Add configure option to replace main with a stub for fuzzing 2019-10-22 13:52:32 -06:00
Homu 961c0d58ec Auto merge of #4060 - str4d:remove-libsnark, r=daira
Remove libsnark

Closes #167. Closes #416. Closes #418. Closes #437.
Closes #521. Closes #743. Closes #750. Closes #894.
Closes #903. Closes #1125. Closes #1136. Closes #1240.
Closes #1264. Closes #1516. Closes #1517. Closes #1651.
Closes #2064. Closes #2158. Closes #3478. Closes #3652.
Closes #3744.
2019-09-26 11:21:40 -07:00
Daira Hopwood 1e11ffb6bb make-release.py: Versioning changes for 2.0.7-3. 2019-09-24 20:58:26 +01:00
Eirik Ogilvie-Wigley 72d2ab918d make-release.py: Versioning changes for 2.0.7-2. 2019-08-30 17:38:50 -06:00
Eirik Ogilvie-Wigley c05652b8d9 make-release.py: Versioning changes for 2.0.7-1. 2019-08-29 12:58:35 -06:00
Jack Grigg 2a47986a00
Remove libgmp 2019-08-22 15:42:53 +01:00
Jack Grigg 6a4b8b7751
Remove libsnark from build system 2019-08-22 15:42:51 +01:00
Jack Grigg 7bd700b100
Revert "Check if OpenMP is available before using it"
This reverts commit daad2c2736.
2019-08-22 15:42:50 +01:00
Jack Grigg 9a0e257526
Revert "configure: Guess -march for libsnark OPTFLAGS instead of hard-coding"
This reverts commit 98cfe4228c.
2019-08-22 15:42:49 +01:00
Eirik Ogilvie-Wigley 93a03a1a20 make-release.py: Versioning changes for 2.0.7. 2019-08-19 14:36:31 -06:00
Eirik Ogilvie-Wigley 0b83bf493a make-release.py: Versioning changes for 2.0.7-rc1. 2019-08-09 16:52:27 -06:00
Daira Hopwood ef2dcbf1d4 make-release.py: Versioning changes for 2.0.6. 2019-06-19 00:27:11 +01:00
Daira Hopwood f7a4aab352 make-release.py: Versioning changes for 2.0.6-rc1. 2019-06-12 16:32:57 +01:00
Eirik0 c34d253fa6 make-release.py: Versioning changes for 2.0.5-2. 2019-05-15 09:49:44 -06:00