mirror of
				https://github.com/RetroDECK/Duckstation.git
				synced 2025-04-10 19:15:14 +00:00 
			
		
		
		
	Scripts: Add Windows dependency build scripts
This commit is contained in:
		
							parent
							
								
									cee4f93097
								
							
						
					
					
						commit
						3d8e63da9e
					
				
							
								
								
									
										3
									
								
								dep/msvc/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								dep/msvc/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | |||
| deps-arm64/ | ||||
| deps-x64/ | ||||
| 
 | ||||
							
								
								
									
										171
									
								
								scripts/build-dependencies-windows-arm64.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								scripts/build-dependencies-windows-arm64.bat
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,171 @@ | |||
| @echo off | ||||
| setlocal enabledelayedexpansion | ||||
| 
 | ||||
| echo Setting environment... | ||||
| if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" ( | ||||
|   call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" | ||||
| ) else if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" ( | ||||
|   call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" | ||||
| ) else ( | ||||
|   echo Visual Studio 2022 not found. | ||||
|   goto error | ||||
| ) | ||||
| 
 | ||||
| set SEVENZIP="C:\Program Files\7-Zip\7z.exe" | ||||
| 
 | ||||
| if defined DEBUG ( | ||||
|   echo DEBUG=%DEBUG% | ||||
| ) else ( | ||||
|   set DEBUG=1 | ||||
| ) | ||||
| 
 | ||||
| pushd %~dp0 | ||||
| set "SCRIPTDIR=%CD%" | ||||
| cd ..\dep\msvc | ||||
| mkdir deps-build | ||||
| cd deps-build || goto error | ||||
| set "BUILDDIR=%CD%" | ||||
| cd .. | ||||
| mkdir deps-arm64 | ||||
| cd deps-arm64 || goto error | ||||
| set "INSTALLDIR=%CD%" | ||||
| cd .. | ||||
| cd deps-x64 || goto error | ||||
| set "X64INSTALLDIR=%CD%" | ||||
| cd .. | ||||
| popd | ||||
| 
 | ||||
| echo SCRIPTDIR=%SCRIPTDIR% | ||||
| echo BUILDDIR=%BUILDDIR% | ||||
| echo INSTALLDIR=%INSTALLDIR% | ||||
| 
 | ||||
| cd "%BUILDDIR%" | ||||
| 
 | ||||
| set QT=6.5.2 | ||||
| set QTMINOR=6.5 | ||||
| set SDL=SDL2-2.28.2 | ||||
| 
 | ||||
| call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" 22383a6b242bac072f949d2b3854cf04c6856cae7a87eaa78c60dd733b71e41e || goto error | ||||
| call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" f770a087e350d688441880d08ad2791465e5e3b9a0f8fc2cfbeb5dd305a11d50 || goto error | ||||
| call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" 9757899b00eea4e6b65f81f922c0215c70969661567398d91da6639a50a788e7 || goto error | ||||
| call :downloadfile "qtsvg-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtsvg-everywhere-src-%QT%.zip" 0546a6aa19f5e0188d1ba4a0e0a1423d22b7dc55ce8a614cc4aa65bfac506f74 || goto error | ||||
| call :downloadfile "qttools-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttools-everywhere-src-%QT%.zip" 3148f4f263bf9930d89107eb44bc452481a5f8c6178459e26ecbf3c8dca3b5c7 || goto error | ||||
| call :downloadfile "qttranslations-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttranslations-everywhere-src-%QT%.zip" 8b99046b54c40106d4e310be63b41331b717cfd8b42da4b4fc1c9169604be7fc || goto error | ||||
| 
 | ||||
| call :downloadfile "4b119f48f5cb5e1499f91a0791150231c47430d4.diff" "https://github.com/qt/qtbase/commit/4b119f48f5cb5e1499f91a0791150231c47430d4.diff" d86bd2bd4ee2aff5f5e97da027aa926178dca250d163427eb21503bb357730a5 || goto error | ||||
| 
 | ||||
