Commit Graph

7 Commits (c1e5ac16e77a21f87bdf3bc4dea61b037a17dddb)

Author SHA1 Message Date
Ran Benita 110d17c6be travis: pin meson to an older version so it works with Python 3.4
The CI image only has Python 3.4. It's a bit of a hassle to change this,
so let's pin meson to the version before they bumped their requirement
instead.

I suppose it's not that bad in that it will guarantee compatibility with
older meson over time.

Signed-off-by: Ran Benita <ran234@gmail.com>
2018-06-23 23:17:07 +03:00
Ran Benita 10e1a1b1aa travis: ensure all tests are valgrind-clean
The tests will fail if they have any memory leaks or perform invalid
accesses.

Signed-off-by: Ran Benita <ran234@gmail.com>
2017-12-12 15:58:32 +02:00
Ran Benita 86434d8498 build: add meson build system
Meson is easier to maintain, much faster, encourages better practices,
and is not built on a pile of shell scripts.

The autotools build system is kept intact for now, in order to ease the
migration. The intention is to remove it sooner rather than later, if
all goes well.

Run `meson build && mesonconf build` to see the configuration options
for the new system. Conversion should be straightforward. Environment
variables like CFLAGS work the same.

If meson is used, xorg-util-macros is not required.

In terms of functionality the two systems have about the same
capabilities. Here are some differences I noticed:

- Meson uses `-g` by default, autotools uses `-g -O2`.

- In autotools the default behavior is to install both static and shared
  versions of the libraries. In meson the user must choose exactly one
  (using -Ddefault_library=static/shared).

  It is possible to workaround if needed (install twice...), but
  hopefully meson will add the option in the future.

- Autotools has builtin ctags/cscope targets, meson doesn't.

  Easy to run the tools directly.

- Meson has builtin benchmarks target. Handy.

- Meson has builtin support for sanitizers/clang-analyzer/lto/pgo/
  coverage etc. Also handy.

Signed-off-by: Ran Benita <ran234@gmail.com>
2017-07-31 20:53:39 +03:00
Ran Benita a0c858cda1 travis: do the build out-of-tree
To catch problems like the previous commit.

Signed-off-by: Ran Benita <ran234@gmail.com>
2017-07-31 18:22:54 +03:00
Ran Benita ba3e6ce7f2 travis: remove --disable-x11
Looks like the CI machines can use Ubuntu 14.04, which has libxcb 1.10,
which is new enough. Lets see if it works.

Signed-off-by: Ran Benita <ran234@gmail.com>
2016-03-15 20:16:29 +02:00
Daniel Stone b04344ff63 travis: Enable documentation build
Make sure Doxygen is installed before we build.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2016-03-15 11:34:01 +00:00
Ran Benita 3013633bbb Add .travis.yml file
This CI service https://travis-ci.org/ builds the project in several
configurations, runs the tests, and if something fails it sends an email.
Testing on some other systems is always good, and there don't seem to
be any drawbacks to this, so why not.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-04-06 17:20:04 +03:00