[erlang-questions] What erlc flags are needed to compile native (HiPE) to run on smp-disabled runtime?
Edwin Fine
erlang-questions_efine@REDACTED
Sun Oct 12 22:24:52 CEST 2008
Thanks, Mikael.
On Sun, Oct 12, 2008 at 2:44 PM, Mikael Pettersson <mikpe@REDACTED> wrote:
> Edwin Fine writes:
> > To generate native code for smp-enabled runtime using erlc is easy. I
> can't
> > seem to make it happen for smp disabled runtime.
> >
> > If I start up Erlang with -smp disable and compile from within Erlang,
> then
> > it does what I want (creates a natively-compiled beam for non-smp use).
> >
> > $ erl -smp disable
> > 1> c(mymodule, [native, {hipe, o3}])
> > {ok,mymodule}
> > 8>
> >
> > But this is very inconvenient if a build system is created that relies
> on
> > erlc. Is there a better way?
>
> For various reasons the HiPE compiler can only generate code
> for the runtime system it's running on, so to generate non-SMP
> code you must run the compiler from within a non-SMP system.
>
> Unfortunately there doesn't seem to be any flag to erlc to make
> it choose a non-default runtime system, or a way to pass on raw
> options to erl instead of the compiler. erl (erlexec.c), however,
> can take command-line options from the environment, and the
> following seems to work:
>
> ERL_AFLAGS='-smp disable' erlc +native Module.erl
>
> But extending erts/etc/common/erlc.c to accept
>
> erlc -smp disable MoreOptions
>
> with the same meaning as for erl, or to accept
>
> erlc -erl ErlOption ...
>
> and pass ErlOption verbatim to erl would be a nicer solution.
>
> /Mikael
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20081012/efdf3c5a/attachment.htm>
More information about the erlang-questions
mailing list