Commit Graph

1180 Commits

Author SHA1 Message Date
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
Matthieu Gautier 989889ca44 Deploy zim nightly on the right server.
zim related projects should be deployed on zim server, not kiwix.

Fix #156.
2018-04-23 14:02:45 +02:00
Matthieu Gautier df99696c85 Publish nightly and release archive using the right name.
The names of archives were inconsistent, rename them to a more consistent
scheme.
2018-04-23 14:02:45 +02:00
Matthieu Gautier b8e00e58c7
Merge pull request #157 from kiwix/missing_win32_lib
Missing win32 lib
2018-04-23 14:01:28 +02:00
Matthieu Gautier 9f877180df Do not compile libaria2 with sqlite3 and libxml2.
Those dependencies are used for bittorent and metalink.
For now, we don't support those features (we should in the future).

However, it seems that if development package are installed on the system,
libaria will try to link with libsqlite3 and libxml3 anyway.

We have to investigate this, but it breaks static build of kiwix-tools.
As we are not using those feature for now, let's just explicitly
compile libaria2 without sqlite3 and libxml2.
2018-04-23 12:08:06 +02:00
Matthieu Gautier 65969f4999 Add missing library in the list of libraries to link with in win32.
Libaria2 use methods in `iphlpapi` on Windows.
2018-04-23 10:45:08 +02:00