Simple shell that loads a dll and calls an entrypoint function passing in a handle to a pipe created by the shell app.

To achieve this I had to make mojo_system a <(component) so sample_app.dll could link against it. Trung, Darin tells me you had a different idea about how to achieve this. Consider this CL a starting point for the discussion :-)

[email protected]
BUG=

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=227604

Review URL: https://codereview.chromium.org/25895002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227983 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/mojo/mojo.gyp b/mojo/mojo.gyp
index d8f3121..5a869362 100644
--- a/mojo/mojo.gyp
+++ b/mojo/mojo.gyp
@@ -64,10 +64,13 @@
     {
       'target_name': 'mojo_system',
       # TODO(vtl): This should probably be '<(component)'; make it work.
-      'type': 'static_library',
+      'type': '<(component)',
       'dependencies': [
         '../base/base.gyp:base',
       ],
+      'defines': [
+        'MOJO_SYSTEM_IMPLEMENTATION',
+      ],
       'sources': [
         'public/system/core.h',
         'system/core.cc',
@@ -120,5 +123,31 @@
         'system/waiter_unittest.cc',
       ],
     },
+    {
+      'target_name': 'mojo_shell',
+      'type': 'executable',
+      'dependencies': [
+        '../base/base.gyp:base',
+        'mojo_system',
+      ],
+      'sources': [
+        'shell/app_container.cc',
+        'shell/app_container.h',
+        'shell/shell.cc',
+        'shell/switches.cc',
+        'shell/switches.h',
+      ],
+    },
+    {
+      'target_name': 'sample_app',
+      'type': '<(component)',
+      'dependencies': [
+        '../base/base.gyp:base',
+        'mojo_system',
+      ],
+      'sources': [
+        'shell/sample_app.cc',
+      ],
+    },
   ],
 }