Commit Graph

1724 Commits

Author SHA1 Message Date
Matthieu Gautier fa4c9d464a Merge pull request #70 from kiwix/no_ctpp2
Do not try to compile ctpp2 and ctpp2c on Darwin.
2017-08-15 11:08:48 -04:00
Chris Li 39fcdcca8f Do not try to compile ctpp2 and ctpp2c on Darwin.
kiwix-lid doesn't need them on Darwin (as on Android).
2017-08-14 16:32:50 -04:00
Matthieu Gautier 3fba9441c5 Merge pull request #69 from kiwix/update_gitignore
Add a lot of common things to ignore to .gitignore
2017-08-14 11:19:16 -04:00
Matthieu Gautier 60dc0111d9 Add a lot of common things to ignore to .gitignore 2017-08-14 09:57:00 -04:00
Matthieu Gautier 2493f7e42f Merge pull request #66 from kiwix/fix_custom_app
Fix custom app
2017-07-19 18:26:07 +02:00
Matthieu Gautier d04af4661a [CUSTOM_APP] Small fixes of help of options. 2017-07-18 15:57:13 +02:00
Matthieu Gautier f16c909090 [CUSTOM_APP] Correctly set the version_name.
The version_name need to be set a compilation time.
By default the version_name is taken from json info file.
But a user may want to change it.
2017-07-18 15:57:12 +02:00
Matthieu Gautier 39501fe724 Copy icu data at the right place.
`kiwix-android` now use all files in "icu" assets directory.
Not anymore directly the `icudt.dat` file.
2017-07-18 15:56:28 +02:00
Matthieu Gautier 78dd2626ca [CUSTOM_APP] Add a zim_path option to build_custom_app.py
If the user what to make a custom_app locally, he will need to download
the zim file before. As he has already the zim, it is better to give
the zim_path instead of give the zim_url and have `build_custom_app.py`
download a second time the zim.
2017-07-18 15:56:26 +02:00
Matthieu Gautier ac5dc39955 Merge pull request #62 from kiwix/apple_platforms
Adding a few changes for Apple platforms
2017-07-17 15:00:16 +02:00
Matthieu Gautier a9eaa71357 Check that target platform is compatible with current host.
Not all target platform can be compiled on all platform.
For instance, all `static` target or `win32`, `armhf` and `android` targets
cannot be compiled on macOS.

Simply check that the current host is supported by TargetInfo and exit
nicely if needed.
2017-07-17 14:13:31 +02:00
Chris Li c40cce4f82 Add a patch for iOS cross-platform static 2017-07-17 14:13:31 +02:00
Chris Li 3e835d0c74 Add a patch for macOS native dyn 2017-07-17 14:13:31 +02:00
Kelson 91952aba33 Merge pull request #60 from kiwix/improve_readme
Improved README #3
2017-07-17 13:57:21 +02:00
Emmanuel Engelhart cec69c09cd Improved README #3 2017-07-17 12:42:58 +02:00
Matthieu Gautier d905ab756c Merge pull request #64 from kiwix/cttp2_patch
[CTPP2] CMake should not install ctpp2c.
2017-07-17 12:00:42 +02:00
Matthieu Gautier 9a73c5796e [CTPP2] Always depend on ctpp2c.
Even on android we are compiling the resources. So we need ctpp2c all the
time.
2017-07-17 11:05:53 +02:00
Matthieu Gautier 5972b0b2b0 [CTPP2] CMake should not install ctpp2c.
As we are compiling `ctpp2c` in static native and install it with a simple
`cp`, the default compilation of ctpp2 library should not install ctpp2c.

Else we would have a wrong `ctpp2c` in the path and later compilation will
fail.
2017-07-17 10:34:17 +02:00
Matthieu Gautier ad0ba8e230 Merge pull request #63 from kiwix/ctpp2_utils
Install ctpp2-utils to have ctpp2 compiler installed.
2017-07-12 15:38:30 +02:00
Matthieu Gautier 0671712753 Install ctpp2-utils to have ctpp2 compiler installed.
ctpp2c is available in debian, so no need to compile it.
2017-07-12 14:51:00 +02:00
Matthieu Gautier 1fda646708 Always build ctpp2c for the host and static.
We are using `ctpp2c` when building kiwix-lib to compile embedded resources.

As `ctpp2c` will be used in the host machine, it always need to be
compiled for the host (native).
But we still want tho ctpp2 library compiled for the target platform.
As we don't want handle the conflict between two dynamic lib with the same
name but for two different platforms, we build ctpp2c statically.
2017-07-12 14:31:37 +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 f620d36b28 Merge pull request #57 from kiwix/fix_env_var
Fix env var
2017-06-26 15:19:57 +02:00
Matthieu Gautier e27f170472 Fix package name for pkg-config on Fedora. 2017-06-26 14:32:04 +02:00
Matthieu Gautier bf0bc08b6e Remove -fPIE option.
"PIE" option is for executable and we don't build a executable.
Using a combination of "pie", "pic", shared and static libraries makes the
compilation of `kiwix-lib` fails with a "undefined symbol main".

