gen.py: Stop writing rule cc, GN has no C code.

Collapse cflags and cflags_cc into just cflags.
Also remove $defines from all the template files, nothing ever sets it.

Stop getting include_dirs and cflags off settings, it's never set.
'tool' is always 'cxx', so inline that and stop setting it on each binary.

No behavior change.

Bug: none
Change-Id: Ic01687acbd1e815151ec0308196339b3a2944e0c
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/6641
Commit-Queue: Brett Wilson <brettw@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
diff --git a/build/build_aix.ninja.template b/build/build_aix.ninja.template
index f393e18..7d696b0 100644
--- a/build/build_aix.ninja.template
+++ b/build/build_aix.ninja.template
@@ -1,16 +1,13 @@
-rule cc
-  command = $cc -MMD -MF $out.d $defines $includes $cflags $cflags_c -c $in -o $out
-  description = CC $out
-  depfile = $out.d
-  deps = gcc
 rule cxx
-  command = $cxx -MMD -MF $out.d $defines $includes $cflags $cflags_cc -c $in -o $out
+  command = $cxx -MMD -MF $out.d $includes $cflags -c $in -o $out
   description = CXX $out
   depfile = $out.d
   deps = gcc
+
 rule alink_thin
   command = rm -f $out && $ar rcsT $out $in
   description = AR $out
+
 rule link
   command = $ld $ldflags -o $out $in $libs $solibs
   description = LINK $out
diff --git a/build/build_haiku.ninja.template b/build/build_haiku.ninja.template
index e59854b..ab117fb 100644
--- a/build/build_haiku.ninja.template
+++ b/build/build_haiku.ninja.template
@@ -1,11 +1,5 @@
-rule cc
-  command = $cc -MMD -MF $out.d $defines $includes $cflags $cflags_c -c $in -o $out
-  description = CC $out
-  depfile = $out.d
-  deps = gcc
-
 rule cxx
-  command = $cxx -MMD -MF $out.d $defines $includes $cflags $cflags_cc -c $in -o $out
+  command = $cxx -MMD -MF $out.d $includes $cflags -c $in -o $out
   description = CXX $out
   depfile = $out.d
   deps = gcc
diff --git a/build/build_linux.ninja.template b/build/build_linux.ninja.template
index e59854b..ab117fb 100644
--- a/build/build_linux.ninja.template
+++ b/build/build_linux.ninja.template
@@ -1,11 +1,5 @@
-rule cc
-  command = $cc -MMD -MF $out.d $defines $includes $cflags $cflags_c -c $in -o $out
-  description = CC $out
-  depfile = $out.d
-  deps = gcc
-
 rule cxx
-  command = $cxx -MMD -MF $out.d $defines $includes $cflags $cflags_cc -c $in -o $out
+  command = $cxx -MMD -MF $out.d $includes $cflags -c $in -o $out
   description = CXX $out
   depfile = $out.d
   deps = gcc
diff --git a/build/build_mac.ninja.template b/build/build_mac.ninja.template
index e7dedac..8d75a3c 100644
--- a/build/build_mac.ninja.template
+++ b/build/build_mac.ninja.template
@@ -1,11 +1,5 @@
-rule cc
-  command = $cc -MMD -MF $out.d $defines $includes $cflags $cflags_c -c $in -o $out
-  description = CC $out
-  depfile = $out.d
-  deps = gcc
-
 rule cxx
-  command = $cxx -MMD -MF $out.d $defines $includes $cflags $cflags_cc -c $in -o $out
+  command = $cxx -MMD -MF $out.d $includes $cflags -c $in -o $out
   description = CXX $out
   depfile = $out.d
   deps = gcc
diff --git a/build/build_openbsd.ninja.template b/build/build_openbsd.ninja.template
index f22ccb3..8466900 100644
--- a/build/build_openbsd.ninja.template
+++ b/build/build_openbsd.ninja.template
@@ -1,11 +1,5 @@
-rule cc
-  command = $cc -MMD -MF $out.d $defines $includes $cflags $cflags_c -c $in -o $out
-  description = CC $out
-  depfile = $out.d
-  deps = gcc
-
 rule cxx
-  command = $cxx -MMD -MF $out.d $defines $includes $cflags $cflags_cc -c $in -o $out
+  command = $cxx -MMD -MF $out.d $includes $cflags -c $in -o $out
   description = CXX $out
   depfile = $out.d
   deps = gcc
diff --git a/build/build_win.ninja.template b/build/build_win.ninja.template
index f53fe64..e2ca186 100644
--- a/build/build_win.ninja.template
+++ b/build/build_win.ninja.template
@@ -1,10 +1,5 @@
-rule cc
-  command = ninja -t msvc -- $cc /nologo /showIncludes /FC $defines $includes $cflags $cflags_c /c $in /Fo$out
-  description = CC $out
-  deps = msvc
-
 rule cxx
-  command = ninja -t msvc -- $cxx /nologo /showIncludes /FC $defines $includes $cflags $cflags_cc /c $in /Fo$out
+  command = ninja -t msvc -- $cxx /nologo /showIncludes /FC $includes $cflags /c $in /Fo$out
   description = CXX $out
   deps = msvc
 
