[erlang-patches] fix include path behaviour in epp
Henrik Nord
henrik@REDACTED
Tue Jun 14 17:00:36 CEST 2011
On 06/14/2011 04:18 PM, Richard Carlsson wrote:
> I thought include files were working, after I submitted a patch back
> in the R11 days, but it turns out I'm an idiot and I had only fixed
> the most important special case involving include_lib.
>
> The following patch makes the Erlang preprocessor behave as is
> expected of a C-style preprocessor, which is to always look for
> include files relative to the parent file first, also when includes
> are nested:
>
> git fetch git://github.com/richcarl/otp.git epp-include-path-fix
>
> For example, suppose src/foo.erl contains -include("stuff/foo.hrl"),
> and the preprocessor manages to open src/stuff/foo.hrl (even though
> this subdirectory is not in the include path passed to the compiler).
> This works today, because the directory of the source file ("src" in
> this case) is always passed to the preprocessor.
>
> However, suppose src/stuff/foo.hrl contains -include("bar.hrl") and
> src/stuff/bar.hrl exists. Without this patch, the preprocessor does
> not know to look for bar.hrl in the directory of foo.hrl, even though
> that is the first place it _ought_ to look (at least in C programming
> tradition), so the user has to make sure to explicitly pass
> "src/stuff" as part of the include path. In some build systems, this
> can be a royal pain. The patch fixes this, and should arguably not
> break any build that is not already broken by definition.
>
> (It also means that the compiler no longer needs to pass the directory
> of the main source file as part of the include path, since that is now
> handled automatically, but that is not part of this patch.)
>
> /Richard
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
Thank you. I have included your patch into 'pu',
after rewording the commit message. Please see:
http://github.com/erlang/otp/wiki/Writing-good-commit-messages
* Imperative form
* Line break the message
* No trailing dot on the summary line
--
/Henrik Nord Erlang/OTP
More information about the erlang-patches
mailing list