mirror of
https://github.com/aristocratos/btop.git
synced 2024-09-21 03:42:45 +12:00
Update README.md with NetBSD details.
This commit is contained in:
parent
d03c36b173
commit
9b499c1dae
1 changed files with 169 additions and 0 deletions
169
README.md
169
README.md
|
@ -7,6 +7,7 @@
|
|||
![Linux](https://img.shields.io/badge/-Linux-grey?logo=linux)
|
||||
![macOS](https://img.shields.io/badge/-OSX-black?logo=apple)
|
||||
![FreeBSD](https://img.shields.io/badge/-FreeBSD-red?logo=freebsd)
|
||||
![NetBSD](https://img.shields.io/badge/-NetBSD-black?logo=netbsd)
|
||||
![OpenBSD](https://img.shields.io/badge/-OpenBSD-black?logo=openbsd)
|
||||
![Usage](https://img.shields.io/badge/Usage-System%20resource%20monitor-yellow)
|
||||
![c++20](https://img.shields.io/badge/cpp-c%2B%2B20-green)
|
||||
|
@ -18,6 +19,7 @@
|
|||
[![Continuous Build Linux](https://github.com/aristocratos/btop/actions/workflows/continuous-build-linux.yml/badge.svg)](https://github.com/aristocratos/btop/actions/workflows/continuous-build-linux.yml)
|
||||
[![Continuous Build macOS](https://github.com/aristocratos/btop/actions/workflows/continuous-build-macos.yml/badge.svg)](https://github.com/aristocratos/btop/actions/workflows/continuous-build-macos.yml)
|
||||
[![Continuous Build FreeBSD](https://github.com/aristocratos/btop/actions/workflows/continuous-build-freebsd.yml/badge.svg)](https://github.com/aristocratos/btop/actions/workflows/continuous-build-freebsd.yml)
|
||||
[![Continuous Build NetBSD](https://github.com/aristocratos/btop/actions/workflows/continuous-build-netbsd.yml/badge.svg)](https://github.com/aristocratos/btop/actions/workflows/continuous-build-netbsd.yml)
|
||||
[![Continuous Build OpenBSD](https://github.com/aristocratos/btop/actions/workflows/continuous-build-openbsd.yml/badge.svg)](https://github.com/aristocratos/btop/actions/workflows/continuous-build-openbsd.yml)
|
||||
|
||||
## Index
|
||||
|
@ -35,6 +37,7 @@
|
|||
* [Compilation Linux](#compilation-linux)
|
||||
* [Compilation macOS](#compilation-macos-osx)
|
||||
* [Compilation FreeBSD](#compilation-freebsd)
|
||||
* [Compilation NetBSD](#compilation-netbsd)
|
||||
* [Compilation OpenBSD](#compilation-openbsd)
|
||||
* [GPU compatibility](#gpu-compatibility)
|
||||
* [Installing the snap](#installing-the-snap)
|
||||
|
@ -343,6 +346,10 @@ If you have an AMD GPU `rocm_smi_lib` is required, which may or may not be packa
|
|||
```sh
|
||||
pkg install btop
|
||||
```
|
||||
* **NetBSD**
|
||||
```sh
|
||||
pkg_add install btop
|
||||
```
|
||||
|
||||
|
||||
**Binary release on Homebrew (macOS (x86_64 & ARM64) / Linux (x86_64))**
|
||||
|
@ -902,6 +909,168 @@ If you have an AMD GPU `rocm_smi_lib` is required, which may or may not be packa
|
|||
|
||||
</details>
|
||||
|
||||
## Compilation NetBSD
|
||||
|
||||
Requires at least GCC 10.
|
||||
|
||||
Note that GNU make (`gmake`) is required to compile on NetBSD.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### With gmake
|
||||
</summary>
|
||||
|
||||
1. **Install dependencies**
|
||||
|
||||
```bash
|
||||
pkg_add install gmake gcc10 coreutils git
|
||||
```
|
||||
|
||||
2. **Clone repository**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/aristocratos/btop.git
|
||||
cd btop
|
||||
```
|
||||
|
||||
3. **Compile**
|
||||
|
||||
```bash
|
||||
gmake CXXFLAGS="-DNDEBUG"
|
||||
```
|
||||
|
||||
Options for make:
|
||||
|
||||
| Flag | Description |
|
||||
|---------------------------------|-------------------------------------------------------------------------|
|
||||
| `VERBOSE=true` | To display full compiler/linker commands |
|
||||
| `STATIC=true` | For static compilation (only libgcc and libstdc++) |
|
||||
| `QUIET=true` | For less verbose output |
|
||||
| `STRIP=true` | To force stripping of debug symbols (adds `-s` linker flag) |
|
||||
| `DEBUG=true` | Sets OPTFLAGS to `-O0 -g` and enables more verbose debug logging |
|
||||
| `ARCH=<architecture>` | To manually set the target architecture |
|
||||
| `FORTIFY_SOURCE=false` | Disable fortification with `_FORTIFY_SOURCE=3` |
|
||||
| `ADDFLAGS=<flags>` | For appending flags to both compiler and linker |
|
||||
| `CXX=<compiler>` | Manually set which compiler to use |
|
||||
|
||||
Example: `gmake ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system.
|
||||
|
||||
4. **Install**
|
||||
|
||||
```bash
|
||||
sudo gmake install
|
||||
```
|
||||
|
||||
Append `PREFIX=/target/dir` to set target, default: `/usr/local`
|
||||
|
||||
Notice! Only use "sudo" when installing to a NON user owned directory.
|
||||
|
||||
5. **(Recommended) Set suid bit to make btop always run as root (or other user)**
|
||||
|
||||
```bash
|
||||
sudo gmake setuid
|
||||
```
|
||||
|
||||
No need for `sudo` to see information for non user owned processes and to enable signal sending to any process.
|
||||
|
||||
Run after make install and use same PREFIX if any was used at install.
|
||||
|
||||
Set `SU_USER` and `SU_GROUP` to select user and group, default is `root` and `wheel`
|
||||
|
||||
* **Uninstall**
|
||||
|
||||
```bash
|
||||
sudo gmake uninstall
|
||||
```
|
||||
|
||||
* **Remove any object files from source dir**
|
||||
|
||||
```bash
|
||||
gmake clean
|
||||
```
|
||||
|
||||
* **Remove all object files, binaries and created directories in source dir**
|
||||
|
||||
```bash
|
||||
gmake distclean
|
||||
```
|
||||
|
||||
* **Show help**
|
||||
|
||||
```bash
|
||||
gmake help
|
||||
```
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### With CMake (Community maintained)
|
||||
</summary>
|
||||
|
||||
1. **Install build dependencies**
|
||||
|
||||
Requires GCC, CMake, Ninja and Git
|
||||
|
||||
```bash
|
||||
pkg_add install cmake ninja-build gcc10 coreutils git
|
||||
```
|
||||
|
||||
2. **Clone the repository**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/aristocratos/btop.git && cd btop
|
||||
```
|
||||
|
||||
3. **Compile**
|
||||
|
||||
```bash
|
||||
# Configure
|
||||
cmake -DCMAKE_CXX_COMPILER="/usr/pkg/gcc10/bin/g++" -B build -G Ninja
|
||||
# Build
|
||||
cmake --build build
|
||||
```
|
||||
|
||||
This will automatically build a release version of btop.
|
||||
|
||||
Some useful options to pass to the configure step:
|
||||
|
||||
| Configure flag | Description |
|
||||
|---------------------------------|-------------------------------------------------------------------------|
|
||||
| `-DBTOP_STATIC=<ON\|OFF>` | Enables static linking (OFF by default) |
|
||||
| `-DBTOP_LTO=<ON\|OFF>` | Enables link time optimization (ON by default) |
|
||||
| `-DBTOP_USE_MOLD=<ON\|OFF>` | Use mold to link btop (OFF by default) |
|
||||
| `-DBTOP_PEDANTIC=<ON\|OFF>` | Compile with additional warnings (OFF by default) |
|
||||
| `-DBTOP_WERROR=<ON\|OFF>` | Compile with warnings as errors (OFF by default) |
|
||||
| `-DBTOP_FORTIFY=<ON\|OFF>` | Detect buffer overflows with `_FORTIFY_SOURCE=3` (ON by default) |
|
||||
| `-DCMAKE_INSTALL_PREFIX=<path>` | The installation prefix ('/usr/local' by default) |
|
||||
|
||||
To force any other compiler, run `CXX=<compiler> cmake -B build -G Ninja`
|
||||
|
||||
4. **Install**
|
||||
|
||||
```bash
|
||||
cmake --install build
|
||||
```
|
||||
|
||||
May require root privileges
|
||||
|
||||
5. **Uninstall**
|
||||
|
||||
CMake doesn't generate an uninstall target by default. To remove installed files, run
|
||||
```
|
||||
cat build/install_manifest.txt | xargs rm -irv
|
||||
```
|
||||
|
||||
6. **Cleanup build directory**
|
||||
|
||||
```bash
|
||||
cmake --build build -t clean
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Compilation OpenBSD
|
||||
|
||||
Requires at least GCC 10.
|
||||
|
|
Loading…
Reference in a new issue