Removing the pie option solve the problem.
2017-06-26 14:32:04 +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 6026daf3dd Merge pull request #47 from kiwix/custom_app
Add script to build customapp
2017-06-25 16:43:49 +02:00
Matthieu Gautier e57c0fccaa Use the real key to sign apk. 2017-06-25 15:49:49 +02:00
Matthieu Gautier b83efb7d7f Make the `--zim-url` option ... optional.
If not given, the zim_url is get from the `info.json`To revert
2017-06-25 15:49:49 +02:00
Matthieu Gautier 71650ffebd Add a option to deactivate APKs upload to android play store.
APKs are pushed to a http accessible address.
This is needed as first association of APKs to an application must be
made manually.
2017-06-25 15:49:49 +02:00
Matthieu Gautier 22fffcee51 Add script to build customapp 2017-06-25 15:49:49 +02:00
Matthieu Gautier 483bef609e Merge pull request #51 from kiwix/fix_android_dir
Set the android_abi variable in the meson_cross_file.txt
2017-06-13 18:44:16 +02:00
Matthieu Gautier 0e01aa0cee Set the android_abi variable in the meson_cross_file.txt
Kiwix-lib need to know want is the android abi to copy the lib in the
right directory.
2017-06-13 17:37:58 +02:00
Matthieu Gautier 844eb9c2ef Merge pull request #50 from kiwix/update_deps
Correctly declare dependencies of kiwix-build and projects we are bui…
2017-06-13 17:37:07 +02:00
Matthieu Gautier d43e6d3c70 Correctly declare dependencies of kiwix-build and projects we are building.
Factorize a bit the code also.

Fixes #49.
2017-06-12 10:42:11 +02:00
Matthieu Gautier cf8b859fb0 Merge pull request #44 from kiwix/icu_custom_data
Icu custom data
2017-05-10 18:26:45 +02:00
Matthieu Gautier 0e5fb294f6 Better argument parse for better help text.
(And one clean line :) )
2017-05-09 14:13:43 +02:00
Matthieu Gautier 317bc207fb Do not force specific arguments when compiling for win32.
Those option should be set by build system, not by kiwix-build.

Moreover, this impact other libraries (as icu) and generate pretty big
library binaries.
2017-05-09 14:02:37 +02:00
Matthieu Gautier cfa7f0cb42 Use ICU data as external archive on android platform.
On android platform, we load the ICU data as external data, not embeded
in the kiwix-lib.

So we need to generate correctly the dat file and use it in kiwix-android.
2017-05-09 14:02:37 +02:00
Matthieu Gautier fbb84e9d27 Patch ICU to remove unwanted data.
We don't need all the ICU data and we need to reduce binaries' size
(Especially for android where we have a limit of 50Mo per APK).

By removing unwanted ICU data, we reduce a lot the data size and so
the final binaries' size.

There is also some "problems" to compile the `ja.txt` collfiles,
the "resource compiler" crashes.
As we don't need it, we also remove it.
2017-05-09 14:02:37 +02:00
Matthieu Gautier e50dc846a5 Get ICU source from SVN instead of Release archive.
ICU doesn't provide data sources in their release archives but directly
pre-compiled data.

As we need to compile ourselves our data to remove unwanted data, we need
to get the sources directly from the SVN.
2017-05-09 14:02:37 +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 5bf04936d9 Merge pull request #45 from kiwix/hide_progress
Hide progress
2017-05-09 14:01:42 +02:00
Matthieu Gautier 5cc3ede3e3 Hide the progress information in TravisCI.
With progress information shown, the android build logs are bigger than
4Mo and travisBuild fails. So we have to hide them in travis.
2017-05-09 10:28:05 +02:00
Matthieu Gautier c42883753a Add an option to hide intermediate progress information. 2017-05-09 10:24:17 +02:00
Matthieu Gautier 4a980a3192 Merge pull request #43 from kiwix/android_custom_apk
Android custom apk
2017-05-03 19:28:31 +02:00
Matthieu Gautier f044fd15bf Add support to build kiwix android custom app.
The custom app to build must be specified as an option when running
kiwix-build.
In the same way, the zim file to download must be specified in the
`info.json` (`zim_url` key) or given as option.
2017-05-02 17:30:07 +02:00
Matthieu Gautier a86d0b143b Do not fail if the `kiwixlib/src/main` doesn't exist when deleting him.
When deleting the directory, this is not a problem if the directory
doesn't exist.
2017-05-02 17:30:07 +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