Use depfiles when building
This saves on incremental compile time if nothing changes.
Change-Id: I18cb2083a5f33f530d73f2f52223a7b7e7c7fc5b
diff --git a/fuchsia/BUILD.gn b/fuchsia/BUILD.gn
index 78734ff..4468513 100644
--- a/fuchsia/BUILD.gn
+++ b/fuchsia/BUILD.gn
@@ -64,9 +64,6 @@
"$va_install_root/lib/libva-magma.so.2",
"$va_install_root/lib/libigdgmm.so.11",
"$va_install_root/iHD_drv_video.so",
-
- # Placeholder is here just to force an incremental build
- "$va_install_root/place_holder",
]
fuchsia_dir = rebase_path("$root_build_dir/../..")
@@ -87,6 +84,8 @@
"//sdk:zircon_sysroot_export",
"//src/graphics/lib/magma/src/libmagma:libmagma_complete($shlib_toolchain)",
]
+
+ depfile = "$root_out_dir/build-intel-media-driver/media-driver.d"
}
}
diff --git a/fuchsia/build.sh b/fuchsia/build.sh
index 505ec6a..fdefe3f 100755
--- a/fuchsia/build.sh
+++ b/fuchsia/build.sh
@@ -33,6 +33,9 @@
mkdir -p $OUT_DIR
+$SCRIPT_DIR/gendepsfile.py $OUT_DIR/media-driver.d --input-dir $FUCHSIA_DIR/third_party/intel/libva \
+ --input-dir $FUCHSIA_DIR/third_party/intel/gmmlib \
+ --input-dir $FUCHSIA_DIR/third_party/intel/media-driver
#
# Build libva with meson
#
diff --git a/fuchsia/gendepsfile.py b/fuchsia/gendepsfile.py
new file mode 100755
index 0000000..c0832fc
--- /dev/null
+++ b/fuchsia/gendepsfile.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+# Copyright 2021 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import argparse
+import os
+import subprocess
+import sys
+import pipes
+
+
+def main():
+ parser = argparse.ArgumentParser("Generate media driver dep file")
+ parser.add_argument("depsfile")
+ parser.add_argument("--input-dir", action='append')
+ args = parser.parse_args()
+
+ find_args = ["find"]
+ find_args += args.input_dir
+ find_args += ["-path", "*/.git", "-prune", "-o", "-type", "f", "-print"]
+
+ files = subprocess.check_output(find_args)
+ file_lines = files.splitlines()
+
+ va_install_dir = "build-intel-media-driver/install"
+
+ print("DEPSFILE", args.depsfile)
+
+ with open(args.depsfile, "w") as depsfile:
+ for output_file in ["lib/libva.so.2", "lib/libva-magma.so.2",
+ "lib/libigdgmm.so.11", "iHD_drv_video.so"]:
+ depsfile.write(os.path.join(va_install_dir, output_file) + ": ")
+ depsfile.write(" ".join(x.replace(' ', '\\ ') for x in file_lines))
+ depsfile.write("\n")
+ return 0
+
+
+if __name__ == "__main__":
+ sys.exit(main())