aboutsummaryrefslogtreecommitdiffstats
path: root/erts/etc/common/erlc.c
AgeCommit message (Collapse)Author
2015-12-17Revert "Fix erroneous splitting of emulator path"Björn-Egil Dahlberg
This reverts commit 731890f3b4ac62eed1221aa7d9fd2bfa6bf51d8c.
2015-10-02Fix erroneous splitting of emulator pathMagnus Ottenklinger
`ct_run.c`, `erlc.c`, `escript.c` and `typer.c` do not preserve space characters in the emulator path. Thus, if a path containing space is passed via environment variables, such as `ESCRIPT_EMULATOR`, or if `get_default_emulator(progname)` returns a path with space, the execution of the programs fail. This patch fixes all occurrences found with `grep push_words -R $ERL_TOP`.
2015-06-18Change license text to APLv2Bruce Yinhe
2013-09-19Teach erlc to handle UTF-8 file namesBjörn Gustavsson
The 'erlc' program passes options to the 'erl' program using the '-s' option. The '-s' option causes all options to be converted to atoms, which implies that UTF-8 file names may not be given on the command line. We could solve just the UTF-8 problem by using '-run' and change the erl_compile module to expect strings instead of atoms, but since that is an incompatible change, we should take the opportunity to make more incompatible changes while we are at it. Specifically, when 'erlc' was first written, there was no way to pass command line arguments starting with '-' to Erlang, so 'erlc' did all parsing of arguments and translated options to atoms starting with a '@' character (for example, -I was translated to @i). Since then, the '-extra' option has been introduced which allows us to pass anything to Erlang at the end of the command line. Therefore, while at it, do the minimum of necessary command line parsing in the 'erlc' program (e.g. the '-smp' option), passing the command line essentially unchanged to 'erl' using the '-extra' option, and rewrite the option parsing in Erlang.
2013-05-20erts: Fix windows widestring args and paths in toolsDan Gudmundsson
Fix erlc, escript, dialyzer, typer, ct_run, heart and epmd should all be using widestrings on windows
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-01-25Use no async threads for erlcRickard Green
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-07-10Fix the erlc -MP flagRichard Carlsson
Because of a copy-and-paste error in erlc.c, the -MP flag had the same effect as -MG. As a workaround, you had to pass +makedep_phony to enable the MP option. This patch makes -MP work as intended.
2012-05-10Remove stale code for hybrid heap and incremental GCBjörn Gustavsson
The hybrid heap emulator was last working in the non-SMP R11B run-time system. When the constant pools were introduced in R12B, the hybrid heap emulator was not updated to handle them. At this point, the harm from reduced readability of the code is greater than any potential usefulness of keeping the code.
2011-11-14erlc: Do not bind schedulers when invoking "erl"Björn Gustavsson
If parallel make is used, several instance of 'erlc' is likely to be invoked at once. Therefore, the default binding of schedulers to CPU cores will do no good. (With this change, the build of Erlang/OTP with six threads finished in about 7 minutes; without in about 11 minutes.)
2011-02-18Merge branch 'jp/dependencies_makefile' into devBjörn Gustavsson
* jp/dependencies_makefile: Add dependencies Makefile generation to erlc(1) and compile(3) Conflicts: lib/compiler/test/compile_SUITE.erl OTP-9065
2011-02-18Add dependencies Makefile generation to erlc(1) and compile(3)Jean-Sébastien Pédron
This is useful when a project is built with Makefiles and erlc(1) instead of EMakefiles. Tracking dependencies by hand is error-prone and it becomes painful when using external application headers like EUnit's one. A dependencies Makefile will look like this: module.beam: module.erl \ /usr/local/lib/erlang/lib/eunit-2.1.4/include/eunit.hrl \ header.hrl When included in the main Makefile, 'module' will be recompiled only when needed. GCC offers the same feature and new erlc(1) options are compatible with it. More informations at: http://wiki.github.com/dumbbell/otp/dependencies-makefile
2010-10-04erlc: remove unused variableMichael Santos
2010-10-04erlc: prevent buffer overflowsMichael Santos
Check buffer operations and increase the size of the buffer used for holding command line arguments, since the "-D" switch will be expanded into 3 arguments when passed to erl.
2010-01-20Merge branch 'cf/compile_warning_as_error' into ccase/r13b04_devErlang/OTP
* cf/compile_warning_as_error: Add option -Werror in erlc(1) compile: add flag warnings_as_errors to treat warnings as errors compile.erl: remove trailing whitespace OTP-8382 The -Werror option for erlc and the compiler option warnings_as_errors will cause warnings to be treated as errors. (Thanks to Christopher Faulet.)
2010-01-19Add option -Werror in erlc(1)Christopher Faulet
Like in gcc, this option treats warnings as errors.
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP