aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2016-10-17Set minimum required Boost to 1.47.0fanquake
2016-09-30Merge #8813: bitcoind: Daemonize using daemon(3)Wladimir J. van der Laan
a92bf4a bitcoind: Daemonize using daemon(3) (Matthew King)
2016-09-26bitcoind: Daemonize using daemon(3)Matthew King
Simplified version of #8278. Assumes that every OS that (a) is supported by Bitcoin Core (b) supports daemonization has the `daemon()` function in its C library. - Removes the fallback path for operating systems that support daemonization but not `daemon()`. This prevents never-exercised code from ending up in the repository (see discussion here: https://github.com/bitcoin/bitcoin/pull/8278#issuecomment-242704745). - Removes the windows-specific path. Windows doesn't support `daemon()`, so it don't support daemonization there, automatically. Original code by Matthew King, adapted by Wladimir van der Laan.
2016-09-26Merge #8249: Enable (and check for) 64-bit ASLR on WindowsWladimir J. van der Laan
62c2915 build: supply `-Wl,--high-entropy-va` (Wladimir J. van der Laan) 9a75d29 devtools: Check for high-entropy ASLR in 64-bit PE executables (Wladimir J. van der Laan)
2016-09-26build: supply `-Wl,--high-entropy-va`Wladimir J. van der Laan
This should enable high-entropy ASLR on 64-bit targets, for better mitigation of exploits.
2016-09-13Merge #8608: Install manpages via make install, also add some autogenerated ↵Wladimir J. van der Laan
manpages d19583f improved gen-manpages.sh, includes bitcoin-tx and strips commit tag, now also runs binaries from build dir by default, added variables for more control (nomnombtc) 09546ca regenerated all manpages with commit tag stripped, also add bitcoin-tx (nomnombtc) ae6e754 change help string --enable-man to --disable-man (nomnombtc) a32c102 add conditional for --enable-man, default is yes (nomnombtc) dc84b6f add doc/man to subdir if configure flag --enable-man is set (nomnombtc) 00dba72 add doc/man/Makefile.am to include manpages (nomnombtc) eb5643b add autogenerated manpages by help2man (nomnombtc) 6edf2fd add gen-manpages.sh description to README.md (nomnombtc) d2cd9c0 add script to generate manpages with help2man (nomnombtc)
2016-09-09Merge #8563: Add configure check for -latomicWladimir J. van der Laan
878faac Add configure check for -latomic (Anthony Towns)
2016-08-28build: Updates for OpenBSDWladimir J. van der Laan
- LevelDB platform was not guessed correctly (it ended up defining `-DOS_OPENBSD59` instead of `-DOS_OPENBSD`) - On OpenBSD there is no convenience link from `python3.5` to `python3`: add detection for other python interpreter names. - If it has to guess the LevelDB OS, print a autoconf warning so that the user can check.
2016-08-28change help string --enable-man to --disable-mannomnombtc
2016-08-27add conditional for --enable-man, default is yesnomnombtc
2016-08-23Add configure check for -latomicAnthony Towns
2016-08-17Merge #8504: test: Remove java comparison toolWladimir J. van der Laan
eb0c52e travis: Remove hostname hack (Wladimir J. van der Laan) 3c5251d test: Remove java comparison tool (Wladimir J. van der Laan)
2016-08-16build: Remove check for `openssl/ec.h`Wladimir J. van der Laan
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.
2016-08-13test: Remove java comparison toolWladimir J. van der Laan
2016-08-13Merge #8293: Bugfix: Allow building libbitcoinconsensus without any univalueWladimir J. van der Laan
8a270b2 Bugfix: Allow building libbitcoinconsensus without any univalue (Luke Dashjr)
2016-08-13Merge #8492: configure: Allow building bench_bitcoin by itselfWladimir J. van der Laan
216d796 configure: Allow building bench_bitcoin by itself (Luke Dashjr)
2016-08-09Bugfix: Allow building libbitcoinconsensus without any univalueLuke Dashjr
2016-08-09configure: Allow building bench_bitcoin by itselfLuke Dashjr
2016-07-21[depends] ZeroMQ 4.1.5fanquake
2016-07-18build: bump version to 0.13.99Wladimir J. van der Laan
Now that 0.13 branch has been split off, master is 0.13.99 (pre-0.14).
2016-07-08Merge #8314: Fix pkg-config issues for 0.13Wladimir J. van der Laan
b556bed build: fix Windows builds without pkg-config (Cory Fields) 0c928cb build: Fix Qt5PlatformSupport check without pkg-config (Cory Fields)
2016-07-07build: fix Windows builds without pkg-configCory Fields
- 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
2016-07-06build: require boost for benchCory Fields
2016-06-10build: add armhf/aarch64 gitian buildsCory Fields
- create a script to handle split debug. This will also eventually need to check targets, and use dsymutil for osx. - update config.guess/config.sub for bdb for aarch64. - temporarily disable symbol checks for arm/aarch64 - quit renaming to linux32/linux64 and use the host directly This also adds a hack to work around an Ubuntu bug in the gcc-multilib package: https://bugs.launchpad.net/ubuntu/+source/gcc-defaults-armhf-cross/+bug/1347820 The problem is that gcc-multilib conflicts with the aarch toolchain. gcc-multilib installs a symlink that points /usr/include/asm -> /usr/include/x86_64-linux-gnu/asm. Without this link, gcc -m32 can't find asm/errno.h (and others), since /usr/include/x86_64-linux-gnu isn't in its default include path. But /usr/include/i386-linux-gnu is (though it doesn't exist on disk). So work around the problem by linking /usr/include/i386-linux-gnu/asm -> /usr/include/x86_64-linux-gnu/asm. The symlink fix is actually quite reasonable, but echoing the password into sudo is nasty, and should probably be addressed in gitian itself. It makes more sense to enable passwordless sudo for the build user by default.
2016-06-01build: a few ugly hacks to get the rpc tests working out-of-treeCory Fields
- Link pull-tester/rpc-tests.py to the build dir - Add the build-dir's config to the python path so that tests can find it - The tests themselves are in srcdir - Clean up __pycache__ in 'make clean'
2016-04-30build: No need to check for leveldb atomicsCory Fields
They're guaranteed with c++11
2016-04-28Merge #7165: build: Enable C++11 in build, require C++11 compilerWladimir J. van der Laan
7df9224 doc: Add note about new build/test requirements to release notes (Wladimir J. van der Laan) 2aacc72 build: update ax_cxx_compile_stdcxx to serial 4 (Wladimir J. van der Laan) a398549 depends: use c++11 (Cory Fields) 67969af build: Enable C++11 build, require C++11 compiler (Wladimir J. van der Laan)
2016-04-27build: quiet annoying warnings without adding new onesCory Fields
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.
2016-04-26build: Enable C++11 build, require C++11 compilerWladimir J. van der Laan
Implements #6211.
2016-04-26Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e035.randy-waterhouse
2016-04-19leveldb: integrate leveldb into our buildsystemCory Fields
leveldb's buildsystem causes us a few problems: - breaks out-of-tree builds - forces flags used for some tools - limits cross builds Rather than continuing to add wrappers around it, simply integrate it into our build.
2016-04-11build: define base filenames for use elsewhere in the buildsystemCory Fields
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.
2016-04-03build: Remove unnecessary executables from gitian releaseWladimir J. van der Laan
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 ```
2016-03-31Merge #7477: Fix quoting of copyright holders in configure.ac.Wladimir J. van der Laan
72fd008 Fix quoting of copyright holders in configure.ac. (Daniel Kraft)
2016-03-29build: python 3 compatibilityWladimir J. van der Laan
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.
2016-02-07Fix quoting of copyright holders in configure.ac.Daniel Kraft
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.
2016-02-04Merge #7349: Build against system UniValue when availableWladimir J. van der Laan
42407ed build-unix: Update UniValue build conditions (Luke Dashjr) cdcad9f LDADD dependency order shuffling (Luke Dashjr) 62f7f2e Bugfix: Always include univalue in DIST_SUBDIRS (Luke Dashjr) 2356515 Change default configure option --with-system-univalue to "no" (Luke Dashjr) 5d3b29b doc: Add UniValue to build instructions (Luke Dashjr) ab22705 Build against system UniValue when available (Luke Dashjr) 2adf7e2 Bugfix: The var is LIBUNIVALUE,not LIBBITCOIN_UNIVALUE (Luke Dashjr)
2016-02-03Merge branch 'master' into single_prodnameLuke Dashjr
2016-01-28Change default configure option --with-system-univalue to "no"Luke Dashjr
2016-01-28Bugfix: Include COPYRIGHT_HOLDERS_SUBSTITUTION in Makefile substitutions so ↵Luke Dashjr
it gets passed to extract-strings correctly
2016-01-28Move PACKAGE_URL to configure.acLuke Dashjr
2016-01-26release: always link librt for glibc back-compat buildsCory Fields
glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to link in anyway for back-compat. Fixes #7420
2016-01-26release: add check-symbols and check-security make targetsCory Fields
These are not added to the default checks because some of them depend on release-build configs.
2016-01-19Bugfix: Actually use _COPYRIGHT_HOLDERS_SUBSTITUTION everywhereLuke Dashjr
2016-01-18Merge pull request #7363Wladimir J. van der Laan
bd34174 Update license year range to 2016 (Prayag Verma)
2016-01-17Update license year range to 2016Prayag Verma
2016-01-15Build against system UniValue when availableLuke Dashjr
2016-01-08c++11: add scoped enum fallbacks to CPPFLAGS rather than defining them locallyCory Fields
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.
2016-01-05c++11: detect and correct for boost builds with an incompatible abiCory Fields
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.
2015-12-22Set copyright holders displayed in notices separately from the package nameLuke Dashjr
This helps avoid accidental removal of upstream copyright names