Commit Graph

259 Commits

Author SHA1 Message Date
Homu
312f70091b Auto merge of #3169 - ebfull:sapling-global-params, r=str4d
Import sapling global parameters

This will also test the API a bit by invoking the Pedersen hashes.

Part of #3053.
2018-04-14 18:35:11 -07:00
Homu
8be9d79c21 Auto merge of #3153 - str4d:default-disable-libs, r=str4d
Disable building libzcashconsensus by default

The library is not currently a supported build artifact; it needs work in
order to build on certain platforms (e.g. MacOS), and its dependencies need to
be narrowed down (Equihash is not a requirement for validating scripts).
2018-04-14 13:04:35 -07:00
Sean Bowe
341b775b19 Link with -ldl 2018-04-13 22:26:24 -06:00
Jack Grigg
f64c346eca make-release.py: Versioning changes for 1.1.0. 2018-04-11 20:02:10 -06:00
Jack Grigg
47fe5f72f4 Disable building libzcashconsensus by default
The library is not currently a supported build artifact; it needs work in
order to build on certain platforms (e.g. MacOS), and its dependencies need to
be narrowed down (Equihash is not a requirement for validating scripts).
2018-04-06 15:09:50 +01:00
Jack Grigg
5e11533408 make-release.py: Versioning changes for 1.1.0-rc1. 2018-04-05 03:08:20 +01:00
Homu
599c847818 Auto merge of #2820 - str4d:darwin-build-patches, r=str4d
[macOS] Darwin build patches

Part of #2246.
2018-04-03 12:44:24 -07:00
Jack Grigg
d9cd254e5e Make Rust compilation mandatory
The temporary integration check in CheckEquihashSolution() remains, until we
have "real" Rust code to integrate.

Closes #2688.
2018-03-28 17:55:45 +02:00
Jack Grigg
e6e4b619a9 Use correct Boost::System linker flag for libzcash 2018-03-26 16:22:35 +02:00
Jack Grigg
7346f09026 Only set multicore flags if OpenMP is available 2018-03-19 17:32:21 +01:00
Jack Grigg
c64108d1a0 Don't require RELRO and BIND_NOW for Darwin
Xcode's ld (at least ld64-302.3) doesn't support -z
2018-03-19 17:32:21 +01:00
Homu
b3a656cf53 Auto merge of #3048 - str4d:analysis-tools, r=str4d
Add configure flags for enabling ASan/UBSan and TSan

Also adds an environment variable for setting configure flags in `./zcutil/build.sh`.
2018-03-06 11:53:43 -08:00
Homu
796ea3815e Auto merge of #2965 - rofl0r:patch-1, r=str4d
fix build error due to usage of obsolete boost_system-mt

closes #2304 for real
2018-03-05 06:25:56 -08:00
Jack Grigg
c4379e3a22 Add configure flags for enabling ASan/UBSan and TSan
Co-authored-by: Robert Seacord <rcseacord@gmail.com>
2018-03-01 16:04:42 +00:00
Jack Grigg
1d6f7acf4d make-release.py: Versioning changes for 1.0.15. 2018-02-28 16:44:07 +00:00
Jack Grigg
1dd95be4a9 make-release.py: Versioning changes for 1.0.15-rc1. 2018-02-24 04:08:36 +00:00
rofl0r
36d8b2efbe fix build error due to usage of obsolete boost_system-mt
closes #2304 for real
2018-02-19 21:21:48 +00:00
syd
b6a990def0 Remove OSX and Windows files from Makefile + share directory.
These are stale holdovers from bitcoin.

This closes #2169.
2018-01-04 22:50:17 +00:00
Jack Grigg
2091cf23ae make-release.py: Versioning changes for 1.0.14. 2018-01-03 23:44:51 +01:00
Jack Grigg
275f21ad4b make-release.py: Versioning changes for 1.0.14-rc1. 2017-12-22 09:59:01 +00:00
Jack Grigg
0100c79405 Add Rust and Proton to configure options printout 2017-12-15 13:03:33 +00:00
Jack Grigg
704337b2b8 Move Zcash flags into configure.ac 2017-12-01 14:10:18 +00:00
Jack Grigg
c1fcdd01dd Change --enable-werror to apply to all warnings, use it in build.sh 2017-12-01 14:10:18 +00:00
René Nyffenegger
bc9fff1130 Use AC_ARG_VAR to set ARFLAGS.
The user can set ARFLAGS in the ./configure step with
  ./configure ARFLAGS=...
If he chooses not to do so, ARFLAGS will be set to cr.
2017-12-01 14:10:17 +00:00
Cory Fields
5dd887fdf7 build: add --enable-werror option
This turns some compiler warnings into errors. Useful for c-i.
2017-12-01 14:10:17 +00:00
Cory Fields
d35ebc7b55 build: warn about variable length arrays 2017-12-01 14:10:17 +00:00
Cory Fields
943f19fec7 build: force a c++ standard to be specified
Newer compilers may switch to newer standards by default. For example, gcc6
uses std=gnu++14 by default.
2017-12-01 14:10:17 +00:00
Jonas Schnelli
0bcd85bee8 Add compile and link options echo to configure 2017-12-01 14:10:17 +00:00
Wladimir J. van der Laan
8a932154c5 build: supply -Wl,--high-entropy-va
This should enable high-entropy ASLR on 64-bit targets, for better
mitigation of exploits.
2017-12-01 14:10:17 +00:00
Anthony Towns
d812d95a8f Add configure check for -latomic 2017-12-01 14:10:16 +00:00
Wladimir J. van der Laan
15472b7d84 build: Remove check for openssl/ec.h
We don't use any elliptic curves from OpenSSL anymore, nor include this
header anywhere but optionally in the tests of secp256k1 (which has
its own autoconf setup).

