Add some additional logging during ICU configuration and build process.
Resolve ICU on windows link issues.
Add /tmp/icu_install (cross-compile staging build) to the travis
directory cache for future windows builds.
also includes code to validate incoming utf8
moved normalization from claimTrie; all in cache now
also fixed a few post-merge issues
added handling for support normalization
fixed failure to handle unnormalized items reinserted on rollback
fixing ICU deps for Travis build
get more info on Travis build failure
Travis experiment 2: ICU fPIC
add independent tests to check string normalization only
move comment to proper location, and note what excpetion is thrown
add RPC call checknormalization so user can see what normalization does
made expiration at norm time smarter
also rearranged unit test code to avoid some spurious errors
made ICU compile statically
also fixed early exit in reproducible_build script
changed to keep original name
removed ability to return just-added supports
it was impossible to get the normalized names correct there
apparently the -s is no longer appreciated
moved normalization code to separate file
also fixed bug on effective amount
fixed performance problem on trie upgrade
fixed issue with valid height on rollback
fixed issue with post-normalization name q data
fixed failure to remove normalized claims on rollback
post-merge fixes
post-merge fixes
Apply (self) review feedback
Clean deps required for boost to rebuild with icu support (for now)
Normalization bug fixes and improvements
Clang-formatting
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.
This removes the following executables from the binary gitian release:
- test_bitcoin-qt[.exe]
- bench_bitcoin[.exe]
@jonasschnelli and me discussed this on IRC a few days ago - unlike the
normal `bitcoin_tests` which is useful to see if it is safe to run
bitcoin on a certain OS/environment combination, there is no good reason
to include these. Better to leave them out to reduce the download
size.
Sizes from the 0.12 release:
```
2.4M bitcoin-0.12.0/bin/bench_bitcoin.exe
22M bitcoin-0.12.0/bin/test_bitcoin-qt.exe
```
Ubuntu 16.04 "xenial xerus" does not come with Python 2.x by default.
It is possible to install a python-2.7 package, but this has its own
problem: no `python` or `python2` symlink (see #7717).
This fixes the following scripts to work with python 3:
- `make check` (bctest,py, bitcoin-util-test.py)
- `make translate` (extract_strings_qt.py)
- `make symbols-check` (symbol-check.py)
- `make security-check` (security-check.py)
Explicitly call the python commands using $(PYTHON) instead
of relying on the interpreter line at the top of the scripts.
The old configure.ac did not work for a copyright holders string
containing commas due to insufficient quoting. The new one allows this.
While this is, of course, not of direct consequence to the current code
(where the string is "Bitcoin Core"), it should still be fixed now that
the string is actually factored out.
Due to include ordering, defining in one place was not enough to ensure correct
usage. Use global defines so that we don't have to worry abou this ordering.
Also add a comment in configure about the test.
This is ugly, but temporary. boost::filesystem will likely be dropped soon
after c++11 is enabled. Otherwise, we could simply roll our own copy_file. I've
fixed this at the buildsystem level for now in order to avoid mixing in
functional changes.
Explanation:
If boost (prior to 1.57) was built without c++11, it emulated scoped enums
using c++98 constructs. Unfortunately, this implementation detail leaked into
the abi. This was fixed in 1.57.
When building against that installed version using c++11, the headers pick up
on the native c++11 scoped enum support and enable it, however it will fail to
link. This can be worked around by disabling c++11 scoped enums if linking will
fail.
Add an autoconf test to determine incompatibility. At build-time, if native
enums are being used (a c++11 build), and force-disabling them causes a
successful link, we can be sure that there's an incompatibility and enable the
work-around.
Because Python is (going to be) used to run the RPC tests, when
gathering coverage data with lcov, it is explicitly checked, whether
Python is really available.