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.
Compilation parameters
- C++ sources must be compatible with C++17.
Warning flags
The following flags are guaranteed to not generate any warning:
- -Wall
- -Wctad-maybe-unsupported
- -Wextra-semi
- -Wnewline-eof
- -Wnon-virtual-dtor
- -Wshadow
The following flags may generate warnings:
- -Wdeprecated-declarations