Native Windows support
kcq.lists at gmail.com
Thu Jan 6 08:43:40 EST 2011
There was a discussion on IRC last week about native Windows support
in rebar and Mark Phillips suggested that I post about it in the
mailing list... If you don't use Windows or you are ok using cygwin
then this is not for you :-)
What is native Windows support? It means several things: Windows
system commands, Windows shell operations, Windows shell scripts,
Microsoft compilers for port drivers and NIFs, and Windows service
support among other things.
The initial version of native Windows support is available here:
This version can use Visual Studio C/C++ compiler to build port
drivers / NIFs and it has a few extra changes to use Windows-specific
system commands for internal rebar operations.
Another version is in the works (as part of making Riak work on
Windows and Azure)... I'll post more info about it a bit later.
If you are interested in doing native Windows development with rebar
let me know and I can provide you with a special Erlang Windows
Development environment that makes it a bit easier to do it :-)
A couple of additional notes:
One of the problems with rebar I came across is its magic with
environment variables. It combines OS, default, and rebar.config port
env variables, it expands them (all), and it passes them all when it
spawns the compiler. This can have quite a few negative side effects
(some of them are less obvious than others) on Windows (and, in
theory, on other platforms).
With Windows (and even Linux) there might be multiple compilers on the
build machine and there might be a need to use specific compilers for
different builds. CMAKE solves this problem by allowing you to choose
a specific target "generator" the first time you run CMAKE for a
project. Having a similar capability or, at least, an ability to
specify a specific compiler in rebar.config might be a good idea.
More information about the rebar