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
 | 
					      fail-fast: false
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        target: [win64]
 | 
					        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:
 | 
					    steps:
 | 
				
			||||||
      - name: Checkout
 | 
					      - name: Checkout
 | 
				
			||||||
        uses: actions/checkout@v2
 | 
					        uses: actions/checkout@v2
 | 
				
			||||||
| 
						 | 
					@ -82,7 +82,7 @@ jobs:
 | 
				
			||||||
      fail-fast: false
 | 
					      fail-fast: false
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        target: [win64]
 | 
					        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:
 | 
					    steps:
 | 
				
			||||||
      - name: Checkout
 | 
					      - name: Checkout
 | 
				
			||||||
        uses: actions/checkout@v2
 | 
					        uses: actions/checkout@v2
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,7 @@ ENV DEBIAN_FRONTEND noninteractive
 | 
				
			||||||
RUN \
 | 
					RUN \
 | 
				
			||||||
    apt-get -y update && \
 | 
					    apt-get -y update && \
 | 
				
			||||||
    apt-get -y dist-upgrade && \
 | 
					    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
 | 
					    apt-get -y clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ADD run_stage.sh /usr/bin/run_stage
 | 
					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