Commit Graph

26 Commits

Author SHA1 Message Date
Matthieu Gautier 72c271a74c Remove LibkiwixApp
The project was used to assemble all android compilation in one
multiplatform java archive.

This allow use to remove android_sdk and Gradle builder
2022-06-09 10:28:59 +02:00
Matthieu Gautier aa349a18e7 Rename kiwix-lib to libkiwix.
The new name of kiwix-lib is libkiwix. Let kiwix-build adopt the name.
2021-06-30 16:45:54 +02:00
Matthieu Gautier bf405d105c Revert 82617f6b94 2020-02-26 18:30:24 +01:00
Matthieu Gautier 6093c011ab Always write the cross_file using the same name.
Even if we use different template for different platform, we must
always use the same cross_file name.
2020-02-25 16:36:56 +01:00
Matthieu Gautier 32e3b5b5c4 Fix compilation of kiwix-lib-app.
- We should not try to set the cross compilation flags when we use
  gradle.
- Fix anyway the setting of tho cross compilation flags for android sdk
  platform (the default implementation use the `static` attributes that
  doesn't exist for android)
2020-02-24 15:30:31 +01:00
Matthieu Gautier 7b6c79482a Make the dependency responsible to set the compilation env.
Instead of having the run_command function setting the
env from the buildEnv, this is the dependency that create the
env and then pass it to the run_command function.

This way, each dependency will be able to set a specific env.
2020-02-21 16:29:23 +01:00
Matthieu Gautier 2774967e6d Set the pkg-config for cross-compiling.
This is needed for win32 on fedora.
It is better to use a specific pkg-config than setting a PKG_CONFIG_LIBDIR.
This avoid other CI (libzim/...) to set a env var specific to win32 build.
2020-01-20 22:55:50 +01:00
Matthieu Gautier 82617f6b94 Do not set `march` for android build.
We already build to the right architecture by using the arch_full triplet
gcc/g++/...
We don't need to set march when building android.
2020-01-20 22:55:21 +01:00
Matthieu Gautier a82d6430dc Remove support of kiwix-android and kiwix-custom-app. 2019-12-05 12:30:10 +01:00
Matthieu Gautier b6bbf9b098 Do not install gradle. Use gradlew script. 2019-12-05 12:30:10 +01:00
Matthieu Gautier 29be31ec03 Fix exe_wrapper.
This should be `exe_wrapper` not `exec_wrapper`.
2019-09-19 18:18:41 +02:00
Matthieu Gautier 3a1cd6ddb2 Build the kiwix-lib android "application" in kiwix-build.
This is not a real application as it is dependency for kiwix-android.
But it a app in the sens that it is packaged for android build system.
2019-07-24 10:25:52 +02:00
Matthieu Gautier 4868128551 Build for armeabi-v7a.
The main thing is to add the `-march` option when needed.
Ie, '-march=armv7-a` for arm.
Other compiler (arm64, x86, ...) don't support the march option so
we must not provide it.
2019-06-14 14:13:18 +02:00
Matthieu Gautier ef9755eff5 Remove android mips platforms
Also correctly rename Android classes.
2019-06-14 14:13:18 +02:00
Matthieu Gautier 505961be4c Build in release mode.
- Dependency are installed "striped".
- Our project are build "debugoptimized" by default and "release" when
  building release instead of "debug"

We need to update the `base_deps_meta_version` as we are changing how
dependencies are compiled.
2019-02-19 17:23:14 +01:00
Matthieu Gautier 1d881d0612 Add the include dir in the meson_cross_file.
This is needed to have kiwix-lib find the `mustache.hpp` include when
cross compiling.
2019-01-09 18:29:58 +01:00
Matthieu Gautier 5c83ba9d10 Fix compilation of kiwix-custom-app.
This is forgotten dependency. Not updated when we moved to multi-arch
build.
Now, it is fixed.
2018-07-19 16:19:55 +02:00
mhutti1 20ac697d43 Build with android logging library 2018-06-29 15:26:54 +02:00
Matthieu Gautier db82455f03 Be able to build multi-arch android apk.
By building kiwix-android on the `android` platform, we can now build
`kiwix-lib` on all `android_<arch>` platforms, and so have all
architectures in the same apk.

Fix #108
2018-06-06 17:41:12 +02:00
Matthieu Gautier 9b85791705 Gradle is a dependency of the android platform, not of other dependencies. 2018-06-06 17:41:11 +02:00
Matthieu Gautier 6de2cc80b6 Add an android metaPlatformInfo to build all android architecture. 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 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 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 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