Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[build] Pre-build x86 viosock libraries as needed #1234

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions build/build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ set BUILD_SPEC=
set BUILD_ARCH=
set BUILD_FAILED=

rem VSCMD_VER version specific buildtime vars
set VIOSOCK_PREBUILD_X86_LIBS=

rem Parse arguments
:argloop
shift /2
Expand Down Expand Up @@ -162,6 +165,42 @@ set TARGET_VS_CONFIG="%TARGET_PROJ_CONFIG% %BUILD_FLAVOR%|%BUILD_ARCH%"
pushd %BUILD_DIR%
call "%~dp0\SetVsEnv.bat" %TARGET_PROJ_CONFIG%

rem Check for x86 viosock libraries and build them if needed...
if "%BUILD_FILE%"=="virtio-win.sln" (
set VIOSOCK_PREBUILD_X86_LIBS=1
)
if "%BUILD_FILE%"=="viosock.sln" (
set VIOSOCK_PREBUILD_X86_LIBS=1
)
if "%VIOSOCK_PREBUILD_X86_LIBS%" EQU "1" (
if %BUILD_ARCH%==x64 (
if not exist "%BUILD_DIR%viosock\lib\x86\%TARGET%%BUILD_FLAVOR%\viosocklib.dll" (
echo.
echo ATTENTION ^: Need to build x86 viosock libraries before building for amd64...
setlocal
set VIRTIO_WIN_NO_ARM=1
if "%BUILD_FILE%"=="virtio-win.sln" (
pushd "%BUILD_DIR%viosock\lib"
)
if "%BUILD_FILE%"=="viosock.sln" (
pushd "%BUILD_DIR%lib"
)
call ..\..\build\build.bat viosocklib.vcxproj %TARGET% x86
if ERRORLEVEL 1 (
set BUILD_FAILED=1
)
popd
if "%BUILD_FAILED%" EQU "1" (
goto :build_arch_done
)
echo Successfully built the x86 viosock libraries.
echo.
echo Continuing with amd64 build...
endlocal
)
)
)

if /I "!TAG!"=="SDV" (
echo Running SDV for %BUILD_FILE%, configuration %TARGET_VS_CONFIG%
call :runsdv "%TARGET_PROJ_CONFIG% %BUILD_FLAVOR%" %BUILD_ARCH%
Expand All @@ -177,6 +216,7 @@ if /I "!TAG!"=="SDV" (
echo Building %BUILD_FILE%, configuration %TARGET_VS_CONFIG%, command %BUILD_COMMAND%
call :runbuild "%TARGET_PROJ_CONFIG% %BUILD_FLAVOR%" %BUILD_ARCH%
)
:build_arch_done
popd
endlocal

Expand Down