Files
FlatLaf/flatlaf-natives/flatlaf-natives-linux
Karl Tauber 32d102dbc9 Native Libraries: added API version to:
- test whether native library matches the JAR (bad builds could e.g. ship a newer JAR with an older incompatible native library)
- invoke a method (to get API version) to check whether native library works correctly

if API version do not match, or method could not invoked correctly, disable usage of FlatLaf native library

Windows and macOS binaries built and signed locally in clean workspace
Linux binary built by GitHub Actions
2024-03-24 16:37:11 +01:00
..

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.

To be able to build FlatLaf on any platform, and without C++ compiler, the pre-built native library is checked into Git at flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/.

The native library was built on a GitHub server with the help of GitHub Actions. See: Native Libraries 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.

Ubuntu

build-essential contains GCC and development tools. libxt-dev contains the X11 toolkit development headers.

sudo apt update
sudo apt install build-essential libxt-dev

CentOS

sudo yum install libXt-devel