diff --git a/build/gen.py b/build/gen.py
index d2305c8..029f834 100755
--- a/build/gen.py
+++ b/build/gen.py
@@ -155,11 +155,10 @@
 
 
 def WriteGenericNinja(path, static_libraries, executables,
-                      cc, cxx, ar, ld, platform, host, options,
-                      cflags=[], cflags_cc=[], ldflags=[], libflags=[],
+                      cxx, ar, ld, platform, host, options,
+                      cflags=[], ldflags=[], libflags=[],
                       include_dirs=[], solibs=[]):
   ninja_header_lines = [
-    'cc = ' + cc,
     'cxx = ' + cxx,
     'ar = ' + ar,
     'ld = ' + ld,
@@ -210,18 +209,14 @@
   ninja_lines = []
   def build_source(src_file, settings):
     ninja_lines.extend([
-        'build %s: %s %s' % (src_to_obj(src_file),
-                             settings['tool'],
-                             escape_path_ninja(
-                                 os.path.relpath(
-                                     os.path.join(REPO_ROOT, src_file),
-                                     os.path.dirname(path)))),
+        'build %s: cxx %s' % (src_to_obj(src_file),
+                              escape_path_ninja(
+                                  os.path.relpath(
+                                      os.path.join(REPO_ROOT, src_file),
+                                      os.path.dirname(path)))),
         '  includes = %s' % ' '.join(
-            ['-I' + escape_path_ninja(dirname) for dirname in
-             include_dirs + settings.get('include_dirs', [])]),
-        '  cflags = %s' % ' '.join(cflags + settings.get('cflags', [])),
-        '  cflags_cc = %s' %
-            ' '.join(cflags_cc + settings.get('cflags_cc', [])),
+            ['-I' + escape_path_ninja(dirname) for dirname in include_dirs]),
+        '  cflags = %s' % ' '.join(cflags),
     ])
 
   for library, settings in static_libraries.items():
@@ -265,23 +260,20 @@
 
 def WriteGNNinja(path, platform, host, options):
   if platform.is_msvc():
-    cc = os.environ.get('CC', 'cl.exe')
     cxx = os.environ.get('CXX', 'cl.exe')
     ld = os.environ.get('LD', 'link.exe')
     ar = os.environ.get('AR', 'lib.exe')
   elif platform.is_aix():
-    cc = os.environ.get('CC', 'gcc')
     cxx = os.environ.get('CXX', 'g++')
     ld = os.environ.get('LD', 'g++')
     ar = os.environ.get('AR', 'ar -X64')
   else:
-    cc = os.environ.get('CC', 'clang')
     cxx = os.environ.get('CXX', 'clang++')
     ld = cxx
     ar = os.environ.get('AR', 'ar')
 
   cflags = os.environ.get('CFLAGS', '').split()
-  cflags_cc = os.environ.get('CXXFLAGS', '').split()
+  cflags += os.environ.get('CXXFLAGS', '').split()
   ldflags = os.environ.get('LDFLAGS', '').split()
   libflags = os.environ.get('LIBFLAGS', '').split()
   include_dirs = [
@@ -338,8 +330,8 @@
         '-Wall',
         '-Wextra',
         '-Wno-unused-parameter',
+        '-std=c++17'
     ])
-    cflags_cc.extend(['-std=c++17'])
 
     if platform.is_linux():
       ldflags.append('-Wl,--as-needed')
@@ -354,11 +346,11 @@
       cflags.append(min_mac_version_flag)
       ldflags.append(min_mac_version_flag)
     elif platform.is_aix():
-      cflags_cc.append('-maix64')
+      cflags.append('-maix64')
       ldflags.append('-maix64')
     elif platform.is_haiku():
-      cflags_cc.append('-fPIC')
-      cflags_cc.extend(['-D_BSD_SOURCE'])
+      cflags.append('-fPIC')
+      cflags.extend(['-D_BSD_SOURCE'])
 
     if platform.is_posix() and not platform.is_haiku():
       ldflags.append('-pthread')
@@ -396,8 +388,6 @@
         '/wd4505',
         '/wd4838',
         '/wd4996',
-    ])
-    cflags_cc.extend([
         '/std:c++17',
         '/GR-',
         '/D_HAS_EXCEPTIONS=0',
@@ -436,7 +426,7 @@
         'src/base/timer/elapsed_timer.cc',
         'src/base/value_iterators.cc',
         'src/base/values.cc',
-      ], 'tool': 'cxx', 'include_dirs': []},
+      ]},
       'gn_lib': {'sources': [
         'src/gn/action_target_generator.cc',
         'src/gn/action_values.cc',
@@ -581,12 +571,11 @@
         'src/util/sys_info.cc',
         'src/util/ticks.cc',
         'src/util/worker_pool.cc',
-      ], 'tool': 'cxx', 'include_dirs': []},
+      ]},
   }
 
   executables = {
-      'gn': {'sources': [ 'src/gn/gn_main.cc' ],
-        'tool': 'cxx', 'include_dirs': [], 'libs': []},
+      'gn': {'sources': [ 'src/gn/gn_main.cc' ], 'libs': []},
 
       'gn_unittests': { 'sources': [
         'src/gn/action_target_generator_unittest.cc',
@@ -663,7 +652,7 @@
         'src/gn/xcode_object_unittest.cc',
         'src/gn/xml_element_writer_unittest.cc',
         'src/util/test/gn_test.cc',
-      ], 'tool': 'cxx', 'include_dirs': [], 'libs': []},
+      ], 'libs': []},
   }
 
   if platform.is_posix():
@@ -703,8 +692,8 @@
   executables['gn']['libs'].extend(static_libraries.keys())
   executables['gn_unittests']['libs'].extend(static_libraries.keys())
 
-  WriteGenericNinja(path, static_libraries, executables, cc, cxx, ar, ld,
-                    platform, host, options, cflags, cflags_cc, ldflags,
+  WriteGenericNinja(path, static_libraries, executables, cxx, ar, ld,
+                    platform, host, options, cflags, ldflags,
                     libflags, include_dirs, libs)