Commit Graph

24 Commits

Author SHA1 Message Date
Matthieu Gautier e0171379c7 Add an intermediate target that build all base dependencies.
This will allow travis to build all base dependencies all by once.
2018-03-19 17:50:17 +01:00
Matthieu Gautier f0391a638b Move projects' versions in a separated file.
This way, versions can be imported by external scripts (ie travis)
2018-03-19 17:25:09 +01:00
Matthieu Gautier a9ce8ee8c1 Add a `--make-dist` command to kiwix-build.
If specified, kiwix-build will not "make/install" the target but make
the dist archive (source).

It will build dependencies, as the make dist will try to compile and test
the target.
2017-12-05 09:32:47 +00:00
Matthieu Gautier e4f8b6c7a9 Add a option to kiwix-build.py to build release version of subproject.
With `--make-release` option, kiwix-build.py will build the tagged
version of the subproject.
2017-11-28 22:42:16 +00:00
Matthieu Gautier d7ffc4bd34 Add gumbo dependency.
This is needed by zimwriterfs and the package doesn't exist on
ubuntu trusty (used by travis CI).
2017-11-28 14:30:31 +00:00
Matthieu Gautier 4997017be2 Run meson test when possible.
To run unit-test (meson) on cross-compilation, we need a wrapper to run
the binary (wine, qemu, ...), but:

- We have no emulator for android (we have one for the system, but we can't
  simply run a binary)
- With dynamic compilation, it seems pretty complex to configure them
  correctly.
- For mingw32 compilation, `wine` need to be correctly configured to
  find dll from the system mingw32 installation.
2017-10-02 16:05:06 +02:00
Matthieu Gautier bebec0702c CMakeBuilder and MesonBuilder respect the force_native_build flag.
We must not use crossfile if we are building a native dependency.
2017-07-12 14:31:37 +02:00
Matthieu Gautier 4f0b2ec376 Set the right env variable when necessary.
The `cross_path_only` option used in `cmake` and `meson` builder where
mainly here to avoid kiwix-build to set the env with `CC` and `CXX`
variable set.
This is needed as `cmake` and `meson` will find the correct compiler
from the cross-config file.

However, even for them, we need to set some environment variables
(especially PKG_CONFIG_LIBDIR)

So we need another level a configuration to be able to set a cross_env
without setting the compiler's env variables.
2017-06-26 14:32:04 +02:00
Matthieu Gautier 22fffcee51 Add script to build customapp 2017-06-25 15:49:49 +02:00
Matthieu Gautier c2ad927f80 Add a `SvnSource`.
This is needed to get source from svn.
2017-05-09 14:02:37 +02:00
Matthieu Gautier f942c5951f Move `_patch` method in `Source` class.
The patch method is not specific to a `RealeaseDownload` source.
2017-05-09 14:02:37 +02:00
Matthieu Gautier 39c2e67b80 Make GradleBuilder configurable.
A dependency (future kiwix-android-custom app) may want to use the gradle
builder for something else than `build` with the default options.
2017-05-02 17:30:07 +02:00
Matthieu Gautier 86c1547f88 Allow kiwix-build to build android APK.
Previous script (from kiwix repository) created a APK with all architecture embeded.
Now, we generated a APK per architecture. It simplify the build process and
generate smaller APKs.
2017-04-24 15:26:51 +02:00
Matthieu Gautier a49fb15964 BuildEnv.run_command now take a str as input instead of a file object.
We can get a str from a file object. The contrary is more difficult.
2017-04-24 14:53:50 +02:00
Matthieu Gautier 0199092f62 Clone git repository with a depth of one.
This avoid downloading all the history.

With recent git, a `git fetch --unshallow` allow a user to get all
the history if needed.
2017-04-24 14:13:01 +02:00
Matthieu Gautier 6d13ee8a4e Use the git_dir to clone the repository in the right directory. 2017-04-24 14:13:01 +02:00
Matthieu Gautier 308cfa6986 Use dependency names as reference instead of class names.
Class names are implementation names.
Using the dependency names is better as it surprise less the user.
2017-04-08 18:19:17 +02:00
Matthieu Gautier a212ec622b Allow a dependency to have _post_prepare_script in this GitClone source. 2017-03-28 10:10:12 +02:00
Matthieu Gautier 29bba313bc [API change] Use just one option to specify the build target.
There is no more option for static or share build. This value is
integrated in the build-target.
2017-03-13 13:18:14 +01:00
Matthieu Gautier dd7a0660c0 Allow the use of pre/post build script in dependencies. 2017-03-13 13:18:14 +01:00
Matthieu Gautier 92c1a5513a Move some variables definition in a property instead of classic calculus. 2017-03-13 13:18:14 +01:00
Matthieu Gautier bd4e7d3550 Move some common options for static/shared libs in the common class. 2017-03-13 13:18:14 +01:00
Matthieu Gautier 00acba9ee9 Add the notion of toolschain.
- For now, only the win32 is here.
- There no more nativeBuilEnv as the buildEnv can launch command without
  using the toolschain.
2017-03-13 13:18:14 +01:00
Matthieu Gautier ffee068fd0 Split the too long kiwix-build.py file into several smaller ones. 2017-03-13 13:18:14 +01:00