From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- erts/doc/src/erlc.xml | 256 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 erts/doc/src/erlc.xml (limited to 'erts/doc/src/erlc.xml') diff --git a/erts/doc/src/erlc.xml b/erts/doc/src/erlc.xml new file mode 100644 index 0000000000..3859ac8365 --- /dev/null +++ b/erts/doc/src/erlc.xml @@ -0,0 +1,256 @@ + + + + +
+ + 19972009 + Ericsson AB. All Rights Reserved. + + + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + + + erlc + Björn Gustavsson + Bjarne Däcker + 1 + Bjarne Däcker + + 97-03-24 + A + erlc.xml +
+ erlc + Compiler + +

The program provides a common way to run + all compilers in the Erlang system. + Depending on the extension of each input file, + will invoke the appropriate compiler. + Regardless of which compiler is used, the same flags are used to provide parameters such as include paths and output directory.

+

The current working directory, ".", will not be included + in the code path when running the compiler (to avoid loading + Beam files from the current working directory that could potentially + be in conflict with the compiler or Erlang/OTP system used by the + compiler).

+
+ + + erlc flags file1.ext file2.ext... + Compile files + +

compiles one or more files. + The files must include the extension, for example + for Erlang source code, or for Yecc source code. + uses the extension to invoke the correct compiler.

+
+
+
+ +
+ Generally Useful Flags +

The following flags are supported: +

+ + -I directory + +

Instructs the compiler to search for include files in + the specified directory. When encountering an + or directive, the + compiler searches for header files in the following + directories:

+ + +

, the current working directory of the + file server;

+
+ +

the base name of the compiled file;

+
+ +

the directories specified using the option. + The directory specified last is searched first.

+
+
+
+ -o directory + +

The directory where the compiler should place the output files. + If not specified, output files will be placed in the current working + directory.

+
+ -Dname + +

Defines a macro.

+
+ -Dname=value + +

Defines a macro with the given value. + The value can be any Erlang term. + Depending on the platform, the value may need to be + quoted if the shell itself interprets certain characters. + On Unix, terms which contain tuples and list + must be quoted. Terms which contain spaces + must be quoted on all platforms.

+
+ -Wnumber + +

Sets warning level to number. Default is . + Use to turn off warnings.

+
+ -W + +

Same as . Default.

+
+ -v + +

Enables verbose output.

+
+ -b output-type + +

Specifies the type of output file. + Generally, output-type is the same as the file extension + of the output file but without the period. + This option will be ignored by compilers that have a + a single output format.

+
+ -hybrid + +

Compile using the hybrid-heap emulator. This is mainly useful + for compiling native code, which needs to be compiled with the same + run-time system that it should be run on.

+
+ -smp + +

Compile using the SMP emulator. This is mainly useful + for compiling native code, which needs to be compiled with the same + run-time system that it should be run on.

+
+ -- + +

Signals that no more options will follow. + The rest of the arguments will be treated as file names, + even if they start with hyphens.

+
+ +term + +

A flag starting with a plus ('+') rather than a hyphen + will be converted to an Erlang term and passed unchanged to + the compiler. + For instance, the option for the Erlang + compiler can be specified as follows:

+
+erlc +export_all file.erl
+

Depending on the platform, the value may need to be + quoted if the shell itself interprets certain characters. + On Unix, terms which contain tuples and list + must be quoted. Terms which contain spaces + must be quoted on all platforms.

+
+
+
+ +
+ Special Flags +

The flags in this section are useful in special situations + such as re-building the OTP system.

+ + -pa directory + +

Appends directory to the front of the code path in + the invoked Erlang emulator. + This can be used to invoke another + compiler than the default one.

+
+ -pz directory + +

Appends directory to the code path in + the invoked Erlang emulator.

+
+
+
+ +
+ Supported Compilers + + .erl + +

Erlang source code. It generates a file.

+

The options -P, -E, and -S are equivalent to +'P', + +'E', and +'S', except that it is not necessary to include the single quotes to protect them + from the shell.

+

Supported options: -I, -o, -D, -v, -W, -b.

+
+ .yrl + +

Yecc source code. It generates an file.

+

Use the -I option with the name of a file to use that file + as a customized prologue file (the option).

+

Supported options: -o, -v, -I, -W (see above).

+
+ .mib + +

MIB for SNMP. It generates a file.

+

Supported options: -I, -o, -W.

+
+ .bin + +

A compiled MIB for SNMP. It generates a file.

+

Supported options: -o, -v.

+
+ .rel + +

Script file. It generates a boot file.

+

Use the -I to name directories to be searched for application + files (equivalent to the in the option list for + ).

+

Supported options: -o.

+
+ .asn1 + +

ASN1 file.

+

Creates an , , and file from + an file. Also compiles the using the Erlang + compiler unless the options is given.

+

Supported options: -I, -o, -b, -W.

+
+ .idl + +

IC file.

+

Runs the IDL compiler.

+

Supported options: -I, -o.

+
+
+
+ +
+ Environment Variables + + ERLC_EMULATOR + The command for starting the emulator. + Default is erl in the same directory as the erlc program + itself, or if it doesn't exist, erl in any of the directories + given in the PATH environment variable. + +
+ +
+ SEE ALSO +

erl(1), + compile(3), + yecc(3), + snmp(3)

+
+
+ -- cgit v1.2.3