0

I have compiled my Erlang module using

rebar compile

using the following option in rebar.config

{erl_opts, [native, {hipe, [verbose]}, warnings_as_errors, debug_info]}.
{eunit_compile_opts, [native, {hipe, [verbose]}, warnings_as_errors, debug_info]}.

I see that the code is indeed compiled to native since I see Hipe messages during compilation and the .beam file size are also larger than non-native compilation.

However when I run

rebar eunit

which tests my module I always get false for

 code:is_module_native(?MODULE)

within my module under test.

Why does rebar not run my eunit test as native code?

I have additionally added this line to the reltool.config file,

 {app, hipe, [{incl_cond, include}]},

rebar 2.1.0-pre 17 20140421_192321 git 2.1.0-pre-166-ged88055

Vishal
  • 1,169
  • 2
  • 12
  • 20

1 Answers1

1

Your code is recompiled when you run "rebar eunit" using the compile options defined by

  • {erl_opts, [native, {hipe, [verbose]}, warnings_as_errors, debug_info]}.

and modified by the compile options defined by

  • {eunit_compile_opts, [???]}.

Did you check these options?

Pascal
  • 13,977
  • 2
  • 24
  • 32
  • Thanks for the reply. I added eunit_compile_opts (see edited question). Still it runs non-native. – Vishal May 12 '15 at 18:46