don't attempt to build browse.* in bootstrap mode
authorEvan Martin <martine@danga.com>
Wed, 4 Jan 2012 23:36:53 +0000 (15:36 -0800)
committerEvan Martin <martine@danga.com>
Wed, 4 Jan 2012 23:36:53 +0000 (15:36 -0800)
bootstrap.py
src/ninja.cc

index 6a7d876..2622075 100755 (executable)
@@ -41,19 +41,17 @@ except OSError, e:
     if e.errno != errno.EEXIST:
         raise
 
-with open('src/browse.py') as browse_py:
-    with open('build/browse_py.h', 'w') as browse_py_h:
-        hex_str = ''.join([hex(ord(c)) for c in browse_py.read()])
-        src = "const char %s[]=\"\n%s\n\";" % ('kBrowsePy', hex_str)
-        browse_py_h.write(src)
-
 sources = []
 for src in glob.glob('src/*.cc'):
     if src.endswith('test.cc') or src.endswith('.in.cc'):
         continue
 
+    filename = os.path.basename(src)
+    if filename == 'browse.cc':  # Depends on generated header.
+        continue
+
     if sys.platform.startswith('win32'):
-        if src.endswith('\\browse.cc') or src.endswith('\\subprocess.cc'):
+        if filename == 'subprocess.cc':
             continue
     else:
         if src.endswith('-win32.cc'):
@@ -69,7 +67,8 @@ if vcdir:
     args = [os.path.join(vcdir, 'bin', 'cl.exe'), '/nologo', '/EHsc', '/DWIN32']
 else:
     args = [os.environ.get('CXX', 'g++'), '-Wno-deprecated',
-            '-DNINJA_PYTHON="' + sys.executable + '"']
+            '-DNINJA_PYTHON="' + sys.executable + '"',
+            '-DNINJA_BOOTSTRAP']
 args.extend(cflags)
 args.extend(ldflags)
 binary = 'ninja.bootstrap'
index e08f2fc..14e6bc9 100644 (file)
@@ -234,7 +234,7 @@ int CmdQuery(State* state, int argc, char* argv[]) {
 
 int CmdBrowse(State* state, const char* ninja_command,
               int argc, char* argv[]) {
-#ifndef WIN32
+#if !defined(WIN32) && !defined(NINJA_BOOTSTRAP)
   if (argc < 1) {
     Error("expected a target to browse");
     return 1;