[libc] Add a README to the sub-directories under the utils directory.

Also, the source layout document has been updated to reflect the current
layout of the `utils` directory.

Reviewers: PaulkaToast

Differential Revision: https://reviews.llvm.org/D74502
This commit is contained in:
Siva Chandra Reddy 2020-02-12 13:03:09 -08:00
parent 6a3506a208
commit 4d812acba6
4 changed files with 42 additions and 16 deletions

View File

@ -13,9 +13,7 @@ directories::
- loader
- src
- test
+ utils
- build_scripts
- testing
- utils
- www
Each of these directories is explained in detail below.
@ -87,17 +85,15 @@ toplevel ``libc`` directory itself. A test for, say the ``mmap`` function, lives
in the directory ``test/src/sys/mman/`` as implementation of ``mmap`` lives in
``src/sys/mman``.
The `utils` directory
---------------------
This directory contains utilities used by other parts of the llvm-libc system.
See the `README` files, in the sub-directories within this directory, to learn
about the various utilities.
The ``www`` directory
---------------------
The ``www`` directory contains the HTML content of libc.llvm.org
The ``utils/build_scripts`` directory
-------------------------------------
This directory contains scripts which support the build system, tooling etc.
The ``utils/testing`` directory
-------------------------------
This directory contains testing infrastructure.

View File

@ -1,7 +1,9 @@
This directory contains re-implementations of some C++ standard library as well
as some LLVM utilities. These are to be used with internal LLVM libc code and
tests. More utilities will be added on an as needed basis. There are certain
rules to be followed for future changes and additions:
This directory contains re-implementations of some C++ standard library
utilities, as well as some LLVM utilities. These utilities are for use with
internal LLVM libc code and tests.
More utilities will be added on an as needed basis. There are certain rules to
be followed for future changes and additions:
1. Only two kind of headers can be included: Other headers from this directory,
and free standing C headers.

View File

@ -0,0 +1,5 @@
# The LLVM libc header generation system
LLVM libc uses a header generation scheme to generate public as well as internal
header files. This directory contains the implementation of the header generator
which drives this header generation scheme.

View File

@ -0,0 +1,23 @@
# The LLVM libc unit test framework
This directory contains a lightweight implementation of a
[gtest](https://github.com/google/googletest) like unit test framework for LLVM
libc.
## Why not gtest?
While gtest is great, featureful and time tested, it uses the C and C++
standard libraries. Hence, using it to test LLVM libc (which is also an
implementation of the C standard libraries) causes various kinds of
mixup/conflict problems.
## How is it different from gtest?
LLVM libc's unit test framework is much less featureful as compared to gtest.
But, what is available strives to be exactly like gtest.
## Will it be made as featurful as gtest in future?
It is not clear if LLVM libc needs/will need every feature of gtest. We only
intend to extend it on an _as needed_ basis. Hence, it might never be as
featureful as gtest.