summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2021-07-15 13:58:36 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2021-07-21 09:56:25 +0200
commit5333fbe46bcbf70b4888bcc6655681f2cd0f161b (patch)
tree33af95a299d8d7102537473825cdec62b7ff5b60 /README.md
parentd2458bf40383d8e89772727c64ff83322bcb53d3 (diff)
Add a separate architecture/structure writeup
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'README.md')
-rw-r--r--README.md44
1 files changed, 2 insertions, 42 deletions
diff --git a/README.md b/README.md
index fcb69e2..c5066f2 100644
--- a/README.md
+++ b/README.md
@@ -111,48 +111,8 @@ required dependencies:
./mkwinbins.sh
-## Structure of the Source Code
-
-The main functionality of the package is split up into a number of libraries.
-The actual tools are mainly wrappers around the libraries that combine their
-functionality in a useful way.
-
-The headers of all the libraries can be found in the `include` directory,
-whereas the source code is in a per-library sub-directory within `lib`. The
-tools themselves are in sub-directories within `bin`.
-
-The `include` directory has a sub-directory `sqfs` which contains the public
-headers of `libsquashfs.so` which are installed along with the library. All
-other headers are private to this package.
-
-The following components exist:
- - `libfstree.a` built from files in `lib/fstree` contains functions for
- manipulating a file system tree.
- - `libtar.a` built from files in `lib/tar` contains data structures and
- functions for parsing and creating tar files.
- - `libsquashfs.so` built from files in `lib/sqfs` contains all kinds of
- data structures for reading and writing SquashFS archives. Abstractions
- for data compression and so on. It contains the actual brains of this
- package.
- - `libcommon.a` built from files in `lib/common` contains a bunch
- of commonly used code shared across the utilities.
- - `libcompat.a` built from files in `lib/compat` contains minimal
- implementations of POSIX or GNU functions that are not available on some
- platforms.
- - `libutil.a` contains common utilities that are used internally by both the
- programs and `libsquashfs.so`.
-
-Optionally, `libsquashfs` can be compiled with builtin, custom versions of zlib
-and lz4. The configure options `--with-builtin-zlib` and `--with-builtin-lz4`
-can be used. The respective library sources are also in the `lib` directory.
-
-The `tests` sub-directory contains unit tests for the libraries.
-
-The `extras` sub-directory contains a few demo programs that use `libsquashfs`.
-
-To allow 3rd party applications to use `libsquashfs.so` without restricting
-their choice of license, the code in the `lib/sqfs` and `lib/util` directories
-is licensed under the LGPLv3, in contrast to the rest of this package.
+An high-level overview of the source code and
+architecture [can be found here](doc/architecture.md).
## A Note on LZO Support