Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
4a918c6
temp commit - for testing latest physx
nick-l-o3de Oct 3, 2025
710cfde
Support for physx latest on linux in the package system
nick-l-o3de Oct 3, 2025
7d83f8b
Merge pull request #1 from nick-l-o3de/update_physx5
iamjbq Feb 28, 2026
58d8204
Updated package version and git tag, pointed remove back to o3de/PhysX
iamjbq Mar 1, 2026
6e218bd
Merge branch 'o3de:main' into update_physx_5.6.1
iamjbq Apr 4, 2026
de52f48
Merge branch 'o3de:main' into update_physx_5.6.1
iamjbq Apr 24, 2026
dde8216
Fix for DCO of previous commits
iamjbq Apr 24, 2026
c081ac6
Merge branch 'o3de:main' into update_physx_5.6.1
iamjbq May 5, 2026
21b9626
Added current CUDA version comment + DCO fix for missing sign-off
iamjbq May 6, 2026
5e87edb
Add conditional for Linux disk space resize (#372)
amzn-changml May 9, 2026
20bf3a6
Qt6 add patch file for recursion check (#373)
spham-amzn May 17, 2026
49d7035
Build Pyside6 (#369)
guillaume-haerinck May 18, 2026
41e85aa
Fix qt6 for mac (#374)
spham-amzn May 24, 2026
5226845
Deploy the Qt6 wayland platform plugin set on Linux
nickschuetz Jun 4, 2026
7f18d9b
Pin bundled Qt6 package dirs in FindQt.cmake against system Qt contam…
nickschuetz Jun 4, 2026
b74f465
qt-linux: deploy the wayland platform plugin set and pin bundled pack…
nickschuetz Jun 5, 2026
f89ca2a
RPATH fix for pyside6 on Linux
spham-amzn Jun 6, 2026
88e7ceb
Mac-arm64 support for pyside 6 (#377)
spham-amzn Jun 6, 2026
b43c2d3
Additional RPATH fixes for the QT python site-libraries
spham-amzn Jun 6, 2026
c43ad42
Update qt6 dependency for linux
spham-amzn Jun 6, 2026
a469f98
Fix qtpath for updated qt dependency
spham-amzn Jun 7, 2026
59d7601
RPATH fix for pyside6 on Linux (#381)
nickschuetz Jun 7, 2026
561ddcd
Fix rpath for shiboken_generator/shiboken6
spham-amzn Jun 7, 2026
3b5334b
Bump pyside-linux revision to 3
spham-amzn Jun 7, 2026
3781240
Fix rpath for shiboken_generator/shiboken6 (#382)
nickschuetz Jun 7, 2026
ba69267
Add needed qt components for Wayland.
DrogonMar Jun 9, 2026
f7c4771
bumb rev for qt build_config.json
DrogonMar Jun 10, 2026
89aece7
Add needed qt components for Wayland. (#383)
nickschuetz Jun 10, 2026
69ec6ba
Fix pyside6 shiboken issues (#384)
spham-amzn Jun 17, 2026
e0347b2
Additional Pyside6/Qt6 fixes (#385)
spham-amzn Jul 9, 2026
823cd6d
Bump version for expat for mac-arm64 (#386)
spham-amzn Jul 11, 2026
9d6155c
Android: Add 16KB page size alignment to shared toolchain
byrcolin Jul 15, 2026
84ae49d
Bump OpenSSL 1.1.1 -> 3.6.3 (#387)
jhanca-robotecai Jul 23, 2026
01daa42
Bump revision for DirectX 5 for mac-arm64 (#392)
spham-amzn Aug 3, 2026
af800bf
Android: Add 16KB page size alignment to shared toolchain (#389)
byrcolin Aug 4, 2026
f98dce7
Bump revision for FreeType 5 for mac-arm64 (#392) (#397)
spham-amzn Aug 9, 2026
a88d717
Upgrades to pull_and_build_from_git.py to support upcoming libraries …
nick-l-o3de Aug 12, 2026
5099097
Merge branch 'o3de:main' into update_physx_5.6.1
iamjbq Aug 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/build-container.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,15 @@ jobs:
shell: /bin/bash
install: |
## Set variables. "env" not supported in install phase
export CLANG_VER=12
export CLANG_VER=15
export GCC_VER=9
export SCCACHE_VER=0.5.4
export CMAKE_VER=3.27.6
## Install build dependancies from apt
apt-get update
apt-get install -y build-essential curl git libssl-dev libffi-dev libbz2-dev libgdbm-compat-dev libgdbm-dev liblzma-dev libreadline-dev libtool \
ninja-build python3 python3-pip tcl8.6-dev tk8.6-dev texinfo software-properties-common wget libc6
ninja-build python3 python3-pip tcl8.6-dev tk8.6-dev texinfo software-properties-common wget libc6 \
libgl1-mesa-dev libpcre2-dev chrpath patchelf
python3 -m pip install boto3 certifi
# Install Clang/GCC at specific version
apt-get install -y clang-${CLANG_VER} gcc-${GCC_VER} g++-${GCC_VER}
Expand Down
60 changes: 42 additions & 18 deletions .github/workflows/build-package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
if [[ -n "${PROCESSED_PACKAGES[$PACKAGE]}" ]]; then
continue
fi

PACKPATH=$(echo $LINE | grep -oE "package-system/[^/ ]+" | head -n 1)
if [[ -z "${DOCKERFILE["$PACKAGE"]}" && -n "$PACKPATH" ]]; then
DOCKER=$(test -e ${PACKPATH%% }/Dockerfile* && echo 1 || echo 0) # Assume the build scripts will use the Dockerfile if found in the package path
Expand All @@ -72,7 +72,7 @@ jobs:
PACKAGE_OS="ubuntu-22.04"
echo "OS Image selected for $PACKAGE: $PACKAGE_OS"
elif [[ $PLATFORM =~ "windows" ]]; then
PACKAGE_OS="windows-latest"
PACKAGE_OS="windows-2022"
echo "OS Image selected for $PACKAGE: $PACKAGE_OS"
elif [[ $PLATFORM =~ "darwin-arm64" ]]; then
PACKAGE_OS="macos-15"
Expand All @@ -81,7 +81,7 @@ jobs:
PACKAGE_OS="macos-15-intel"
echo "OS Image selected for $PACKAGE: $PACKAGE_OS"
else
PACKAGE_OS="windows-latest" # Default
PACKAGE_OS="windows-2022" # Default
echo "OS Image selected for $PACKAGE: $PACKAGE_OS (default)"
fi

Expand Down Expand Up @@ -156,15 +156,34 @@ jobs:
git config --global core.longpaths true
echo "uid_gid=$(id -u):$(id -g)" >> $GITHUB_OUTPUT

- name: Expand disk size for Linux
uses: easimon/maximize-build-space@v10
- name: Check disk space
# Check if the workspace has enough free space, otherwise flag the disk for resizing
if: runner.os == 'Linux' && !contains(matrix.os, 'arm')
env:
MIN_FREE_DISK: 70 # in GB
id: check-disk
run: |
AVAIL_GB=$(df ${{ github.workspace }} --output=avail --block-size=1G | tail -1 | tr -d ' ')
echo "Workspace has ${AVAIL_GB}GB available"
if [ "$AVAIL_GB" -lt ${{ env.MIN_FREE_DISK }} ]; then
echo "needs_resize=true" >> $GITHUB_OUTPUT
echo "Workspace has less than ${{ env.MIN_FREE_DISK }}GB available, resizing disk"
else
echo "needs_resize=false" >> $GITHUB_OUTPUT
echo "Workspace has enough free space, skipping disk resize"
fi

- name: Maximize build space
# Resize and combine disks as LVM to maximize space for builds, if below the minimum free space
if: steps.check-disk.outputs.needs_resize == 'true' && runner.os == 'Linux' && !contains(matrix.os, 'arm')
uses: easimon/maximize-build-space@fc881a613ad2a34aca9c9624518214ebc21dfc0c # v10
with:
root-reserve-mb: 20000
root-reserve-mb: 8000
swap-size-mb: 200
remove-dotnet: true
remove-haskell: true
remove-codeql: true
remove-docker-images: true

- name: Checkout 3P source repo
uses: actions/checkout@v4
Expand All @@ -177,7 +196,7 @@ jobs:
with:
repository: o3de/3p-package-scripts
path: scripts

- name: Update python
uses: actions/setup-python@v4
with:
Expand All @@ -202,19 +221,14 @@ jobs:
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe" modify --installPath "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" --add Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64 --add Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL --add Microsoft.VisualStudio.Component.VC.14.29.16.11.CLI.Support --quiet --norestart

- name: Update msbuild path
if: ${{ !contains(matrix.package, 'qt-6') && runner.os == 'Windows' }}
if: ${{ !contains(matrix.package, 'qt-6') && !contains(matrix.package, 'pyside6') && runner.os == 'Windows' }}
uses: ilammy/msvc-dev-cmd@v1.13.0
with:
toolset: 14.29
- name: Install nasm on macos
if: runner.os == 'macOS'
run: |
brew install nasm

- name: Setup Emscripten
uses: mymindstorm/setup-emsdk@v14
with:
version: 4.0.10
brew install nasm patchelf

- name: Setup NDK
env:
Expand Down Expand Up @@ -257,19 +271,29 @@ jobs:
echo ANDROID_NDK=$ndkRoot >> $env:GITHUB_ENV
echo ANDROID_NDK_HOME=$ndkRoot >> $env:GITHUB_ENV
echo ANDROID_NDK_ROOT=$ndkRoot >> $env:GITHUB_ENV

- name: Install clang/gcc
if: runner.os == 'Linux'
env:
CLANG_VER: 12
CLANG_VER: 15
GCC_VER: 9
run: |
sudo apt-get install -y clang-${{ env.CLANG_VER }} gcc-${{ env.GCC_VER }} g++-${{ env.GCC_VER }}
sudo apt-get install -y clang-${{ env.CLANG_VER }} gcc-${{ env.GCC_VER }} g++-${{ env.GCC_VER }} libclang-${{ env.CLANG_VER }}-dev
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ env.CLANG_VER }} 10
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${{ env.CLANG_VER }} 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${{ env.GCC_VER }} 10

- name: Install additional build dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev libpcre2-dev chrpath \
libxkbcommon-dev libxkbcommon-x11-dev \
libx11-dev libxext-dev libxrender-dev \
libxrandr-dev libxinerama-dev libxi-dev \
libxkbfile-dev patchelf

- name: Use sccache
uses: hendrikmuhs/ccache-action@v1.2.10
if: ${{ !contains(matrix.os, 'arm') }} # Set sccache compiler launcher
Expand All @@ -293,7 +317,7 @@ jobs:
# Compatibility with CMake < 3.5 has been removed from CMake.
MACOSX_DEPLOYMENT_TARGET: 13.0 # Set the minimum MacOS version to be compatible with the oldest supported version of MacOS
run: |
python3 scripts/o3de_package_scripts/build_package.py --search_path source ${{ matrix.package }}
python3 source/Scripts/packaging/package.py build ${{ matrix.package }}

- name: Upload packages
uses: actions/upload-artifact@v4
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ packages/
**/temp/**
qt_compile_log.txt
.remote_cache.json
.venv/
build.log
6 changes: 6 additions & 0 deletions Scripts/cmake/Platform/Android/Toolchain_android.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,12 @@ set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH ON)
set(LINKER_FLAGS ${ANDROID_LINKER_FLAGS})
set(CMAKE_CXX_STANDARD_LIBRARIES "")

# 16KB page size support: Required by Google Play for apps targeting Android 15+ devices (Nov 2025).
# These flags ensure all shared libraries have ELF segments aligned to 16KB boundaries,
# which is backward compatible with 4KB-page devices.
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384")

# We need to pass down the Android API Level, and the Package Revision's Major and Minor number as preprocessor values.
# We will extract them from 'ANDROID_NDK_SOURCE_PROPERTIES' which will read from the NDK's properties file.
# (note: we cannot use 'ANDROID_NDK_REVISION' because the toolchain combines the Major and Minor revisions
Expand Down
Loading