| if %DEBUG%==1 ( | ||||
|   echo Building debug and release libraries... | ||||
| ) else ( | ||||
|   echo Building release libraries... | ||||
| ) | ||||
| 
 | ||||
| set ARM64TOOLCHAIN=-DCMAKE_TOOLCHAIN_FILE="%SCRIPTDIR%\cmake-toolchain-windows-arm64.cmake" | ||||
| 
 | ||||
| echo Building SDL... | ||||
| rmdir /S /Q "%SDL%" | ||||
| %SEVENZIP% x "%SDL%.zip" || goto error | ||||
| cd "%SDL%" || goto error | ||||
| if %DEBUG%==1 ( | ||||
|   cmake -B build-debug %ARM64TOOLCHAIN% -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DSDL_SHARED=ON -DSDL_STATIC=OFF -G Ninja || goto error | ||||
|   cmake --build build-debug --parallel || goto error | ||||
|   ninja -C build-debug install || goto error | ||||
| ) | ||||
| cmake -B build %ARM64TOOLCHAIN% -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DSDL_SHARED=ON -DSDL_STATIC=OFF -G Ninja || goto error | ||||
| cmake --build build --parallel || goto error | ||||
| ninja -C build install || goto error | ||||
| cd .. || goto error | ||||
| 
 | ||||
| if %DEBUG%==1 ( | ||||
|   set QTBUILDSPEC=-DCMAKE_CONFIGURATION_TYPES="Release;Debug" -G "Ninja Multi-Config" | ||||
| ) else ( | ||||
|   set QTBUILDSPEC=-DCMAKE_BUILD_TYPE=Release -G Ninja | ||||
| ) | ||||
| 
 | ||||
| echo Building Qt base... | ||||
| rmdir /S /Q "qtbase-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qtbase-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qtbase-everywhere-src-%QT%" || goto error | ||||
| "C:\Program Files\Git\usr\bin\patch" -p1 < ../4b119f48f5cb5e1499f91a0791150231c47430d4.diff || goto error | ||||
| cmake -B build %ARM64TOOLCHAIN% -DFEATURE_sql=OFF -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DQT_HOST_PATH="%X64INSTALLDIR%" -DINPUT_gui=yes -DINPUT_widgets=yes -DINPUT_ssl=yes -DINPUT_openssl=no -DINPUT_schannel=yes %QTBUILDSPEC% || goto error | ||||
| cmake --build build --parallel || goto error | ||||
| ninja -C build install || goto error | ||||
| cd .. || goto error | ||||
| 
 | ||||
| echo Building Qt SVG... | ||||
| rmdir /S /Q "qtsvg-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qtsvg-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qtsvg-everywhere-src-%QT%" || goto error | ||||
| mkdir build || goto error | ||||
| cd build || goto error | ||||
| call "%INSTALLDIR%\bin\qt-configure-module.bat" .. || goto error | ||||
| cmake --build . --parallel || goto error | ||||
| ninja install || goto error | ||||
| cd ..\.. || goto error | ||||
| 
 | ||||
| echo Building Qt Image Formats... | ||||
| rmdir /S /Q "qtimageformats-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qtimageformats-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qtimageformats-everywhere-src-%QT%" || goto error | ||||
| mkdir build || goto error | ||||
| cd build || goto error | ||||
| call "%INSTALLDIR%\bin\qt-configure-module.bat" .. || goto error | ||||
| cmake --build . --parallel || goto error | ||||
| ninja install || goto error | ||||
| cd ..\.. || goto error | ||||
| 
 | ||||
| echo Building Qt Tools... | ||||
| rmdir /S /Q "qtimageformats-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qttools-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qttools-everywhere-src-%QT%" || goto error | ||||
| mkdir build || goto error | ||||
| cd build || goto error | ||||
| call "%INSTALLDIR%\bin\qt-configure-module.bat" .. -- -DFEATURE_assistant=OFF -DFEATURE_clang=OFF -DFEATURE_designer=OFF -DFEATURE_kmap2qmap=OFF -DFEATURE_pixeltool=OFF -DFEATURE_pkg_config=OFF -DFEATURE_qev=OFF -DFEATURE_qtattributionsscanner=OFF -DFEATURE_qtdiag=OFF -DFEATURE_qtplugininfo=OFF || goto error | ||||
| cmake --build . --parallel || goto error | ||||
| ninja install || goto error | ||||
| cd ..\.. || goto error | ||||
| 
 | ||||
