Rename gyp files to produce useful solution names.

Hoist common settings into common.gypi.

Restrict v8's common.gypi to v8 projects.

Ensure v8 doesn't use /MP in debug builds.

Add basic settings for other platforms.

Make uv import common.gypi properly.

Remove LTCG warning.
diff --git a/node.gyp b/node.gyp
index 703b297..bd67d67 100644
--- a/node.gyp
+++ b/node.gyp
@@ -1,64 +1,4 @@
 {
-  'target_defaults': {
-    'default_configuration': 'Debug',
-    'configurations': {
-      # TODO: hoist these out and put them somewhere common, because
-      #       RuntimeLibrary MUST MATCH across the entire project
-      'Debug': {
-        'defines': [ 'DEBUG', '_DEBUG' ],
-        'msvs_settings': {
-          'VCCLCompilerTool': {
-            'RuntimeLibrary': 1, # static debug
-            'Optimization': 0, # /Od, no optimization
-          },
-        },
-      },
-      'Release': {
-        'defines': [ 'NDEBUG' ],
-        'msvs_settings': {
-          'VCCLCompilerTool': {
-            'RuntimeLibrary': 0, # static release
-            'Optimization': 3, # /Ox, full optimization
-            'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
-            'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
-            'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
-          },
-          'VCLinkerTool': {
-            'LinkTimeCodeGeneration': 1, # link-time code generation
-          },
-        },
-      }
-    },
-    'msvs_settings': {
-      'VCCLCompilerTool': {
-        'StringPooling': 'true', # pool string literals
-        'DebugInformationFormat': 3, # Generate a PDB
-        'AdditionalOptions': [
-          '/MP', # compile across multiple CPUs, VC2008 setting
-        ],
-        'MultiProcessorCompilation': 'true', # compile across multiple CPUs, VC2010 setting
-      },
-      'VCLibrarianTool': {
-      },
-      'VCLinkerTool': {
-        'GenerateDebugInformation': 'true',
-      },
-    },
-    'conditions': [
-      ['OS == "win"', {
-        'defines': [
-          'WIN32',
-          # we don't really want VC++ warning us about
-          # how dangerous C functions are...
-          '_CRT_SECURE_NO_DEPRECATE',
-          # ... or that C implementations shouldn't use
-          # POSIX names
-          '_CRT_NONSTDC_NO_DEPRECATE',
-        ],
-      }]
-    ],
-  },
-
   'variables': {
     'v8_use_snapshot': 'true',
     'target_arch': 'ia32',
@@ -73,8 +13,8 @@
 
       'dependencies': [
         'deps/http_parser/http_parser.gyp:http_parser',
-        'deps/v8/tools/gyp/v8.gyp:v8',
-        'deps/uv/all.gyp:uv',
+        'deps/v8/tools/gyp/v8-node.gyp:v8',
+        'deps/uv/uv.gyp:uv',
         'node_js2c#host',
       ],
 
@@ -126,7 +66,7 @@
 
         [ 'OS=="win"', {
           'dependencies': [
-            'deps/uv/deps/pthread-win32/build/all.gyp:pthread-win32',
+            'deps/uv/deps/pthread-win32/pthread-win32.gyp:pthread-win32',
           ],
           # openssl is not built using gyp, and needs to be 
           # built separately and placed outside the hierarchy.
@@ -152,15 +92,6 @@
             # we need to use node's preferred "win32" rather than gyp's preferred "win"
             'PLATFORM="win32"',
           ],
-          'libraries': [
-            '-lws2_32.lib',
-            '-lwinmm.lib',
-          ],
-          'msvs_settings': {
-            'VCCLCompilerTool': {
-              'WarningLevel': '3',
-            },
-          },
         },{ # POSIX
           'defines': [ '__POSIX__' ],
           'sources': [
@@ -178,7 +109,12 @@
           'sources': [ 'src/platform_darwin.cc' ],
           'libraries': [ '-framework Carbon' ],
         }]
-      ]
+      ],
+      'msvs-settings': {
+        'VCLinkerTool': {
+          'SubSystem': 1, # /subsystem:console
+        },
+      },
     },
 
     {
@@ -233,7 +169,6 @@
       },
 
       'actions': [
-
         {
           'action_name': 'node_js2c',
 
@@ -268,7 +203,6 @@
               ],
             }]
           ],
-          'msvs_cygwin_shell': 0,
         },
       ],
     }, # end node_js2c