[unification] Move //zircon/system/ulib/kernel-mexec to the GN build

Affected libraries:
//zircon/system/ulib/kernel-mexec

Generated with //scripts/unification/move_cpp_library.py

Bug: 36548
Change-Id: I9f5b30b059c48de7f2da3e11c9de95a4885408fb
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/378117
Commit-Queue: Theodore Dubois <tbodt@google.com>
Reviewed-by: P.Y. Laligand <pylaligand@google.com>
diff --git a/zircon/system/core/svchost/BUILD.gn b/zircon/system/core/svchost/BUILD.gn
index c901abd..844f032b3 100644
--- a/zircon/system/core/svchost/BUILD.gn
+++ b/zircon/system/core/svchost/BUILD.gn
@@ -56,7 +56,6 @@
     "//zircon/public/lib/async-loop-default",
     "//zircon/public/lib/fdio",
     "//zircon/public/lib/fs",
-    "//zircon/public/lib/kernel-mexec",
     "//zircon/public/lib/logger",
     "//zircon/public/lib/svc",
     "//zircon/public/lib/sysmem-connector",
@@ -81,6 +80,7 @@
     "//zircon/system/fidl/fuchsia-virtualconsole:c",
     "//zircon/system/ulib/kcounter",
     "//zircon/system/ulib/kernel-debug",
+    "//zircon/system/ulib/kernel-mexec",
     "//zircon/system/ulib/profile",
   ]
   output_dir = "$root_out_dir/zircon-migrated"
diff --git a/zircon/system/ulib/BUILD.gn b/zircon/system/ulib/BUILD.gn
index a2ede8e..ff8c307 100644
--- a/zircon/system/ulib/BUILD.gn
+++ b/zircon/system/ulib/BUILD.gn
@@ -282,7 +282,6 @@
 #------------------
 #------------------
 #------------------
-    "kernel-mexec",
 #------------------
 #------------------
     "keysafe",
diff --git a/zircon/system/ulib/kernel-mexec/BUILD.gn b/zircon/system/ulib/kernel-mexec/BUILD.gn
index 7935437..8ca7cf7 100644
--- a/zircon/system/ulib/kernel-mexec/BUILD.gn
+++ b/zircon/system/ulib/kernel-mexec/BUILD.gn
@@ -2,23 +2,34 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+##########################################
+# Though under //zircon, this build file #
+# is meant to be used in the Fuchsia GN  #
+# build.                                 #
+# See fxb/36548.                         #
+##########################################
+
+assert(!defined(zx) || zx != "/",
+       "This file can only be used in the Fuchsia GN build.")
+
+import("//build/unification/zx_library.gni")
+
 zx_library("kernel-mexec") {
   sdk = "source"
   sdk_headers = [ "lib/kernel-mexec/kernel-mexec.h" ]
   sources = [ "kernel-mexec.cc" ]
   deps = [
-    "$zx/system/fidl/fuchsia-device-manager:c",
-    "$zx/system/fidl/fuchsia-kernel:c",
-    "$zx/system/ulib/async",
-    "$zx/system/ulib/ddk",
-    "$zx/system/ulib/fbl",
-    "$zx/system/ulib/fidl",
-    "$zx/system/ulib/fidl-async",
-    "$zx/system/ulib/fzl",
-    "$zx/system/ulib/libzbi",
-    "$zx/system/ulib/zircon",
-    "$zx/system/ulib/zircon-internal",
-    "$zx/system/ulib/zx",
+    "//zircon/public/lib/async",
+    "//zircon/public/lib/ddk",
+    "//zircon/public/lib/fbl",
+    "//zircon/public/lib/fidl",
+    "//zircon/public/lib/fidl-async",
+    "//zircon/public/lib/fzl",
+    "//zircon/public/lib/libzbi",
+    "//zircon/public/lib/zircon-internal",
+    "//zircon/public/lib/zx",
+    "//zircon/system/fidl/fuchsia-device-manager:c",
+    "//zircon/system/fidl/fuchsia-kernel:c",
   ]
-  public_deps = [ "$zx/system/ulib/svc:headers" ]
+  public_deps = [ "//zircon/public/lib/svc" ]
 }
diff --git a/zircon/system/ulib/kernel-mexec/test/BUILD.gn b/zircon/system/ulib/kernel-mexec/test/BUILD.gn
index 7645927..3eefdea 100644
--- a/zircon/system/ulib/kernel-mexec/test/BUILD.gn
+++ b/zircon/system/ulib/kernel-mexec/test/BUILD.gn
@@ -38,12 +38,12 @@
     "//zircon/public/lib/fidl",
     "//zircon/public/lib/fidl-async",
     "//zircon/public/lib/fs",
-    "//zircon/public/lib/kernel-mexec",
     "//zircon/public/lib/libzbi",
     "//zircon/public/lib/svc",
     "//zircon/public/lib/zx",
     "//zircon/public/lib/zxtest",
     "//zircon/system/fidl/fuchsia-device-manager:c",
+    "//zircon/system/ulib/kernel-mexec",
   ]
 }