[erlang-questions] Difference between ei.a and ei_st.a?

Björn-Egil Dahlberg egil@REDACTED
Mon Sep 3 11:40:34 CEST 2012

On 2012-09-03 06:27, Zabrane Mickael wrote:
> Hi Björn,
>> ST is not thread safe. You get only libei_st.a if configure can't find a suitable thread library.
>> Both are built when a thread library is found.
> Ok I see. So the best is to link with "libei.a" which is threa safe (and avoid "ibei_st.a"), right?
> Does the same apply for windows? Should I link with "ei.lib" instead of "ei_md.lib"?
MD = multithreaded dynamic
MDD = multithreaded dynamic with debug symbols

(Became unsure and have to look it up =)

Note also that in the non-windows case the name can change meaning.

If thread lib detected
libei_st = not thread safe (single threaded)
libei = thread safe

if no thread lib is detected
libei = not thread safe (single threaded)

I'm unsure if this is a wise convention. Probably just to be able to say 
"link with libei.a and liberl_interface.a" regardless.

This can all be seen in lib/erl_interface/src/Makefile.in

// egil

>> On a side note. Are you sure you want to use erl_interface in a NIF or a linked-in driver?
> No no, it was just an example.
> Regards,
> Zabrane
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list