Use --copy-out to generate .bp file.
* The original include command now works without
local patch or post_update.sh.
Bug: 171659849
Test: make
Test: tools/external_updater/updater.sh update --refresh --keep-date rust/crates/clang-sys
Change-Id: Idf0c8519d1aefa6559cb8462d308dca5b5dc81b5
diff --git a/Android.bp b/Android.bp
index 3824501..bf3c356 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,9 +1,22 @@
-// This file is generated by cargo2android.py --run --features=runtime,clang_10_0 --dependencies.
+// This file is generated by cargo2android.py --run --features=runtime,clang_10_0 --dependencies --copy-out.
+
+genrule {
+ name: "copy_clang-sys_build_out",
+ srcs: ["out/*"],
+ cmd: "cp $(in) $(genDir)",
+ out: [
+ "common.rs",
+ "dynamic.rs",
+ ],
+}
rust_library_host {
name: "libclang_sys",
crate_name: "clang_sys",
- srcs: ["src/lib.rs"],
+ srcs: [
+ "src/lib.rs",
+ ":copy_clang-sys_build_out",
+ ],
edition: "2015",
features: [
"clang_10_0",
@@ -29,7 +42,7 @@
}
// dependent_library ["feature_list"]
-// cfg-if-0.1.10
+// cfg-if-1.0.0
// glob-0.3.0
-// libc-0.2.77
-// libloading-0.6.3
+// libc-0.2.80
+// libloading-0.6.5
diff --git a/post_update.sh b/post_update.sh
deleted file mode 100755
index bfcef00..0000000
--- a/post_update.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-# $1 Path to the new version.
-# $2 Path to the old version.
-
-set -x
-set -e
-
-# Change src/link.rs to include files from ../out/
-SRCFILE=src/link.rs
-OLDSTR='include!(concat!(env!("OUT_DIR"), "/common.rs"));'
-NEWSTR='include!("../out/common.rs");'
-sed -i -e "s:$OLDSTR:$NEWSTR:" $SRCFILE
-# Make sure that sed replaced $OLDSTR with $NEWSTR
-grep "$NEWSTR" $SRCFILE > /dev/null
-
-OLDSTR='include!(concat!(env!("OUT_DIR"), "/dynamic.rs"));'
-NEWSTR='include!("../out/dynamic.rs");'
-sed -i -e "s:$OLDSTR:$NEWSTR:" $SRCFILE
-# Make sure that sed replaced $OLDSTR with $NEWSTR
-grep "$NEWSTR" $SRCFILE > /dev/null
diff --git a/src/link.rs b/src/link.rs
index 082eb81..3471549 100644
--- a/src/link.rs
+++ b/src/link.rs
@@ -186,8 +186,8 @@
/// * the `libclang` shared library could not be opened
pub fn load_manually() -> Result<SharedLibrary, String> {
mod build {
- pub mod common { include!("../out/common.rs"); }
- pub mod dynamic { include!("../out/dynamic.rs"); }
+ pub mod common { include!(concat!(env!("OUT_DIR"), "/common.rs")); }
+ pub mod dynamic { include!(concat!(env!("OUT_DIR"), "/dynamic.rs")); }
}
let (directory, filename) = build::dynamic::find(true)?;