Add gcc builds

This commit is contained in:
Andrea Cavalli 2023-06-06 00:10:06 +02:00
parent 29bf91ee26
commit 0d5b90e670
4 changed files with 43 additions and 11 deletions

View File

@ -86,11 +86,11 @@ If you are using Maven, edit your `pom.xml` file as below:
<!-- Java 8 is supported if you use the following dependency classifier: <classifier>jdk8</classifier> -->
<!-- don't specify the version here -->
</dependency>
<!-- Example linux amd64 ssl1 natives -->
<!-- Example linux amd64 (GCC) ssl1 natives -->
<dependency>
<groupId>it.tdlight</groupId>
<artifactId>tdlight-natives</artifactId>
<classifier>linux_amd64_ssl1</classifier>
<classifier>linux_amd64_gcc_ssl1</classifier>
<!-- don't specify the version here -->
</dependency>
<!-- Example windows amd64 natives -->
@ -124,8 +124,8 @@ dependencies {
// do not specify the versions on the dependencies below!
implementation group: 'it.tdlight', name: 'tdlight-java' // Java 8 is supported if you use the following dependency classifier: `jdk8`
implementation group: 'it.tdlight', name: 'tdlight-natives', classifier: 'linux_amd64_ssl1'
// Include other native classifiers, for example linux_amd64_ssl3, macos_amd64, ... -->
implementation group: 'it.tdlight', name: 'tdlight-natives', classifier: 'linux_amd64_gcc_ssl1'
// Include other native classifiers, for example linux_amd64_ssl1, linux_amd64_ssl3, macos_amd64, ... -->
}
```
@ -138,6 +138,8 @@ To use TDLight Java you need to include the native libraries, by specifying one
- `linux_amd64_ssl1`
- `linux_amd64_ssl3`
- `linux_amd64_gcc_ssl1`
- `linux_amd64_gcc_ssl3`
- `linux_arm64_ssl1`
- `linux_arm64_ssl3`
- `linux_ppc64le_ssl3`

View File

@ -8,8 +8,8 @@
<name>TDLight Java BOM</name>
<properties>
<revision>3.0.0.0-SNAPSHOT</revision>
<tdlight.natives.version>4.0.427</tdlight.natives.version>
<tdlight.api.version>4.0.397</tdlight.api.version>
<tdlight.natives.version>4.0.436</tdlight.natives.version>
<tdlight.api.version>4.0.406</tdlight.api.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
@ -90,6 +90,18 @@
<version>${tdlight.natives.version}</version>
<classifier>linux_amd64_ssl3</classifier>
</dependency>
<dependency>
<groupId>it.tdlight</groupId>
<artifactId>tdlight-natives</artifactId>
<version>${tdlight.natives.version}</version>
<classifier>linux_amd64_gcc_ssl1</classifier>
</dependency>
<dependency>
<groupId>it.tdlight</groupId>
<artifactId>tdlight-natives</artifactId>
<version>${tdlight.natives.version}</version>
<classifier>linux_amd64_gcc_ssl3</classifier>
</dependency>
<dependency>
<groupId>it.tdlight</groupId>
<artifactId>tdlight-natives</artifactId>

View File

@ -46,7 +46,21 @@
<artifactId>tdlight-natives</artifactId>
<classifier>linux_amd64_ssl1</classifier>
</dependency>
<!--
<dependency>
<groupId>it.tdlight</groupId>
<artifactId>tdlight-natives</artifactId>
<classifier>linux_amd64_gcc_ssl1</classifier>
</dependency>
<dependency>
<groupId>it.tdlight</groupId>
<artifactId>tdlight-natives</artifactId>
<classifier>linux_amd64_ssl3</classifier>
</dependency>
<dependency>
<groupId>it.tdlight</groupId>
<artifactId>tdlight-natives</artifactId>
<classifier>linux_amd64_gcc_ssl3</classifier>
</dependency>
<dependency>
<groupId>it.tdlight</groupId>
<artifactId>tdlight-natives</artifactId>
@ -54,9 +68,9 @@
</dependency>
<dependency>
<groupId>it.tdlight</groupId>
<artifactId>macos_amd64</artifactId>
<artifactId>tdlight-natives</artifactId>
<classifier>macos_amd64</classifier>
</dependency>
-->
<!-- log4j logging -->
<dependency>

View File

@ -58,11 +58,15 @@ public final class Native {
NativeLibraryLoader.load(staticLibName, cl);
logger.debug("Failed to load {}", String.join(", ", sharedLibNames), e1);
} catch (UnsatisfiedLinkError e2) {
if (e2.getMessage().contains("libc++.so.1: cannot open shared")) {
throw new UnsupportedNativeLibraryException("Install \"libc++\" to use TDLight Java!");
} else {
e1.addSuppressed(e2);
throw new UnsupportedNativeLibraryException(e1);
}
}
}
}
private static Stream<String> getNormalizedArchitectures() {
String os = getOs();