Commit Graph

40 Commits

Author SHA1 Message Date
Stephen Kyle
67f059eaf5 Cross compilation support (#709)
* build: add cross-compilation support to make

Set CROSS_COMPILE when running make to use the selected cross
compilation toolchain, such as arm-linux-gnueabihf, or
aarch64-linux-gnu.

Testing requires the presence of qemu - 'qemu-$(ARCH)' will be executed,
where ARCH is the first part of the toolchain triplet.

* build: add cross-compilation support to cmake

If C_COMPILER/CXX_COMPILER/CC/CXX are found to have cross-compilation
triplets in front of the compiler, then qemu will be used to execute the
tests.

* CI: add arm-linux-gnueabihf-gcc builder to Travis

The version of qemu available in Ubuntu trusty (as provided by Travis)
appears to have a bug in qemu-aarch64, which leads to the compatibility
tests failing on some inputs, erroneously rejecting the input as
corrupt.

Once Travis supports xenial, we could add an aarch64-gnu-linux-gcc
builder as well.

* CI: propagate cmake errors out of .travis.sh

Seems like even if cmake fails, the error isn't picked up by Travis.
2018-09-27 11:00:33 +02:00
Eugene Kliuchnikov
2216a0dd63
Update (#706)
Update
 * add ASAN/MSAN unaligned read specializations
 * add "brotli" prefix to u_uint64 type
 * increment version to 1.0.06
 * fix CoverityScan "unused assignment" warning
 * fix JDK 8<->9 incompatibility
 * add encoder optimization for empty input
 * regenerate JS decoder
 * unbreak Travis builds
2018-09-13 08:09:32 -04:00
Eugene Kliuchnikov
68db5c0272
Update (#660)
* Update
 * improve q=1 compression on small files
 * fix "left shift before promotion"
 * fix osx Travis builds
2018-04-13 11:44:34 +02:00
Eugene Kliuchnikov
2d6b298e11
Update Travis matrix (#626)
* Use Clang-5.0
* Disable unholy ASAN leak detector (to unbreak build)
* Reduce build matrix and use faster env, where compiler version is not important
* Add autotools build to Travis matrix
2017-11-30 20:54:04 +01:00
Eugene Kliuchnikov
4f8cd4c0f4 Fix fuzzer test script and add it to travis matrix (#606) 2017-09-26 13:49:30 +02:00
Eugene Kliuchnikov
87b43eb61b Reduce / update travis build matrix. (#598) 2017-09-18 13:52:53 +02:00
Eugene Kliuchnikov
6b1d0ab53d CI config
* Appveyor: publish artifacts on bintray
* Appveyor & Travis: build only master branch
2017-09-18 13:05:47 +02:00
Cosimo Lupo
4f455cac32 disable buidling/deployment of python wheels (#583)
* [appveyor] remove 'deploy' stage; only test python 2.7 and 3.6

all the other python versions are being built and tested on
https://github.com/google/brotli-wheels/blob/d571d63/appveyor.yml

* remove terrify submodule as not needed any more

* [travis] just test py2.7 and 3.6 on linux; remove extra osx python builds

All the other python versions for OSX are being built/tested on:
https://github.com/google/brotli-wheels/blob/d571d63/.travis.yml

Also, there's no need to build and deploy wheels here, as that's done
in the separate repository.

* [setup.py] only rebuild if dependency are newer; fix typo in list of 'depends'

https://github.com/python/cpython/blob/v3.6.2/Lib/distutils/command/build_ext.py#L485-L500

* [ci] only run 'python setup.py test'

if we run 'python setup.py built test', the setuptools 'test' command will
forcibly re-run the build_ext subcommand because it wants to pass the --inplace
option (it ignores whether it's up to date, just re-runs it all the time).

with this we go from running built_ext twice, to running it only once per build

* [Makefile] run 'build_ext --inplace' instead of 'develop' as default target

The 'develop' command is like 'install' in the sense that it
modifies the user's python environment.
The default make target should be less intrusive, i.e. just building
the extension module in-place without modify anything in the user's
environment.

We don't need to tell make about the dependency between 'test' and
'build' target as that is baked in the `python setup.py test` command.

* [Makefile] add 'develop' target; remove unnecessary 'tests' target

`make test` is good enough

* [Makefile] `setup.py test` requires setuptools; run `python -m unittest`

This will work even if setuptools is not installed, which is unlikely
nowadays but still our `setup.py` works with plain distutils, so
we may well have our tests work without setuptools.

* [python/README.md] add ref to 'develop' target; remove 'tests', just 'make test'

* [setup.py] import modules as per nicksay's comment

https://github.com/google/brotli/pull/583#discussion_r131981049

* [Makefile] add 'develop' to .PHONY targets

remove 'tests' from .PHONY

* [appveyor] remove unused setup scripts

We don't need to install custom python versions, we are
using the pre-installed ones on Appveyor.

* [appveyor] remove unneeded setup code
2017-08-23 20:45:13 +02:00
Eugene Kliuchnikov
efdff3f14e Fix linux-bazel build (#566)
Install bazel via apt-source
2017-06-22 11:38:49 +02:00
Eugene Kliuchnikov
e51eae564f Update .travis.yml 2017-06-22 10:58:13 +02:00
Eugene Kliuchnikov
6ece1d8791 Move files & update paths (#541)
* Move files & update paths

* Rename build to scripts.

* Fix paths

* Fix script.
2017-04-23 14:07:08 +02:00
Eugene Kliuchnikov
51d6780b04 Actually publich artifacts to Bintray (#530) 2017-03-24 13:40:30 +01:00
Eugene Kliuchnikov
187904a4b8 Upload binaries to bintray (#528) 2017-03-24 12:54:20 +01:00
Eugene Kliuchnikov
22421ebe30 Bazel build on linux/osx (#526) 2017-03-23 13:35:53 +01:00
Eugene Kliuchnikov
ee5c719057 Build and test java decoder with Maven 2017-03-22 19:13:59 +01:00
Evan Nemerson
d03c38da7f Blacklist PGI from using conformant array parameters. (#511)
* Blacklist PGI from using conformant array parameters.

There is a bug in pgcc with conformant array parameters where the
length argument is a pointer which triggers a compiler error
(PGC-S-0094, to be specific).  The issue has been reported to PGI and
is being tracked internally as TPR 23778.  For more information, see

  https://www.pgroup.com/userforum/viewtopic.php?t=5501

* travis: Add PGI Community Edition build.

For details on the installation script, see
https://github.com/nemequ/pgi-travis
2017-02-19 10:06:13 +01:00
Eugene Kliuchnikov
678f8627d3 Fix OSX gcc-4.x compilation (#455)
Fix OSX gcc-4.x compilation
2016-10-20 14:16:00 +02:00
Eugene Kliuchnikov
db4cfc1219 Use system version of compiler with macpython 2016-10-12 15:08:41 +02:00
Eugene Kliuchnikov
ea9c51e4ca Update .travis.yml 2016-09-20 10:11:46 +02:00
Eugene Kliuchnikov
887f6fd48f Fix integration build
Homebrew started getting stuck with gcc-6
Temporarily switch to gcc-5
2016-09-20 10:10:21 +02:00
Cosimo Lupo
11dc16bf91 .travis.yml: fix wheel deploy 'condition' (use '&&', not '||') 2016-08-10 19:29:48 +01:00
Cosimo Lupo
13b8e7ff60 .travis.yml: only deploy OSX wheels 2016-08-10 19:22:41 +01:00
Cosimo Lupo
e944f1c92b .travis.yml: update Python versions
Removed unnecessary builds for homebrew and system python.
We only use the official Mac Python distributions from Python.org.
The wheels compiled with those will work on both homebrew Python and
the OSX built-in Python.
2016-08-10 18:12:36 +01:00
Evan Nemerson
01f9cf94a0 travis: use container-based infrastructure 2016-07-28 20:13:29 -07:00
Evan Nemerson
03657e8089 Add mingw support. 2016-07-28 19:32:33 -07:00
Evan Nemerson
97b846f2fe travis: disable gcc-4.5 build
Travis seems to have trouble with the PPA.
2016-07-26 20:59:28 -07:00
Evan Nemerson
26a59359ed Add UBSan build, use clang for sanitizer builds. 2016-07-26 17:31:26 -07:00
Evan Nemerson
45862fcb06 Enable address sanitizer build. 2016-07-26 08:53:26 -07:00
Evan Nemerson
1d15c95363 travis: enable clang builds now that the LLVM repos are back up 2016-07-26 08:53:26 -07:00
Evan Nemerson
37be4e37ce travis: add many additional builds 2016-07-26 08:53:26 -07:00
Evan Nemerson
3e33d7636a travis: add CMake builds 2016-07-26 08:53:26 -07:00
eustas
902b20c0b8 Remove command line args
Values should be taken from setup.cfg
2016-06-17 20:25:28 +02:00
eustas
cac71ca2f6 Put library also to bin 2016-06-16 17:23:21 +02:00
eustas
41e4fb8bf3 Reroute -t parameter to build_ext 2016-06-16 15:36:11 +02:00
eustas
198b51d969 Place binary output to bin/ 2016-06-16 15:31:09 +02:00
Cosimo Lupo
d5f23833de [travis] add Python 3.5.0 2015-10-07 09:18:50 +01:00
Zoltan Szabadka
070dacb5de Configure automatic deployment of github releases from Travis. 2015-08-31 15:34:42 +02:00
Cosimo Lupo
6dcb0dd1b1 [travis] add placeholder 'deploy' target for Github Releases 2015-08-14 11:35:02 +01:00
Cosimo Lupo
a5822da956 [travis] also compile for 'macpython' (official installers from Python.org);
override CC and CXX to use clang instead of gcc-4.2, which doesn't support C++11
2015-08-14 11:28:26 +01:00
Cosimo Lupo
bb3d9248c0 add support for Travis CI (OS X only for now)
Use 'terrify' utilities from MacPython to build precompiled wheel packages
2015-08-14 11:28:26 +01:00