Commit Graph

77 Commits

Author SHA1 Message Date
f2e2b09fe3 Add x86_64 musl toolchain and platform. 2023-10-20 16:24:28 +02:00
71e70d8a8e Rename arm_musl.py to musl.py.
Those files will contain toolchain for musl. Not specific to arm.
2023-10-20 16:24:28 +02:00
65dd03e58f Move back to the old toolchain for aarch64
Fix #634
2023-08-11 16:18:25 +02:00
5884909b25 Add target aarch64_musl_*
I have to mention that adding a new cross compiled target never seems
so simple.
2023-06-14 15:57:49 +02:00
897e7f292c Switch (again) to new arm cross-compilation toolchain.
This introduce a difference between armv6 and armv8.
2023-05-22 19:03:57 +02:00
2b6e305911 Install things in lib/aarch64-linux-gnu 2023-04-19 11:36:08 +02:00
7b7afc36e7 Mixed platform are not static. 2023-03-31 10:51:11 +02:00
260b93a51d Correctly set the include dirs for mixed_target.
Until now, mixed targets was only about native build and so we were not
using a meson cross_config file and env var was enough.

But now we also to correctly set it in the cross_config file.
2023-03-30 16:40:20 +02:00
b218875d49 Rename macOS_arm64 to macOS_arm64_static.
Publication code in `.github/scripts` expected that `foo_mixed` target
is tied to a `foo_static` target.
2023-03-30 14:18:53 +02:00
de25a1e63b Add macOS_arm64_mixed platform. 2023-03-30 14:18:53 +02:00
7ae3afd805 Introduce mixed target for armhf and aarch64. 2023-03-28 17:48:08 +02:00
ab2cbdbe5b Introduce aarch64 target.
In opposition to 32 bits, it is adapted to all PI (as long as they are
in 64 bits).
2023-03-28 17:47:48 +02:00
4e88c6eb10 Correctly set the armhf toolchain to a 32 bits arch.
cross-gcc-10.3.0-pi_64.tar.gz for 64 bits architecture and armhf
is about 32 bits.

However, we know use a pi 2 and 3 and Stretch only[*] toolchains

[*] To be tested. Maybe the only is for the target compilation but binary
run elsewhere too.
2023-03-28 17:46:31 +02:00
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
b8cd12a360 Update armhf toolschain. 2023-03-28 16:16:22 +02:00
6181d7bb08 Install wasm libraries in INSTALL/lib directory.
The default detected libdir is based on the build architecture.
On ubuntu, it is `lib/x86_64-linux-gnu` which is obviously not the right
directory.

Let's simply use `lib`.

Fix #556
2023-03-01 14:16:36 +01:00
f6a7f43ece Fix the iOsMacABI target in the CI
It seems that on last version of CI envirronement, ios' clang doesnt
recognize ios13.0.

Moving to ios 14.0
2023-02-07 09:52:37 +01:00
ab2458c1c4 Add "static" include dir when compiling native_mixed. 2022-11-30 14:22:13 +01:00
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
3847844c54 Update android_ndk to version r21e
To do this, we need to update the android api to 24.
We lost all users using a android under api 24.
2022-09-29 09:45:15 +02:00
dba45ced36 Build android lib in the correct directory 2022-06-14 17:48:51 +02:00
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
82569620f2 Add MacOs arch
On top of the native platform (which may still use to compile for macos on macos)
we add a specific MacOs arch.
2021-12-22 15:24:45 +01:00
c244e5b779 Link with ssp on win32.
Recent version of mingw need projects using `-D_FORTIFY_SOURCE` to link
with `ssp`.

See https://github.com/msys2/MINGW-packages/issues/5868#issuecomment-544107564
2021-07-02 11:14:13 +02:00
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
b8160de652 Correctly install io.qt.qtwebengine.BaseApp for flatpak build. 2021-06-29 16:06:53 +02:00
149ed01f12 Add Mac catalyst as a new target 2020-08-28 14:16:25 -04:00
ef7843633e Set the Qt version to use on fedora.
The default Qt version on fedora is Qt 4. We must force the use of Qt 5.
2020-07-01 11:32:43 +02:00
8478d65c90 enable compilation of native_mixed on macos
Issue #349 requires a native_mixed for macOS.
native_mixed is working for libzim so we whitelist it.

On the release CI, we fix the macos dylib rpath so it doesn't include the
full build-install step path which is probematic for a distributed file.

We build native_mixed for OSX in both CI and release mode
2020-06-17 09:04:10 +00:00
23a682c52d remove platform info 2020-05-09 09:11:20 -04:00
ddc73181db higher iOS and macOS compatibility version 2020-04-24 22:20:37 -04:00
bf405d105c Revert 82617f6b94 2020-02-26 18:30:24 +01:00
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
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
661eb95df0 Use a specific cross_file on iOS cross compilation.
We need to set the property `needs_exe_wrapper` to true for
x86_64 cross compilation.

Else, meson will try to detect if we could run the cross
compiled executable, and because it is the same arch, it will
assume we can. So it will try to sanity check and execute the
cross compiled binary. Then fails.
2020-02-21 16:29:23 +01:00
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
e27ede80cc Use correct arch_full name. 2020-02-21 15:12:17 +01:00
36366b2dd3 Better define of value in ios platform.
No real change, just better code to define it.
2020-02-21 15:12:17 +01:00
c4295b1644 Do not set a specific compiler for ios 2020-02-21 15:12:17 +01:00
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
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
95138d207b Remove an unwanted print. 2019-12-05 12:32:13 +01:00
a82d6430dc Remove support of kiwix-android and kiwix-custom-app. 2019-12-05 12:30:10 +01:00
b6bbf9b098 Do not install gradle. Use gradlew script. 2019-12-05 12:30:10 +01:00
29be31ec03 Fix exe_wrapper.
This should be `exe_wrapper` not `exec_wrapper`.
2019-09-19 18:18:41 +02:00
0f13d99159 Remove unnecessary win32 libs.
It seems that those libraries are not needed (anymore ?).
Even more, `msvcr100` makes `kiwix-serve` crash when printing messages
on stdout/stderr.

`msvcr100` lib is necessary for ICU, because the default mingw's `msvcr`
doesn't provide `_free_locale` and `_create_locale`.

Most recent versions of mingw fix this and we do not need them.
On debian (travis CI) we use a old version of mingw and we need to force
the use of `msvcr100`.
2019-09-04 17:00:29 +02:00
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
50ba90e67c fix macOS cross build 2019-06-24 19:30:18 +02:00
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
ef9755eff5 Remove android mips platforms
Also correctly rename Android classes.
2019-06-14 14:13:18 +02:00