forked from OSchip/llvm-project
[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:
parent
6a3506a208
commit
4d812acba6
|
@ -13,9 +13,7 @@ directories::
|
||||||
- loader
|
- loader
|
||||||
- src
|
- src
|
||||||
- test
|
- test
|
||||||
+ utils
|
- utils
|
||||||
- build_scripts
|
|
||||||
- testing
|
|
||||||
- www
|
- www
|
||||||
|
|
||||||
Each of these directories is explained in detail below.
|
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
|
in the directory ``test/src/sys/mman/`` as implementation of ``mmap`` lives in
|
||||||
``src/sys/mman``.
|
``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
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
The ``www`` directory contains the HTML content of libc.llvm.org
|
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.
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
This directory contains re-implementations of some C++ standard library as well
|
This directory contains re-implementations of some C++ standard library
|
||||||
as some LLVM utilities. These are to be used with internal LLVM libc code and
|
utilities, as well as some LLVM utilities. These utilities are for use with
|
||||||
tests. More utilities will be added on an as needed basis. There are certain
|
internal LLVM libc code and tests.
|
||||||
rules to be followed for future changes and additions:
|
|
||||||
|
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,
|
1. Only two kind of headers can be included: Other headers from this directory,
|
||||||
and free standing C headers.
|
and free standing C headers.
|
||||||
|
|
|
@ -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.
|
|
@ -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.
|
Loading…
Reference in New Issue