Skip to content

Commit 80d1833

Browse files
committed
Add CI check for PowerPC IBM long double ABI
1 parent c5125b5 commit 80d1833

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

.github/workflows/linux.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,52 @@ jobs:
141141
-DFluidSynth_DIR="$INSTALL_LOCATION/lib/cmake/fluidsynth" \
142142
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
143143
cmake --build consume-install
144+
145+
# Tests to see if FluidSynth will build with GCC for PowerPC targets that use the IBM long double ABI
146+
build-ibm-long-double:
147+
runs-on: ubuntu-latest
148+
container: debian:trixie
149+
150+
steps:
151+
- name: Update apt
152+
run: |
153+
dpkg --add-architecture ppc64el
154+
apt-get update -y
155+
156+
- name: Install Dependencies
157+
run: |
158+
apt-get -yq --no-install-suggests --no-install-recommends install \
159+
git \
160+
gcc-powerpc64le-linux-gnu \
161+
g++-powerpc64le-linux-gnu \
162+
cmake \
163+
cmake-data \
164+
ninja-build
165+
166+
- uses: actions/checkout@v5
167+
with:
168+
submodules: recursive
169+
170+
- name: Configure CMake
171+
run: |
172+
export CC=${{ matrix.CC }}
173+
export CXX=${{ matrix.CXX }}
174+
export CFLAGS="$CFLAGS -mabi=ibmlongdouble -Wno-psabi"
175+
export CXXFLAGS="$CXXFLAGS -mabi=ibmlongdouble -Wno-psabi"
176+
cmake -S . \
177+
-B build \
178+
-G Ninja \
179+
-DCMAKE_SYSTEM_NAME=Linux \
180+
-DCMAKE_SYSTEM_PROCESSOR=ppc64le \
181+
-DCMAKE_C_COMPILER=powerpc64le-linux-gnu-gcc \
182+
-DCMAKE_CXX_COMPILER=powerpc64le-linux-gnu-g++ \
183+
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
184+
-DCMAKE_VERBOSE_MAKEFILE=1 \
185+
-DCMAKE_POSITION_INDEPENDENT_CODE=1 \
186+
-Werror=dev \
187+
-DCMAKE_INSTALL_PREFIX=$INSTALL_LOCATION \
188+
-DNO_GUI=1 \
189+
${{ matrix.CMAKE_FLAGS }}
190+
191+
- name: Build
192+
run: cmake --build build

0 commit comments

Comments
 (0)