-
Notifications
You must be signed in to change notification settings - Fork 1
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 build for Android #3
Changes from 15 commits
b0580fc
a8405c0
220e557
b3088ef
b2cba3f
64f73e7
7d1a1bd
300187e
2ce3cb9
5d0d644
7020959
92d6978
5dc5afc
6175876
71d8669
e0495be
96075e5
74e2ad7
3c5a3a3
1f949b9
2da8205
9db47be
befbf53
cb0cf52
a39d79b
85ac402
37bb728
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{% set android_home = os.getenv("ANDROID_HOME") %} | ||
{% set ndk_version = "26.3.11579264" %} | ||
{% set api_level = "21" %} | ||
{% set arch = "armv7" %} | ||
|
||
[settings] | ||
os=Android | ||
os.api_level={{api_level}} | ||
arch={{arch}} | ||
build_type=RelWithDebInfo | ||
compiler=clang | ||
compiler.version=17 | ||
compiler.cppstd=20 | ||
compiler.libcxx=c++_static | ||
|
||
[conf] | ||
tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} | ||
|
||
[buildenv] | ||
# Cross compile toolchain evn vars are required to build | ||
# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android | ||
# https://github.com/conan-io/conan/issues/16493 | ||
andiwand marked this conversation as resolved.
Show resolved
Hide resolved
|
||
AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar | ||
AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as | ||
RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib | ||
{% set cc = { | ||
"armv7": "armv7a-linux-androideabi" + api_level + "-clang", | ||
"armv8": "aarch64-linux-android" + api_level + "-clang", | ||
"x86": "i686-linux-android" + api_level + "-clang", | ||
"x86_64": "x86_64-linux-android" + api_level + "-clang", | ||
}[arch] %} | ||
Comment on lines
+26
to
+31
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nitpick: can this be moved up to the other set section? similar below There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sure |
||
CC={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}} | ||
CXX={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++ | ||
LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld | ||
STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{% set android_home = os.getenv("ANDROID_HOME") %} | ||
{% set ndk_version = "26.3.11579264" %} | ||
{% set api_level = "21" %} | ||
{% set arch = "armv8" %} | ||
|
||
[settings] | ||
os=Android | ||
os.api_level={{api_level}} | ||
arch={{arch}} | ||
build_type=RelWithDebInfo | ||
compiler=clang | ||
compiler.version=17 | ||
compiler.cppstd=20 | ||
compiler.libcxx=c++_static | ||
|
||
[conf] | ||
tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} | ||
|
||
[buildenv] | ||
# Cross compile toolchain evn vars are required to build | ||
# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android | ||
# https://github.com/conan-io/conan/issues/16493 | ||
AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar | ||
AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as | ||
RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib | ||
{% set cc = { | ||
"armv7": "armv7a-linux-androideabi" + api_level + "-clang", | ||
"armv8": "aarch64-linux-android" + api_level + "-clang", | ||
"x86": "i686-linux-android" + api_level + "-clang", | ||
"x86_64": "x86_64-linux-android" + api_level + "-clang", | ||
}[arch] %} | ||
CC={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}} | ||
CXX={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++ | ||
LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld | ||
STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{% set android_home = os.getenv("ANDROID_HOME") %} | ||
{% set ndk_version = "26.3.11579264" %} | ||
{% set api_level = "21" %} | ||
{% set arch = "x86" %} | ||
|
||
[settings] | ||
os=Android | ||
os.api_level={{api_level}} | ||
arch={{arch}} | ||
build_type=RelWithDebInfo | ||
compiler=clang | ||
compiler.version=17 | ||
compiler.cppstd=20 | ||
compiler.libcxx=c++_static | ||
|
||
[conf] | ||
tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} | ||
|
||
[buildenv] | ||
# Cross compile toolchain evn vars are required to build | ||
# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android | ||
# https://github.com/conan-io/conan/issues/16493 | ||
AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar | ||
AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as | ||
RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib | ||
{% set cc = { | ||
"armv7": "armv7a-linux-androideabi" + api_level + "-clang", | ||
"armv8": "aarch64-linux-android" + api_level + "-clang", | ||
"x86": "i686-linux-android" + api_level + "-clang", | ||
"x86_64": "x86_64-linux-android" + api_level + "-clang", | ||
}[arch] %} | ||
CC={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}} | ||
CXX={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++ | ||
LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld | ||
STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{% set android_home = os.getenv("ANDROID_HOME") %} | ||
{% set ndk_version = "26.3.11579264" %} | ||
{% set api_level = "21" %} | ||
{% set arch = "x86_64" %} | ||
|
||
[settings] | ||
os=Android | ||
os.api_level={{api_level}} | ||
arch={{arch}} | ||
build_type=RelWithDebInfo | ||
compiler=clang | ||
compiler.version=17 | ||
compiler.cppstd=20 | ||
compiler.libcxx=c++_static | ||
|
||
[conf] | ||
tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} | ||
|
||
[buildenv] | ||
# Cross compile toolchain evn vars are required to build | ||
# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android | ||
# https://github.com/conan-io/conan/issues/16493 | ||
AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar | ||
AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as | ||
RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib | ||
{% set cc = { | ||
"armv7": "armv7a-linux-androideabi" + api_level + "-clang", | ||
"armv8": "aarch64-linux-android" + api_level + "-clang", | ||
"x86": "i686-linux-android" + api_level + "-clang", | ||
"x86_64": "x86_64-linux-android" + api_level + "-clang", | ||
}[arch] %} | ||
CC={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}} | ||
CXX={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++ | ||
LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld | ||
STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{% set android_home = os.getenv("ANDROID_HOME") %} | ||
{% set ndk_version = "26.3.11579264" %} | ||
{% set api_level = "23" %} | ||
{% set arch = "armv7" %} | ||
|
||
[settings] | ||
os=Android | ||
os.api_level={{api_level}} | ||
arch={{arch}} | ||
build_type=RelWithDebInfo | ||
compiler=clang | ||
compiler.version=17 | ||
compiler.cppstd=20 | ||
compiler.libcxx=c++_static | ||
|
||
[conf] | ||
tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} | ||
|
||
[buildenv] | ||
# Cross compile toolchain evn vars are required to build | ||
# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android | ||
# https://github.com/conan-io/conan/issues/16493 | ||
AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar | ||
AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as | ||
RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib | ||
{% set cc = { | ||
"armv7": "armv7a-linux-androideabi" + api_level + "-clang", | ||
"armv8": "aarch64-linux-android" + api_level + "-clang", | ||
"x86": "i686-linux-android" + api_level + "-clang", | ||
"x86_64": "x86_64-linux-android" + api_level + "-clang", | ||
}[arch] %} | ||
CC={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}} | ||
CXX={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++ | ||
LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld | ||
STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{% set android_home = os.getenv("ANDROID_HOME") %} | ||
{% set ndk_version = "26.3.11579264" %} | ||
{% set api_level = "23" %} | ||
{% set arch = "armv8" %} | ||
|
||
[settings] | ||
os=Android | ||
os.api_level={{api_level}} | ||
arch={{arch}} | ||
build_type=RelWithDebInfo | ||
compiler=clang | ||
compiler.version=17 | ||
compiler.cppstd=20 | ||
compiler.libcxx=c++_static | ||
|
||
[conf] | ||
tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} | ||
|
||
[buildenv] | ||
# Cross compile toolchain evn vars are required to build | ||
# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android | ||
# https://github.com/conan-io/conan/issues/16493 | ||
AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar | ||
AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as | ||
RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib | ||
{% set cc = { | ||
"armv7": "armv7a-linux-androideabi" + api_level + "-clang", | ||
"armv8": "aarch64-linux-android" + api_level + "-clang", | ||
"x86": "i686-linux-android" + api_level + "-clang", | ||
"x86_64": "x86_64-linux-android" + api_level + "-clang", | ||
}[arch] %} | ||
CC={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}} | ||
CXX={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++ | ||
LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld | ||
STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{% set android_home = os.getenv("ANDROID_HOME") %} | ||
{% set ndk_version = "26.3.11579264" %} | ||
{% set api_level = "23" %} | ||
{% set arch = "x86" %} | ||
|
||
[settings] | ||
os=Android | ||
os.api_level={{api_level}} | ||
arch={{arch}} | ||
build_type=RelWithDebInfo | ||
compiler=clang | ||
compiler.version=17 | ||
compiler.cppstd=20 | ||
compiler.libcxx=c++_static | ||
|
||
[conf] | ||
tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} | ||
|
||
[buildenv] | ||
# Cross compile toolchain evn vars are required to build | ||
# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android | ||
# https://github.com/conan-io/conan/issues/16493 | ||
AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar | ||
AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as | ||
RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib | ||
{% set cc = { | ||
"armv7": "armv7a-linux-androideabi" + api_level + "-clang", | ||
"armv8": "aarch64-linux-android" + api_level + "-clang", | ||
"x86": "i686-linux-android" + api_level + "-clang", | ||
"x86_64": "x86_64-linux-android" + api_level + "-clang", | ||
}[arch] %} | ||
CC={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}} | ||
CXX={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++ | ||
LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld | ||
STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{% set android_home = os.getenv("ANDROID_HOME") %} | ||
{% set ndk_version = "26.3.11579264" %} | ||
{% set api_level = "23" %} | ||
{% set arch = "x86_64" %} | ||
|
||
[settings] | ||
os=Android | ||
os.api_level={{api_level}} | ||
arch={{arch}} | ||
build_type=RelWithDebInfo | ||
compiler=clang | ||
compiler.version=17 | ||
compiler.cppstd=20 | ||
compiler.libcxx=c++_static | ||
|
||
[conf] | ||
tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} | ||
|
||
[buildenv] | ||
# Cross compile toolchain evn vars are required to build | ||
# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android | ||
# https://github.com/conan-io/conan/issues/16493 | ||
AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar | ||
AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as | ||
RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib | ||
{% set cc = { | ||
"armv7": "armv7a-linux-androideabi" + api_level + "-clang", | ||
"armv8": "aarch64-linux-android" + api_level + "-clang", | ||
"x86": "i686-linux-android" + api_level + "-clang", | ||
"x86_64": "x86_64-linux-android" + api_level + "-clang", | ||
}[arch] %} | ||
CC={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}} | ||
CXX={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++ | ||
LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld | ||
STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,11 @@ | ||
[settings] | ||
os=Linux | ||
arch=x86_64 | ||
build_type=Release | ||
build_type=RelWithDebInfo | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is the reason for changing this? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you explain this?
I assume this means a request to build everything as Release, but only odr.core as RelWithDebInfo ? I assume that if we build it like that, there will be less debug info in dependencies. Most of pdf crashes happens not in odr.core, but somewhere deep in libpng, called by either fontforge or poppler, because pdf2htmlEX supplied the wrong argument somewhere. I assume Release instead of RelWithDebInfo for deep dependencies would give less info during crashes. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes my intention here was to only have debug symbols for I think I was also facing some multi config issues with Android. Ultimately this should not necessarily drive our decision here. I think There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
compiler=clang | ||
compiler.version=15 | ||
compiler.cppstd=17 | ||
compiler.cppstd=20 | ||
compiler.libcxx=libstdc++11 | ||
os=Linux | ||
|
||
[conf] | ||
tools.build:compiler_executables={'c': 'clang-15', 'cpp': 'clang++-15'} |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we live without this? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We need to keep default/ubuntu profile as the build profile, it's not the host profile. We could get rid of default and just keep ubuntu and then explicitly specify it as |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
default |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't the android config
tools.android:ndk_path
also set the build environment via the toolchain? Why do we need the build tools set manually?