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