15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@echo off 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: Copyright (c) 2011 The Chromium Authors. All rights reserved. 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: Use of this source code is governed by a BSD-style license that can be 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: found in the LICENSE file. 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: Batch file run as build command for chrome_dll.vcproj 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)setlocal 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)set InFile=%~1 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)set SolutionDir=%~2 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)set IntDir=%~3 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)set OutFile=%~4 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)set LastChangeDir=%~5 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)set VarsBat=%IntDir%/vers-vars.bat 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: Put cygwin in the path 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)call %SolutionDir%\..\third_party\cygwin\setup_env.bat 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: Load version digits as environment variables 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cat %SolutionDir%\VERSION | sed "s/\(.*\)/set \1/" > %VarsBat% 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: Load branding strings as environment variables 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)set Distribution="chromium" 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if "%CHROMIUM_BUILD%" == "_google_chrome" set Distribution="google_chrome" 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cat %SolutionDir%app\theme\%Distribution%\BRANDING | sed "s/\(.*\)/set \1/" >> %VarsBat% 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)set OFFICIAL_BUILD=0 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if "%CHROME_BUILD_TYPE%" == "_official" set OFFICIAL_BUILD=1 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: Look if subversion client is available. It may not be available on Windows 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: if downloaded with a tarball or depot_tools is not in the PATH. 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)call svn --version 2>nul 1>nul 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: If not available, just skip getting the revision number. 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if errorlevel 1 goto :NO_SVN 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)goto :SET_ENV 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):NO_SVN 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: Not having svn makes it impossible to determine the current checkout revision 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: number. On normal build, this is not an issue but for official builds, this 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: *can't* be tolerated so issue an error instead. VS will pick it up corectly. 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)set NO_SVN_LEVEL=error 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if "%OFFICIAL_BUILD%" == "0" set NO_SVN_LEVEL=warning 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)echo %0(28) : %NO_SVN_LEVEL% : svn is not installed. 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):SET_ENV 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)python %LastChangeDir%\lastchange.py | sed "s/\(.*\)/set \1/" >> %VarsBat% 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)call %VarsBat% 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles):: output file 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cat %InFile% | sed "s/@MAJOR@/%MAJOR%/" ^ 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@MINOR@/%MINOR%/" ^ 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@BUILD@/%BUILD%/" ^ 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@PATCH@/%PATCH%/" ^ 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@COMPANY_FULLNAME@/%COMPANY_FULLNAME%/" ^ 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@COMPANY_SHORTNAME@/%COMPANY_SHORTNAME%/" ^ 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@PRODUCT_FULLNAME@/%PRODUCT_FULLNAME%/" ^ 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@PRODUCT_SHORTNAME@/%PRODUCT_SHORTNAME%/" ^ 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@PRODUCT_EXE@/%PRODUCT_EXE%/" ^ 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@COPYRIGHT@/%COPYRIGHT%/" ^ 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@OFFICIAL_BUILD@/%OFFICIAL_BUILD%/" ^ 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) | sed "s/@LASTCHANGE@/%LASTCHANGE%/" > %OutFile% 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)endlocal 65