| echo Building Qt Translations... | ||||
| rmdir /S /Q "qttranslations-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qttranslations-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qttranslations-everywhere-src-%QT%" || goto error | ||||
| mkdir build || goto error | ||||
| cd build || goto error | ||||
| call "%INSTALLDIR%\bin\qt-configure-module.bat" .. || goto error | ||||
| cmake --build . --parallel || goto error | ||||
| ninja install || goto error | ||||
| cd ..\.. || goto error | ||||
| 
 | ||||
| echo Cleaning up... | ||||
| cd .. | ||||
| rd /S /Q deps-build | ||||
| 
 | ||||
| echo Exiting with success. | ||||
| exit 0 | ||||
| 
 | ||||
| :error | ||||
| echo Failed with error #%errorlevel%. | ||||
| pause | ||||
| exit %errorlevel% | ||||
| 
 | ||||
| :downloadfile | ||||
| if not exist "%~1" ( | ||||
|   echo Downloading %~1 from %~2... | ||||
|   curl -L -o "%~1" "%~2" || goto error | ||||
| ) | ||||
| 
 | ||||
| rem based on https://gist.github.com/gsscoder/e22daefaff9b5d8ac16afb070f1a7971 | ||||
| set idx=0 | ||||
| for /f %%F in ('certutil -hashfile "%~1" SHA256') do ( | ||||
|     set "out!idx!=%%F" | ||||
|     set /a idx += 1 | ||||
| ) | ||||
| set filechecksum=%out1% | ||||
| 
 | ||||
| if /i %~3==%filechecksum% ( | ||||
|     echo Validated %~1. | ||||
|     exit /B 0 | ||||
| ) else ( | ||||
|     echo Expected %~3 got %filechecksum%. | ||||
|     exit /B 1 | ||||
| ) | ||||
							
								
								
									
										165
									
								
								scripts/build-dependencies-windows-x64.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										165
									
								
								scripts/build-dependencies-windows-x64.bat
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,165 @@ | |||
| @echo off | ||||
| setlocal enabledelayedexpansion | ||||
| 
 | ||||
| echo Setting environment... | ||||
| if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( | ||||
|   call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | ||||
| ) else if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( | ||||
|   call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" | ||||
| ) else ( | ||||
|   echo Visual Studio 2022 not found. | ||||
|   goto error | ||||
| ) | ||||
| 
 | ||||
| set SEVENZIP="C:\Program Files\7-Zip\7z.exe" | ||||
| 
 | ||||
| if defined DEBUG ( | ||||
|   echo DEBUG=%DEBUG% | ||||
| ) else ( | ||||
|   set DEBUG=1 | ||||
| ) | ||||
| 
 | ||||
| pushd %~dp0 | ||||
| set "SCRIPTDIR=%CD%" | ||||
| cd ..\dep\msvc | ||||
| mkdir deps-build | ||||
| cd deps-build || goto error | ||||
| set "BUILDDIR=%CD%" | ||||
| cd .. | ||||
| mkdir deps-x64 | ||||
| cd deps-x64 || goto error | ||||
| set "INSTALLDIR=%CD%" | ||||
| popd | ||||
| 
 | ||||
| echo SCRIPTDIR=%SCRIPTDIR% | ||||
| echo BUILDDIR=%BUILDDIR% | ||||
| echo INSTALLDIR=%INSTALLDIR% | ||||
| 
 | ||||
| cd "%BUILDDIR%" | ||||
| 
 | ||||
| set QT=6.5.2 | ||||
| set QTMINOR=6.5 | ||||
| set SDL=SDL2-2.28.2 | ||||
| 
 | ||||
