Commit Graph

118 Commits

Author SHA1 Message Date
Cory Fields
aa3673064c build: remove libstdc++ backwards-compat
Backwards-compatibility for libstdc++ is not limited to straightforward abi
changes. Symbol visibility also needs to be taken into consideration, and
that really can't be addressed simply.

Instead, just static-link libstdc++ for backwards-compat.
2015-02-23 17:56:15 -05:00
Cory Fields
3ee028f131 build: disable reduced exports by default
This is really a packager's option. While it's helpful to encourage devs to
test this option for daily builds, it's not reliable in several real-world
use-cases. Some older libstdc++ runtimes (freebsd 9, debian wheezy, for
example) fail to properly catch exceptions due to mismatched type_info.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 for more info.
2015-02-23 17:48:57 -05:00
randy-waterhouse
e7cfcc8f7e Remove custom pkg.m4 script. 2015-01-21 12:10:35 +13:00
Wladimir J. van der Laan
204d41a821
Merge pull request #5542
2ecd294 Bugfix: configure: Correctly detect "nothing to build" condition (Luke Dashjr)
b7a4ecc Bugfix: Only check for boost when building code that requires it (Luke Dashjr)
a19eeac Bugfix: configure: Check for openssl/ec.h (Luke Dashjr)
fe925e2 Use EXTRA_LIBRARIES instead of noinst_LIBRARIES so we can avoid building unused code (Cory Fields)
2015-01-08 09:32:36 +01:00
Luke Dashjr
2ecd2941ed Bugfix: configure: Correctly detect "nothing to build" condition 2015-01-07 20:19:56 +00:00
Luke Dashjr
b7a4ecc153 Bugfix: Only check for boost when building code that requires it 2015-01-07 20:19:05 +00:00
Luke Dashjr
a19eeaced8 Bugfix: configure: Check for openssl/ec.h 2015-01-07 15:59:54 +00:00
Wladimir J. van der Laan
edbc9045cb
Bump project-wide COPYRIGHT_YEAR to 2015
There is still a redundancy here between configure.ac and
clientversion.h.
2015-01-02 10:53:13 +01:00
Wladimir J. van der Laan
cf875367d2
Merge pull request #5334
eef747b libbitcoinconsensus: Add pkg-config support (Luke Dashjr)
2014-12-19 18:05:04 +01:00
Wladimir J. van der Laan
d7492304e9
Now that 0.10 has been branched, master is 0.10.99 2014-12-11 16:03:46 +01:00
Pavel Janík
4c69ebed44 Add /opt/local/include/db48 only if it exists. 2014-11-30 09:56:20 +01:00
Wladimir J. van der Laan
91eaedd4ce
Merge pull request #5370
b7f2cdc build: disable static lib stripping during osx make install-strip (Cory Fields)
2014-11-26 11:07:25 +01:00
Cory Fields
b7f2cdc8a9 build: disable static lib stripping during osx make install-strip 2014-11-25 18:41:27 -05:00
Pavel Janík
494f6e7d35 Check for strnlen and provide it if it is not found. 2014-11-24 10:28:24 +01:00
Luke Dashjr
eef747bba8 libbitcoinconsensus: Add pkg-config support 2014-11-20 21:23:34 +00:00
Cory Fields
9eb5a5fbef build: pad header for osx libs
This ensures that users of the lib will be able to mangle the paths to work
in their bundles.
2014-11-19 22:31:11 -05:00
Cory Fields
9ed8979e29 build: fix static dll link for mingw
dll's are no longer dynamically linked to libgcc/libstdc++/libssp
2014-11-19 22:31:11 -05:00
Cory Fields
19df238a7b build: shared lib build should work reasonably well now 2014-11-19 22:31:10 -05:00
Cory Fields
cdd36c6c5c build: add --with-libs so that libs are optional 2014-11-19 22:31:10 -05:00
Cory Fields
f36a40f7fd build: check visibility attributes 2014-11-19 22:08:27 -05:00
Cory Fields
811a765bef build: mingw needs libssp for hardening with dlls 2014-11-19 22:08:27 -05:00
Cory Fields
e0077de5de build: make a distinction between static app ldflags and static lib ldflags
For windows builds, exe's are always static, but libs should still conform to
--enabled-shared and --enable-static.
2014-11-19 22:08:27 -05:00
Cory Fields
f9e40fb075 revert part of 9eda1620b
This probably would've broken native OSX builds
2014-11-18 18:06:47 +01:00
Cory Fields
0dc8613864 build: fixup configure to not export anything 2014-11-18 18:06:47 +01:00
Pieter Wuille
cf61b5441b Don't use bashisms in configure 2014-11-18 18:06:46 +01:00
Pieter Wuille
07a9901703 Always build and link libsecp256k1 2014-11-18 18:06:46 +01:00
kiwigb
eefb766c77 Rearrange initial config checks: AC, AM, compiler, libtool.
Removed some repeated and unused prog checks.
2014-11-06 14:30:59 +13:00
Cory Fields
7667850dbf tests: replace the old (unused since Travis) tests with new rpc test scripts 2014-10-31 00:05:55 -04:00
Cory Fields
1723862e82 build: fix libtool's refusal to link static libs into a dll 2014-10-14 20:45:20 -04:00
Cory Fields
28d412ff20 build: quit abusing LIBS for Windows builds.
Similar to the INCLUDES changes in 6b099402b4, split out LIBS into individual
entries for more fine-grained control.

