Files
FlatLaf/flatlaf-natives/flatlaf-natives-linux/README.md

51 lines
1.4 KiB
Markdown

FlatLaf Linux Native Library
============================
This sub-project contains the source code for the FlatLaf Linux native library.
The native library can be built only on Linux and requires a C++ compiler.
The native library is available for following CPU architectures: `x86_64` (or
`amd64`) and `arm64` (or `aarch64`).
To be able to build FlatLaf on any platform, and without C++ compiler, the
pre-built native libraries are checked into Git at
[flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/](https://github.com/JFormDesigner/FlatLaf/tree/main/flatlaf-core/src/main/resources/com/formdev/flatlaf/natives).
The native libraries were built on a GitHub server with the help of GitHub
Actions. See:
[Native Libraries](https://github.com/JFormDesigner/FlatLaf/actions/workflows/natives.yml)
workflow. Then the produced Artifacts ZIP was downloaded and the native library
checked into Git.
## Development
To build the library on Linux, some packages needs to be installed:
- `build-essential` - GCC and development tools
- `libxt-dev` - X11 toolkit development headers
- `g++-aarch64-linux-gnu` - GNU C++ compiler for the arm64 architecture (only on
x86_64 Linux for cross-compiling for arm64 architecture)
### Ubuntu
~~~
sudo apt update
sudo apt install build-essential libxt-dev
~~~
Only on x86_64 Linux for cross-compiling for arm64 architecture:
~~~
sudo apt install g++-aarch64-linux-gnu
~~~
### CentOS
~~~
sudo yum install libXt-devel
~~~