.TH start_erl 1 "erts 12.2" "Ericsson AB" "User Commands" .SH NAME start_erl \- Start Erlang for embedded systems on Windows systems. .SH DESCRIPTION .LP The \fIstart_erl\fR\& program is specific to Windows NT/2000/XP (and later versions of Windows)\&. Although there are programs with the same name on other platforms, their functionality is different\&. .LP This program is distributed both in compiled form (under \\\\erts-\\\\bin) and in source form (under \\\\erts-\\\\src)\&. The purpose of the source code is to ease customization of the program for local needs, such as cyclic restart detection\&. There is also a "make"-file, written for the \fInmake\fR\& program distributed with Microsoft Visual C++\&. This program can, however, be compiled with any Win32 C compiler (possibly with minor modifications)\&. .LP This program aids release handling on Windows systems\&. The program is to be called by the \fIerlsrv\fR\& program, read up the release data file \fIstart_erl\&.data\fR\&, and start Erlang\&. Some options to \fIstart_erl\fR\& are added and removed by the release handler during upgrade with emulator restart (more specifically option \fI-data\fR\&)\&. .SH EXPORTS .LP .B start_erl [] ++ [] .br .RS .LP The \fIstart_erl\fR\& program in its original form recognizes the following options: .RS 2 .TP 2 .B \fI++\fR\&: Mandatory\&. Delimits \fIstart_erl\fR\& options from normal Erlang options\&. Everything on the command line \fIbefore\fR\& \fI++\fR\& is interpreted as options to be sent to the \fIerl\fR\& program\&. Everything \fIafter\fR\& \fI++\fR\& is interpreted as options to \fIstart_erl\fR\& itself\&. .TP 2 .B \fI-reldir \fR\&: Mandatory if environment variable \fIRELDIR\fR\& is not specified and no \fI-rootdir\fR\& option is specified\&. Tells \fIstart_erl\fR\& where the root of the release tree is located in the file system (typically \\\\releases)\&. The \fIstart_erl\&.data\fR\& file is expected to be located in this directory (unless otherwise specified)\&. If only option \fI-rootdir\fR\& is specified, the directory is assumed to be \\\\releases\&. .TP 2 .B \fI-rootdir \fR\&: Mandatory if \fI-reldir\fR\& is not specified and no \fIRELDIR\fR\& exists in the environment\&. This specifies the Erlang installation root directory (under which the \fIlib\fR\&, \fIreleases\fR\&, and \fIerts-\fR\& directories are located)\&. If only \fI-reldir\fR\& (or environment variable \fIRELDIR\fR\&) is specified, the Erlang root is assumed to be the directory exactly one level above the release directory\&. .TP 2 .B \fI-data \fR\&: Optional\&. Specifies another data file than \fIstart_erl\&.data\fR\& in the \&. It is specified relative to the or absolute (including drive letter, and so on)\&. This option is used by the release handler during upgrade and is not to be used during normal operation\&. Normally the release data file is not to be named differently\&. .TP 2 .B \fI-bootflags \fR\&: Optional\&. Specifies a file name relative to the release directory (that is, the subdirectory of where the \fI\&.boot\fR\& file and others are located)\&. The contents of this file is appended to the command line when Erlang is started\&. This makes it easy to start the emulator with different options for different releases\&. .RE .RE .SH "NOTES" .RS 2 .TP 2 * As the source code is distributed, it can easily be modified to accept other options\&. The program must still accept option \fI-data\fR\& with the semantics described above for the release handler to work correctly\&. .LP .TP 2 * The Erlang emulator is found by examining the registry keys for the emulator version specified in the release data file\&. The new emulator must be properly installed before the upgrade for this to work\&. .LP .TP 2 * Although the program is located together with files specific to the emulator version, it is not expected to be specific to the emulator version\&. The release handler does \fInot\fR\& change option \fI-machine\fR\& to \fIerlsrv\fR\& during emulator restart\&. Locate the (possibly customized) \fIstart_erl\fR\& program so that it is not overwritten during upgrade\&. .LP .TP 2 * The default options of the \fIerlsrv\fR\& program are not sufficient for release handling\&. The machine started by \fIerlsrv\fR\& is be specified as the \fIstart_erl\fR\& program and the arguments are to contain \fI++\fR\& followed by the desired options\&. .LP .RE .SH "SEE ALSO" .LP \fIerlsrv(1)\fR\&, \fIrelease_handler(3)\fR\&