Skip to content

Conversation

qtrampe
Copy link
Contributor

@qtrampe qtrampe commented Sep 17, 2025

Support building it with 16KB page sizes. Changes to build script build_ssl.sh, fine tuning to README.md and updated binaries

@qtrampe qtrampe changed the title Support for 16KB page sizes to build script Support for 16KB page sizes Sep 17, 2025
Copy link
Collaborator

@Issam-b Issam-b left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Rami, added few comments.

README.md Outdated
@@ -1,5 +1,5 @@
# Android OpenSSL support for Qt
OpenSSL scripts and binaries for Android (useful for Qt Android apps)
OpenSSL scripts and binaries for Android - useful with Qt for Android apps.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think 'for' fits better than 'with' here: "..., useful for Qt Android apps"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thx for the comment. The "Qt for Android" is coming from the Qt documentation terminology https://doc.qt.io/qt-6/android.html, so would like to keep that. Re-phrased sentence a bit shorter and simpler for next version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Within #70

qtprojectorg pushed a commit to qt/qt5 that referenced this pull request Sep 23, 2025
This patch adds needed linker flags for FFmpeg Android
compilation to get FFmpeg binary to be compliant for
16KB page size. 16KB page size is compliant with 4KB
page size.

This patch updates Android OpenSSL to be version 3.0.7,
which is build with two NDK's: NDK27c and NDK29-beta2.
Both with 16KB page size support. They are build with KDAB/android_openssl#69
just changing OpenSSL version from 3.1.1 to 3.0.7 and
NDK version from 25.2.9519653 to 27.2.12479018 (27c) and
another build with 29.0.13599879 (beta2). The both build
artefacts are added to CI-files to be usable.

As the 16KB page size is applicable only to 64-bit ABI's
this patch adds the variable to 90-install-ffmpeg.sh files
for android-x86_64 and android-arm64.

Change is picked to all branches using Android 15 or newer
as Android 15 introduced the 16KB page size support.

Fixes: QTBUG-139762
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
qtprojectorg pushed a commit to qt/qt5 that referenced this pull request Sep 26, 2025
This patch adds needed linker flags for FFmpeg Android
compilation to get FFmpeg binary to be compliant for
16KB page size. 16KB page size is compliant with 4KB
page size.

This patch updates Android OpenSSL to be version 3.0.7,
which is build with two NDK's: NDK27c and NDK29-beta2.
Both with 16KB page size support. They are build with
KDAB/android_openssl#69 just
changing OpenSSL version from 3.1.1 to 3.0.7 and NDK
version from 25.2.9519653 to 27.2.12479018 (27c) and
another build with 29.0.13599879 (beta2). The both build
artefacts are added to CI-files to be usable.

As the 16KB page size is applicable only to 64-bit ABI's
this patch adds the variable to 90-install-ffmpeg.sh files
for android-x86_64 and android-arm64.

Change is picked to all branches using Android 15 or newer
as Android 15 introduced the 16KB page size support.

Fixes: QTBUG-139762
Pick-to: 6.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 875297e)
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
@kebekus
Copy link

kebekus commented Sep 28, 2025

@qtrampe @Issam-b This is a quick "thank you" for working on the issue. I appreciate your efforts.

@vimpostor
Copy link
Member

vimpostor commented Oct 8, 2025

There is 16kB page size support by default in OpenSSL since 3.6 as per openssl/openssl#28277, maybe it would make more sense to update from 3.1 to 3.6 for this?

Alternatively just pull in the tiny oneliner patch from that PR and add it to the 15-android.conf patch

patch -p0 <<EOF

@Issam-b
Copy link
Collaborator

Issam-b commented Oct 9, 2025

There is 16kB page size support by default in OpenSSL since 3.6 as per openssl/openssl#28277, maybe it would make more sense to update from 3.1 to 3.6 for this?

OpenSSL 3.6 was released just recently, the builds in this repo are used also for Qt versions like 6.5 and I haven't really tested that yet, so this could be done separately and not under this PR.

Alternatively just pull in the tiny oneliner patch from that PR and add it to the 15-android.conf patch

patch -p0 <<EOF

@vimpostor which PR you refer to?

This patch adds the linker flags for the 64-bit ABI's to build
16KB page size binaries.

It does not distinct OpenSSL versions, as 16KB page sizes are
compliant with 4KB page sizes.

Resolves KDAB#68
@Issam-b Issam-b reopened this Oct 9, 2025
@Issam-b Issam-b merged commit 7533a2b into KDAB:master Oct 9, 2025
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.

4 participants