@@ -25,8 +25,16 @@ def _dirname(path):
2525def _impl (ctx ):
2626 erl_libs_dir = ctx .label .name + "_deps"
2727
28+ target = None
29+ if ctx .attr .app_name != "" :
30+ target = ErlangAppInfo (
31+ app_name = ctx .attr .app_name ,
32+ include = ctx .files .hdrs ,
33+ )
34+
2835 erl_libs_files = erl_libs_contents (
2936 ctx ,
37+ target_info = target ,
3038 transitive = False ,
3139 headers = True ,
3240 dir = erl_libs_dir ,
@@ -49,6 +57,8 @@ def _impl(ctx):
4957 dest_dir = beam_files [0 ].dirname
5058
5159 include_args = []
60+ if erl_libs_path != "" :
61+ include_args .extend (["-I" , erl_libs_path ])
5262 for dir in unique_dirnames (ctx .files .hdrs ):
5363 include_args .extend (["-I" , dir ])
5464
8696
8797if [ -n "$FIRST" ]; then
8898 "{erlang_home}"/bin/erlc \\
89- -v {include_args} {pa_args} -o {out_dir} {erlc_opts} \\
99+ -v {include_args} {pa_args} \\
100+ -o {out_dir} {erlc_opts} \\
90101 $FIRST
91102 "{erlang_home}"/bin/erlc \\
92- -v {include_args} {pa_args} -pa {out_dir} -o {out_dir} {erlc_opts} \\
103+ -v {include_args} {pa_args} -pa {out_dir} \\
104+ -o {out_dir} {erlc_opts} \\
93105 $@
94106else
95107 "{erlang_home}"/bin/erlc \\
96- -v {include_args} {pa_args} -o {out_dir} {erlc_opts} \\
108+ -v {include_args} {pa_args} \\
109+ -o {out_dir} {erlc_opts} \\
97110 $@
98111fi
99112 """ .format (
@@ -136,6 +149,7 @@ erlang_bytecode = rule(
136149 # rule.
137150 cfg = "target" ,
138151 ),
152+ "app_name" : attr .string (),
139153 "hdrs" : attr .label_list (
140154 allow_files = [".hrl" ],
141155 ),
0 commit comments