aboutsummaryrefslogtreecommitdiff
path: root/depends
AgeCommit message (Collapse)Author
2015-05-15doc: Documentation in Markdown for Depends DirShawn Wilkinson
Documentation more readable when viewed on Github. Some extra changes by @laanwj: - Make README.usage the default README. This is more convenient from a user perspective. Link to other documentation in this default README - Add list of popular targets for cross compilation, change default to Win64 instead of Win32
2015-05-14depends: sanity-check sources and cached buildsCory Fields
In some cases (Travis), sources and build caches may be moved around in-between builds, and we can't necessarily trust that everything is still intact. This introduces pre-build checks that verify against stashed checksums. Note that this will cause all sources to be re-downloaded, since cached sources weren't trustworthy before this.
2015-04-20depends: latest config.guess and config.subMichael Ford
2015-04-20Add x86_64* i686* mips* and arm* to depends .gitignoreMichael Ford
2015-03-16depends: fix a static qt5 crash when using certain versions of libxcbCory Fields
See here for background: https://bugreports.qt.io/browse/QTBUG-34748 libxcb temporarily had an abi breakage which caused crashes when qt was compiled against a non-compatible version. Building qt with -qt-xcb should have shielded us from this issue, except that incompatible headers were used when building qt's wrapper. Make sure those headers aren't picked up by qt's build. Details: qt's build adds a wrapper around the xcb libs when -qt-xcb is used. This is done to avoid having to link to a handful of different libs, which may not be api/abi stable. This build depends on include-order, so that its files are found before the real libxcb headers. Our build (for other reasons related to qt's complicated build-system) injects our prefix into CXXFLAGS. Because libxcb is found in this path, that reverses the include-order, negating the purpose of the wrapper. To fix, libxcb's includes are simply moved to a subdir. pkg-config ensures that they're still found properly when needed. To make things even more interesting, this behavior in qt's .pro files is broken: INCLUDEPATH += $$QMAKE_CFLAGS_XCB The INCLUDEPATH variable is processed by qmake which automatically prefixes each entry with "-I". The QMAKE_CFLAGS_XCB variable comes from pkg-config and already contains -I, making the path look like "-I-I/path/to/xcb/headers". To work around that, CFLAGS/CXXFLAGS are used here rather than INCLUDEPATH.
2015-02-25depends: always use static qt5 for linuxCory Fields
2015-01-31depends: fix typosMichael Ford
2015-01-21depends: latest config.guess and config.subMichael Ford
2015-01-20osx: bump build sdk to 10.9Cory Fields
2015-01-12depends: remove embedded OpenSSL timestamp for determinismWladimir J. van der Laan
Chery-picked from 0.10 branch. Rebased-From: c3200bcd1e7116e079aebabed3a01dc5385bfc9e
2015-01-09depends: bump openssl to 1.0.1kCory Fields
2015-01-02depends: bump cctools to a custom version with less depsCory Fields
This one no longer requires native libuuid or libcrypto
2015-01-02depends: major upgrade to darwin toolchainCory Fields
tl;dr: Update to the newer stable toolchain and SDK for OSX without giving up any backwards compatibility. We can move to clang 3.5 as a next step which allows use to use libc++ and the 10.10 sdk, but we'll need to find a build that works in gitian/travis first. Switch to a new, better maintained fork of cctools: https://github.com/tpoechtrager/cctools-port I've forked this and will be working on it some as well: https://github.com/theuni/cctools-port This brings in: cctools v862 ld64: v241.9 It also fixes 64bit builds, so there's no longer any need to use a 32bit clang. Since clang is no longer tied to an old/crusty 32bit build, clang has been upgraded to 3.3. Unfortunately, there's a bug in 3.4 that breaks builds. 3.5 works fine, but there are no binary builds compatible with precise, which is currently used for gitian and travis. We could always build our own if necessary. After updating to stable clang/linker/cctools, it's possible to use a more recent SDK. The current SDK (10.7) through the most recent 10.10 have all been built/tested successfully, both with and without 10.6 compatibility. However, 10.10 requires clang 3.5. SDKs >= 10.9 use libc++ rather than libstdc++. This is verified working as well.
2015-01-02depends: osx: fix qt5 build against 10.10 sdkCory Fields
2014-12-31depends: fix major regression after d546191dc.Cory Fields
Broken hash logic caused all depends on some platforms (osx at least) to end up with the same build-id. Without this fix, nothing will be rebuilt when recipes or dependencies change.
2014-12-17Add mips, mipsel and aarch64 to depends platformsWladimir J. van der Laan
2014-12-13Fix download link for gitian buildsBtcDrak
2014-12-11depends: fix packages with hard-coded SOURCES_PATHCory Fields
Also fixes a nasty bug that removes the downloaded comparisontool jar file.
2014-12-11depends: Move source stamps to source dir and misc cleanupsCory Fields
Since the last commit will force rebuilds of all depends, take the opportunity to clean up a few other things that would trigger rebuilds as well. - Move source stamps to the sources dir so that SOURCES_PATH is respected for "make download". - Only print "fetching..." when actually downloading a file. - Avoid using non-deterministic paths for the recipe hash (patch location). This should ensure that all builders get the same resulting build-ids. - Use a per-package source paths. This will allow for removing old source files in the future. - Use a host-agnostic path for downloads which gets cleaned up properly.
2014-12-11depends: teach 'make download' to download sources for all hostsCory Fields
2014-12-04Remove gmp dependency and doc mentionsPieter Wuille
2014-11-24qt: osx: fix hidden symbol visibilityCory Fields
Fixes default hidden symbol visibility for our linux->osx cross build. Without this change, the check for working -fvisibility=hidden fails, and all symbols are visible by default. Ugly as this is, it's just a simple find/replace to fix a bug in Qt's configure. They assume in an "XPLATFORM_MAC" block that the builder is capable of running osx programs. This should be "BUILD_ON_MAC" instead.
2014-11-19gitian: descriptors overhaulCory Fields
Descriptors now make use of the dependencies builder, so results are cached. A very new version (>= e9741525c) of Gitian should be used in order to take advantage of caching.
2014-11-19depends: Add a package for qt4.6. Linux uses it by default.Cory Fields
We're not ready to switch to a static qt5 for Linux yet due to missing plugin support. This adds a recipe for building a shared qt4 that we build and link against, but don't distribute. make USE_LINUX_STATIC_QT5=1 can be used to build static qt5 as before.
2014-11-19depends: Use pic for all linux dependenciesCory Fields
This avoids textrels, and matches previous gitian behavior.
2014-11-18depends: quit exporting in config.siteCory Fields
2014-11-18depends: add gmp packageCory Fields
2014-11-13depends: cleanup better after qt and force a bumpCory Fields
qt needs to be rebuilt for travis. The previous commit should help ensure that this won't need to be done again.
2014-11-05depends: boost: hard-code hidden symbol visibilityCory Fields
tl;dr: This solves boost visibility problems for default/release build configs on non-Linux platforms. When Bitcoin builds against boost's header-only classes, it ends up with objects containing symbols that the upstream boost libs also have. Since Bitcoin builds by default with hidden symbol visibility, it can end up trying to link against a copy of the same symbols with default visibility. This is not a problem on Linux because 3rd party static libs are un-exported by default (--exclude-libs,ALL), but that is not available for MinGW and OSX. Those platforms (and maybe others?) end up confused about which version to use. The OSX linker spews hundreds of: "ld: warning: direct access in <foo> to global weak symbol guard variable for <bar> means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings." MinGW's linker complains similarly. Since the default symbol visibility for Bitcoin is hidden and releases are built that way as well, build Boost with hidden visibility. Linux builds Boost this way also, but only for the sake of continuity. This means that the linker confusion logic is reversed, so the problem will will now be encountered if Bitcoin is built with --disable-reduce-exports, but that's better than the current situation.
2014-10-21openssl version bumpDominyk Tiller
Bumps the OpenSSL version to the latest release, and kills SSL2. (SSL3 was already killed here, so I'm not sure why SSL2 was left around?) No other changes.
2014-10-07Merge pull request #5038Wladimir J. van der Laan
0b17964 Bugfix: Replace bashisms with standard sh in tests/tools (Luke Dashjr) ab72068 Bugfix: Replace bashisms with standard sh in gitian descriptors (Luke Dashjr) b77b4ed Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems (Luke Dashjr) d6b0539 travis: add non-default shell testing to travis. (Cory Fields)
2014-10-03Bugfix: Replace bashisms with standard sh in gitian descriptorsLuke Dashjr
2014-10-02Make comptool more deterministicMatt Corallo
2014-10-02depends: disable unused bdb replication manager. Fixes new mingw buildsCory Fields
Newer mingw supports the features necessary to enable this api, whereas older versions didn't. However once enabled (automatically by configure), it triggers an unrelated build bug. Since it was not enabled previously anyway, and we don't depend on the functionality, just disable it across the board.
2014-10-02Upgrade comparison tool furtherPieter Wuille
2014-09-30depends: update the comparison tool to a more recent versionCory Fields
2014-09-25depends: disable reduced exports for debug buildsCory Fields
Some debug options may not be compatible.
2014-09-25depends: add docs for debugCory Fields
2014-09-25depends: make LDFLAGS act like the other flagsCory Fields
2014-09-25depends: give miniupnpc cppflagsCory Fields
2014-09-25depends: teach qt to honor debug/releaseCory Fields
This means it also needs to honor our flags, so patch them in as necessary.
2014-09-25depends: boost: build for debug or release as requestedCory Fields
Also hook up cppflags there, which was missing before.
2014-09-25depends: make sure openssl sees cppflagsCory Fields
2014-09-25depends: add debug/release flags for linux/osx/winCory Fields
Linux and mingw enable libstdc++ debugging for extra runtime checks. OSX doesn't play nice, so don't enable it there.
2014-09-25depends: add the debug/release concept to dependsCory Fields
2014-09-16depends: respect CPPFLAGS when configuring with dependsCory Fields
2014-09-08qt: fix tablet crash. closes #4854.Cory Fields
This backports the relevant parts of: https://codereview.qt-project.org/#/c/82689/
2014-09-04depends: fix typo in source downloading. Regression from c897b1e732.Cory Fields
Some sources are renamed after download, since the filenames don't play nice with (for example) gitian. This fixes the rename. Needed for OSX build as it renames a file.
2014-09-01Merge pull request #4767Wladimir J. van der Laan
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-08-27depends: add sensible download timeout/retry valuesCory Fields