[Fontations-backend] Build fontations-enabled viewer with GN

Modify the Bazel side build rules so that the CXX core-lib target
contains its symbols from libc++. The Bazel build performs the build of
the CXX Rust interface library based on clang arguments '-std=c++17'
'-stdlib=libc++' so that it requires libc++ symbols to be
present. Depending on platform and linker, the GN+ninja build cannot
provide those (example ld linker and GNU libstd++ on Linux). We address
this by making the CXX core-lib build include the libc++ symbols on
Linux.

This may lead to a partial duplication of C++ standard library
functionality, which may be acceptable for the viewer executable or
other test executables.

In Chromium, Skia + Fontations + Blink's font stack is built using the
GN based Rust builds that the Chrome security team developed - so this
problem will not apply there.

Bug: b/40045269
Change-Id: I1a6654a8dda99fcc15781fbb7414d5bf889e43e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/719916
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Dominik Röttsches <drott@google.com>
4 files changed