Conan: [feature] Add multiarch(any?) arch option to settings.yml

Created on 17 Jan 2020  路  6Comments  路  Source: conan-io/conan

This feature is very useful (mostly?) for Android as it supports multiple ABIs in the same apk/aab.

Starting with Qt 5.14.0, Qt for Android provides a way to build the apps for all Android ABIs in one go, and without a multiarch/Any/None in arch settings it's impossible to create an Android multilib Qt package for conan.

Most helpful comment

An even better option is to allow multiple archs: e.g.

#~/.conan/profiles/android_any

# ...
[settings]
arch=[x86, x86_64, armv7, armv8]

All 6 comments

An even better option is to allow multiple archs: e.g.

#~/.conan/profiles/android_any

# ...
[settings]
arch=[x86, x86_64, armv7, armv8]

@a4z is also experiencing the need for this feature but for the iOS toolchain.

The current workaround is to introduce custom multi-arch settings, but it's a very inflexible solution.

yes, this is needed for mobile development, for both iOS, and also for Android (which I will do after all iOS packages are done) . So my need is not limited to just iOS ;-)

This will be a very helpful extension. Together with universal libs #1047

just some notes, while this will work for CMake more or less out of the box,
just add a toolchain file, and or a cmake wrapper.

everything that is not cmake and has no xcode build that can be configured would need to

  • have the packages with the wanted architectures as dependencies
  • install, probably build those packages
  • maybe import the libraries from those packages
  • run lipo on the packages for the libraries of the wanted arch, and have a new one

    those packages == the same package name/version , just in a the wanted arch , armv7 armv7s arm64

so this seems to be some how a problem

so I understand why the multiarch flag could be a huge problem, some builds would not support them, or , they would become pretty complex

but it would be nice if I could , for example

  • have a package curl_fat
  • that requires curl armv7, curl armv7s, curl arm64
  • installs the packages and lipo the fat binary

and I think this could be possible already today, by using settings via the settings.yml that I give a specific meaning. But this I would have need to test

Yes, have android/iOS prebuilt packages from CCI would be great.

https://github.com/conan-io/conan-center-index/issues/537

Was this page helpful?
0 / 5 - 0 ratings