only in this topic
Petrica Clement Chiriac (Tica2)
Open this post in threaded view
I working to have one erlang wrapper similar how freewrap is working for TCL.
Ideea is simple to bundle all in one exec file (Erlang VM, beam files, boot script)
Example usage can be:
erl_wrap.exe -out my_app.exe -wrap my_erlang_app
That works simple:
1) copy erl_wrap.exe to my_app.exe
2) append all Erlang app (beam files, boot script, ...) to my_app.exe file as resources.
3) And job done. Simple click to my_app.exe (On windows) or in console
It is still at an early stage
, but I have results and
I want to continue
I know the
but in final I want to be
Now I looking for advice how to integrate this erl_wrap library in one current ERLANG dev environment.
To do this hack I changed erlang/otp repo but I want to be able to build
erl_wrap.exe only based ERLANG dev environment based on compiled lib files and .h files.
What is need is a way to link erts (Erlang Runtime) and to alter preload beam files add wrap NIF files and output to erl_wrap.exe (all staticaly linked)
In this way erl_wrap can be independently and can integrated by anyone want to use.
Now I ask for advice to have this erls.lib (beam only) and separate lib for preload beam files. It this viable method? Do erlang team accept this work patch?
Second advice is what I can miss in this design, problems are many (ports from priv diretory, hot updates) but for my usecase to have one file is big win.
Now if this erl_wrap is call erl (erl.exe) and is someware in path all Elixir stuf is working (mix, iex, elixir), released not, but looks good.
Also EMU,ROOTDIR,BINDIR,PROGNAME do not have any utility now,
and are very used inside code.
On Unix we have erl script that set env vars and
erlexec that parse
all arguments and exec beam VM (Erlang VM), final process is beam.smp
On Windows we have erl.exe that read erl.ini and use erlexec.dll to parse arguments and start Erlang VM from beam.smp.dll, final process is erl.exe
In our wrap example final process is my_app.exe (my_app on unix)
and because all arguments are bundle startup is simple but env vars
EMU,ROOTDIR,BINDIR,PROGNAME do not have a meaning
If I have good results I will share as open source library.
Petrica Clement Chiriac
erlang-questions mailing list
Return to Erlang Questions
1 view|%1 views
Free forum by Nabble
Edit this page