Age | Commit message (Collapse) | Author |
|
This was committed previously as 4975ae172 and reverted, because the flags were
applied even if the checks didn't pass. This is the same commit, fixed up to
actually disable the functionality when necessary.
Enabled automatically if boost >= 1.49.
See: https://svn.boost.org/trac/boost/ticket/2309
Also, check for a default visibility attribute, so that we can mark future
api functions correctly.
|
|
Revert #4663 for now. It still breaks the pulltester.
This reverts commit 4975ae1722cd8af63eda2f02ef64a98091b6fb58.
Conflicts:
configure.ac
|
|
Help string consistency tweaks. Target sanity check fix.
|
|
Enabled automatically if boost >= 1.49.
See: https://svn.boost.org/trac/boost/ticket/2309
Also, check for a default visibility attribute, so that we can mark future
api functions correctly.
|
|
While we're at it, reduce the use of LIBS as well. This makes dependencies
explicit.
Fixes building with (the not-yet-merged) libsecp256k1 as well.
Github-Pull: #4689
Rebased-By: Wladimir J. van der laan <laanwj@gmail.com>
Rebased-From: 909b347 c0e5dda
|
|
Use AC_CHECK_HEADERS to check for the header, and include it only
if detected and the subsequent HAVE_SYS_PRCTL_H is set.
|
|
This probably never worked properly. Confirmed working now with every compiler
I throw at it.
|
|
|
|
|
|
If clock_gettime is implemented outside of libc (librt in this case), configure
would fail when testing boost. Since clock_gettime is not present on all OSs,
boost only uses it when it can. Check for it in librt and add it to LIBS if
found, but don't fail if it's not (since boost won't be expecting it in this
case).
Also, reverse the link order as necessary for static libs.
Note that it's possible that there are other similar cases for boost, which may
be handled the same way.
|
|
Useful for PKG_CONFIG="pkg-config --static"
|
|
This is the first part of a huge effort to rework the handling of dependencies.
To start, this change allows all supported platforms to build against a static
Qt. 5.2.1 and 5.3 have been successfully tested against osx64, win32, win64,
linux32, and linux64.
It also makes a small change to the windows config, to allow linking against
qt builds with or without built-in libjpeg/libpng/libpcre/libz.
The actual build processes to take advantage of these changes (for gitian and
pull-tester) are coming soon. Until then, this should be a no-op.
|
|
Libtool eats the -static flag rather than passing it along to the compiler. To
get the same effect, -all-static is used instead.
|
|
caf6150 Use async name resolving to improve net thread responsiveness (Huang Le)
|
|
Note: This is added to our existing automake targets rather than as a
libtool-style lib. The switch to libtool-style targets can come later if it
proves to not add any complications.
|
|
|
|
In the LookupIntern(), things changed are:
1. Call getaddrinfo_a() instead of getaddrinfo() if available, the former is a sync version of the latter;
2. Try using inet_pton()/inet_addr() to convert the input text to a network addr structure at first, if success the extra name resolving thread inside getaddrinfo_a() could be avoided;
3. An interruption point added in the waiting loop for return from getaddrinfo_a(), which completes the improve for thread responsiveness.
A easy way to see the effect is to kick off a 'bitcoind stop' immediately after 'bitcoind -daemon', before the change it would take several, or even tens of, minutes on a bad network situation to wait for the running bitcoind to exit, now it costs only seconds.
Signed-off-by: Huang Le <4tarhl@gmail.com>
|
|
Don't depend on hard-coded platform lists
|
|
This allows us to include its path without making other header includes valid.
|
|
|
|
Build logic moves from individual Makefile.am's to include files, which
the main src/Makefile.am includes. This avoids having to manage a gigantic
single Makefile.
TODO: Move the rules from the old Makefile.include to where they actually
belong and nuke the old file.
|
|
Log the name of the error as well as the error code if a network problem
happens. This makes network troubleshooting more convenient.
Use thread-safe strerror_r and the WIN32 equivalent FormatMessage.
|
|
The year is 2014. All supported operating systems have IPv6 support,
most certainly at build time (this doesn't mean that IPv6 is configured,
of course).
If noone is exercising the functionality to disable it, that means it
doesn't get tested, and IMO it's better to get rid of it.
(it's also not used consistently in RPC/boost and Net code...)
|
|
Using "./configure --enable-glibc-back-compat" will attempt to be
compatible with a target running glibc abi 2.9 and libstdc++ abi 3.4.
|
|
|
|
This should be safe to do for native builds too, but for now it's
specific to cross-builds to avoid possible regressions.
|
|
f5f157b add --enable-debug for configure (daniel)
|
|
|
|
`master` is not a release. Use the same convention as before and label
these intermediate builds as x.x.99.
|
|
the user.
I moved them to HARDENING_* where they belong.
|
|
|
|
Switch to tinyformat-based formatting.
Tinyformat is a typesafe drop-in replacement for C99 printf functions:
https://github.com/c42f/tinyformat
|
|
fe14e8d build: Change package name to Bitcoin Core (Wladimir J. van der Laan)
6c980c7 build: Package docs/ and don't package source. (Wladimir J. van der Laan)
39db27c build: Add bitcoin-cli.exe to installer (Wladimir J. van der Laan)
2f87b38 Adapt Windows installer for 64 bit (Wladimir J. van der Laan)
f622232 gitian: Windows 64 bit support (Wladimir J. van der Laan)
|
|
This avoids a dependency on libssp-0.dll when built with
-fstack-protector-all.
|
|
- change our hardening options to use -fstack-protector-all even for
Windows builds, as we recently switched to a newer compiler suite
- also removes an obsolete workaround for GCC 4.5
(https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/691722), which
required to first set -fno-stack-protector, before -fstack-protector-all
|
|
Affects the name of the package as shown in installers
and such.
Also rebrand the windows installer.
|
|
|
|
|
|
and --with[out]-daemon to support more build configurations
|
|
|
|
|
|
|
|
compilers that define it by default
|
|
optimisation, debug, and warning flags
|
|
1cbbeb6 gitian: Add openssl to linux deps (Wladimir J. van der Laan)
64be7f7 gitian: Build boost dependency for linux (Wladimir J. van der Laan)
7eb99a8 gitian: Reduce build time for boost windows dependency (Wladimir J. van der Laan)
714cdec build: Pass BOOST_CPPFLAGS to sleep implementation test (Wladimir J. van der Laan)
0d40f5a build: Allow providing extra libs for Boost Chrono (Wladimir J. van der Laan)
e4b991e build: Auto-detect whether -DBOOST_TEST_DYN_LINK is needed (Wladimir J. van der Laan)
|
|
Makes sure that `-pthread` and other flags required for boost
compilation are passed.
|
|
Pass BOOST_CHRONO_EXTRALIBS to give extra dependency
libraries for Boost Chrono which are not auto-detected.
|
|
Use AC_LINK_IFELSE to auto-detect whether boost test is linked
dynamically, instead of assuming based on target.
|
|
Added ubuntu 13.10 and libboost1.54-all-dev incompatibility instruction to the existing no boost_sleep warning.
|
|
|