Reported by sinetek on IRC.
2017-12-01 14:10:16 +00:00
Wladimir J. van der Laan
57ab896ba4 test: Remove java comparison tool 2017-12-01 14:10:16 +00:00
Cory Fields
d70027148d build: fix Windows builds without pkg-config
- guard PKG_PROG_PKG_CONFIG with an m4_ifdef. If not building for windows,
  require it
- add nops as necessary in case the ifdef reduces the if/then to nothing
- AC_SUBST some missing _LIBS. These were split out over time, but not all were
  properly substituted. They continued to work if pkg-config is installed
  because it does the AC_SUBST itself
2017-12-01 14:10:16 +00:00
Cory Fields
341ab74532 build: quiet annoying warnings without adding new ones
Disabling warnings can be tricky, because doing so can cause a different
compiler to create new warnings about unsupported disable flags. Also, some
warnings don't surface until they're paired with another warning (gcc). For
example, adding "-Wno-foo" won't cause any trouble, but if there's a legitimate
warning emitted, the "unknown option -Wno-foo" will show up as well.

Work around this in 2 ways:

1. When checking to see if -Wno-foo is supported, check for "-Wfoo" instead.
2. Enable -Werror while checking 1.

If "-Werror -Wfoo" compiles, "-Wno-foo" is almost guaranteed to be supported.

-Werror itself is also checked. If that fails to compile by itself, it likely
means that the user added a flag that adds a warning. In that case, -Werror
won't be used while checking, and the build may be extra noisy. The user would
need to fix the bad input flag.

Also, silence 2 more additional warnings that can show up post-c++11.
2017-12-01 14:10:16 +00:00
Cory Fields
c5d645e22f build: define base filenames for use elsewhere in the buildsystem
Unfortunately, the target namees defined at the Makefile.am level can't be used
for *.in substitution. So these new defines will have to stay synced up with
those targets.

Using the new variables for the deploy targets in the main Makefile.am will
ensure that they stay in sync, otherwise build tests will fail.
2017-12-01 14:10:16 +00:00
Cory Fields
c459de2f03 build: Split hardening/fPIE options out
This allows for fPIE to be used selectively.
2017-11-30 15:17:37 +00:00
Jack Grigg
daad2c2736 Check if OpenMP is available before using it 2017-11-29 17:28:44 +00:00
Jack Grigg
c16188cc6d Remove manual -std=c++11 flag
This is handled by autoconf now.
2017-11-29 17:24:59 +00:00
Wladimir J. van der Laan
4ba172369d build: Enable C++11 build, require C++11 compiler
Implements #6211.
2017-11-29 17:24:59 +00:00
syd
6df5f51b7c Update to address @daira comments wrt fixing configure.ac
Since we're enforcing Boost >= 1.62, we no longer need HAVE_WORKING_BOOST_SLEEP_FOR.
2017-11-23 11:58:25 -05:00
Jack Grigg
0523d21d22 make-release.py: Versioning changes for 1.0.13. 2017-11-20 12:23:45 +00:00
Jack Grigg
e70c8d2ea3 make-release.py: Versioning changes for 1.0.13-rc2. 2017-11-17 17:49:28 +00:00
Jack Grigg
051698a05c Add the tar-pax option to automake
This enables the tarball generated by "make dist" to contain file names longer
than 99 characters.
2017-11-16 22:37:38 +00:00
Jack Grigg
8f23c734e6 Pass correct dependencies path to libsnark from both Gitian and build.sh 2017-11-15 15:30:21 +00:00
Jack Grigg
c5b04132bd make-release.py: Versioning changes for 1.0.13-rc1. 2017-11-14 23:53:45 +00:00
Homu
4ca8f506d7 Auto merge of #2652 - str4d:820-libsnark-subtree, r=str4d
Move libsnark in-repo as a git subtree

This PR pulls in the libsnark subtree at the exact commit that we currently fetch via the depends system. To verify:

```
$ ./contrib/devtools/git-subtree-check.sh src/snark
src/snark in HEAD was last updated to upstream commit 9ada3f84ab484c57b2247c2f41091fd6a0916573 (tree c10a38c759)
src/snark in HEAD currently refers to tree 34e916d3f6
:100644 100644 427f4f4ce9 13e54da68b M	Makefile
:040000 040000 42f29e42d1 dd73536163 M	src
FAIL: subtree directory tree doesn't match subtree commit tree
```

This shows that there are changes relative to what we currently use, due to the later commits in the PR. If we exclude them, we see that the code is identical:

```
$ git checkout 26a8f68ea8
$ ./contrib/devtools/git-subtree-check.sh src/snark
src/snark in HEAD was last updated to upstream commit 9ada3f84ab484c57b2247c2f41091fd6a0916573 (tree c10a38c759)
src/snark in HEAD currently refers to tree c10a38c759
GOOD
```

Closes #820.
2017-10-17 20:41:11 -07:00
Jack Grigg
0f49863acb make-release.py: Versioning changes for 1.0.12. 2017-09-28 01:17:05 +01:00
Jack Grigg
39cb7df909 make-release.py: Versioning changes for 1.0.12-rc1. 2017-09-23 10:42:23 +01:00
Jack Grigg
2fd43c599f make-release.py: Versioning changes for 1.0.11. 2017-08-15 09:52:36 +01:00
Sean Bowe
26a8f68ea8 Remove libsnark from depends system and integrate it into build system. 2017-08-02 15:49:30 +01:00