From ace1e250489c858abc33989df4fbed46627975c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sun, 30 Oct 2016 16:59:51 +0200 Subject: Update user guide --- guide/escript.html | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'guide/escript.html') diff --git a/guide/escript.html b/guide/escript.html index e874663..b8056e5 100644 --- a/guide/escript.html +++ b/guide/escript.html @@ -33,7 +33,32 @@ div.navfooter{margin-bottom:1em}
-

Chapter 11. Escripts

Placeholder chapter.

+

Chapter 11. Escripts

Escripts are an alternative to release. They are meant to be +used for small command line executables written in Erlang.

They are not self-contained, unlike releases +Chapter 9, Releases. +Erlang must be installed for them to run. This however means +that they are fairly small compared to releases.

For self-contained executables, check self-extracting releases +Chapter 10, Self-extracting releases.

Erlang.mk uses p7zip by default to generate the escript +archive. Make sure it is installed.

11.1. Generating an escript

Run the following command to generate an escript:

$ make escript

This will by default create an escript with the same name as +the project, in the project’s directory. If the project is +called relx then the escript will be in ./relx.

You can run the escript as you would any executable:

$ ./relx

11.2. Configuration

You can change the name of the escript by setting ESCRIPT_NAME. +The name determines both the default output file name and the +entry module containing the function main/1.

ESCRIPT_FILE can be set if you need a different file name +or location.

The escript header can be entirely customized. The first line +is the shebang, set by ESCRIPT_SHEBANG. The second line is +a comment, set by ESCRIPT_COMMENT. The third line is the +arguments the VM will use when running the escript, set by +ESCRIPT_EMU_ARGS.

Finally, ESCRIPT_ZIP can be set to customize the command used +to create the zip file. Read on for more information.

11.3. Extra files

Generating an escript is a two-part process. First, a zip file +is created with the contents of the escript. Then a header is +added to this file to create the escript.

It is possible to add commands that will be executed between +the two steps. You can for example add extra files to the zip +archive:

escript-zip::
+    $(verbose) $(ESCRIPT_ZIP) $(ESCRIPT_ZIP_FILE) priv/templates/*

The ESCRIPT_ZIP variable contains the command to run to add +files to the zip archive ESCRIPT_ZIP_FILE.

11.4. Optimizing for size

Erlang.mk will by default compile BEAM files with debug +information. You may want to disable this behavior to obtain +smaller escript files. Simply set ERLC_OPTS to a value that +does not include +debug_info.

-- cgit v1.2.3