0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-28 07:58:14 +08:00

18 Commits

Author SHA1 Message Date
Stephan Guilloux (home)
ebe0edaaa9 More enhancements and configuration variables to Android CI build scripts.
init_dependency_root(): Moved to android_build_helper.sh

ANDROID_DEPENDENCIES_DIR: added to specify a storage for dependencies
when downloaded automatically.

ANDROID_BUILD_DIR: Changed the default in ci_build.sh.

ci_build.sh configures these 2 variables to no more use /tmp by default (
except for Android NDK), but a local clone subfolder.

This helps to find downloaded dependencies and generated binaries.

This avoid to have user permission conflicts, or conflicts with 2
different clones of LIBZMQ (for instance).
2022-11-21 00:21:30 +01:00
Stephan Guilloux
2b2fb9c708
Problem: Android NDK 22 download broken since support of NDK 23. (#4444)
* Problem: Android NDK 22 download broken since support of NDK 23.

Due to the PR to support NDK 23.

With NDK 23, the archive file name has changed.
This change is handled by the PR to support NDK23, but now, only 23 and after
are supported.

Also, NDK 23 support introduced a 2nd occurence of the variable
HOST_PLATFORM, with another value. One occurence being exported,
this may confuse next developpers (and it actually confused me).

Solution: Code review

1st occurence is simply dropped, and the algorithm around is changed so that
there is no need of a 'host_platform' kind of stuff.

2nd occurrence is renamed to ANDROID_BUILD_PLATFORM.

Note that 'HOST' is replaced by 'BUILD', as this is the common naming
when talking about the build/compilation machine, when cross compiling.

A dedicated function is created in the helpers, to actually download
the NDK. As this function is made 'public', more checks are performed.

Note:

    To be reported in CZMQ & ZYRE, via ZPROJECT, where NDK is downloaded
    in 2 different files.
2022-10-21 17:36:38 +01:00
Stephan Guilloux
2a7c9efe81
Problem: Android build environment variables need clarifications. (#4443)
* Problem: Android build environment variables need clarifications.

Reason: All are spread and initialized throughout the code.

Solution: Declare, initialize and document environment variables on top of build.sh.

Side effect: This participates to documentation.
2022-10-21 10:55:33 +01:00
Stephan Guilloux (cos)
863b329ccd Problem: Android CI build scripts need minor enhancements (traces & cleanup).
Seen when someone has to relaunch `ci_build.sh` manually, for troubleshooting,
or experiment(s), ci_build.sh stops as libraries are already built.

Solution: Clean more temporary/build folders before build.

Note:

  To be reported in ZYRE/CZMQ via ZProject.

When called from ZYRE/CZMQ, it's difficult to identify which build script is
being executed

Solution: Modify each `echo` trace to show the project name and Android architecture in progress.

Note:

  To be reported in ZYRE/CZMQ via ZProject.
2022-10-11 23:08:08 +02:00
Stephan Guilloux (cos)
0d49eddf16 Problem: Android build script may fail silently
Solution: Use `set -e`

Note:
To be reported in ZPROJECT, when generating the same for CZMQ & ZYRE.

Note:
`make clean` may fail when Makefile is not yet generated
(case of 1st call of build.sh after git clone).

Additionnaly, cleaned the dependency folder
(report of ZPROJECT generated scripts).
2022-10-02 02:27:12 +02:00
Benjamin Deroche
1f1e8145d0 Problem: Default Android NDK version is not aligned with zproject
Solution: Set NDK r25 as the default. No compatiblity changes required.
2022-09-26 14:47:05 +02:00
Benjamin Deroche
d1ee71a634 Problem: Android build scripts does not work with latest NDK versions
Solution: Update the build scripts to work with NDK versions r23 and r24
2022-05-09 12:15:49 +02:00
Benjamin Deroche
519e2bf129
Problem: Android build script isn't compatible with latest NDK version (#4278)
* Problem: Android build script isn't compatible with latest NDK version

Solution: Update to Android NDK r22b
2021-10-18 10:05:10 +01:00
Benjamin Deroche
2af72796a7 Problem: Outdated Android build tools
Solution: Update Android NDK version
2021-06-07 11:34:13 +02:00
Benjamin Deroche
83667099bb Problem: libzmq use outdated Android NDK version
Solution: Update Android NDK version
2020-08-14 16:49:14 +02:00
Kevin Sapper
341f56ccac Problem: Android build is hard to understand
Solution: Modify the build scripts so the user can specify the platform
for which to build, e.g. `./build.sh arm`. This approach originally
significantly reduces the parameters which have to be set before running
the script.

Further the build process is documented in a README now.
2020-02-12 12:22:27 +01:00
Benjamin Deroche
0d0899bc0d Download the NDK only the first time 2019-10-28 16:48:54 +01:00
Benjamin Deroche
7ee36a177a Make sure the new file erase the old one and don't get a different name 2019-10-28 16:03:22 +01:00
Benjamin Deroche
947893e79f Keep the unzip quiet but make sure it doesn't fail silently 2019-10-28 16:02:57 +01:00
Benjamin Deroche
d2099b7593 Problem: Android build script is severely outdated
Solution: Migrate build scripts from Android NDK r11c to r20.
- Standalone toolchain
- Migration from GCC to Clang
- Migration from libgnustl to libc++
- Dropped support for API level below 16 (Android 4.1), previously it was API level 9 (Android 2.3)
- Dropped support for mips architecture
- The build script now start the build of all 4 Android architectures (arm, arm64, x86, x86_64)
2019-10-25 23:07:04 +02:00
Luca Boccassi
b872e7d9f7 Problem: Android CI NDK version out of date
Solution: update CI scripts to use newer r11c from r10e
2016-06-07 23:56:28 +01:00
Luca Boccassi
8be568916e Problem: Android CI script hardcodes ABI version
Solution: use a variable for easier maintenance, in sync with zproject
2016-06-07 23:18:21 +01:00
Pieter Hintjens
9b45ba7067 Problem: builds/qt-android name is inaccurate
Solution: rename to simple builds/android.
2015-12-14 19:01:13 +01:00