Skip to content

Commit b6f7256

Browse files
committed
be more explicit about where to find native libs
closes #48
1 parent b679499 commit b6f7256

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,15 @@ The project uses [dockcross](https://github.com/dockcross/dockcross) to cross-co
4242

4343
Currently, the full build process includes the following architectures:
4444

45-
* x86_32
46-
* x86_64
47-
* armv6
48-
* armv7
49-
* armv7a
50-
* armv7l (musl libc, linked statically)
51-
* aarch64
52-
* riscv32
53-
* riscv64
45+
* `x86_32`
46+
* `x86_64`
47+
* `armv6`
48+
* `armv7`
49+
* `armv7a`
50+
* `armv7l` (musl libc, linked statically)
51+
* `aarch64`
52+
* `riscv32`
53+
* `riscv64`
5454

5555
The implementation can handle word sizes up to 64 bit and is byte order aware. If you need another architecture, feel free to ask for it! Alternatively read how to build another architecture
5656
down below.
@@ -59,7 +59,7 @@ down below.
5959

6060
### CAN_RAW, CAN_BCM and CAN_ISOTP channels
6161

62-
1. Compile yourself or get a compiled release from [Maven Central](https://search.maven.org/search?q=a:javacan)
62+
1. Compile yourself or get a compiled release from Maven Central: [Core](https://central.sonatype.com/artifact/tel.schich/javacan-core), [EPoll](https://central.sonatype.com/artifact/tel.schich/javacan-epoll) (Check Versions -> Browse for published artifacts)
6363
2. Install the native components into your `LD_LIBRARY_PATH` or configure the appropriate Java properties (See next section)
6464
3. Create a channel by calling one of the `CanChannels.new...Channel()` methods
6565
4. Create a `NetworkDevice` using its static `lookup(String)` method
@@ -78,17 +78,17 @@ The library relies on several native (JNI) components. By default, these compone
7878
the classpath into a temporary folder.
7979

8080
While JavaCAN 2.x bundled the native components, starting with the 3.x release series no native components are bundles with the core libraries. Dedicated jar files are generated for each native
81-
component (classified by their architecture). JavaCAN will **not** attempt to discover the location of a library version appropriate for the correct architecture. This is instead left to
81+
component (classified by their architecture). The native components are published alongside the Java components to Maven Central. JavaCAN will **not** attempt to discover the location of a library version appropriate for the correct architecture. This is instead left to
8282
the downstream application developer.
8383

8484
There are a few approaches to get the correct native libraries loaded:
8585

8686
1. Installing the libraries into the library path (the `LD_LIBRARY_PATH` environment variable or the `java.library.path` property)
8787
2. Configuring the `javacan.native.javacan-<module>.path` property to tell JavaCAN the exact file system path where the native component is located
8888
3. Configuring the `javacan.native.javacan-<module>.classpath` property to tell JavaCAN the exact location on the classpath where the native component is located
89-
4. Adding **one** of the architecture-specific jar files into the classpath (either add compile time or runtime)
89+
4. Adding **one** of the architecture-specific jar files into the classpath (either at compile time or runtime)
9090

91-
Application that are intended to run on a single architecture or that build architecture-specific version already, the simplest solution is to bundle the provided architecture-specific jar files
91+
For applications that are intended to run on a single architecture or that build architecture-specific versions already, the simplest solution is to bundle the provided architecture-specific jar files
9292
matching the build architecture.
9393

9494
For applications supporting multiple architectures at once I'd recommend dynamically adding the architecture-specific jar file at runtime or to repackage the available native libraries and

0 commit comments

Comments
 (0)