Commit graph

57 commits

Author SHA1 Message Date
Steve Vinoski
0bbb2985f0 Use external wordsize to get emulator build arch
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.
2011-05-31 10:47:45 +02:00
Tuncer Ayaz
98312c881f Adjust deprecation message 2011-04-21 22:03:40 +02:00
Tuncer Ayaz
055ac99d6f Deprecate fail_on_warning and refactor code 2011-04-07 21:56:53 +02:00
Tuncer Ayaz
be209f24ff Make debug_info default
Add no_debug_info option.
Remove debug_info=1 option.
2011-03-30 11:19:37 +02:00
Tuncer Ayaz
6d75bfbeb0 Clean up specs 2011-03-28 18:39:38 +02:00
Anthony Ramine
9ee8ed9181 Give an absolute path to code:add_path/1
If an app uses -include_lib for its own included files, compilation
fails if the app directory isn't in $ERL_LIBS because code:lib_dir/1
will return an error. An absolute path needs to be added to code path
instead of just "ebin".
2011-02-15 18:32:42 +01:00
Tuncer Ayaz
63de05d914 Clean up code 2011-02-06 17:41:04 +01:00
Tuncer Ayaz
c466076ffb Clean up emacs file local variables 2011-01-31 17:55:36 +01:00
Tuncer Ayaz
8940f07801 Fix underspec (thanks Kostis Sagonas) 2011-01-13 17:39:14 +01:00
Joseph Wayne Norton
5b05e54cda Add otp_release to platform string 2011-01-09 16:06:51 +01:00
Tuncer Ayaz
9c0d51bc0b Fix order of erl_opts to be more accurate 2011-01-04 11:27:17 +01:00
Joseph Wayne Norton
a529577b74 Remove erlc target after fail_on_warning failure
Prevent overlooking a compilation warning by removing the target beam
file after fail_on_warning failure.
2010-12-27 13:29:53 +01:00
Mihai Balea
837192e34e Fix compilation of *_first_files
- Check the existence of first_files and fail if they are not present
 - Get first_files lists from local instead of inherited config
   definitions, since they only make sense in the local context
2010-12-01 17:30:23 +01:00
Joseph Wayne Norton
d24021f4e3 Add new global flag 'debug_info' to erlc_compiler
Using rebar's commandline, enable/disable 'debug_info' for
compilation. This feature if added to all rebar compilers could help
simplify and standardize this common use case for all rebar build
targets.
2010-11-30 00:24:20 +01:00
Juhani Rankimies
fd5ebe69a4 Port rebar_file_utils to Windows
Modify rm_rf and cp_r to work when {win32,_} = os:type().
Simplify rm_rf to only accept one filename, directoryname or wildcard.
Add unit tests to ensure a similar behaviour on windows and unix.

Thanks to tuncer for guidance and feedback.
2010-10-27 11:39:12 -06:00
Kostis Sagonas
7dc76d578e Tidier improvements 2010-10-26 00:38:51 +02:00
Tuncer Ayaz
c2917b31d4 Fix issues found by dialyzer 2010-10-10 23:24:20 +02:00
Kostis Sagonas
e024778599 Dialyzer related cleanups 2010-10-10 14:11:13 -06:00
Andrew Thompson
1bf45036dc Parse transforms and behaviours are compiled first
The previous code in rebar that was trying to ensure that parse
transforms and behaviours were compiled first doesn't work with multiple
compiler workers because of the possiblity of one of the workers
compiling a file that needs a parse transform or a behaviour at the same
time another worker is compiling that same parse transform or behaviour.

