summaryrefslogtreecommitdiff
path: root/src/rebar_erlc_compiler.erl
Commit message (Collapse)AuthorAgeFilesLines
* erlc: replace if expression with case ofTuncer Ayaz2014-05-301-4/+4
| | | | Motivated by the bug fix in 2c4d7d1.
* erlc: fix typo in update_erlcinfo/3 clauseTuncer Ayaz2014-05-301-1/+1
|
* Merge pull request #251 from mururu/eunit_compile_optsJared Morrow2014-05-191-9/+10
|\ | | | | Make sure that eunit/qc_compile_opts works
| * Make sure that eunit/qc_compile_opts works fix #245Yuki Ito2014-05-131-9/+10
| |
* | erlc: fixup log messageTuncer Ayaz2014-03-121-1/+1
|/ | | | | | | | | | | | | Using the filename as a prefix is less readable and inconsistent with the other log messages. Before: DEBUG: src/foo.erl depends on... After: DEBUG: Dependencies of src/foo.erl ...
* Fix #220 (Reported-by: Joseph Norton)Tuncer Ayaz2014-03-051-4/+4
| | | | | When running 'rebar qc' or 'rebar eunit', we were erroneously fetching erl_opts more than once.
* erlc: fix commentTuncer Ayaz2014-03-051-6/+7
| | | | | test_compile/3 is used by eunit and qc, but the comment was only referring to 'rebar eunit'.
* erlc: clean-up, enhance, and regression fix fd17693Tuncer Ayaz2014-03-051-69/+200
| | | | | | | | | | | | | | | | | | | | | | * update files * fix Dialyzer warning * unconditionally enable info fil * clean-up inconsistencies * use term_to_binary compression * use try...catch instead of case...catch...of * do not write build info file if the graph is unmodified * store info file as <base_dir>/.rebarinfo * properly support list of compile directives * fix regressions: - Fix a bug in handling of files to compile first. - If a file that is depended upon itself depends on other files, make sure those are compiled first. While at it, rename variables for correctness. Reported-by: David Robakowski - Make sure that FirstFiles has no dupes and preserves the proper order. - headers referenced via -include_lib() were not properly resolved to absolute filenames - .erl files found in sub dirs of src_dirs were not properly resolved to absolute filenames
* erlc: add support for detecting core transformsAnthony Ramine2014-03-051-0/+2
|
* Speed up the compilation processEvgeniy Khramtsov2014-03-051-108/+212
| | | | | | | | * Do not parse source files twice while checking for relationship. * Keep files relationships in a graph. * The option 'keep_build_info' is introduced. When set to 'true' the graph will be kept in ebin/.rebar.build.info and will be used by further compiler calls. The default is 'false'.
* erlc: properly reuse the right erl_opts in test_compileTuncer Ayaz2013-11-261-3/+3
| | | | | Avoid getting erl_opts twice in test_compile/3, and make sure the correctly filtered (platform_define, etc.) version is used.
* mib_to_hrl compilation verbosity via 'mib_opts'Alex Thornton2013-09-081-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the configuration setting 'mib_opts' in rebar.config would affect the call to snmpc:compile/2, so that (for example) verbosity could be controlled. However, the subsequent call to snmpc:mib_to_hrl/1 did not include any of these options, so it did not appear to be possible to control the verbosity of the process of converting a MIB to a .hrl file. To make matters worse, the default was to dump a full trace -- including debug output and various logging -- so the act of compiling a large number of MIBs could result in a huge amount of "noisy" output that hid any signal (meaningful warnings, errors, etc.). This commit addresses that issue by replacing the call to snmpc:mib_to_hrl/1 with a call to snmpc:mib_to_hrl/3 instead, which includes an "options" argument that, at present, is only capable of setting verbosity. The verbosity setting is taken from the 'mib_opts' setting in rebar_config, if present, and the approriate kind of argument is passed to snmpc:mib_to_hrl/3. It should be noted that snmpc:mib_to_hrl/3 is not listed in Erlang's documentation, but does appear in the list of "API" exports at the top of snmpc.erl in R15B01 (and remains that way in R16B01), so this appears to be more of a documentation oversight than the use of a deep, dark function call that was not intended to be public. snmpc:mib_to_hrl/3 accepts an #options{} record (defined in lib/srdlib/include/erl_compile.hrl within Erlang's source distribution), though most of the fields in that record are ignored by snmpc:mib_to_hrl/3; only verbosity can be controlled this way.
* Implement 'rebar help CMD1 CMD2' and extend common 'rebar help' msgTuncer Ayaz2012-12-311-4/+39
| | | | | * allow plugins to print help message for implemented commands * append core rebar.config options to common 'rebar help' message
* Cleanup rebar_core and rebar_erlc_compilerTuncer Ayaz2012-11-151-6/+0
| | | | | Rename rebar_core functions for improved readability. Remove redundant comments and blank lines.
* rebar_erlc_compiler: fix src_dirs commentTuncer Ayaz2012-11-151-1/+1
|
* Fix whitespace errorTuncer Ayaz2012-08-181-3/+2
|
* Add erlc override from erl_opts: outdirJoe DeVivo2012-08-181-1/+3
|
* Use separate dirs for eunit and qcTuncer Ayaz2012-08-091-9/+9
|
* Separate eunit and qc compile optionsTuncer Ayaz2012-08-091-6/+8
|
* Clean up specsTuncer Ayaz2012-08-061-1/+1
|
* Fix arg order in rebar_erlc_compiler:compile_mib/3Tuncer Ayaz2012-08-061-3/+3
|
* Only print absolute filename if not in base_dirTuncer Ayaz2012-08-051-40/+38
|
* Fix R13B03 build (Reported-by: Sergey Nartimov)Tuncer Ayaz2012-07-281-1/+1
|
* Rename old eunit compile options for consistency with test-compileTuncer Ayaz2012-07-261-3/+3
|
* Add 'qc' cmd and rename eunit-compile to test-compileTuncer Ayaz2012-07-231-4/+105
|
* Re-word commentTuncer Ayaz2012-07-121-1/+1
|
* Add missing comment in rebar_erlc_compilerTuncer Ayaz2012-07-121-0/+1
|
* Move erl_opts/1 and src_dirs/1 to rebar_utils.erlMotiejus Jakštys2012-07-021-43/+2
| | | | These functions will be necessary in rebar_eunit.erl, too.
* Refactor shared error reporting codeTuncer Ayaz2012-06-111-6/+4
|
* Report warnings as errors if -Werror is enabledTuncer Ayaz2012-06-111-2/+2
|
* Share format_errors/format_warnings functionsTuncer Ayaz2012-06-111-18/+6
|
* Manually format leex/yecc errors/warningsTuncer Ayaz2012-06-111-3/+6
|
* Manually report errors/warnings with absolute pathTuncer Ayaz2012-06-111-4/+19
|
* Fix unsafe use of varTuncer Ayaz2012-06-081-16/+17
|
* Remove ?FAIL in favor of ?ABORTDave Smith2012-06-081-3/+3
|
* Fix src_dirs option to not hard-code "src"Tuncer Ayaz2012-02-241-1/+1
|
* Treat callback attributes same as behaviour_infoShunichi Shinohara2012-02-101-0/+6
| | | | | Automatically include modules with callback attributes in erl_first_files.
* Cleanup and fix -D for erl_optsTuncer Ayaz2011-10-231-3/+3
|
* Add -D optionTuncer Ayaz2011-10-221-8/+14
|
* Cleanup deprecations now that R14B04 is releasedTuncer Ayaz2011-10-061-20/+3
|
* Ensure include dir exists in compile_mib/3Ignas Vyšniauskas2011-09-021-1/+2
|
* Generate .hrl file from .mibAnders Nygren2011-08-051-2/+10
| | | | | | | | | | | Generate .hrl files into include from SNMP MIB files. Change the order of so .mib files are built before .erl This is necessary since .hrl files are generated from the .mib files. The generated .bin and .hrl files are deleted by clean. This is a cleaned up version of a patch originally sent to the rebar mailing list by David Nonnenmacher.
* Deprecate xrl_opts/yrl_opts fail_on_warning optTuncer Ayaz2011-06-081-8/+7
|
* Minimize compile optionsTuncer Ayaz2011-06-011-1/+1
|
* Fix erlc regression (reported-by Benoit Chesneau)Tuncer Ayaz2011-06-011-2/+2
|
* Cleanup deprecations now that R14B03 is releasedTuncer Ayaz2011-05-311-16/+10
|
* Use external wordsize to get emulator build archSteve Vinoski2011-05-311-1/+2
| | | | | | | | | | | | | | | Calling erlang:system_info(wordsize) yields the internal word size of the Erlang emulator. But due to the halfword emulator, need to pass {wordsize, external} instead to get the word size, or pointer size, as seen by external code such as NIFs. The halfword emulator has 4 byte internal words but 8 byte external words due to 64-bit compilation, which means NIFs for the halfword emulator also have to be compiled 64-bit. But just passing wordsize is equivalent to passing {wordsize, internal}, which does not indicate the pointer size for the halfword emulator. Older versions of Erlang do not support {wordsize, external}, though, so continue to pass just wordsize for those versions.
* Adjust deprecation messageTuncer Ayaz2011-04-211-1/+1
|
* Deprecate fail_on_warning and refactor codeTuncer Ayaz2011-04-071-0/+4
|
* Make debug_info defaultTuncer Ayaz2011-03-301-7/+6
| | | | | Add no_debug_info option. Remove debug_info=1 option.