From 68f58255bd31bab84d935bcf9c5ee85da921db9d Mon Sep 17 00:00:00 2001 From: Jerry Belton <jcecil@google.com> Date: Mon, 13 May 2019 20:06:33 +0000 Subject: [PATCH] [sdk] Added dist_dir property to the cc_prebuilt_library SDK atom. Bug: DX-537 Testing: * sdk archive builds correctly. * workspace generated properly * Tests pass if I use the same version of bazel as infra (0.17) Change-Id: I185546362facc44cc7b94e9fd59456b9c6ede49a --- build/cpp/gen_sdk_prebuilt_meta_file.py | 4 ++++ build/cpp/sdk_shared_library.gni | 2 ++ build/sdk/meta/cc_prebuilt_library.json | 5 +++++ build/zircon/zircon_library.gni | 5 +++++ 4 files changed, 16 insertions(+) diff --git a/build/cpp/gen_sdk_prebuilt_meta_file.py b/build/cpp/gen_sdk_prebuilt_meta_file.py index b38ec63dbee..2c7d3330277 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 9d022f9c1a4..65f73d13ed3 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 17a81e0a1f4..72624b591a7 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 314548d46b6..a528e351836 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") { -- GitLab