@@ -5,6 +5,9 @@ objtree=$2
5
5
lib_src=$3
6
6
bindgen_file=$4
7
7
8
+ dylib_and_extra=' ,"proc_macro_dylib_path":"./rust/libmodule.so","env":{"RUST_BINDINGS_FILE":"' $bindgen_file ' "},
9
+ "source": { "include_dirs": ["' ${objtree} ' /rust/"], "exclude_dirs": []}'
10
+
8
11
# TODO: create issue at RA to accept @arg file
9
12
function generate_cfgs() {
10
13
echo ' ['
@@ -19,7 +22,7 @@ function generate_crate() {
19
22
member=${3:- " true" }
20
23
cfg=${4:- $(generate_cfgs)}
21
24
deps=${5:- ' [{"crate":0,"name":"core"},{"crate":2,"name":"alloc"},{"crate":3,"name":"kernel"}]' }
22
- extra=${6 :- " " }
25
+ extra=${EXTRA :- " " }
23
26
24
27
echo " {
25
28
\" display_name\" :\" $name \" ,
@@ -40,10 +43,8 @@ function generate_kernel() {
40
43
generate_crate " alloc" " ${lib_src} /alloc/src/lib.rs" " false" " []" \
41
44
' [{"crate":0,"name":"core"},{"crate":1,"name":"compiler_builtins"}]'
42
45
echo " ,"
43
- generate_crate " kernel" " ${srctree} /rust/kernel/lib.rs" " true" " $( generate_cfgs) " \
44
- ' [{"crate":0,"name":"core"},{"crate":2,"name":"alloc"}]' \
45
- ' ,"proc_macro_dylib_path":"./rust/libmodule.so","env":{"RUST_BINDINGS_FILE":"' $bindgen_file ' "},
46
- "source": { "include_dirs": ["' ${objtree} ' /rust/"], "exclude_dirs": []}'
46
+ EXTRA=$dylib_and_extra generate_crate " kernel" " ${srctree} /rust/kernel/lib.rs" " true" " $( generate_cfgs) " \
47
+ ' [{"crate":0,"name":"core"},{"crate":2,"name":"alloc"}]'
47
48
echo " ,"
48
49
echo ' {
49
50
"display_name":"module",
@@ -66,7 +67,7 @@ function check_and_generate() {
66
67
echo " checking $filepath " >&2
67
68
if grep -q $objname $makefile ; then
68
69
echo " building crate $name " >&2
69
- echo $( generate_crate " $name " " $filepath " )
70
+ echo $( EXTRA= $dylib_and_extra generate_crate " $name " " $filepath " )
70
71
echo " ,"
71
72
fi
72
73
}
0 commit comments