fab.steps.compile_c module¶
C file compilation.
- class fab.steps.compile_c.MpCommonArgs(config, flags, compiler, compiler_version)¶
Bases:
object-
config:
BuildConfig¶
-
flags:
FlagsConfig¶
-
config:
- fab.steps.compile_c.compile_c(config, common_flags=None, path_flags=None, source=None)¶
Compiles all C files in all build trees, creating or extending a set of compiled files for each target.
This step uses multiprocessing. All C files are compiled in a single pass.
The command line compiler to is taken from the environment variable CC, and defaults to gcc -c.
Uses multiprocessing, unless disabled in the config.
- Parameters:
config – The
fab.build_config.BuildConfigobject where we can read settings such as the project workspace folder or the multiprocessing flag.common_flags (
Optional[List[str]]) – (default:None) A list of strings to be included in the command line call, for all files.path_flags (
Optional[List]) – (default:None) A list ofAddFlags, defining flags to be included in the command line call for selected files.source (
Optional[ArtefactsGetter]) – (default:None) AnArtefactsGetterwhich give us our c files to process.
- fab.steps.compile_c.store_artefacts(compiled_files, build_lists, artefact_store)¶
Create our artefact collection; object files for each compiled file, per root symbol.