[eeps] New - EEP 44: Additional preprocessor directives

Vlad Dumitrescu vladdu55@REDACTED
Tue Oct 13 11:31:40 CEST 2015


Hi!

While I think that the proposed changes are good and will improve the
preprocessor, I am worried about the effect it will have on how code is
build and on code that may run on unspecified OTP versions (escripts). If I
understand correctly, these are some of the effects:

* one will now be forced to compile within an environment identical to the
target - so that all the preprocessor conditions resolve to the right
values. This includes having all dependencies (even transitive?) installed
in the development environment and the build server, not only OTP. Is the
application descriptor enough to define that, or does it need to be
extended? Maybe the new package manager is supposed to help here?

* if one targets multiple versions, then the set-up of the development
environment is unwieldy unless one needs to use something like kerl to
manage the multiple environments. It feels a bit wrong to have OTP depend
indirectly on a third party application... I think that OTP should provide
tools to help with that.

* if not deploying an OTP application or a full system, one can't know if
the target will fulfill the expected conditions - what about compiled
escripts?

regards,
Vlad


On Tue, Oct 13, 2015 at 9:49 AM, Raimo Niskanen <raimo+eeps@REDACTED
> wrote:

> New - EEP 44: Additional preprocessor directives
>
>     http://www.erlang.org/eeps/eep-0044.html
>     https://github.com/erlang/eep/blob/master/eeps/eep-0044.md
>
> --
>
> / Raimo Niskanen, Erlang/OTP, Ericsson AB
> _______________________________________________
> eeps mailing list
> eeps@REDACTED
> http://erlang.org/mailman/listinfo/eeps
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/eeps/attachments/20151013/1efbf6c8/attachment.htm>


More information about the eeps mailing list