Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci android #1

Closed
wants to merge 1 commit into from
Closed

ci android #1

wants to merge 1 commit into from

Conversation

mrobertseidowsky-gpsw
Copy link
Owner

@mrobertseidowsky-gpsw mrobertseidowsky-gpsw commented Apr 7, 2022

Description:

This PR allows to:

  • Compile ffmpeg sources for different Android host,
  • Compile sxplayer sources for different Android host,
  • Build libnodegl lib for each target,
  • Libnodegl tests are compiled but not runned (skipped).

One cross compilation file (.ini) per architecture (i.e processor type on the phone) is given as meson input.

Architectures are:

  • x86_64: x86 processor 64-bit,
  • arm: arm processor 32-bit,
  • aarch64: arm processor 64-bit.

A compiler for each architecture is directly provided from the Android ndk toolchain on the remote machine.

Notes:

  • meson is installed with pip to receive the most up-to-date version (apt provides version 0.53.2 which is not compatible with project requirement (>=0.57.0) while pip provides version 0.62.0).
  • About the dependencies, sxplayer + ffmpeg are being rebuilt at the moment, but a solution that catch artifacts dropped on sxplayer repository may be considered in the future.
  • The files tree has been reshaped because:
    • by default meson set /usr/local as prefix in the .pc file which can not be written on github action remote machine (only write access to home).
    • by default the generated files has this structure (tree pruned with only relevant files):
builddir
├── libsxplayer.so
├── meson-private
│   ├── libsxplayer.pc
├── sxplayer.h
  • So a more standard tree is created in the home thanks to the command meson install.
    • prefix /usr/local becomes /home/runner/usr/local
    • structure of files becomes:
/home/runner
├── usr
    ├── local
        ├── lib
            ├── libsxplayer.so
	    ├── pkgconfig
 	        ├── libsxplayer.pc
        ├── include
            ├── sxplayer.h
  • This structure is, at the end easily understood by meson when building libnodegl.

@mrobertseidowsky-gpsw mrobertseidowsky-gpsw force-pushed the mrs/ci-android branch 30 times, most recently from 2a54eb1 to 53368d0 Compare April 7, 2022 13:36
@mrobertseidowsky-gpsw mrobertseidowsky-gpsw force-pushed the mrs/ci-android branch 27 times, most recently from cf5ff87 to 449e314 Compare April 7, 2022 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant