- build_release.lua changed to use the new build system
- checked for proper compilation of all known configurations (boards/known/)
- fixed various small issues in the builder/utils library
- added 'disp_mode=minimal'
Conflicts:
.gitignore
src/common_tmr.c
src/platform/lm3s/platform.c
src/platform/lm3s/platform_conf.h
src/platform/sim/platform_conf.h
src/platform/stm32/platform_conf.h
src/platform/str9/platform_conf.h
utils/build.lua
Also fixed some minor issues in the builder.
The build system now accepts a single C file as a target and compiles that
file only. For example:
$ lua build_elua.lua board=ek-lm3s8962 src/main.c
Two other switches were added to the build sysem (both of which work only
with the single file target shown above):
"-E": preprocess file instead of compiling it
"-S": generate assembler source for the file instead of compiling it
1. Respect the value of build_dir
2. Added romfs_dir (specify ROMFS directory location)
3. Added output_dir (specify the location of the final executable and
associated (bin, hex) files)
- more build configuration attributes (allocator, target)
- more sanity checks
- more color in the builder
- 'romfs' is now a separate builder target, not a function being called separately
- added mappings for the configurator attributes
The separate dependency generation step from the Lua build system
was not needed, now the dependencies are generated at the same time
as the object files.
- specify -Dmacro on the builder command line to automatically include the macro in the compiler command line
- refactoring: option handling code now moved to utils/utils.lua
- various small bugfixes
The files that will be compiled to link an eLua image are now found automatically,
there's no need to specify them explicitly anymore. This applies only to the main
'build_elua.lua' build file, each target's 'conf.lua' still needs to specify them
explicitly (but can use the same automatic source file finding as the main build file).
Added a 'summary' display mode in the builder which displays less information
(thus making the output more readable) and also adds colors :) Not exactly
very useful but I saw this recently in cmake and I _had_ to implement it :)
Activate with "disp_mode=summary" in the command line.
Now a target can be reffered to also by its name, not only by the
corresponding _target object. Also added 'utils.lua' as a separate
file in utils/ (it used to be a part of build.lua)
$ lua build_elua.lua board=et-stm32 burn /dev/ttyUSB0
will invoke stm32ld (the default for stm32's platform 'burn' target) on port /dev/ttyUSB0.
I really have to document all this stuff somewhere. Don't panic though, for now you can use the old build system exactly like you used it before :)
- added support for per-backend targets. avr32 now has a 'burn' target (besides the regular 'prog') that can be used to build the image and burn it to the board (lua build_elua.lua board=atevk1100 burn). It is created in 'conf.lua'
- other fixes and improvements to the build system
well), per-project build directories and other nice stuff. So far used only for mux and rfs_server; 'lua mux.lua' or 'lua rfs_server.lua' to test (add "-c" to clean). Only needs lfs.