mirror of
https://github.com/mhx/dwarfs.git
synced 2025-08-03 17:56:12 -04:00
Update README
- Remove Python section as we're not going to maintain it - Remove ccache argument as that's handled automatically - Add sections on prebuilt & universal binaries
This commit is contained in:
parent
78648e9399
commit
ecdbb7ca78
69
README.md
69
README.md
@ -10,10 +10,11 @@ A fast high compression read-only file system for Linux and Windows
|
||||
- [Overview](#overview)
|
||||
- [History](#history)
|
||||
- [Building and Installing](#building-and-installing)
|
||||
- [Prebuilt Binaries](#prebuilt-binaries)
|
||||
- [Universal Binaries](#universal-binaries)
|
||||
- [Dependencies](#dependencies)
|
||||
- [Building](#building)
|
||||
- [Installing](#installing)
|
||||
- [Experimental Python Scripting Support](#experimental-python-scripting-support)
|
||||
- [Static Builds](#static-builds)
|
||||
- [Usage](#usage)
|
||||
- [Windows Support](#windows-support)
|
||||
@ -28,6 +29,12 @@ A fast high compression read-only file system for Linux and Windows
|
||||
- [With EROFS](#with-erofs)
|
||||
- [With fuse-archive](#with-fuse-archive)
|
||||
|
||||
|
||||
|
||||
TODO: universal binary
|
||||
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||

|
||||
@ -107,6 +114,43 @@ some rudimentary docs as well.
|
||||
|
||||
## Building and Installing
|
||||
|
||||
### Prebuilt Binaries
|
||||
|
||||
[Each release](https://github.com/mhx/dwarfs/releases) has pre-built,
|
||||
statically linked binaries for `Linux-x86_64`, `Linux-aarch64` and
|
||||
`Windows-AMD64` available for download. These *should* run without
|
||||
any dependencies and can be useful especially on older distributions
|
||||
where you can't easily build the tools from source.
|
||||
|
||||
### Universal Binaries
|
||||
|
||||
In addition to the binary tarballs, there's a **universal binary**
|
||||
available for each architecture. These universal binaries contain
|
||||
*all* tools (`mkdwarfs`, `dwarfsck`, `dwarfsextract` and the `dwarfs`
|
||||
FUSE driver) in a single executable. These executables are compressed
|
||||
using [upx](https://github.com/upx/upx), so they are much smaller than
|
||||
the individual tools combined.
|
||||
|
||||
The universal binaries can be run either through symbolic links named
|
||||
after the proper tool. e.g.:
|
||||
|
||||
```
|
||||
$ ln -s dwarfs-universal-0.7.0-RC5-Linux-aarch64 mkdwarfs
|
||||
$ ./mkdwarfs --help
|
||||
```
|
||||
|
||||
Or you can select the tool by passing `--tool=<name>` as the first
|
||||
argument on the command line:
|
||||
|
||||
```
|
||||
$ .\dwarfs-universal-0.7.0-RC5-Windows-AMD64.exe --tool=mkdwarfs --help
|
||||
```
|
||||
|
||||
Note that just like the `dwarfs.exe` Windows binary, the universal
|
||||
Windows binary depends on the `winfsp-x64.dll` from the
|
||||
[WinFsp](https://github.com/winfsp/winfsp) project.
|
||||
See the [Windows Support](#windows-support) section for more details.
|
||||
|
||||
### Dependencies
|
||||
|
||||
DwarFS uses [CMake](https://cmake.org/) as a build tool.
|
||||
@ -223,27 +267,6 @@ $ sudo make install
|
||||
|
||||
Though you don't have to install the tools to play with them.
|
||||
|
||||
### Experimental Python Scripting Support
|
||||
|
||||
You can build `mkdwarfs` with experimental support for Python
|
||||
scripting:
|
||||
|
||||
```
|
||||
$ cmake .. -DWITH_TESTS=1 -DWITH_PYTHON=1
|
||||
```
|
||||
|
||||
This also requires Boost.Python. If you have multiple Python
|
||||
versions installed, you can explicitly specify the version to
|
||||
build against:
|
||||
|
||||
```
|
||||
$ cmake .. -DWITH_TESTS=1 -DWITH_PYTHON=1 -DWITH_PYTHON_VERSION=3.8
|
||||
```
|
||||
|
||||
Note that only Python 3 is supported. You can take a look at
|
||||
[scripts/example.py](scripts/example.py) to get an idea for
|
||||
what can currently be done with the interface.
|
||||
|
||||
### Static Builds
|
||||
|
||||
Attempting to build statically linked binaries is highly discouraged
|
||||
@ -263,7 +286,7 @@ That's it! Now you can try building static binaries for DwarFS:
|
||||
```
|
||||
$ git clone --recurse-submodules https://github.com/mhx/dwarfs
|
||||
$ cd dwarfs && mkdir build && cd build
|
||||
$ cmake .. -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DWITH_TESTS=1 -DSTATIC_BUILD_DO_NOT_USE=1 -GNinja
|
||||
$ cmake .. -DWITH_TESTS=1 -DSTATIC_BUILD_DO_NOT_USE=1 -GNinja
|
||||
$ ninja
|
||||
$ ninja test
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user