Commit Graph

7 Commits

Author SHA1 Message Date
Stefano Pigozzi aaa1b6f683 travis: disable e-mail notifications 2013-11-23 22:31:44 +01:00
Stefano Pigozzi 7e2edad8ef switch the build system to waf
This commit adds a new build system based on waf. configure and Makefile
are deprecated effective immediately and someday in the future they will be
removed (they are still available by running ./old-configure).

You can find how the choice for waf came to be in `DOCS/waf-buildsystem.rst`.
TL;DR: we couldn't get the same level of abstraction and customization with
other build systems we tried (CMake and autotools).

For guidance on how to build the software now, take a look at README.md
and the cross compilation guide.

CREDITS:
This is a squash of ~250 commits. Some of them are not by me, so here is the
deserved attribution:

 - @wm4 contributed some Windows fixes, renamed configure to old-configure
   and contributed to the bootstrap script. Also, GNU/Linux testing.
 - @lachs0r contributed some Windows fixes and the bootstrap script.
 - @Nikoli contributed a lot of testing and discovered many bugs.
 - @CrimsonVoid contributed changes to the bootstrap script.
2013-11-21 21:22:36 +01:00
Stefano Pigozzi ed89332acf travis: remove e-mail notifications
Lately Travis sends out many notifications that are false positives caused by
timeout. We are annoyed.
2013-11-08 21:19:38 +01:00
Stefano Pigozzi 037c0f190b travis: run travis on 'ci' branch
We will use the 'ci' branch to do test builds of big features before they
are merged into master.

[ci skip]
2013-06-03 21:34:41 +02:00
Stefano Pigozzi 3b54dce9e5 travis: fix typo
[ci skip]
2013-05-20 18:12:39 +02:00
Stefano Pigozzi 89fc8326b9 travis: DRY up the yaml file
Use YAML's anchor/reference syntax to DRY up the YAML file. Also fix a bug
that caused the IRC notification to always take place (even on success).
2013-05-20 09:09:02 +02:00
Stefano Pigozzi d8c06cd99e add Travis-CI integration
Travis-CI [1] is a continous integration cloud service. It is free for
open-source projects and tigthly integrated tiwh GitHub so there is really
no reason for us not use it. :)

For now we are going to do a total of 4 builds, mainly to test ffmpeg/libav
API breakage:

 * ffmpeg-stable, libass-stable
 * ffmpeg-git, libass-stable
 * libav-stable, libass-stable
 * libav-git, libass-stable

The compiler that is currently used is clang for two reasons:

 * running 8 build targets would be quite wasteful and take a long time
 * clang is less tested and used during development than gcc (especially on
   linux)

Currently Travis doesn't support OS X environments alongside Linux ones [2].
When it will, we will add a fifth build target to test OS X compilation
breakage.

README was moved to markdown to add the little build status image. I ran some
tests with my GitHub fork and couldn't get images to show up using ReStructured
Text.

 [1]: https://github.com/travis-ci/travis-ci
 [2]: travis-ci/travis-ci#216
2013-05-19 20:41:40 +02:00