Add vulkan variant

This commit is contained in:
BtbN 2020-09-07 17:40:37 +02:00
parent 1bcdb1726e
commit 8ac2985059
7 changed files with 73 additions and 3 deletions

View File

@ -57,7 +57,7 @@ jobs:
fail-fast: false
matrix:
target: [win64]
variant: [gpl,lgpl,gpl-4.3,lgpl-4.3]
variant: [gpl,lgpl,gpl-vulkan,lgpl-vulkan,gpl-4.3,lgpl-4.3]
steps:
- name: Checkout
uses: actions/checkout@v2
@ -82,7 +82,7 @@ jobs:
fail-fast: false
matrix:
target: [win64]
variant: [gpl,lgpl,gpl-4.3,lgpl-4.3]
variant: [gpl,lgpl,gpl-vulkan,lgpl-vulkan,gpl-4.3,lgpl-4.3]
steps:
- name: Checkout
uses: actions/checkout@v2

View File

@ -5,7 +5,7 @@ ENV DEBIAN_FRONTEND noninteractive
RUN \
apt-get -y update && \
apt-get -y dist-upgrade && \
apt-get -y install build-essential yasm nasm pkg-config git curl wget cmake unzip subversion autoconf automake libtool cmake clang texinfo texi2html gperf ragel libc6-dev gawk meson ninja-build && \
apt-get -y install build-essential yasm nasm pkg-config git curl wget cmake unzip subversion autoconf automake libtool cmake clang texinfo texi2html gperf ragel libc6-dev gawk meson ninja-build p7zip-full && \
apt-get -y clean
ADD run_stage.sh /usr/bin/run_stage

56
scripts.d/45-vulkan.sh Executable file
View File

@ -0,0 +1,56 @@
#!/bin/bash
LUNARG_VERSION="1.2.148.1"
LUNARG_SRC="https://sdk.lunarg.com/sdk/download/${LUNARG_VERSION}/windows/VulkanSDK-${LUNARG_VERSION}-Installer.exe"
ffbuild_enabled() {
[[ $VARIANT != *vulkan* ]] && return -1
return 0
}
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() {
mkdir vulkan && cd vulkan
if [[ $TARGET == win64 ]]; then
wget --no-cookies -O vulkan.exe "$LUNARG_SRC"
7z x vulkan.exe Include/vulkan Lib/vulkan-1.lib
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
mv Include/* "$FFBUILD_PREFIX"/include/.
mv Lib/* "$FFBUILD_PREFIX"/lib/.
mkdir -p "$FFBUILD_PREFIX"/lib/pkgconfig
cat > "$FFBUILD_PREFIX"/lib/pkgconfig/vulkan.pc <<EOF
prefix=$FFBUILD_PREFIX
libdir=\${prefix}/lib
includedir=\${prefix}/include
Name: Vulkan-Loader
Description: Vulkan Loader
Version: $LUNARG_VERSION
Libs: -L\${libdir} -lvulkan-1 -ladvapi32
Cflags: -I\${includedir}
EOF
else
echo "Target not supported"
return -1
fi
cd ..
rm -rf vulkan
}
ffbuild_configure() {
echo --enable-vulkan
}
ffbuild_unconfigure() {
echo --disable-vulkan
}

5
variants/gpl-vulkan.sh Normal file
View File

@ -0,0 +1,5 @@
FF_CONFIGURE="--enable-gpl --enable-version3"
FF_CFLAGS=""
FF_CXXFLAGS=""
FF_LDFLAGS=""
GIT_BRANCH="master"

5
variants/lgpl-vulkan.sh Normal file
View File

@ -0,0 +1,5 @@
FF_CONFIGURE="--enable-version3"
FF_CFLAGS=""
FF_CXXFLAGS=""
FF_LDFLAGS=""
GIT_BRANCH="master"

View File

@ -0,0 +1,2 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")/win64-gpl.sh"

View File

@ -0,0 +1,2 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")/win64-gpl.sh"