You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
976 B

# Compiling C/C++ code
The present document compiles a list of guidelines, recommendations, and
expectations around the topic of compiling C and C++ code against the Core SDK.
## Sysroot
The Fuchsia sysroot for a given target architecture is available under
`//arch/<architecture>/sysroot`.
That directory contains a complete sysroot and may be used with any tool that
accepts a `--sysroot` flag.
## Prebuilts
All prebuilts have C linkage.
### Debug symbols
Debug symbols for all prebuilts are available under `//.build-id`, which follows
a [standard convention][build-id].
## Compilation parameters
- C++ sources are compatible with both C++14 and C++17.
### Warning flags
The following flags are guaranteed to not generate any warning:
- `-Wall`
- `-Wextra-semi`
- `-Wnewline-eof`
- `-Wshadow`
The following flags may generate warnings:
- `-Wdeprecated-declarations`
[build-id]: https://fedoraproject.org/wiki/Releases/FeatureBuildId#Find_files_by_build_ID