Hello community,

here is the log from the commit of package ninja for openSUSE:Factory checked 
in at 2013-02-22 16:55:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ninja (Old)
 and      /work/SRC/openSUSE:Factory/.ninja.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ninja", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/ninja/ninja.changes      2013-01-11 
09:37:24.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ninja.new/ninja.changes 2013-02-22 
16:55:46.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Feb 22 13:22:33 UTC 2013 - [email protected]
+
+- Update to git hash b26d217
+  * Documentation updates
+  * Fix wrong usage of std::string::find
+
+-------------------------------------------------------------------

Old:
----
  ninja-8a4c9e05f7.tar.bz2

New:
----
  ninja-b26d217.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ninja.spec ++++++
--- /var/tmp/diff_new_pack.gIW4CY/_old  2013-02-22 16:55:47.000000000 +0100
+++ /var/tmp/diff_new_pack.gIW4CY/_new  2013-02-22 16:55:47.000000000 +0100
@@ -16,18 +16,19 @@
 #
 
 
-%define _githash 8a4c9e05f7
+%define _githash b26d217
 
 Name:           ninja
 Summary:        A small build system closest in spirit to Make
 License:        Apache-2.0
 Group:          Development/Tools/Building
-Version:        0.0_20121229
+Version:        0.0_20130222
 Release:        0
 Url:            https://github.com/martine/ninja
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  asciidoc
 BuildRequires:  gcc-c++
+BuildRequires:  libxslt-tools
 BuildRequires:  python
 Source0:        ninja-%{_githash}.tar.bz2
 

++++++ ninja-8a4c9e05f7.tar.bz2 -> ninja-b26d217.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/RELEASING new/ninja/RELEASING
--- old/ninja/RELEASING 1970-01-01 01:00:00.000000000 +0100
+++ new/ninja/RELEASING 2013-02-22 14:20:51.000000000 +0100
@@ -0,0 +1,10 @@
+Notes to myself on all the steps to make for a Ninja release.
+
+1. git checkout release; git merge master
+2. fix version number in source (it will likely conflict in the above)
+3. fix version in doc/manual.asciidoc
+4. grep doc/manual.asciidoc for XXX, fix version references
+5. rebuild manual, put in place on website
+6. commit, tag, push
+7. construct release notes from prior notes
+   credits: git shortlog -s --no-merges REV..
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/bootstrap.py new/ninja/bootstrap.py
--- old/ninja/bootstrap.py      2013-01-10 20:39:40.000000000 +0100
+++ new/ninja/bootstrap.py      2013-02-22 14:20:51.000000000 +0100
@@ -96,6 +96,7 @@
                    '-DNINJA_BOOTSTRAP'])
     if options.windows:
         cflags.append('-D_WIN32_WINNT=0x0501')
+        conf_args.append("--platform=mingw")
     if options.x64:
         cflags.append('-m64')
 args.extend(cflags)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/configure.py new/ninja/configure.py
--- old/ninja/configure.py      2013-01-10 20:39:40.000000000 +0100
+++ new/ninja/configure.py      2013-02-22 14:20:51.000000000 +0100
@@ -279,7 +279,8 @@
              'manifest_parser',
              'metrics',
              'state',
-             'util']:
+             'util',
+             'version']:
     objs += cxx(name)
 if platform in ('mingw', 'windows'):
     for name in ['subprocess-win32',
@@ -396,9 +397,14 @@
 
 n.comment('Generate the manual using asciidoc.')
 n.rule('asciidoc',
-       command='asciidoc -a toc -a max-width=45em -o $out $in',
-       description='ASCIIDOC $in')
-manual = n.build(doc('manual.html'), 'asciidoc', doc('manual.asciidoc'))
+       command='asciidoc -b docbook -d book -o $out $in',
+       description='ASCIIDOC $out')
+n.rule('xsltproc',
+       command='xsltproc --nonet doc/docbook.xsl $in > $out',
+       description='XSLTPROC $out')
+xml = n.build(built('manual.xml'), 'asciidoc', doc('manual.asciidoc'))
+manual = n.build(doc('manual.html'), 'xsltproc', xml,
+                 implicit=doc('style.css'))
 n.build('manual', 'phony',
         order_only=manual)
 n.newline()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/doc/docbook.xsl new/ninja/doc/docbook.xsl
