summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/base.gyp30
-rw-r--r--base/file_version_info_linux.h.version26
-rwxr-xr-xchrome/tools/build/linux/version.sh50
3 files changed, 106 insertions, 0 deletions
diff --git a/base/base.gyp b/base/base.gyp
index 15963ba..da7a0df 100644
--- a/base/base.gyp
+++ b/base/base.gyp
@@ -320,6 +320,36 @@
],
'conditions': [
[ 'OS == "linux"', {
+ 'actions': [
+ {
+ 'action_name': 'linux_version',
+ 'variables': {
+ 'template_input_path': 'file_version_info_linux.h.version'
+ },
+ 'inputs': [
+ '<(template_input_path)',
+ '../chrome/VERSION',
+ '../chrome/tools/build/linux/version.sh',
+ ],
+ 'conditions': [
+ [ 'branding == "Chrome"', {
+ 'inputs': ['../chrome/app/theme/google_chrome/BRANDING']
+ }, { # else branding!="Chrome"
+ 'inputs': ['../chrome/app/theme/chromium/BRANDING']
+ }],
+ ],
+ 'outputs': [
+ '<(INTERMEDIATE_DIR)/base/file_version_info_linux.h',
+ ],
+ 'action': [
+ '../chrome/tools/build/linux/version.sh',
+ '<(template_input_path)', '<@(_outputs)', '../chrome'
+ ],
+ },
+ ],
+ 'include_dirs': [
+ '<(INTERMEDIATE_DIR)',
+ ],
'sources/': [ ['exclude', '_(mac|win)\\.cc$'],
['exclude', '\\.mm?$' ] ],
'sources!': [
diff --git a/base/file_version_info_linux.h.version b/base/file_version_info_linux.h.version
new file mode 100644
index 0000000..88bf234
--- /dev/null
+++ b/base/file_version_info_linux.h.version
@@ -0,0 +1,26 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef BASE_FILE_VERSION_INFO_LINUX_H_
+#define BASE_FILE_VERSION_INFO_LINUX_H_
+
+#define COMPANY_NAME L"@COMPANY_FULLNAME@"
+#define FILE_DESCRIPTION L"@PRODUCT_FULLNAME@"
+#define FILE_VERSION L"@MAJOR@.@MINOR@.@BUILD@.@PATCH@"
+#define LEGAL_COPYRIGHT L"@COPYRIGHT@"
+#define PRODUCT_NAME L"@PRODUCT_FULLNAME@"
+#define PRODUCT_VERSION L"@MAJOR@.@MINOR@.@BUILD@.@PATCH@"
+#define COMPANY_SHORT_NAME L"@COMPANY_SHORTNAME@"
+#define PRODUCT_SHORT_NAME L"@PRODUCT_SHORTNAME@"
+#define LAST_CHANGE L"@LASTCHANGE@"
+#define OFFICIAL_BUILD @OFFICIAL_BUILD@
+// TODO(mmoss) Do these have values for Linux?
+#define INTERNAL_NAME L""
+#define ORIGINAL_FILENAME L""
+#define PRIVATE_BUILD L""
+#define SPECIAL_BUILD L""
+#define COMMENTS L""
+#define LEGAL_TRADEMARKS L""
+
+#endif // BASE_FILE_VERSION_INFO_LINUX_H_
diff --git a/chrome/tools/build/linux/version.sh b/chrome/tools/build/linux/version.sh
new file mode 100755
index 0000000..2b6bb61
--- /dev/null
+++ b/chrome/tools/build/linux/version.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# Copyright (c) 2009 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# TODO(mmoss) This is (mostly) just a conversion to sh syntax of
+# tools/build/win/version.bat. Rewrite both as common python.
+
+TMPL="$1"
+OUTFILE="$2"
+CHROMEDIR="$3"
+
+# Load version digits as environment variables.
+source "$CHROMEDIR/VERSION"
+
+# Load branding strings as environment variables
+DISTRIBUTION="chromium"
+if [ "$CHROMIUM_BUILD" = "_google_chrome" ]; then
+ DISTRIBUTION="google_chrome"
+fi
+# Make sure the string values are quoted.
+eval $(sed -e 's/\([^=]*\)=\(.*\)/\1="\2"/' \
+ "$CHROMEDIR/app/theme/$DISTRIBUTION/BRANDING")
+
+# Determine the current repository revision number.
+LASTCHANGE=$(svn info 2>/dev/null | grep "Revision:" | cut -d" " -f2-)
+if [ -z "$LASTCHANGE" ]; then
+ # Maybe it's a git client
+ LASTCHANGE=$(git-svn info 2>/dev/null | grep "Revision:" | cut -d" " -f2-)
+fi
+
+OFFICIAL_BUILD="false"
+if [ "$CHROME_BUILD_TYPE" = "_official" ]; then
+ OFFICIAL_BUILD="true"
+fi
+
+# TODO(mmoss) Make sure no sed special chars in substitutions.
+sed -e "s/@MAJOR@/$MAJOR/" \
+ -e "s/@MINOR@/$MINOR/" \
+ -e "s/@BUILD@/$BUILD/" \
+ -e "s/@PATCH@/$PATCH/" \
+ -e "s/@COMPANY_FULLNAME@/$COMPANY_FULLNAME/" \
+ -e "s/@COMPANY_SHORTNAME@/$COMPANY_SHORTNAME/" \
+ -e "s/@PRODUCT_FULLNAME@/$PRODUCT_FULLNAME/" \
+ -e "s/@PRODUCT_SHORTNAME@/$PRODUCT_SHORTNAME/" \
+ -e "s/@PRODUCT_EXE@/$PRODUCT_EXE/" \
+ -e "s/@COPYRIGHT@/$COPYRIGHT/" \
+ -e "s/@OFFICIAL_BUILD@/$OFFICIAL_BUILD/" \
+ -e "s/@LASTCHANGE@/$LASTCHANGE/" "$TMPL" > "$OUTFILE"