Skip to content

add fake ios vulkan pc #6

add fake ios vulkan pc

add fake ios vulkan pc #6

name: Build iOS
on:
[push, pull_request]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Build iOS
run: |
git clone --depth 1 https://github.com/KhronosGroup/MoltenVK
ln -s vulkan_ios.pc vulkan.pc
brew install meson pkg-config
# sudo apt install -y meson libxrandr-dev libxxf86vm-dev libxshmfence-dev libxcb-*-dev libx11-xcb-dev libxfixes-dev libdrm-dev libx11-dev
# cp -R /usr/include/X11 include/
# cp -R /usr/include/xcb include/
# cp -R /usr/include/GL/* include/GL/
pip3 install mako
# -Dglx=gallium-xlib \
# -Dglx=dri
envsubst <ios-aarch64 >build-crossfile
meson build-ios-aarch64 \
--prefix="/tmp/mesa" \
--cross-file "build-crossfile" \
-Dmoltenvk-dir=../../../../MoltenVK/MoltenVK \
-Db_lundef=false \
-Dllvm=disabled \
-Dxlib-lease=disabled \
-Degl=disabled \
-Dgbm=disabled \
-Dglx=disabled \
-Dopengl=true \
-Dosmesa=true \
-Dvulkan-drivers= \
-Dgallium-drivers=zink
ninja -C build-ios-aarch64 install
# cp build-ios-aarch64/src/gallium/drivers/zink/libzink.a /tmp/zink/lib/
install_name_tool -change /tmp/zink/lib/libglapi.0.dylib @executable_path/Frameworks/libglapi.0.dylib.framework/libglapi.0.dylib -add_rpath @executable_path/Frameworks/libMoltenVK.dylib.framework /tmp/zink/lib/libOSMesa.8.dylib
- name: Upload libraries
uses: actions/upload-artifact@v2
with:
name: libOSMesa
path: /tmp/mesa