Commit Graph

26 Commits

Author SHA1 Message Date
Matthieu Gautier c0ec9c44b8 Rename option `--target-platform` to `--config`
The target_platform option has always be wrongly named.
This is not the platform we are targeted but how we compile.

This was ok at beginning as specifying how we compile somehow define
for what we compile but this is not a one to one mapping.
2024-02-05 18:03:11 +01:00
Matthieu Gautier 5a1175cf2d Format our code with black 2024-02-05 11:41:09 +01:00
Matthieu Gautier c99a9bd91f Run the command without using shell=True.
It mainly allow to run command in directory containing space.
(Hello, `C:\Program Files\...`)
It would also allow to work on directory containning spaces
(`C:\Users\John Doe`) but xapian configure (at least) expressly doesn't
support it :/

- Run the command without shell=True
- The command must be a list instead of a string.
- All options must also be a list (or an iterable).
2023-12-01 11:11:24 +01:00
Matthieu Gautier 88cc75475c Build libzim and libkiwix in debug mode on android.
Fix #623
2023-11-20 11:10:24 +01:00
renaud gaudin 09dacaa25e
disabled bitcode support, as deprecated since xcode14
See https://stackoverflow.com/questions/72543728/xcode-14-deprecates-bitcode-but-why
2023-11-09 08:14:52 +00:00
Matthieu Gautier 31771fa35c Introduce MixedMixin
We will need to create "mixed linkage" library for other arch than native.
It is better to move associated code in a separate part.
2023-03-28 17:40:12 +02:00
Matthieu Gautier 1f8ccde487 "main" is now our default branch for all our projects. 2023-01-03 10:19:52 +01:00
Matthieu Gautier 344b9328c3 libzim and zim-tools are now using "main" for the default branch. 2022-12-22 14:32:13 +01:00
Matthieu Gautier f6cd94366a Fix wasm compilation.
On wasm, we cannot do mmap. We have to do plain read.

Fix openzim/libzim#751
2022-12-06 19:01:38 +01:00
Matthieu Gautier 180fb249f6 Add a support to compile libzim for wasm.
`icu4c_wasm.patch` is build by :
 - Copying config.sub from liblzma source as new version of config.sub there
   knows about wasm architecture.
 - Copying `mh-linux` on `mh-unknown` as specified in (origin) `mh-unknown`.
   This is because icu4c configure doesn't detect `emscripten` platform and
   "fallback" to `mh-unknown`.
2022-11-16 16:37:05 +01:00
Matthieu Gautier bcbb164d49 Build libzim dynamically on android. 2022-06-28 12:23:35 +02:00
Matthieu Gautier 7dcf57e32b Do not download zim-testing-suite when building in flatpak. 2021-05-05 15:07:29 +02:00
Matthieu Gautier 1cafcbf412 Get the "source" `zim-testing-suite` step.
The source step (install source) always exists.
The `plaformInfo.name` step may not exists
(On mixed target, we build all deps static and the last project dyn)
So the `native_dyn` doesn't exists for `zim-testing-suite`.
2021-05-05 15:06:35 +02:00
Matthieu Gautier 9d90568204 Make libzim use the test data dire downloaded with zim-testing-tool. 2021-04-28 16:26:43 +02:00
Matthieu Gautier 2d3c5ed4c7 Add zim-testing-suite dependency. 2021-04-28 16:26:43 +02:00
Matthieu Gautier 7162b6ff2b Update dependency of libzim. 2020-11-17 16:43:27 +01:00
Veloman Yunkan ece4df3721 Added zstd dependency 2020-04-06 20:17:09 +02:00
Matthieu Gautier fb07b58812 Fix recompilation of the CI of meson project.
We were assuming that meson project correspond to our projects and so we
were always building them, even if they were already compiled.
(This way, a simple `kiwix-build` is enough to recompile the WIP code of
our project).

However, on the CI, we do not archive the source code/build directory in
the base deps archive. So when we try to compile, the compile step of
meson projects fails because the source are not here.
We have a small workaround for pugixml but as zstd is also meson, it is
time to do something correct.

By default, all projects now try to skip if a build is already present.
Our projects are marked as `force_build` and so, they do not try to skip.
2020-04-06 19:15:40 +02:00
Matthieu Gautier 7c2527c38f Do not try to download subproject for libzim in flatpak. 2019-07-31 16:36:31 +02:00
Matthieu Gautier 1341c8b401 Do not strip libraries in release_mode.
Meson use gcc's `-s` option to create the archive.
This option should make gcc meemic `ar` tool but in some version of gcc,
it seems there is a bug and the `-s` option is not taken into account.

See https://github.com/mesonbuild/meson/issues/4138

So, do not try to strip libraries. We will strip the final binaries anyway.
2019-03-04 13:53:26 +01:00
Matthieu Gautier 4eb95fd4cc Pass correct option `-Dstatic_linkage` to libzim in native_mixed platform.
In native_mixed, we want to build a shared lib but we need to compile
with the static lib of the dependencies.
2019-02-04 17:01:28 +01:00
Matthieu Gautier b2d2e489bf [iOS] Use the correct option `b_bitcode` for libzim and kiwix-lib. 2019-01-17 16:50:49 +01:00
Matthieu Gautier e22ceab92a Do not use buffered header on android.
Android devices are low memory devices, use last libzim compilation option
to avoid copy/mmap index header in memory.
2018-08-01 18:07:13 +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 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 53585b838a Split the dependencies.py file into several parts. 2018-05-22 16:43:37 +02:00