mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-25 23:55:38 +00:00
(Windows) Added in-tree dependencies build scripts for MinGW.
This commit is contained in:
parent
b7d71693f8
commit
f832bb1cab
|
@ -4,7 +4,7 @@
|
||||||
:: Windows_dependencies_build_MSVC.bat
|
:: Windows_dependencies_build_MSVC.bat
|
||||||
::
|
::
|
||||||
:: Builds the external dependencies in-tree using MSVC.
|
:: Builds the external dependencies in-tree using MSVC.
|
||||||
:: The Windows_dependencies_setup_MSVC.bat script must have been executed before this one.
|
:: The Windows_dependencies_setup_MSVC.bat script must have been executed prior to this.
|
||||||
:: All libraries will be recompiled from scratch every time.
|
:: All libraries will be recompiled from scratch every time.
|
||||||
::
|
::
|
||||||
:: This script needs to run from the root of the repository.
|
:: This script needs to run from the root of the repository.
|
||||||
|
|
55
tools/Windows_dependencies_build_MinGW.sh
Normal file
55
tools/Windows_dependencies_build_MinGW.sh
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
#
|
||||||
|
# EmulationStation Desktop Edition
|
||||||
|
# Windows_dependencies_build_MinGW.sh
|
||||||
|
#
|
||||||
|
# Builds the external dependencies in-tree.
|
||||||
|
# The Windows_dependencies_setup_MinGW.sh script must have been executed prior to this.
|
||||||
|
# All libraries will be recompiled from scratch every time.
|
||||||
|
#
|
||||||
|
# This script needs to run from the root of the repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
# How many CPU threads to use for the compilation.
|
||||||
|
JOBS=4
|
||||||
|
|
||||||
|
if [ ! -f .clang-format ]; then
|
||||||
|
echo "You need to run this script from the root of the repository."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd external
|
||||||
|
|
||||||
|
if [ ! -d pugixml ]; then
|
||||||
|
echo "You need to first run tools/Windows_dependencies_setup_MinGW.sh to download and configure the dependencies."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Building all dependencies in the ./external directory..."
|
||||||
|
|
||||||
|
echo -e "\nBuilding GLEW"
|
||||||
|
cd glew-2.1.0
|
||||||
|
make clean
|
||||||
|
make -j${JOBS} 2>/dev/null
|
||||||
|
cp lib/glew32.dll ../..
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo -e "\nBuilding FreeType"
|
||||||
|
|
||||||
|
cd freetype/build
|
||||||
|
rm -f CMakeCache.txt
|
||||||
|
cmake -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=ON ..
|
||||||
|
make clean
|
||||||
|
make -j${JOBS}
|
||||||
|
cp libfreetype.dll ../../..
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
echo -e "\nBuilding pugixml"
|
||||||
|
cd pugixml
|
||||||
|
rm -f CMakeCache.txt
|
||||||
|
cmake -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=ON .
|
||||||
|
make clean
|
||||||
|
make -j${JOBS}
|
||||||
|
cp libpugixml.dll ../..
|
||||||
|
cd ..
|
|
@ -145,9 +145,9 @@ echo:
|
||||||
echo Setting up OpenSSL
|
echo Setting up OpenSSL
|
||||||
|
|
||||||
if not exist "C:\Program Files\OpenSSL-Win64\libcrypto-1_1-x64.dll" (
|
if not exist "C:\Program Files\OpenSSL-Win64\libcrypto-1_1-x64.dll" (
|
||||||
curl -O https://slproweb.com/download/Win64OpenSSL_Light-1_1_1m.msi
|
curl -O https://slproweb.com/download/Win64OpenSSL_Light-1_1_1m.exe
|
||||||
:: Run the installer.
|
:: Run the installer.
|
||||||
.\Win64OpenSSL_Light-1_1_1m.msi
|
.\Win64OpenSSL_Light-1_1_1m.exe
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Return to the root of the repository.
|
:: Return to the root of the repository.
|
||||||
|
|
97
tools/Windows_dependencies_setup_MinGW.sh
Normal file
97
tools/Windows_dependencies_setup_MinGW.sh
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
#
|
||||||
|
# EmulationStation Desktop Edition
|
||||||
|
# Windows_dependencies_setup_MinGW.sh
|
||||||
|
#
|
||||||
|
# Downloads and prepares the external dependencies for building in-tree.
|
||||||
|
# If the directories already exist they will be removed and the libraries will be downloaded again.
|
||||||
|
#
|
||||||
|
# This script needs to run from the root of the repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ ! -f .clang-format ]; then
|
||||||
|
echo "You need to run this script from the root of the repository."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "Setting up dependencies in the ./external directory..."
|
||||||
|
|
||||||
|
cd external
|
||||||
|
|
||||||
|
echo -e "\nSetting up cURL"
|
||||||
|
rm -rf curl-*
|
||||||
|
|
||||||
|
curl -O https://curl.se/windows/dl-7.80.0_2/curl-7.80.0_2-win64-mingw.zip
|
||||||
|
unzip curl-7.80.0_2-win64-mingw.zip
|
||||||
|
cp -p curl-7.80.0-win64-mingw/bin/libcurl-x64.dll ..
|
||||||
|
|
||||||
|
echo -e "\nSetting up GLEW"
|
||||||
|
rm -rf glew-*
|
||||||
|
|
||||||
|
curl -LO https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0.zip
|
||||||
|
unzip glew-2.1.0.zip
|
||||||
|
|
||||||
|
echo -e "\nSetting up FreeType"
|
||||||
|
rm -rf freetype
|
||||||
|
|
||||||
|
git clone https://github.com/freetype/freetype.git
|
||||||
|
cd freetype
|
||||||
|
git checkout VER-2-11-0
|
||||||
|
mkdir build
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo -e "\nSetting up FreeImage"
|
||||||
|
rm -rf FreeImage
|
||||||
|
|
||||||
|
curl -LO https://downloads.sourceforge.net/project/freeimage/Binary%20Distribution/3.18.0/FreeImage3180Win32Win64.zip
|
||||||
|
7z x FreeImage3180Win32Win64.zip
|
||||||
|
cp -p FreeImage/Dist/x64/FreeImage.dll ..
|
||||||
|
|
||||||
|
echo -e "\nSetting up pugixml"
|
||||||
|
rm -rf pugixml
|
||||||
|
|
||||||
|
git clone git://github.com/zeux/pugixml.git
|
||||||
|
cd pugixml
|
||||||
|
git checkout v1.11.4
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo -e "\nSetting up SDL"
|
||||||
|
rm -rf SDL2-*
|
||||||
|
|
||||||
|
curl -O https://www.libsdl.org/release/SDL2-devel-2.0.18-mingw.tar.gz
|
||||||
|
tar xvzf SDL2-devel-2.0.18-mingw.tar.gz
|
||||||
|
mv SDL2-2.0.18/x86_64-w64-mingw32/include/SDL2 SDL2-2.0.18/
|
||||||
|
cp -p SDL2-2.0.18/x86_64-w64-mingw32/lib/libSDL2main.a ..
|
||||||
|
cp -p SDL2-2.0.18/x86_64-w64-mingw32/bin/SDL2.dll ..
|
||||||
|
|
||||||
|
echo -e "\nSetting up FFmpeg"
|
||||||
|
rm -rf ffmpeg-*
|
||||||
|
|
||||||
|
curl -LO https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n4.4-latest-win64-gpl-shared-4.4.zip
|
||||||
|
unzip ffmpeg-n4.4-latest-win64-gpl-shared-4.4.zip
|
||||||
|
cp -p ffmpeg-n4.4-latest-win64-gpl-shared-4.4/bin/avcodec-58.dll ..
|
||||||
|
cp -p ffmpeg-n4.4-latest-win64-gpl-shared-4.4/bin/avfilter-7.dll ..
|
||||||
|
cp -p ffmpeg-n4.4-latest-win64-gpl-shared-4.4/bin/avformat-58.dll ..
|
||||||
|
cp -p ffmpeg-n4.4-latest-win64-gpl-shared-4.4/bin/avutil-56.dll ..
|
||||||
|
cp -p ffmpeg-n4.4-latest-win64-gpl-shared-4.4/bin/postproc-55.dll ..
|
||||||
|
cp -p ffmpeg-n4.4-latest-win64-gpl-shared-4.4/bin/swresample-3.dll ..
|
||||||
|
cp -p ffmpeg-n4.4-latest-win64-gpl-shared-4.4/bin/swscale-5.dll ..
|
||||||
|
|
||||||
|
echo -e "\nSetting up OpenSSL"
|
||||||
|
|
||||||
|
if [ ! -f /c/Program\ Files/OpenSSL-Win64/libcrypto-1_1-x64.dll ]; then
|
||||||
|
curl -O https://slproweb.com/download/Win64OpenSSL_Light-1_1_1m.exe
|
||||||
|
# Run the installer.
|
||||||
|
./Win64OpenSSL_Light-1_1_1m.exe
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Return to the root of the repository.
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
cp -p /c/Program\ Files/OpenSSL-Win64/libcrypto-1_1-x64.dll .
|
||||||
|
cp -p /c/Program\ Files/OpenSSL-Win64/libssl-1_1-x64.dll .
|
||||||
|
|
||||||
|
echo -e "\nCopying DLL files from Windows\System32"
|
||||||
|
|
||||||
|
cp /c/Windows/System32/vcomp140.dll .
|
Loading…
Reference in a new issue