# 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
