<div dir="ltr">Tuncer, is there a reason why the rebar <font face="courier new, monospace">lib_dirs</font> configuration setting only allows relative paths? Right now the function that expands these paths looks like this:<div>
<br></div><div><div><font face="courier new, monospace">    expand_lib_dirs([], _Root, Acc) -></font></div><div><font face="courier new, monospace">        Acc;</font></div><div><font face="courier new, monospace">    expand_lib_dirs([Dir | Rest], Root, Acc) -></font></div>
<div><font face="courier new, monospace">        Apps = filelib:wildcard(filename:join([Dir, "*", "ebin"])),</font></div><div><font face="courier new, monospace">        FqApps = [filename:join([Root, A]) || A <- Apps],</font></div>
<div><font face="courier new, monospace">        expand_lib_dirs(Rest, Root, Acc ++ FqApps).</font></div></div><div><br></div><div style>Changing it to something like this would resolve this problem:</div><div style><br></div>
<div style><div><font face="courier new, monospace">    expand_lib_dirs([], _Root, Acc) -></font></div><div><font face="courier new, monospace">        Acc;</font></div><div><font face="courier new, monospace">    expand_lib_dirs([Dir | Rest], Root, Acc) -></font></div>
<div><font face="courier new, monospace">        Apps = filelib:wildcard(filename:join([Dir, "*", "ebin"])),</font></div><div><font face="courier new, monospace">        FqApps = case filename:pathtype(Dir) of</font></div>
<div><font face="courier new, monospace">                     absolute -> Apps;</font></div><div><font face="courier new, monospace">                     relative -> [filename:join([Root, A]) || A <- Apps]</font></div>
<div><font face="courier new, monospace">                 end,</font></div><div><font face="courier new, monospace">        expand_lib_dirs(Rest, Root, Acc ++ FqApps).</font></div><div><br></div><div style>Would this addition be accepted into rebar? I haven't created a pull request for this because I don't know what the rationale was for making these paths relative.</div>
<div style><br></div><div style>Juanjo</div><div style><br></div><div style><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 18, 2013 at 8:40 AM, Tuncer Ayaz <span dir="ltr"><<a href="mailto:tuncer.ayaz@gmail.com" target="_blank">tuncer.ayaz@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, May 29, 2013 at 3:58 PM,  <<a href="mailto:yashgt@gmail.com">yashgt@gmail.com</a>> wrote:<br>

> I have<br>
> myapp<br>
> /src<br>
> myapp.erl<br>
> myapp_sup.erl<br>
> /include<br>
> and<br>
> mymodule<br>
> /src<br>
> mymodule.erl<br>
> /include<br>
> mymodule.hrl<br>
><br>
> As you can see, I have developed a module which is outside the<br>
> structure of the myapp. If a module in myapp has to use the header<br>
> files of mymodule, what do I need to do in the rebar.config of<br>
> myapp?<br>
><br>
> Currently, when I compile myapp, it gives an error that the<br>
> mymoduel.hrl cannot be found.<br>
><br>
> My intention is to develop mymodule as a shared module across<br>
> several apps.<br>
<br>
</div></div>The usual way is to make mymodule part of ERL_LIBS and then<br>
-include_lib("mymodule/include/mymodule.hrl").<br>
<br>
You can either configure the ERL_LIBS env var or {lib_dirs, []} in<br>
rebar.config. Many projects put libs or apps in a separate apps/<br>
directory and configure the top level rebar.config accordingly.<br>
In your case that would be:<br>
{lib_dirs, ["apps"]}.<br>
{sub_dirs, ["apps/myapp", "apps/mymodule"]}.<br>
<br>
Alternatively you can modify erl_opts (.erl compile opts) in<br>
rebar.config to add extra include paths as follows, but this would be<br>
unconventional and might be less flexible:<br>
{erl_opts, [{i, "../mymodule/include"}]}.<br>
<br>
For more help see compile(3)[1] or run 'rebar help compile'.<br>
<br>
[1] <a href="http://www.erlang.org/doc/man/compile.html" target="_blank">http://www.erlang.org/doc/man/compile.html</a><br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>