Also add MINIUPNPC_LIBS which was missing before, and hook it up to
executables.
2014-10-13 21:21:27 -04:00
Cory Fields
a7d1f035ae build: fix dynamic boost check when --with-boost= is used 2014-10-10 13:00:50 -04:00
Wladimir J. van der Laan
ca067dc937
Merge pull request #5053
27368e7 Homebrew lang fix (Dominyk Tiller)
2014-10-07 09:58:21 +02:00
Dominyk Tiller
27368e7626 Homebrew lang fix
Very small tweak to correct the language on Homebrew's sandboxing process.

Discussed in [this commit](9fedafba4b).
2014-10-06 21:36:24 +01:00
Luke Dashjr
b77b4eda8d Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems 2014-10-03 23:45:26 +00:00
Cory Fields
9fedafba4b build: Fix OSX build when using Homebrew and qt5
Qt5 is bottled, so configure won't find it without some help. Use
brew to find out its prefix.

Also, qt5 added the host_bins variable to pkg-config, use it.
2014-10-01 19:26:29 -04:00
Cory Fields
41d67c78bf tests: fix python test-runner for windows
Windows needed a few fixups to get the tests running:
1. bitcoin-tx needs a file extension in Windows. Take this opportunity to
   add an env file, which pulls variables out of our build config. This can
   be extended as needed, for now it's very simple.
2. After #1, split the args out of the exec key in the test data.
3. Correct the line-endings from windows stdout
2014-09-30 16:26:22 -04:00
randy-waterhouse
e2a98d270d Update obsolete AC macros. 2014-09-16 23:17:20 +12:00
randy-waterhouse
e54381117a Add warnings for autogen.sh. Fix AC_CONFIG_SRCDIR. 2014-09-16 23:17:20 +12:00
randy-waterhouse
52a5f90360 Create the common location for all m4 autotool build scripts, build-aux/m4.
Update .gitignore.
2014-09-16 11:55:15 +02:00
Wladimir J. van der Laan
107922663b
Merge pull request #4767
b144a74 depends: bump miniupnpc to 1.9.20140701. (Cory Fields)
f628127 depends: bump openssl to 1.0.1i (Cory Fields)
9f7f504 build: add -DMINIUPNP_STATICLIB for new version (Cory Fields)
2014-09-01 10:28:33 +02:00
Wladimir J. van der Laan
539abc4729
build: Remove message about Ubuntu 13.10 when no boost sleep implementation found
It's only confusing people into thinking that they should mess with
boost versions, which should not be necessary to get bitcoind to work.

If there is a bug in the build system with autodetecting boost it needs
to be solved not worked around.
2014-08-29 13:02:23 +02:00
Cory Fields
9f7f504efc build: add -DMINIUPNP_STATICLIB for new version
libminiupnpc changed their required static define to the much more sane
"MINIUPNP_STATICLIB". Sadly, they don't respect the old "STATICLIB" for
back-compat. Define them both since the old one didn't seem to be conflicting
anywhere.

Also go ahead and split out the cppflags so that they can be applied only where
they're needed. This will help us to build dll's from our libs without having
their import/export declspecs poisoned.
2014-08-26 15:28:24 -04:00
Cory Fields
386efb7695 build: work around ccache/autotools warning-spamming bug
When using clang and ccache, builds spew lots of:
Clang: warning: argument unused during compilation

Upstream bug: https://bugzilla.samba.org/show_bug.cgi?id=8118

This is harmless, bug annoying. If ccache is being used and the
-Qunused-arguments flag is supported (clang), use it.
2014-08-21 13:12:00 -04:00
Cory Fields
e432a5f08d build: add option for reducing exports (v2)
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.
2014-08-18 16:10:15 -04:00
Wladimir J. van der Laan
fad23a210b
Revert "build: add option for reducing exports"
Revert #4663 for now. It still breaks the pulltester.

This reverts commit 4975ae1722.

Conflicts:
	configure.ac
2014-08-18 16:52:56 +02:00
randy-waterhouse
c101c76907 build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes).
Help string consistency tweaks. Target sanity check fix.
2014-08-17 20:22:12 +12:00
Cory Fields
4975ae1722 build: add option for reducing exports
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.
2014-08-15 17:42:53 -04:00
Cory Fields
6b099402b4
build: fix automake warnings about the use of INCLUDES
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
2014-08-15 10:42:10 +02:00
Wladimir J. van der Laan
4c61ba40b9 build: check for sys/prctl.h in the proper way
Use AC_CHECK_HEADERS to check for the header, and include it only
if detected and the subsequent HAVE_SYS_PRCTL_H is set.
2014-08-12 13:04:55 +02:00
Cory Fields
8021cf8dbc build: fix FDELT_TYPE configure check
This probably never worked properly. Confirmed working now with every compiler
I throw at it.
2014-08-08 15:20:14 -04:00