--- old/ninja/doc/docbook.xsl   1970-01-01 01:00:00.000000000 +0100
+++ new/ninja/doc/docbook.xsl   2013-02-22 14:20:51.000000000 +0100
@@ -0,0 +1,17 @@
+<!-- This soup of XML is the minimum customization necessary to make the
+     autogenerated manual look ok. -->
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY css SYSTEM "style.css">
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+               version='1.0'>
+  <xsl:import 
href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
+  <xsl:template name="user.head.content"><style>&css;</style></xsl:template>
+  <xsl:template name="body.attributes"></xsl:template>
+  <xsl:param name="generate.toc" select="'book toc'"/>
+  <xsl:param name="chapter.autolabel" select="0" />
+  <xsl:param name="toc.list.type">ul</xsl:param>
+
+  <xsl:output method="html" encoding="utf-8" indent="no"
+              doctype-public=""/>
+</xsl:stylesheet>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/doc/manual.asciidoc 
new/ninja/doc/manual.asciidoc
--- old/ninja/doc/manual.asciidoc       2013-01-10 20:39:40.000000000 +0100
+++ new/ninja/doc/manual.asciidoc       2013-02-22 14:20:51.000000000 +0100
@@ -209,20 +209,22 @@
 Environment variables
 ~~~~~~~~~~~~~~~~~~~~~
 
-Ninja supports one environment variable to control its behavior.
+Ninja supports one environment variable to control its behavior:
+`NINJA_STATUS`, the progress status printed before the rule being run.
 
-`NINJA_STATUS`:: The progress status printed before the rule being run.
 Several placeholders are available:
