This was previously not done because `g++-4.9-multilib` was not
a whitelisted package on Travis. As of this PR, it is available:
https://github.com/travis-ci/apt-package-whitelist/pull/1117
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
GCC 4.6 is the default compiler on Ubuntu 12.04 LTS and other LTS
distros so it isn't a complete waste of time to support it. Luckily, it
is easy to do so.
*ring* is now using a patched version of the `num` crate that allows
the `rand`-crate-based functionality to be disabled, and Cargo.toml
was changed to remove the `rand` dependency, so *ring* works on the
Nightly channel again.
Running the BoringSSL tests as part of the *ring* test suite
facilitates the removal of the non-Rust build options, and the
NO_ASM build option. This makes the CI loop faster by greatly
shrinking the size of hthe build matrics. It also removes the
development-time dependency on Go.
Make the Makefile require a standard
|TARGET=<arch>-<vendor>-<sys>-<abi>| variable to be set instead of
requiring |TARGET_OS| and |TARGET_ARCH_BASE|.
Also, have the Makefile generate outputs to a subdirectory of build/
that names the target and compiler. This will make it easier and less
error-prone to test multiple configurations using a single source tree,
and will make some future cross-compilation targets easier.
This change is being made in preparation for adding a |TARGET_OS| build
option. |TARGET_ARCH_BASE| is used to decide which assembly language
code to compile, and to set |TARGET_ARCH| (the target flags passed to
the compilers and linker) if it isn't already set.
Travis CI doesn't have a new enough version of CMake readily available,
and I've been wanting to replace the CMake-based build system for other
reasons. This kills the Windows support, but I'm intending to add a
native msbuild build system for Windows soon. Also, this builds in
OPENSSL_NO_ASM mode for now.