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.BuildConfig
object 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
) AnArtefactsGetter
which 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.