[roll] Roll infra/recipes [gcc_toolchain] Work around missing HAVE_SETLOCALE define

This pokes the CXXFLAGS with -DHAVE_SETLOCALE because libcpp's
configure fails to check for setlocale but then libcpp's code
uses `#ifdef HAVE_SETLOCALE`.  This hasn't been noticed upstream
because missing the macro makes it `#define setlocale(x)` as a
no-op macro, which just makes libcpp's localization not always
right.  In the recipe build, we've injected the directive
`#include <locale>` to work around a different incompatibility
with libc++ headers.  But that header uses `setlocale` in a way
that is broken by the "no-op" macro, so the build breaks.  It's
not quite clear exactly what changed upstream to make this start
breaking recently.  But the workaround resolves it for now.  We
can separately pursue getting the upstream libcpp/configure.ac
to do the missing check.

This also updates the recipe logic for composing the flags to be
a little cleaner, and improves the logic for collecting the log
files from configure steps, which was not getting all of the
relevant logs before.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1236210
Original-Revision: 5f6d9b204390f7e2aa7e4a886b9f0643230b2964
GitOrigin-RevId: fb2f01bf8fa85f318414190f7d0e5e21670fd4ed
Change-Id: I58b10a280d98333b30af726fb78ee044c3e9bc9e
1 file changed
tree: fc7c8443355fbc69333ef847db4abc33d5a77775
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.