2018-01-18 19:20:43 +03:00
#!/bin/bash
set -e
2018-03-02 19:47:58 +03:00
JOBS = -j5
2018-01-18 19:20:43 +03:00
#./wine/ <-- wine source
#./build/ <-- built files
#./dist/ <-- proton build, ready to distribute
2018-03-02 19:47:58 +03:00
build_freetype( )
{
cd " $TOP " /freetype2
sed -i -e 's/^LIBRARY.*/LIBRARY=libprotonfreetype/' builds/unix/unix-cc.in
bash ./autogen.sh
#freetype 32-bit
cd " $TOP "
mkdir -p build/freetype.win32
cd build/freetype.win32
2018-03-08 21:48:05 +03:00
" $TOP " /freetype2/configure --prefix= " $TOOLS_DIR32 " --without-png --host i686-apple-darwin CFLAGS = '-m32 -g -O2' LDFLAGS = -m32 PKG_CONFIG = false
2018-03-02 19:47:58 +03:00
make $JOBS
make install
2018-03-06 22:07:55 +03:00
cp ./.libs/libprotonfreetype.dylib " $DST_DIR " /lib
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib/libprotonfreetype.dylib
fi
2018-03-02 19:47:58 +03:00
#freetype 64-bit
cd " $TOP "
mkdir -p build/freetype.win64
cd build/freetype.win64
" $TOP " /freetype2/configure --prefix= " $TOOLS_DIR64 " --without-png --host x86_64-apple-darwin PKG_CONFIG = false
make $JOBS
make install
2018-03-06 22:07:55 +03:00
cp ./.libs/libprotonfreetype.dylib " $DST_DIR " /lib64
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib64/libprotonfreetype.dylib
fi
2018-03-02 19:47:58 +03:00
}
build_libpng( )
{
cd " $TOP " /libpng
if [ ! -e 'configure' ] ; then
sed -i -e 's/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@/libprotonpng@PNGLIB_MAJOR@@PNGLIB_MINOR@/' Makefile.am
bash ./autogen.sh
fi
#libpng 32-bit
cd " $TOP "
mkdir -p build/libpng.win32
cd build/libpng.win32
2018-03-08 21:48:05 +03:00
" $TOP " /libpng/configure --prefix= " $TOOLS_DIR32 " --host i686-apple-darwin CFLAGS = '-m32 -g -O2' LDFLAGS = -m32
2018-03-02 19:47:58 +03:00
make $JOBS
make install
2018-03-06 22:07:55 +03:00
cp ./.libs/libprotonpng16.dylib " $DST_DIR " /lib
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib/libprotonpng16.dylib
fi
2018-03-02 19:47:58 +03:00
#libpng 64-bit
cd " $TOP "
mkdir -p build/libpng.win64
cd build/libpng.win64
" $TOP " /libpng/configure --prefix= " $TOOLS_DIR64 " --host x86_64-apple-darwin
make $JOBS
make install
2018-03-06 22:07:55 +03:00
cp ./.libs/libprotonpng16.dylib " $DST_DIR " /lib64
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib64/libprotonpng16.dylib
fi
2018-03-02 19:47:58 +03:00
}
build_libjpeg( )
{
cd " $TOP " /libjpeg-turbo
if [ ! -e 'configure' ] ; then
autoreconf -fiv
fi
#if this fails with an nasm error, install a newer nasm with
#homebrew or the like and put it into your PATH
#libjpeg 32-bit
cd " $TOP "
mkdir -p build/libjpeg.win32
cd build/libjpeg.win32
2018-03-08 21:48:05 +03:00
" $TOP " /libjpeg-turbo/configure --prefix= " $TOOLS_DIR32 " --host i686-apple-darwin CFLAGS = '-O3 -g -m32' LDFLAGS = -m32
2018-03-02 19:47:58 +03:00
make $JOBS
make install
mv " $TOOLS_DIR32 " /lib/lib{ ,proton} jpeg.dylib
cp ./.libs/libjpeg.dylib " $DST_DIR " /lib/libprotonjpeg.dylib
2018-03-06 22:07:55 +03:00
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib/libprotonjpeg.dylib
fi
2018-03-02 19:47:58 +03:00
#libjpeg 64-bit
cd " $TOP "
mkdir -p build/libjpeg.win64
cd build/libjpeg.win64
" $TOP " /libjpeg-turbo/configure --prefix= " $TOOLS_DIR64 " --host x86_64-apple-darwin
make $JOBS
make install
mv " $TOOLS_DIR64 " /lib/lib{ ,proton} jpeg.dylib
cp ./.libs/libjpeg.dylib " $DST_DIR " /lib64/libprotonjpeg.dylib
2018-03-06 22:07:55 +03:00
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib64/libprotonjpeg.dylib
fi
2018-03-02 19:47:58 +03:00
}
2018-03-08 00:27:57 +03:00
build_openal( )
{
#openal 32-bit
cd " $TOP "
mkdir -p build/openal.win32
cd build/openal.win32
cmake " $TOP " /openal-soft -DCMAKE_C_FLAGS= "-m32" -DCMAKE_INSTALL_PREFIX= " $TOOLS_DIR32 "
make $JOBS VERBOSE = 1
make install VERBOSE = 1
cp ./libopenal.dylib " $DST_DIR " /lib/libopenal.1.dylib
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib/libopenal.1.dylib
fi
#openal 64-bit
cd " $TOP "
mkdir -p build/openal.win64
cd build/openal.win64
cmake " $TOP " /openal-soft -DCMAKE_INSTALL_PREFIX= " $TOOLS_DIR64 "
make $JOBS VERBOSE = 1
make install VERBOSE = 1
cp ./libopenal.dylib " $DST_DIR " /lib64/libopenal.1.dylib
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib64/libopenal.1.dylib
fi
}
2018-03-02 19:47:58 +03:00
build_libSDL( )
{
cd " $TOP " /SDL-mirror
bash ./autogen.sh
#libsdl2 32-bit
cd " $TOP "
mkdir -p build/SDL2.win32
cd build/SDL2.win32
2018-03-08 21:48:05 +03:00
" $TOP " /SDL-mirror/configure --prefix= " $TOOLS_DIR32 " --host i686-apple-darwin CFLAGS = '-m32 -g -O2' LDFLAGS = -m32
2018-03-02 19:47:58 +03:00
make $JOBS
make install-hdrs
make install-lib
2018-03-06 22:07:55 +03:00
cp ./build/.libs/libSDL2.dylib " $DST_DIR " /lib
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib/libSDL2.dylib
fi
2018-03-02 19:47:58 +03:00
#libsdl2 64-bit
cd " $TOP "
mkdir -p build/SDL2.win64
cd build/SDL2.win64
" $TOP " /SDL-mirror/configure --prefix= " $TOOLS_DIR64 " --host x86_64-apple-darwin
make $JOBS
make install-hdrs
make install-lib
2018-03-06 22:07:55 +03:00
cp ./build/.libs/libSDL2.dylib " $DST_DIR " /lib64
if [ x" $RELEASE_BUILD " != x ] ; then
$STRIP " $DST_DIR " /lib64/libSDL2.dylib
fi
2018-03-02 19:47:58 +03:00
}
2018-01-18 19:38:13 +03:00
TOP = " $PWD "
2018-03-02 19:47:58 +03:00
MAKE = make
2018-01-18 19:20:43 +03:00
2018-02-07 22:48:25 +03:00
PLATFORM = $( uname)
if [ " $PLATFORM " = = "Darwin" ] ; then
2018-03-08 21:48:05 +03:00
CC = "ccache clang"
2018-02-07 22:48:25 +03:00
AMD64_WRAPPER = ""
I386_WRAPPER = ""
else
2018-03-08 21:48:05 +03:00
CC = "ccache gcc"
2018-02-07 22:48:25 +03:00
AMD64_WRAPPER = "schroot --chroot steamrt_scout_beta_amd64 --"
I386_WRAPPER = "schroot --chroot steamrt_scout_beta_i386 --"
2018-03-23 17:11:38 +03:00
gcc_ver = $( $AMD64_WRAPPER gcc -v 2>& 1 | grep 'gcc version' | cut -d' ' -f3)
gcc_maj = $( echo $gcc_ver | cut -d'.' -f1)
gcc_min = $( echo $gcc_ver | cut -d'.' -f2)
if [ $gcc_maj -lt 5 -o '(' $gcc_maj -eq 5 -a $gcc_min -lt 3 ')' ] ; then
echo "need gcc >= 5.3"
exit 1
fi
2018-02-07 22:48:25 +03:00
fi
2018-03-06 22:07:55 +03:00
if [ " $PLATFORM " = = "Darwin" ] ; then
STRIP = 'strip -x'
else
2018-02-15 19:27:09 +03:00
STRIP = 'strip'
2018-03-06 22:07:55 +03:00
fi
2018-03-21 18:43:41 +03:00
BUILD_COMPONENTS = 'all'
if [ " $# " -ge 2 ] ; then
for ( ( i = 1; i <= $# - 1; i++) ) ; do
if [ " ${ !i } " = = "--build" ] ; then
j = $(( i+1))
BUILD_COMPONENTS = " ${ !j } "
break
fi
done
fi
2018-03-21 18:43:41 +03:00
PACKAGE = false
if [ " $BUILD_COMPONENTS " = = "all" ] ; then
PACKAGE = true
fi
RELEASE_BUILD = 1
INSTALL_PROGRAM_FLAGS = ''
for param in " $@ " ; do
if [ " $param " = = "--release" ] ; then
RELEASE_BUILD = 1
INSTALL_PROGRAM_FLAGS = '-s'
elif [ " $param " = = "--package" ] ; then
PACKAGE = true
fi
done
2018-02-07 22:48:25 +03:00
DST_DIR = " $TOP /build/dist "
TOOLS_DIR64 = " $TOP /build/tools.win64 "
TOOLS_DIR32 = " $TOP /build/tools.win32 "
2018-03-21 18:43:41 +03:00
mkdir -p " $TOP " /dist " $DST_DIR " /bin " $TOP " /build/wine.win32 " $TOP " /build/dist.win32 " $TOP " /build/wine.win64
2018-03-02 19:47:58 +03:00
mkdir -p " $DST_DIR " /lib " $DST_DIR " /lib64 " $TOOLS_DIR64 " /lib64 " $TOOLS_DIR32 " /lib
if [ " $PLATFORM " = = "Darwin" ] ; then
build_freetype
FREETYPE32_CFLAGS = " -I $TOOLS_DIR32 /include/freetype2 "
FREETYPE32_LIBS = " -L $TOOLS_DIR32 /lib -lprotonfreetype -framework CoreServices -framework ApplicationServices -lz "
ac_cv_lib_soname_freetype32 = libprotonfreetype.dylib
FREETYPE64_CFLAGS = " -I $TOOLS_DIR64 /include/freetype2 "
FREETYPE64_LIBS = " -L $TOOLS_DIR64 /lib -lprotonfreetype "
ac_cv_lib_soname_freetype64 = libprotonfreetype.dylib
build_libpng
PNG32_CFLAGS = " -I $TOOLS_DIR32 /include "
PNG32_LIBS = " -L $TOOLS_DIR32 /lib -lprotonpng "
ac_cv_lib_soname_png32 = libprotonpng16.dylib
PNG64_CFLAGS = " -I $TOOLS_DIR64 /include "
PNG64_LIBS = " -L $TOOLS_DIR64 /lib -lprotonpng "
ac_cv_lib_soname_png64 = libprotonpng16.dylib
build_libjpeg
JPEG32_CFLAGS = " -I $TOOLS_DIR32 /include "
JPEG32_LIBS = " -L $TOOLS_DIR32 /lib -lprotonjpeg "
ac_cv_lib_soname_jpeg32 = libprotonjpeg.dylib
JPEG64_CFLAGS = " -I $TOOLS_DIR64 /include "
JPEG64_LIBS = " -L $TOOLS_DIR64 /lib -lprotonjpeg "
ac_cv_lib_soname_jpeg64 = libprotonjpeg.dylib
2018-03-08 00:27:57 +03:00
build_openal
2018-03-02 19:47:58 +03:00
build_libSDL
fi
2018-03-21 18:43:41 +03:00
function build_wine64
{
cd " $TOP " /build/wine.win64
STRIP = " $STRIP " CFLAGS = " -I $TOOLS_DIR64 /include -g -O2 " LDFLAGS = " -L $TOOLS_DIR64 /lib " PKG_CONFIG_PATH = " $TOOLS_DIR64 /lib/pkgconfig " CC = " $CC " \
PNG_CFLAGS = " $PNG64_CFLAGS " PNG_LIBS = " $PNG64_LIBS " ac_cv_lib_soname_png = " $ac_cv_lib_soname_png64 " \
JPEG_CFLAGS = " $JPEG64_CFLAGS " JPEG_LIBS = " $JPEG64_LIBS " ac_cv_lib_soname_jpeg = " $ac_cv_lib_soname_jpeg64 " \
FREETYPE_CFLAGS = " $FREETYPE64_CFLAGS " FREETYPE_LIBS = " $FREETYPE64_LIBS " ac_cv_lib_soname_freetype = " $ac_cv_lib_soname_freetype64 " \
$AMD64_WRAPPER " $TOP " /wine/configure \
--enable-win64 --disable-tests --prefix= " $DST_DIR "
STRIP = " $STRIP " $AMD64_WRAPPER make $JOBS
INSTALL_PROGRAM_FLAGS = " $INSTALL_PROGRAM_FLAGS " STRIP = " $STRIP " $AMD64_WRAPPER make install-lib
INSTALL_PROGRAM_FLAGS = " $INSTALL_PROGRAM_FLAGS " STRIP = " $STRIP " $AMD64_WRAPPER make prefix = " $TOOLS_DIR64 " libdir = " $TOOLS_DIR64 /lib64 " dlldir = " $TOOLS_DIR64 /lib64/wine " install-dev install-lib
rm -f " $DST_DIR " /bin/{ msiexec,notepad,regedit,regsvr32,wineboot,winecfg,wineconsole,winedbg,winefile,winemine,winepath}
rm -rf " $DST_DIR /share/man/ "
}
2018-01-18 19:20:43 +03:00
2018-03-21 18:43:41 +03:00
function build_wine32
{
cd " $TOP " /build/wine.win32
STRIP = " $STRIP " CFLAGS = " -I $TOOLS_DIR32 /include -g -O2 " LDFLAGS = " -L $TOOLS_DIR32 /lib " PKG_CONFIG_PATH = " $TOOLS_DIR32 /lib/pkgconfig " CC = " $CC " \
PNG_CFLAGS = " $PNG32_CFLAGS " PNG_LIBS = " $PNG32_LIBS " ac_cv_lib_soname_png = " $ac_cv_lib_soname_png32 " \
JPEG_CFLAGS = " $JPEG32_CFLAGS " JPEG_LIBS = " $JPEG32_LIBS " ac_cv_lib_soname_jpeg = " $ac_cv_lib_soname_jpeg32 " \
FREETYPE_CFLAGS = " $FREETYPE32_CFLAGS " FREETYPE_LIBS = " $FREETYPE32_LIBS " ac_cv_lib_soname_freetype = " $ac_cv_lib_soname_freetype32 " \
$I386_WRAPPER " $TOP " /wine/configure \
--disable-tests --prefix= " $TOP /build/dist.win32/ "
STRIP = " $STRIP " $I386_WRAPPER make $JOBS
INSTALL_PROGRAM_FLAGS = " $INSTALL_PROGRAM_FLAGS " STRIP = " $STRIP " $I386_WRAPPER make install-lib
INSTALL_PROGRAM_FLAGS = " $INSTALL_PROGRAM_FLAGS " STRIP = " $STRIP " $I386_WRAPPER make prefix = " $TOOLS_DIR32 " libdir = " $TOOLS_DIR32 /lib " dlldir = " $TOOLS_DIR32 /lib/wine " install-dev install-lib
#install 32-bit stuff manually, see
# https://wiki.winehq.org/Packaging#WoW64_Workarounds
cd " $TOP " /build/dist.win32/
cp -a lib " $DST_DIR " /
cp -a bin/wine " $DST_DIR " /bin/
if [ " $PLATFORM " != "Darwin" ] ; then
cp -a bin/wine-preloader " $DST_DIR " /bin/
fi
cp -a bin/wineserver " $DST_DIR " /bin/wineserver32
}
2018-01-18 19:20:43 +03:00
2018-03-21 18:43:41 +03:00
function build_lsteamclient64
{
cd " $TOP "
rm -rf build/lsteamclient.win64
cp -a lsteamclient build/lsteamclient.win64
cd " $TOP " /build/lsteamclient.win64/
$AMD64_WRAPPER " $TOP " /wine/tools/winemaker/winemaker \
--nosource-fix --nolower-include --nodlls --nomsvcrt \
-DSTEAM_API_EXPORTS \
-I" $TOOLS_DIR64 " /include/ \
-I" $TOOLS_DIR64 " /include/wine/ \
-I" $TOOLS_DIR64 " /include/wine/windows/ \
-L" $TOOLS_DIR64 " /lib64/ \
-L" $TOOLS_DIR64 " /lib64/wine/ \
--dll .
CXXFLAGS = "-Wno-attributes -O2" CFLAGS = "-O2 -g" PATH = " $TOOLS_DIR64 /bin: $PATH " $AMD64_WRAPPER make $JOBS
if [ x" $STRIP " != x ] ; then
$AMD64_WRAPPER $STRIP lsteamclient.dll.so
fi
cp -a lsteamclient.dll.so " $DST_DIR " /lib64/wine/
}
2018-01-18 19:38:13 +03:00
2018-03-21 18:43:41 +03:00
function build_lsteamclient32
{
cd " $TOP "
rm -rf build/lsteamclient.win32
cp -a lsteamclient build/lsteamclient.win32
cd " $TOP " /build/lsteamclient.win32/
$I386_WRAPPER " $TOP " /wine/tools/winemaker/winemaker \
--nosource-fix --nolower-include --nodlls --nomsvcrt --wine32 \
-DSTEAM_API_EXPORTS \
-I" $TOOLS_DIR32 " /include/ \
-I" $TOOLS_DIR32 " /include/wine/ \
-I" $TOOLS_DIR32 " /include/wine/windows/ \
-L" $TOOLS_DIR32 " /lib/ \
-L" $TOOLS_DIR32 " /lib/wine/ \
--dll .
CXXFLAGS = "-Wno-attributes -O2" CFLAGS = "-O2 -g" PATH = " $TOOLS_DIR32 /bin: $PATH " $I386_WRAPPER make $JOBS
if [ x" $STRIP " != x ] ; then
$I386_WRAPPER $STRIP lsteamclient.dll.so
fi
cp -a lsteamclient.dll.so " $DST_DIR " /lib/wine/
}
2018-01-18 19:38:13 +03:00
2018-03-21 18:43:41 +03:00
function build_vrclient64
{
cd " $TOP "
rm -rf build/vrclient_x64
cp -a vrclient_x64 build/vrclient_x64
cd " $TOP " /build/vrclient_x64/
$AMD64_WRAPPER " $TOP " /wine/tools/winemaker/winemaker \
--nosource-fix --nolower-include --nodlls --nomsvcrt \
-I" $TOOLS_DIR64 " /include/ \
-I" $TOOLS_DIR64 " /include/wine/ \
-I" $TOOLS_DIR64 " /include/wine/windows/ \
-L" $TOOLS_DIR64 " /lib64/ \
-L" $TOOLS_DIR64 " /lib64/wine/ \
--dll .
CXXFLAGS = "-Wno-attributes -std=c++0x -O2 -g" CFLAGS = "-O2 -g" PATH = " $TOOLS_DIR64 /bin: $PATH " $AMD64_WRAPPER make $JOBS
PATH = " $TOOLS_DIR64 /bin: $PATH " $AMD64_WRAPPER winebuild --dll --fake-module -E vrclient_x64.spec -o vrclient_x64.dll.fake
if [ x" $STRIP " != x ] ; then
$AMD64_WRAPPER $STRIP vrclient_x64.dll.so
fi
cp -a vrclient_x64.dll.so " $DST_DIR " /lib64/wine/
cp -a vrclient_x64.dll.fake " $DST_DIR " /lib64/wine/fakedlls/vrclient_x64.dll
}
2018-01-18 22:57:01 +03:00
2018-03-21 18:43:41 +03:00
function build_vrclient32
{
cd " $TOP "
rm -rf build/vrclient
cp -a vrclient_x64 build/vrclient
cd " $TOP " /build/vrclient/
mv vrclient_x64.spec vrclient.spec
$I386_WRAPPER " $TOP " /wine/tools/winemaker/winemaker \
--nosource-fix --nolower-include --nodlls --nomsvcrt --wine32 \
-I" $TOOLS_DIR32 " /include/ \
-I" $TOOLS_DIR32 " /include/wine/ \
-I" $TOOLS_DIR32 " /include/wine/windows/ \
-L" $TOOLS_DIR32 " /lib/ \
-L" $TOOLS_DIR32 " /lib/wine/ \
--dll .
CXXFLAGS = "-Wno-attributes -std=c++0x -O2 -g" CFLAGS = "-O2 -g" PATH = " $TOOLS_DIR32 /bin: $PATH " $I386_WRAPPER make $JOBS
PATH = " $TOOLS_DIR32 /bin: $PATH " $I386_WRAPPER winebuild --dll --fake-module -E vrclient.spec -o vrclient.dll.fake
if [ x" $STRIP " != x ] ; then
$I386_WRAPPER $STRIP vrclient.dll.so
fi
cp -a vrclient.dll.so " $DST_DIR " /lib/wine/
cp -a vrclient.dll.fake " $DST_DIR " /lib/wine/fakedlls/vrclient.dll
}
2018-01-19 20:03:54 +03:00
2018-03-02 19:47:58 +03:00
if [ " $PLATFORM " != "Darwin" ] ; then
#build dxvk
2018-02-09 19:33:40 +03:00
2018-03-02 19:47:58 +03:00
#Debian 9 is too old to build dxvk, so I gave up and I'm building it on my Arch
#Linux box and checking the binaries into Git instead. Blech. --aeikum
cd " $TOP "
mkdir -p " $DST_DIR " /lib64/wine/dxvk
cp "dxvk.win64/dxgi.dll" " $DST_DIR " /lib64/wine/dxvk/
cp "dxvk.win64/d3d11.dll" " $DST_DIR " /lib64/wine/dxvk/
mkdir -p " $DST_DIR " /lib/wine/dxvk
cp "dxvk.win32/dxgi.dll" " $DST_DIR " /lib/wine/dxvk/
cp "dxvk.win32/d3d11.dll" " $DST_DIR " /lib/wine/dxvk/
#unfortunately the Steam runtime chroot is too old to build dxvk, so
#we have to build it in the host system
#requires meson >= 0.43 and posix thread enabled mingw-w64, on debian:
# update-alternatives --config i686-w64-mingw32-g++
# update-alternatives --config i686-w64-mingw32-gcc
# update-alternatives --config x86_64-w64-mingw32-g++
# update-alternatives --config x86_64-w64-mingw32-gcc
#cd "$TOP"
#if [ ! -e dxvk/proton.win64.built ]; then
# PATH="$TOP"/glslang/bin/:"$PATH" bash ./build_dxvk.sh win64
#fi
#if [ ! -e dxvk/proton.win32.built ]; then
# PATH="$TOP"/glslang/bin/:"$PATH" bash ./build_dxvk.sh win32
#fi
#
#mkdir -p "$DST_DIR"/lib/wine/dxvk
#cp -a dxvk/dist.win32/bin/dxgi.dll "$DST_DIR"/lib/wine/dxvk/
#cp -a dxvk/dist.win32/bin/d3d11.dll "$DST_DIR"/lib/wine/dxvk/
#
#mkdir -p "$DST_DIR"/lib64/wine/dxvk
#cp -a dxvk/dist.win64/bin/dxgi.dll "$DST_DIR"/lib64/wine/dxvk/
#cp -a dxvk/dist.win64/bin/d3d11.dll "$DST_DIR"/lib64/wine/dxvk/
fi
2018-02-09 19:33:40 +03:00
2018-03-21 18:43:41 +03:00
case " $BUILD_COMPONENTS " in
"all" )
build_wine64
build_wine32
build_lsteamclient64
build_lsteamclient32
build_vrclient64
build_vrclient32
; ;
"wine" ) build_wine64; build_wine32 ; ;
"wine32" ) build_wine64 ; ;
"wine64" ) build_wine64 ; ;
"vrclient" ) build_vrclient32; build_vrclient64 ; ;
"vrclient32" ) build_vrclient32 ; ;
"vrclient64" ) build_vrclient64 ; ;
2018-03-21 21:20:58 +03:00
"lsteamclient" ) build_lsteamclient32; build_lsteamclient64 ; ;
"lsteamclient32" ) build_lsteamclient32 ; ;
"lsteamclient64" ) build_lsteamclient64 ; ;
2018-03-21 18:43:41 +03:00
*) echo " Invalid build components: $BUILD_COMPONENTS " ; ;
esac
2018-03-21 18:43:41 +03:00
if [ " $PACKAGE " = true ] ; then
echo "Packaging..."
cd " $TOP "
2018-01-19 20:03:54 +03:00
2018-03-21 18:43:41 +03:00
#the difference between -1 and -9 is about 20 MB, so prioritize quick startup over file size
tar -C build/dist -c . | gzip -c -1 > dist/proton_dist.tar.gz
2018-01-19 20:03:54 +03:00
2018-03-21 18:43:41 +03:00
cp -a toolmanifest.vdf dist/
cp -a filelock.py dist/
cp -a proton dist/
if [ " $PLATFORM " = = "Darwin" ] ; then
2018-03-13 22:17:56 +03:00
cp -a LICENSE.osx dist/LICENSE
2018-03-21 18:43:41 +03:00
else
2018-03-13 22:17:56 +03:00
cp -a LICENSE.lin dist/LICENSE
2018-03-21 18:43:41 +03:00
fi
date '+%s' > dist/version
2018-01-18 22:57:01 +03:00
2018-03-21 18:43:41 +03:00
echo "Proton ready in dist/"
fi