diff --git a/build/cpp/gen_sdk_prebuilt_meta_file.py b/build/cpp/gen_sdk_prebuilt_meta_file.py
index b38ec63dbee8b4b18c4ccca878d638f3235953be..2c7d3330277b5c7a9863eb4d309d3c7bb47bee87 100755
--- a/build/cpp/gen_sdk_prebuilt_meta_file.py
+++ b/build/cpp/gen_sdk_prebuilt_meta_file.py
@@ -36,6 +36,9 @@ def main():
     parser.add_argument('--include-dir',
                         help='Path to the include directory',
                         required=True)
+    parser.add_argument('--dist-dir',
+                        help='Path to the base directory for prebuilt libraries',
+                        required=True)
     parser.add_argument('--arch',
                         help='Name of the target architecture',
                         required=True)
@@ -65,6 +68,7 @@ def main():
         'format': 'shared',
         'headers': args.headers,
         'include_dir': args.include_dir,
+        'dist_dir': args.dist_dir,
     }
     metadata['binaries'] = {
         args.arch: {
diff --git a/build/cpp/sdk_shared_library.gni b/build/cpp/sdk_shared_library.gni
index 9d022f9c1a47fe88d85bd63b3291ccac09cc969f..65f73d13ed3c3f6bbc7410ff2fdd7066ee95bd57 100644
--- a/build/cpp/sdk_shared_library.gni
+++ b/build/cpp/sdk_shared_library.gni
@@ -227,6 +227,8 @@ template("sdk_shared_library") {
              file_base,
              "--include-dir",
              "$file_base/include",
+             "--dist-dir",
+             "$prebuilt_base/dist",
              "--deps",
            ] + sdk_metas + [ "--headers" ] + sdk_metadata_headers +
            [
diff --git a/build/sdk/meta/cc_prebuilt_library.json b/build/sdk/meta/cc_prebuilt_library.json
index 17a81e0a1f422481de451d9023e3f6e8449580a1..72624b591a7afab8485d33daa109aa0b7fd189b1 100644
--- a/build/sdk/meta/cc_prebuilt_library.json
+++ b/build/sdk/meta/cc_prebuilt_library.json
@@ -46,6 +46,10 @@
           "description": "Path to the base directory for includes",
           "$ref": "common.json#/definitions/file"
         },
+        "dist_dir": {
+          "description": "Path to the base directory for prebuilt libraries.",
+          "$ref": "common.json#/definitions/file"
+        },
         "deps": {
           "description": "List of C/C++ libraries this library depends on",
           "type": "array",
@@ -77,6 +81,7 @@
         "format",
         "headers",
         "include_dir",
+        "dist_dir",
         "root",
 
         "name",
diff --git a/build/zircon/zircon_library.gni b/build/zircon/zircon_library.gni
index 314548d46b62c79b37fb5adf2bd109e31b90b9ad..a528e3518362ace6b2db6d8d18c0f2bd9fdbeabf 100644
--- a/build/zircon/zircon_library.gni
+++ b/build/zircon/zircon_library.gni
@@ -109,6 +109,7 @@ template("zircon_library") {
                              "include_dirs",
                              "install",
                              "lib_dirs",
+                             "dist_dir",
                              "libs",
                              "public_deps",
                              "source_dir",
@@ -251,6 +252,10 @@ template("zircon_library") {
         }
       }
     }
+
+    if (!defined(invoker.sources)) {
+      dist_dir = pkg
+    }
   }
 
   sdk_atom("${library}_sdk") {