The solution this patch implements is to append any parse transforms and
any behaviours (in that order) to erl_first_files to ensure that they
are compiled before any regular files. This patch won't break any
currently working uses of erl_first files because we only append to the
list, so anything in erl_first_files is still compiled before anything
else.
2010-10-05 17:59:52 -04:00
Tuncer Ayaz
73398562aa Fix xrl_opts/yrl_opts option handling 2010-10-02 19:26:03 +02:00
Tuncer Ayaz
778d4350b3 Fix warning: access the right record field 2010-10-01 13:41:55 +02:00
Tuncer Ayaz
6ea5a548e1 Add missing comma 2010-06-12 13:38:41 +02:00
Bob Ippolito
9dd9585d5b include source path in compiler errors, process commands separately (to make get-deps compile work), ensure ebin dir, process iteratively to support transitive deps 2010-05-15 13:57:07 -07:00
Tuncer Ayaz
c319662849 Correct comment 2010-05-03 04:15:16 +02:00
Tuncer Ayaz
56b801b2c9 Add new erl_opts option to specify platform-specific defines 2010-05-03 04:03:38 +02:00
Bryan Fink
4f470fcddd clean up .yrl and .xrl handling 2010-03-31 15:21:13 -04:00
Bryan Fink
e6e36834f9 add leex .xrl handling as well 2010-03-31 15:03:29 -04:00
Bryan Fink
cf820007fc add handling for yecc's .yrl files to erlc compiler 2010-03-31 11:35:06 -04:00
Dave Smith
a12778ba65 Removing overly verbose debug message (yes, I realize the irony) 2010-03-16 13:29:49 -06:00
Vagabond
50832a1a14 Don't detect the source file as an include of itself 2010-03-02 18:04:08 -05:00
Vagabond
a3f8489340 Move the .erl sorting to the right place 2010-03-02 17:58:05 -05:00
Vagabond
c4d3f0ea65 Fix dependancy checking for headers by ensuring "include" is always in the eep IncludePath 2010-03-02 17:34:12 -05:00
Dave Smith
b0dfd233ae Make sure to add ebin/ to current path when compiling doterl files; found by @sj_mackenzie 2010-02-16 15:16:19 -07:00
Dave Smith
a0732e9e78 Make sure to cover all edge cases when parsing module names 2010-02-12 11:57:50 -07:00
theiw
788bd3df72 Provide package support for eunit; build_plt now includes listed applications; begin including -spec annotations 2010-02-05 17:34:38 +00:00
Dave Smith
b9e78d6722 Add support for passing addt'l list of sources to erlc_compiler 2010-02-01 08:37:52 -07:00
Tuncer Ayaz
4ac1f3efe9 Fixed issue 1 "priv/mibs/ is not automatically created" 2010-01-08 23:06:29 +01:00
iw
73d2073ed8 Preserve non-empty folders when performing clean 2010-01-04 16:39:52 +00:00
Dave Smith
21f60bff74 Take 323 on cleaning package dirs from ebin 2010-01-04 06:17:35 -07:00
Dave Smith
51f6906da9 Make sure to create dir structure for output bams 2010-01-04 05:47:45 -07:00
Dave Smith
42647f4c22 Tweak regex to properly match extension and not just .erl anywhere in filename 2010-01-04 05:40:39 -07:00
Dave Smith
fa2a58261a Another round of refactoring to yield better flexiblity in the base_compiler system 2010-01-03 22:53:04 -07:00
Dave Smith
9c15d63191 Refactor of compilation logic to enable support for package modules and provide better modularity/reusability for other systems 2010-01-02 14:17:59 -07:00
Tuncer Ayaz
9a8015f2d7 Added vi modeline/emacs local variables to file headers 2009-12-31 19:42:53 +01:00
Tuncer Ayaz
8c85021c1e Deleted trailing whitespace 2009-12-30 13:13:39 +01:00
Bryan Fink
badcc228bd add hrl-triggered recompiling to 'eunit' build as well 2009-12-21 12:48:36 -05:00
Bryan Fink
1fa659b5b3 recompile files if their "includes" have changed
added parameter to do_compile for passing a function that can extra the list of includes from a file
2009-12-21 12:15:21 -05:00
Dave Smith
417ff3ad76 Adding fail_on_warning support 2009-12-14 09:27:47 -05:00
Dave Smith
d6600ab506 Fixing number of warnings and buglets 2009-12-14 08:58:22 -05:00
Jon Meredith
726f8e6946 Added support for eunit tests as test/*_tests.erl 2009-12-05 15:18:09 -07:00