-* `%s`: The number of started edges.
-* `%t`: The total number of edges that must be run to complete the build.
-* `%p`: The percentage of started edges.
-* `%r`: The number of currently running edges.
-* `%u`: The number of remaining edges to start.
-* `%f`: The number of finished edges.
-* `%o`: Overall rate of finished edges per second
-* `%c`: Current rate of finished edges per second (average over builds 
specified by -j or its default)
-* `%%`: A plain `%` character.
-* The default progress status is `"[%s/%t] "` (note the trailing space
+
+`%s`:: The number of started edges.
+`%t`:: The total number of edges that must be run to complete the build.
+`%p`:: The percentage of started edges.
+`%r`:: The number of currently running edges.
+`%u`:: The number of remaining edges to start.
+`%f`:: The number of finished edges.
+`%o`:: Overall rate of finished edges per second
+`%c`:: Current rate of finished edges per second (average over builds 
specified by -j or its default)
+`%%`:: A plain `%` character.
+
+The default progress status is `"[%s/%t] "` (note the trailing space
 to separate from the build rule). Another example of possible progress status
 could be `"[%u/%r/%f] "`.
 
@@ -354,17 +356,11 @@
 follows an indented set of `variable = value` lines.
 
 The basic example above declares a new rule named `cc`, along with the
-command to run.  (In the context of a rule, the `command` variable is
-special and defines the command to run.  A full list of special
-variables is provided in <<ref_rule,the reference>>.)
-
-Within the context of a rule, three additional special variables are
-available: `$in` expands to the list of input files (`foo.c`) and
-`$out` to the output file (`foo.o`) for the command. For use with
-`$rspfile_content`, there is also `$in_newline`, which is the same as
-`$in`, except that multiple inputs are separated by `\n`, rather than
-spaces.
-
+command to run.  In the context of a rule, the `command` variable
+defines the command to run, `$in` expands to the list of
+input files (`foo.c`), and `$out` to the output files (`foo.o`) for the
+command.  A full list of special variables is provided in
+<<ref_rule,the reference>>.
 
 Build statements
 ~~~~~~~~~~~~~~~~
@@ -420,6 +416,8 @@
 Pools
 ~~~~~
 
+_Available since Ninja 1.1._
+
 Pools allow you to allocate one or more rules or edges a finite number
 of concurrent jobs which is more tightly restricted than the default
 parallelism.
@@ -532,6 +530,7 @@
 default.
 
 
+[[ref_log]]
 The Ninja log
 ~~~~~~~~~~~~~
 
@@ -545,6 +544,36 @@
 `.ninja_log` will be kept in that directory instead.
 
 
+[[ref_versioning]]
+Version compatibility
+~~~~~~~~~~~~~~~~~~~~~
+
+_Available since Ninja 1.XXX._
+
+Ninja version labels follow the standard major.minor.patch format,
+where the major version is increased on backwards-incompatible
+syntax/behavioral changes and the minor version is increased on new
+behaviors.  Your `build.ninja` may declare a variable named
+`ninja_required_version` that asserts the minimum Ninja version
+required to use the generated file.  For example,
+
+-----
+ninja_required_version = 1.1
+-----
+
+declares that the build file relies on some feature that was
+introduced in Ninja 1.1 (perhaps the `pool` syntax), and that
+Ninja 1.1 or greater must be used to build.  Unlike other Ninja
+variables, this version requirement is checked immediately when
+the variable is encountered in parsing, so it's best to put it
+at the top of the build file.
+
+Ninja always warns if the major versions of Ninja and the
+`ninja_required_version` don't match; a major version change hasn't
+come up yet so it's difficult to predict what behavior might be
+required.
+
+
 Ninja file reference
 --------------------
 
@@ -630,9 +659,22 @@
 considered part of its parent's scope; if it is indented less than the
 previous one, it closes the previous scope.
 
+Top-level variables
+~~~~~~~~~~~~~~~~~~~
+
+Two variables are significant when declared in the outermost file scope.
+
+`builddir`:: a directory for some Ninja output files.  See <<ref_log,the
+  discussion of the build log>>.  (You can also store other build output
+  in this directory.)
+
+`ninja_required_version`:: the minimum verison of Ninja required to process
+  the build correctly.  See <<ref_versioning,the discussion of versioning>>.
+
+
+[[ref_rule]]
 Rule variables
 ~~~~~~~~~~~~~~
-[[ref_rule]]
 
 A `rule` block contains a list of `key = value` declarations that
 affect the processing of the rule.  Here is a full list of special
@@ -674,6 +716,20 @@
   rebuilt if the command line changes; and secondly, they are not
   cleaned by default.
 
+`in`:: the shell-quoted space-separated list of files provided as
+  inputs to the build line referencing this `rule`.  (`$in` is provided
+  solely for convenience; if you need some subset or variant of this
+  list of files, just construct a new variable with that list and use
+  that instead.)
+
+`in_newline`:: the same as `$in` except that multiple inputs are
+  separated by newlines rather than spaces.  (For use with
+  `$rspfile_content`; this works around a bug in the MSVC linker where
+  it uses a fixed-size buffer for processing input.)
+
+`out`:: the shell-quoted space-separated list of files provided as
+  outputs to the build line referencing this `rule`.
+
 `restat`:: if present, causes Ninja to re-stat the command's outputs
   after execution of the command.  Each output whose modification time
   the command did not change will be treated as though it had never
@@ -700,13 +756,9 @@
 build myapp.exe: link a.obj b.obj [possibly many other .obj files]
 ----
 
-Finally, the special `$in` and `$out` variables expand to the
-shell-quoted space-separated list of files provided to the `build`
-line referencing this `rule`.
-
+[[ref_dependencies]]
 Build dependencies
 ~~~~~~~~~~~~~~~~~~
-[[ref_dependencies]]
 
 There are three types of build dependencies which are subtly different.
 
@@ -768,9 +820,9 @@
   foo = bar
 ----
 
+[[ref_scope]]
 Evaluation and scoping
 ~~~~~~~~~~~~~~~~~~~~~~
-[[ref_scope]]
 
 Top-level variable declarations are scoped to the file they occur in.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/doc/style.css new/ninja/doc/style.css
--- old/ninja/doc/style.css     1970-01-01 01:00:00.000000000 +0100
+++ new/ninja/doc/style.css     2013-02-22 14:20:51.000000000 +0100
@@ -0,0 +1,29 @@
+body {
+    margin: 5ex 10ex;
+    max-width: 40em;
+    line-height: 1.4;
+    font-family: sans-serif;
+    font-size: 0.8em;
+}
+h1, h2, h3 {
+    font-weight: normal;
+}
+pre, code {
+    font-family: x, monospace;
+}
+pre {
+    padding: 1ex;
+    background: #eee;
+    border: solid 1px #ddd;
+    min-width: 0;
+    font-size: 90%;
+}
+code {
+    color: #007;
+}
+.chapter {
+    margin-top: 4em;
+}
+p {
+    margin-top: 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/misc/packaging/ninja.spec 
new/ninja/misc/packaging/ninja.spec
--- old/ninja/misc/packaging/ninja.spec 2013-01-10 20:39:40.000000000 +0100
+++ new/ninja/misc/packaging/ninja.spec 2013-02-22 14:20:51.000000000 +0100
@@ -5,8 +5,10 @@
 Group: Development/Tools
 License: Apache 2.0
 URL: https://github.com/martine/ninja
-Source0: %{name}-%{version}-%{release}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
+Source0: %{name}-%{version}-%{rel}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{rel}
+
+BuildRequires: asciidoc
 
 %description
 Ninja is yet another build system. It takes as input the interdependencies of 
files (typically source code and output executables) and
@@ -17,7 +19,7 @@
 seconds to start building after changing one file. Ninja is under a second.
 
 %prep
-%setup -q -n %{name}-%{version}-%{release}
+%setup -q -n %{name}-%{version}-%{rel}
 
 %build
 echo Building..
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/src/graph.cc new/ninja/src/graph.cc
--- old/ninja/src/graph.cc      2013-01-10 20:39:40.000000000 +0100
+++ new/ninja/src/graph.cc      2013-02-22 14:20:51.000000000 +0100
@@ -284,8 +284,10 @@
 bool DependencyScan::LoadDepFile(Edge* edge, const string& path, string* err) {
   METRIC_RECORD("depfile load");
   string content = disk_interface_->ReadFile(path, err);
-  if (!err->empty())
+  if (!err->empty()) {
+    *err = "loading '" + path + "': " + *err;
     return false;
+  }
   // On a missing depfile: return false and empty *err.
   if (content.empty())
     return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/src/manifest_parser.cc 
new/ninja/src/manifest_parser.cc
--- old/ninja/src/manifest_parser.cc    2013-01-10 20:39:40.000000000 +0100
+++ new/ninja/src/manifest_parser.cc    2013-02-22 14:20:51.000000000 +0100
@@ -23,6 +23,7 @@
 #include "metrics.h"
 #include "state.h"
 #include "util.h"
+#include "version.h"
 
 ManifestParser::ManifestParser(State* state, FileReader* file_reader)
   : state_(state), file_reader_(file_reader) {
@@ -66,10 +67,15 @@
     case Lexer::IDENT: {
       lexer_.UnreadToken();
       string name;
-      EvalString value;
-      if (!ParseLet(&name, &value, err))
+      EvalString let_value;
+      if (!ParseLet(&name, &let_value, err))
         return false;
-      env_->AddBinding(name, value.Evaluate(env_));
+      string value = let_value.Evaluate(env_);
+      // Check ninja_required_version immediately so we can exit
+      // before encountering any syntactic surprises.
+      if (name == "ninja_required_version")
+        CheckNinjaVersion(value);
+      env_->AddBinding(name, value);
       break;
     }
     case Lexer::INCLUDE:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/src/msvc_helper_main-win32.cc 
new/ninja/src/msvc_helper_main-win32.cc
--- old/ninja/src/msvc_helper_main-win32.cc     2013-01-10 20:39:40.000000000 
+0100
+++ new/ninja/src/msvc_helper_main-win32.cc     2013-02-22 14:20:51.000000000 
+0100
@@ -44,6 +44,31 @@
   }
 }
 
+void WriteDepFileOrDie(const char* object_path, CLWrapper* cl) {
+  string depfile_path = string(object_path) + ".d";
+  FILE* depfile = fopen(depfile_path.c_str(), "w");
+  if (!depfile) {
+    unlink(object_path);
+    Fatal("opening %s: %s", depfile_path.c_str(), 
GetLastErrorString().c_str());
+  }
+  if (fprintf(depfile, "%s: ", object_path) < 0) {
+    unlink(object_path);
+    fclose(depfile);
+    unlink(depfile_path.c_str());
+    Fatal("writing %s", depfile_path.c_str());
+  }
+  vector<string> headers = cl->GetEscapedResult();
+  for (vector<string>::iterator i = headers.begin(); i != headers.end(); ++i) {
+    if (fprintf(depfile, "%s\n", i->c_str()) < 0) {
+      unlink(object_path);
+      fclose(depfile);
+      unlink(depfile_path.c_str());
+      Fatal("writing %s", depfile_path.c_str());
+    }
+  }
+  fclose(depfile);
+}
+
 }  // anonymous namespace
 
 int MSVCHelperMain(int argc, char** argv) {
@@ -95,17 +120,7 @@
     cl.SetEnvBlock((void*)env.data());
   int exit_code = cl.Run(command);
 
-  string depfile = string(output_filename) + ".d";
-  FILE* output = fopen(depfile.c_str(), "w");
-  if (!output) {
-    Fatal("opening %s: %s", depfile.c_str(), GetLastErrorString().c_str());
-  }
-  fprintf(output, "%s: ", output_filename);
-  vector<string> headers = cl.GetEscapedResult();
-  for (vector<string>::iterator i = headers.begin(); i != headers.end(); ++i) {
-    fprintf(output, "%s\n", i->c_str());
-  }
-  fclose(output);
+  WriteDepFileOrDie(output_filename, &cl);
 
   return exit_code;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/src/ninja.cc new/ninja/src/ninja.cc
--- old/ninja/src/ninja.cc      2013-01-10 20:39:40.000000000 +0100
+++ new/ninja/src/ninja.cc      2013-02-22 14:20:51.000000000 +0100
@@ -41,16 +41,13 @@
 #include "metrics.h"
 #include "state.h"
 #include "util.h"
+#include "version.h"
 
 // Defined in msvc_helper_main-win32.cc.
 int MSVCHelperMain(int argc, char** argv);
 
 namespace {
 
-/// The version number of the current Ninja release.  This will always
-/// be "git" on trunk.
-const char* kVersion = "git";
-
 /// Global information passed into subtools.
 struct Globals {
   Globals() : state(new State()) {}
@@ -109,7 +106,7 @@
 "  -C DIR   change to DIR before doing anything else\n"
 "  -f FILE  specify input build file [default=build.ninja]\n"
 "\n"
-"  -j N     run N jobs in parallel [default=%d]\n"
+"  -j N     run N jobs in parallel [default=%d, derived from CPUs available]\n"
 "  -l N     do not start new jobs if the load average is greater than N\n"
 #ifdef _WIN32
 "           (not yet implemented on Windows)\n"
@@ -121,7 +118,7 @@
 "  -d MODE  enable debugging (use -d list to list modes)\n"
 "  -t TOOL  run a subtool (use -t list to list subtools)\n"
 "    terminates toplevel options; further flags are passed to the tool\n",
-          kVersion, config.parallelism);
+          kNinjaVersion, config.parallelism);
 }
 
 /// Choose a default value for the -j (parallelism) flag.
@@ -772,7 +769,7 @@
         working_dir = optarg;
         break;
       case OPT_VERSION:
-        printf("%s\n", kVersion);
+        printf("%s\n", kNinjaVersion);
         return 0;
       case 'h':
       default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/src/util.cc new/ninja/src/util.cc
--- old/ninja/src/util.cc       2013-01-10 20:39:40.000000000 +0100
+++ new/ninja/src/util.cc       2013-02-22 14:20:51.000000000 +0100
@@ -325,7 +325,7 @@
 }
 #endif
 
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__CYGWIN__)
 double GetLoadAverage() {
   // TODO([email protected]): Find a way to implement it on Windows.
   // Remember to also update Usage() when this is fixed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/src/version.cc new/ninja/src/version.cc
--- old/ninja/src/version.cc    1970-01-01 01:00:00.000000000 +0100
+++ new/ninja/src/version.cc    2013-02-22 14:20:51.000000000 +0100
@@ -0,0 +1,57 @@
+// Copyright 2013 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "version.h"
+
+#include <stdlib.h>
+
+#include "util.h"
+
+const char* kNinjaVersion = "1.1.0.git";
+
+void ParseVersion(const string& version, int* major, int* minor) {
+  size_t end = version.find('.');
+  *major = atoi(version.substr(0, end).c_str());
+  *minor = 0;
+  if (end != string::npos) {
+    size_t start = end + 1;
+    end = version.find('.', start);
+    *minor = atoi(version.substr(start, end).c_str());
+  }
+}
+
+void CheckNinjaVersion(const string& version) {
+  int bin_major, bin_minor;
+  ParseVersion(kNinjaVersion, &bin_major, &bin_minor);
+  int file_major, file_minor;
+  ParseVersion(version, &file_major, &file_minor);
+
+  if (bin_major > file_major) {
+    Warning("ninja executable version (%s) greater than build file "
+            "ninja_required_version (%s); versions may be incompatible.",
+            kNinjaVersion, version.c_str());
+    return;
+  }
+
+  if ((bin_major == file_major && bin_minor < file_minor) ||
+      bin_major < file_major) {
+    Fatal("ninja version (%s) incompatible with build file "
+          "ninja_required_version version (%s).",
+          kNinjaVersion, version.c_str());
+  }
+}
+
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ninja/src/version.h new/ninja/src/version.h
--- old/ninja/src/version.h     1970-01-01 01:00:00.000000000 +0100
+++ new/ninja/src/version.h     2013-02-22 14:20:51.000000000 +0100
@@ -0,0 +1,32 @@
+// Copyright 2013 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef NINJA_VERSION_H_
+#define NINJA_VERSION_H_
+
+#include <string>
+using namespace std;
+
+/// The version number of the current Ninja release.  This will always
+/// be "git" on trunk.
+extern const char* kNinjaVersion;
+
+/// Parse the major/minor components of a version string.
+void ParseVersion(const string& version, int* major, int* minor);
+
+/// Check whether \a version is compatible with the current Ninja version,
+/// aborting if not.
+void CheckNinjaVersion(const string& required_version);
+
+#endif  // NINJA_VERSION_H_

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to