Matthieu Gautier
6de2cc80b6
Add an android metaPlatformInfo to build all android architecture.
2018-05-31 11:30:26 +02:00
Matthieu Gautier
74ba5885a0
Add a MetaPlatformInfo.
...
A metaplatform allow to regroup sereval platform together.
When a target is added to the platform, the target is dispatched/add to
all sub platforms.
As the step (metaplatformName, target) is not really added, we have to
track which steps are really added, so `add_targets` need to return the
list of added targets.
2018-05-31 11:30:26 +02:00
Matthieu Gautier
3eae47240b
Make the platform responsible to add the targets.
2018-05-31 11:30:26 +02:00
Matthieu Gautier
c8c0192675
Simplify cross-compilation
...
Now we can make reference to build step in another target platform, we can
simplify cross-compilation fo libmagic and icu4c.
2018-05-31 11:30:26 +02:00
Matthieu Gautier
a87ba06bf3
Do not infinit loop when ordering steps
2018-05-31 11:30:26 +02:00
Matthieu Gautier
7e8ed1a623
Correctly install packages.
2018-05-31 11:30:26 +02:00
Matthieu Gautier
4d6b6994bc
Merge toolchain and dependencies.
...
Toolchain now became "simple" dependencies.
They are referenced by Platform.
Platform are now created at demande and a neutralPlatform now exists.
2018-05-31 11:30:25 +02:00
Matthieu Gautier
9496ffb86c
Clean android_ndk
2018-05-31 11:25:59 +02:00
Matthieu Gautier
211c0f9651
buildEnv doesn't need to know about toolchains.
...
Having access to the platform is enough.
2018-05-31 11:25:59 +02:00
Matthieu Gautier
41d23b6249
Create the associated platform at demand.
2018-05-31 11:25:59 +02:00
Matthieu Gautier
daad1c98c6
Make the options global.
2018-05-31 11:25:59 +02:00
Matthieu Gautier
041826d0e8
Move from target logic to steps logic.
...
This is the big change !!!!
Instead of handling target as primary object and prepare/build targets,
we are handling build steps.
A build step may be a source (preparation) or a build (of the source).
Actualy, a step is a tuple (context, Builder or Source).
The context define the context of the step. It can be :
- 'source', for a Source step
- 'neutral' or the name of a platform for Build step.
Target becomes a "Class only" class.
2018-05-31 11:25:59 +02:00
Matthieu Gautier
754df8df1d
Make the platform responsible to create the buildenv.
...
It is now the platform who is responsible to:
- correctly add the toolchains as needed
- setup the cross environment
- create the cross files.
2018-05-31 11:25:54 +02:00
Matthieu Gautier
115fbfa147
Move dependencies declaration of a target into the builder.
...
This is the builder that depends on other target, not the target itself.
2018-05-31 11:14:31 +02:00
Matthieu Gautier
7e0b403ccc
Move `run_command` method out of buildEnv class.
2018-05-31 11:14:31 +02:00
Matthieu Gautier
816e06a512
Make the neutralEnv global.
...
No need to pass the neutralEnv from instance to instance.
2018-05-31 10:42:37 +02:00
Matthieu Gautier
f44042f910
Merge pull request #174 from kiwix/split_files
...
Split files
2018-05-22 19:14:27 +02:00
Matthieu Gautier
a413c5f064
Fix root_path lookup in cmake_cross_file generation.
...
Sometime the root_path is dependent of the target platform and sometime
not. But sometime dependent of the build arch :/
[TODO] We should move the cross_file generation to the PlatformInfo class.
2018-05-22 17:47:21 +02:00
Matthieu Gautier
98ebba65f6
fix imports
2018-05-22 16:58:40 +02:00
Matthieu Gautier
b950feb893
Move Builder and BuildEnv in specific module.
...
Introduce also a "NeutralEnv", a build environment independent of the
targeted platform. All `Source` now build using the neutralEnv.
Most of toolchains are also using neutralEnv except android_ndk who is
specific to a platform.
As toolchain are neutral, platform specific environment variables are now
set by the platformInfo directly instead of the toolchain.
2018-05-22 16:58:39 +02:00
Matthieu Gautier
ac83dec674
Move ios sdk in toolchains module.
2018-05-22 16:58:06 +02:00
Matthieu Gautier
363bdf74ed
Move target informations into a platforms module.
...
`TargetInfo`s are information about the target platform.
Let's rename them into PlatformInfo and move them in a specific module.
2018-05-22 16:58:02 +02:00
Matthieu Gautier
f1d1fc654c
Better MakeBuilder configure system.
...
`all_configure_option` should be ALL configure option.
2018-05-22 16:43:37 +02:00
Matthieu Gautier
53585b838a
Split the dependencies.py file into several parts.
2018-05-22 16:43:37 +02:00
Matthieu Gautier
fa829e1dec
Rename dependency_versions.py to versions.py
2018-05-22 16:39:55 +02:00
Matthieu Gautier
b27d1f0e17
Merge pull request #166 from kiwix/fix_ios
...
Fix ios
2018-05-21 18:43:18 +02:00
Chris Li
ad21da6a01
change armv7s to armv7
2018-05-21 16:05:17 +02:00
Matthieu Gautier
93e0f290f8
Merge pull request #171 from kiwix/no_kiwix_install
...
Last version of kiwix-tools doesn't have a kiwix-install binary.
2018-05-21 16:02:29 +02:00
Matthieu Gautier
355ef551d3
Last version of kiwix-tools doesn't have a kiwix-install binary.
...
See commit https://github.com/kiwix/kiwix-tools/commit/7c254544
2018-05-21 14:51:05 +02:00
Matthieu Gautier
52669c12de
Merge pull request #170 from kiwix/libtool
...
Make kiwix-build install libtool.
2018-05-21 11:34:18 +02:00
Matthieu Gautier
c745e325c6
Make kiwix-build install libtool.
...
Fix #169 .
2018-05-21 10:52:52 +02:00
Kelson
b445d6dd2d
Merge pull request #164 from kiwix/remove_darwin_warning
...
Remove Darwin warning, Darwin is now supported.
2018-05-17 07:58:33 +02:00
Pseudo
66cad23bcc
Remove Darwin warning, Darwin is now supported.
2018-05-17 07:57:20 +02:00
Matthieu Gautier
8c6c01e278
Merge pull request #168 from kiwix/travis_create_dir
...
Create "date" directory when deploying nightly build.
2018-05-15 13:19:19 +02:00
Matthieu Gautier
e6c5624127
Create "date" directory when deploying nightly build.
...
The directory is create by simply copying the full directory instead of
individual files.
2018-05-14 22:10:40 +02:00
Matthieu Gautier
31133f936f
Merge pull request #167 from kiwix/zimwriterfs_meson
...
Zimwriterfs meson
2018-05-14 19:07:05 +02:00
Emmanuel Engelhart
d001372a8b
Use alternative (HTTPS) file source tarball URL
2018-05-14 15:46:57 +02:00
Matthieu Gautier
ee5a8eda96
Build zimwriterfs using meson.
2018-05-14 15:46:57 +02:00
Matthieu Gautier
dac4fcd1f8
Also try to cross-compile zim-tools in travis cron.
2018-05-14 15:46:57 +02:00
Matthieu Gautier
a417b044f8
Add libmagic dependency.
2018-05-14 15:46:57 +02:00
Matthieu Gautier
a888602f77
Merge pull request #161 from kiwix/travis_ios
...
Travis ios
2018-04-24 19:36:43 +02:00
Matthieu Gautier
b4f8d2cc7b
Build kiwix-lib for iOS on travis CI.
2018-04-24 15:02:28 +02:00
Matthieu Gautier
cc5cfd1901
Update MACOS_DEPLOYMENT_TARGET to 10.7
...
This is needed to cross-compile to iOS using C++11.
2018-04-24 14:58:14 +02:00
Matthieu Gautier
a9818d18c4
Move ios cross file templates in the right directory.
2018-04-24 14:57:23 +02:00
Matthieu Gautier
8467cca46a
Merge pull request #160 from kiwix/update_version
...
Update to new versions of libzim, kiwix-lib, kiwix-tools.
2018-04-23 21:37:58 +02:00
Matthieu Gautier
f0c45c7b42
Update to new versions of libzim, kiwix-lib, kiwix-tools.
2018-04-23 20:52:59 +02:00
Matthieu Gautier
ebe9858266
Merge pull request #158 from kiwix/fix_deploy_win
...
Fix deploy win
2018-04-23 17:07:15 +02:00
Matthieu Gautier
58c5d6d02e
Better printing of messages in the travis log.
2018-04-23 16:36:10 +02:00
Matthieu Gautier
25a14e44e7
Fix creation of win nightly archive.
...
The new name of the platform is "win-i686", not anymore "win32".
2018-04-23 15:07:44 +02:00
Matthieu Gautier
09135cffcb
Merge pull request #154 from kiwix/archive_names
...
Publish nightly and release archive using the right name.
2018-04-23 14:48:04 +02:00