Add vulkan variant
This commit is contained in:
		
							parent
							
								
									1bcdb1726e
								
							
						
					
					
						commit
						8ac2985059
					
				
					 7 changed files with 73 additions and 3 deletions
				
			
		
							
								
								
									
										4
									
								
								.github/workflows/build.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/build.yml
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
									
								
							
							
						
						
									
										56
									
								
								scripts.d/45-vulkan.sh
									
										
									
									
									
										Executable 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
									
								
							
							
						
						
									
										5
									
								
								variants/gpl-vulkan.sh
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										5
									
								
								variants/lgpl-vulkan.sh
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
FF_CONFIGURE="--enable-version3"
 | 
			
		||||
FF_CFLAGS=""
 | 
			
		||||
FF_CXXFLAGS=""
 | 
			
		||||
FF_LDFLAGS=""
 | 
			
		||||
GIT_BRANCH="master"
 | 
			
		||||
							
								
								
									
										2
									
								
								variants/win64-gpl-vulkan.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								variants/win64-gpl-vulkan.sh
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
source "$(dirname "$BASH_SOURCE")/win64-gpl.sh"
 | 
			
		||||
							
								
								
									
										2
									
								
								variants/win64-lgpl-vulkan.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								variants/win64-lgpl-vulkan.sh
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
source "$(dirname "$BASH_SOURCE")/win64-gpl.sh"
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue