Add gcm, nfc and bluetooth to GN build.

TBR=jamesr

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283486 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/components/gcm_driver/BUILD.gn b/components/gcm_driver/BUILD.gn
new file mode 100644
index 0000000..23421dc
--- /dev/null
+++ b/components/gcm_driver/BUILD.gn
@@ -0,0 +1,86 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+static_library("gcm_driver") {
+  sources = [
+    "android/component_jni_registrar.cc",
+    "android/component_jni_registrar.h",
+    "default_gcm_app_handler.cc",
+    "default_gcm_app_handler.h",
+    "gcm_activity.cc",
+    "gcm_activity.h",
+    "gcm_app_handler.cc",
+    "gcm_app_handler.h",
+    "gcm_client.cc",
+    "gcm_client.h",
+    "gcm_client_factory.cc",
+    "gcm_client_factory.h",
+    "gcm_client_impl.cc",
+    "gcm_client_impl.h",
+    "gcm_driver.cc",
+    "gcm_driver.h",
+    "gcm_driver_android.cc",
+    "gcm_driver_android.h",
+    "gcm_driver_desktop.cc",
+    "gcm_driver_desktop.h",
+    "gcm_stats_recorder_impl.cc",
+    "gcm_stats_recorder_impl.h",
+    "system_encryptor.cc",
+    "system_encryptor.h",
+  ]
+
+  deps = [
+    "//base",
+    "//components/os_crypt",
+    "//google_apis/gcm",
+    "//net",
+  ]
+
+  if (is_android) {
+    sources -= [
+      "gcm_client_factory.cc",
+      "gcm_client_factory.h",
+      "gcm_client_impl.cc",
+      "gcm_client_impl.h",
+      "gcm_driver_desktop.cc",
+      "gcm_driver_desktop.h",
+      "gcm_stats_recorder_impl.cc",
+      "gcm_stats_recorder_impl.h",
+    ]
+    deps -= [ "//google_apis/gcm" ]
+    deps += [ ":jni_headers" ]
+  }
+}
+
+static_library("test_support") {
+  sources = [
+    "fake_gcm_app_handler.cc",
+    "fake_gcm_app_handler.h",
+    "fake_gcm_client.cc",
+    "fake_gcm_client.h",
+    "fake_gcm_client_factory.cc",
+    "fake_gcm_client_factory.h",
+    "fake_gcm_driver.cc",
+    "fake_gcm_driver.h",
+  ]
+
+  deps = [
+    ":gcm_driver",
+    "//base",
+    "//google_apis/gcm",
+    "//testing/gtest",
+  ]
+
+  if (is_android) {
+    sources -= [
+      "fake_gcm_client.cc",
+      "fake_gcm_client.h",
+      "fake_gcm_client_factory.cc",
+      "fake_gcm_client_factory.h",
+    ]
+    deps -= [ "//google_apis/gcm" ]
+  }
+}
+
+#TODO(GYP) gcm_driver_java gcm_driver_jni_headers