| call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" 22383a6b242bac072f949d2b3854cf04c6856cae7a87eaa78c60dd733b71e41e || goto error | ||||
| call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" f770a087e350d688441880d08ad2791465e5e3b9a0f8fc2cfbeb5dd305a11d50 || goto error | ||||
| call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" 9757899b00eea4e6b65f81f922c0215c70969661567398d91da6639a50a788e7 || goto error | ||||
| call :downloadfile "qtsvg-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtsvg-everywhere-src-%QT%.zip" 0546a6aa19f5e0188d1ba4a0e0a1423d22b7dc55ce8a614cc4aa65bfac506f74 || goto error | ||||
| call :downloadfile "qttools-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttools-everywhere-src-%QT%.zip" 3148f4f263bf9930d89107eb44bc452481a5f8c6178459e26ecbf3c8dca3b5c7 || goto error | ||||
| call :downloadfile "qttranslations-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttranslations-everywhere-src-%QT%.zip" 8b99046b54c40106d4e310be63b41331b717cfd8b42da4b4fc1c9169604be7fc || goto error | ||||
| 
 | ||||
| call :downloadfile "4b119f48f5cb5e1499f91a0791150231c47430d4.diff" "https://github.com/qt/qtbase/commit/4b119f48f5cb5e1499f91a0791150231c47430d4.diff" d86bd2bd4ee2aff5f5e97da027aa926178dca250d163427eb21503bb357730a5 || goto error | ||||
| 
 | ||||
| if %DEBUG%==1 ( | ||||
|   echo Building debug and release libraries... | ||||
| ) else ( | ||||
|   echo Building release libraries... | ||||
| ) | ||||
| 
 | ||||
| echo Building SDL... | ||||
| rmdir /S /Q "%SDL%" | ||||
| %SEVENZIP% x "%SDL%.zip" || goto error | ||||
| cd "%SDL%" || goto error | ||||
| if %DEBUG%==1 ( | ||||
|   cmake -B build-debug -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DSDL_SHARED=ON -DSDL_STATIC=OFF -G Ninja || goto error | ||||
|   cmake --build build-debug --parallel || goto error | ||||
|   ninja -C build-debug install || goto error | ||||
| ) | ||||
| cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DSDL_SHARED=ON -DSDL_STATIC=OFF -G Ninja || goto error | ||||
| cmake --build build --parallel || goto error | ||||
| ninja -C build install || goto error | ||||
| cd .. || goto error | ||||
| 
 | ||||
| if %DEBUG%==1 ( | ||||
|   set QTBUILDSPEC=-DCMAKE_CONFIGURATION_TYPES="Release;Debug" -G "Ninja Multi-Config" | ||||
| ) else ( | ||||
|   set QTBUILDSPEC=-DCMAKE_BUILD_TYPE=Release -G Ninja | ||||
| ) | ||||
| 
 | ||||
| echo Building Qt base... | ||||
| rmdir /S /Q "qtbase-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qtbase-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qtbase-everywhere-src-%QT%" || goto error | ||||
| "C:\Program Files\Git\usr\bin\patch" -p1 < ../4b119f48f5cb5e1499f91a0791150231c47430d4.diff || goto error | ||||
| cmake -B build -DFEATURE_sql=OFF -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DINPUT_gui=yes -DINPUT_widgets=yes -DINPUT_ssl=yes -DINPUT_openssl=no -DINPUT_schannel=yes %QTBUILDSPEC% || goto error | ||||
| cmake --build build --parallel || goto error | ||||
| ninja -C build install || goto error | ||||
| cd .. || goto error | ||||
| 
 | ||||
| echo Building Qt SVG... | ||||
| rmdir /S /Q "qtsvg-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qtsvg-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qtsvg-everywhere-src-%QT%" || goto error | ||||
| mkdir build || goto error | ||||
| cd build || goto error | ||||
| call "%INSTALLDIR%\bin\qt-configure-module.bat" .. || goto error | ||||
| cmake --build . --parallel || goto error | ||||
| ninja install || goto error | ||||
| cd ..\.. || goto error | ||||
| 
 | ||||
