139 lines
4.9 KiB
XML
139 lines
4.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>org.apache.tvm</groupId>
|
|
<artifactId>tvm4j-native-parent</artifactId>
|
|
<version>0.0.1-SNAPSHOT</version>
|
|
<relativePath>../pom.xml</relativePath>
|
|
</parent>
|
|
|
|
<artifactId>libtvm4j-linux-x86_64</artifactId>
|
|
<version>0.0.1-SNAPSHOT</version>
|
|
<name>TVM4J Package - Native Linux-x86_64</name>
|
|
<url>http://maven.apache.org</url>
|
|
|
|
<packaging>so</packaging>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.tvm</groupId>
|
|
<artifactId>tvm4j-core</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>jar</type>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<sourceDirectory>${basedir}/../../core/src/main/java</sourceDirectory>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>header-generation</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<compilerArgs>
|
|
<arg>-h</arg>
|
|
<arg>${basedir}/generated</arg>
|
|
<arg>-classpath</arg>
|
|
<arg>${project.build.directory}/classes:${project.build.directory}/../../../core/tvm4j-core-0.0.1-SNAPSHOT.jar</arg>/
|
|
</compilerArgs>
|
|
<includes>
|
|
<include>org/apache/tvm/LibInfo.java</include>
|
|
</includes>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Rename and move generated 'org_apache_tvm_LibInfo.h' to 'org_apache_tvm_native_c_api.h'-->
|
|
<plugin>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<version>1.7</version>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-header</id>
|
|
<phase>process-sources</phase>
|
|
<configuration>
|
|
<target>
|
|
<copy file="${basedir}/generated/org_apache_tvm_LibInfo.h"
|
|
tofile="${basedir}/../src/main/native/org_apache_tvm_native_c_api.h" />
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>native-maven-plugin</artifactId>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<javahOS>linux</javahOS>
|
|
<compilerProvider>generic-classic</compilerProvider>
|
|
<compilerExecutable>${cxx}</compilerExecutable>
|
|
<linkerExecutable>${cxx}</linkerExecutable>
|
|
<sources>
|
|
<source>
|
|
<directory>../src/main/native</directory>
|
|
<fileNames>
|
|
<fileName>org_apache_tvm_native_c_api.cc</fileName>
|
|
</fileNames>
|
|
</source>
|
|
</sources>
|
|
<compilerStartOptions>
|
|
<compilerStartOption>-std=c++17</compilerStartOption>
|
|
</compilerStartOptions>
|
|
<compilerEndOptions>
|
|
<compilerEndOption>-I../../../include</compilerEndOption>
|
|
<compilerEndOption>-I../../../3rdparty/tvm-ffi/include</compilerEndOption>
|
|
<compilerEndOption>-I${JAVA_HOME}/include</compilerEndOption>
|
|
<compilerEndOption>-I${JAVA_HOME}/include/linux</compilerEndOption>
|
|
<compilerEndOption>${cflags}</compilerEndOption>
|
|
</compilerEndOptions>
|
|
<linkerStartOptions>
|
|
<linkerStartOption>-shared</linkerStartOption>
|
|
</linkerStartOptions>
|
|
<linkerEndOptions>
|
|
<linkerEndOption>-L${project.parent.basedir}/../../build/lib/</linkerEndOption>
|
|
<linkerEndOption>-ltvm_runtime</linkerEndOption>
|
|
<linkerEndOption>${ldflags}</linkerEndOption>
|
|
</linkerEndOptions>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|