Big purge of base

- Delete AtExit, FilePathWatcher, MemoryMappedFile, MessageLoop,
  TaskScheduler, most of threading/
- Delete third_party/libevent, third_party/dmg_fp (this makes the json
  reader not-exactly-json any more because it doesn't support doubles, but
  GN already disallowed doubles.)
- Add src/msg_loop.*.

After all the deleting and mucking around, a simple perf comparison
against the current in-tree Chrome gn:

c:\src\gn>python build\full_test.py \src\cr\src out\wi\gn.exe
ninja: Entering directory `out'
ninja: no work to do.
[430/430] XmlElementWriter.TestXmlEscape
PASSED
Confirming output matches...
Comparing performance... (takes a while)
In-tree gn avg: 13.522s
Our gn avg: 11.822s

This isn't rock-solid, but it seems like it's at least not slower.

Change-Id: Id956ffdbb909b1398465098d349b57e10589b27d
Reviewed-on: https://gn-review.googlesource.com/1600
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
412 files changed
tree: 390c3018966956b9d425fcbff394ce1364f1f748
  1. base/
  2. build/
  3. infra/
  4. src/
  5. third_party/
  6. tools/
  7. .clang-format
  8. .editorconfig
  9. .gitignore
  10. .style.yapf
  11. AUTHORS
  12. LICENSE
  13. README.md
README.md

GN

GN is a meta-build system that generates build files for Ninja.

Get started with:

git clone https://gn.googlesource.com/gn
cd gn
python build/gen.py
ninja -C out