| echo Building Qt Image Formats... | ||||
| rmdir /S /Q "qtimageformats-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qtimageformats-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qtimageformats-everywhere-src-%QT%" || goto error | ||||
| mkdir build || goto error | ||||
| cd build || goto error | ||||
| call "%INSTALLDIR%\bin\qt-configure-module.bat" .. || goto error | ||||
| cmake --build . --parallel || goto error | ||||
| ninja install || goto error | ||||
| cd ..\.. || goto error | ||||
| 
 | ||||
| echo Building Qt Tools... | ||||
| rmdir /S /Q "qtimageformats-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qttools-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qttools-everywhere-src-%QT%" || goto error | ||||
| mkdir build || goto error | ||||
| cd build || goto error | ||||
| call "%INSTALLDIR%\bin\qt-configure-module.bat" .. -- -DFEATURE_assistant=OFF -DFEATURE_clang=OFF -DFEATURE_designer=OFF -DFEATURE_kmap2qmap=OFF -DFEATURE_pixeltool=OFF -DFEATURE_pkg_config=OFF -DFEATURE_qev=OFF -DFEATURE_qtattributionsscanner=OFF -DFEATURE_qtdiag=OFF -DFEATURE_qtplugininfo=OFF || goto error | ||||
| cmake --build . --parallel || goto error | ||||
| ninja install || goto error | ||||
| cd ..\.. || goto error | ||||
| 
 | ||||
| echo Building Qt Translations... | ||||
| rmdir /S /Q "qttranslations-everywhere-src-%QT%" | ||||
| %SEVENZIP% x "qttranslations-everywhere-src-%QT%.zip" || goto error | ||||
| cd "qttranslations-everywhere-src-%QT%" || goto error | ||||
| mkdir build || goto error | ||||
| cd build || goto error | ||||
| call "%INSTALLDIR%\bin\qt-configure-module.bat" .. || goto error | ||||
| cmake --build . --parallel || goto error | ||||
| ninja install || goto error | ||||
| cd ..\.. || goto error | ||||
| 
 | ||||
| echo Cleaning up... | ||||
| cd .. | ||||
| rd /S /Q deps-build | ||||
| 
 | ||||
| echo Exiting with success. | ||||
| exit 0 | ||||
| 
 | ||||
| :error | ||||
| echo Failed with error #%errorlevel%. | ||||
| pause | ||||
| exit %errorlevel% | ||||
| 
 | ||||
| :downloadfile | ||||
| if not exist "%~1" ( | ||||
|   echo Downloading %~1 from %~2... | ||||
|   curl -L -o "%~1" "%~2" || goto error | ||||
| ) | ||||
| 
 | ||||
| rem based on https://gist.github.com/gsscoder/e22daefaff9b5d8ac16afb070f1a7971 | ||||
| set idx=0 | ||||
| for /f %%F in ('certutil -hashfile "%~1" SHA256') do ( | ||||
|     set "out!idx!=%%F" | ||||
|     set /a idx += 1 | ||||
| ) | ||||
| set filechecksum=%out1% | ||||
| 
 | ||||
| if /i %~3==%filechecksum% ( | ||||
|     echo Validated %~1. | ||||
|     exit /B 0 | ||||
| ) else ( | ||||
|     echo Expected %~3 got %filechecksum%. | ||||
|     exit /B 1 | ||||
| ) | ||||
							
								
								
									
										4
									
								
								scripts/cmake-toolchain-windows-arm64.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								scripts/cmake-toolchain-windows-arm64.cmake
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | |||
| set(CMAKE_CROSSCOMPILING TRUE) | ||||
| set(CMAKE_SYSTEM_NAME Windows) | ||||
| set(CMAKE_SYSTEM_VERSION 10) | ||||
| set(CMAKE_SYSTEM_PROCESSOR arm64) | ||||
		Loading…
	
		Reference in a new issue
	
	 Stenzek
						Stenzek