Commit Graph

24 Commits

Author SHA1 Message Date
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 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 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 2fc1b7ebe8 pdate dependencies tree.
Now that the search is in zimlib we have to reflect it in our
configuration :
- Zimlib depends of Xapian
- Kiwixlib doesn't depend of Xapian anymore.
2017-04-10 09:46:38 +02:00
Matthieu Gautier a021f8e739 Add missing declarations of libzim.
The dependencies of libzim were missing.
If we run a single run to compile everything everything run correctly
as zlib and lzma will be installed because of kiwix-lib (and other)
dependencies.
2017-04-08 21:34:25 +02:00
Matthieu Gautier 82625ed62e Update url of libzim and zimwriterfs.
The openzim repository has been split into different smaller repositories.
Especially libzim and zimwriterfs.
2017-04-08 18:19:20 +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 3d9ab94195 Add Zimwriterfs dependency.
Now kiwix-build.py can compile zimwriterfs.
2017-03-28 10:10:12 +02:00
Matthieu Gautier 4bb20c6a49 Fix dependencies declaration of Kiwixlib. 2017-03-28 10:10:12 +02:00
Matthieu Gautier 50c56804b1 Move the OpenZim source outside of Zimlib dependency.
The OpenZim source contains the zimlib source but also the zimwriterfs
source.
There is no zimwriterfs dependency for now but it is better to separate
source from the dependency for latter commit.
2017-03-28 10:10:12 +02:00
Matthieu Gautier 5ae802b707 Do not pass -Dctpp2-install-prefix to KiwixTools.
We don't need it anymore with last version of KiwixTools.
2017-03-13 13:18:14 +01:00
Matthieu Gautier 0845a5a53b Move to last version of ICU.
There is a bug in 56_1 version when compiling resource.
This is fixed in 58_2.

However the last version 58_2 use _create_local and _free_locale symbols on
Windows and we need to add the right libs to the compilation command.
2017-03-13 13:18:14 +01:00
Matthieu Gautier 6d7adf0f04 Add a patch for icu4c on android 64 bits.
On recent version of the NDK (r13b), `exec_elf.h` has been removed for
API level >= 20. On 64 bits, we need the API level 21, and then,
a defined (ELF64_ST_INFO) is missing.

We readd it where (and if) we need it.
2017-03-13 13:18:14 +01:00
Matthieu Gautier 600f1b55aa Add the android ndk toolchains and compile android on travis. 2017-03-13 13:18:14 +01: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 83d6d00acd Force name of ICU to differentiate icu_native from icu_cross-compile. 2017-03-13 13:18:14 +01:00
Matthieu Gautier cbb0ce83b5 Disable compilation of unused stuff in UUID. 2017-03-13 13:18:14 +01:00
Matthieu Gautier 960f6c9e82 zlib now compile using configure/make instead of cmake.
With cmake it is not possible to install only one kind of library
(static or shared).
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 77137e0908 Add lzma dependency. 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