merge #130 - doc change around native build and a few pom changes on the native build
This commit is contained in:
commit
df99aa673d
|
@ -41,51 +41,6 @@
|
||||||
<directory>${basedir}/target/output/</directory>
|
<directory>${basedir}/target/output/</directory>
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<!-- We don't currently have a 32-bit shared object in the repo which means if this is enabled the 64-bit
|
|
||||||
shared object won't be copied properly. -->
|
|
||||||
<!--execution>
|
|
||||||
<id>copy-resources-32</id>
|
|
||||||
<phase>validate</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>copy-resources</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<outputDirectory>${basedir}/target/output/lib/linux-i686/</outputDirectory>
|
|
||||||
<resources>
|
|
||||||
<resource>
|
|
||||||
<directory>bin/</directory>
|
|
||||||
<includes>
|
|
||||||
<include>libactiveMQAIO32.so</include>
|
|
||||||
</includes>
|
|
||||||
</resource>
|
|
||||||
</resources>
|
|
||||||
</configuration>
|
|
||||||
</execution-->
|
|
||||||
<execution>
|
|
||||||
<id>copy-resources-64</id>
|
|
||||||
<phase>validate</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>copy-resources</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<outputDirectory>${basedir}/target/output/lib/linux-x86_64/</outputDirectory>
|
|
||||||
<resources>
|
|
||||||
<resource>
|
|
||||||
<directory>bin/</directory>
|
|
||||||
<includes>
|
|
||||||
<include>libactivemqAIO64.so</include>
|
|
||||||
</includes>
|
|
||||||
</resource>
|
|
||||||
</resources>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,21 +34,12 @@ those platforms with the release.
|
||||||
> At the moment the native layer is only available on Linux. If you are
|
> At the moment the native layer is only available on Linux. If you are
|
||||||
> in a platform other than Linux the native compilation will not work
|
> in a platform other than Linux the native compilation will not work
|
||||||
|
|
||||||
The native library uses
|
These are the required linux packages to be installed for the compilation to work:
|
||||||
[autoconf](http://en.wikipedia.org/wiki/Autoconf) what makes the
|
|
||||||
compilation process easy, however you need to install extra packages as
|
|
||||||
a requirement for compilation:
|
|
||||||
|
|
||||||
- gcc - C Compiler
|
- gcc - C Compiler
|
||||||
|
|
||||||
- gcc-c++ or g++ - Extension to gcc with support for C++
|
- gcc-c++ or g++ - Extension to gcc with support for C++
|
||||||
|
|
||||||
- autoconf - Tool for automating native build process
|
|
||||||
|
|
||||||
- make - Plain old make
|
|
||||||
|
|
||||||
- automake - Tool for automating make generation
|
|
||||||
|
|
||||||
- libtool - Tool for link editing native libraries
|
- libtool - Tool for link editing native libraries
|
||||||
|
|
||||||
- libaio - library to disk asynchronous IO kernel functions
|
- libaio - library to disk asynchronous IO kernel functions
|
||||||
|
@ -58,14 +49,13 @@ a requirement for compilation:
|
||||||
- A full JDK installed with the environment variable JAVA\_HOME set to
|
- A full JDK installed with the environment variable JAVA\_HOME set to
|
||||||
its location
|
its location
|
||||||
|
|
||||||
To perform this installation on RHEL or Fedora, you can simply type this
|
To perform this installation on RHEL or Fedora, you can simply type this at a command line:
|
||||||
at a command line:
|
|
||||||
|
|
||||||
sudo yum install automake libtool autoconf gcc-c++ gcc libaio libaio-devel make
|
sudo yum install libtool gcc-c++ gcc libaio libaio-devel make
|
||||||
|
|
||||||
Or on Debian systems:
|
Or on Debian systems:
|
||||||
|
|
||||||
sudo apt-get install automake libtool autoconf gcc-g++ gcc libaio libaio-dev make
|
sudo apt-get install libtool gcc-g++ gcc libaio libaio-dev make
|
||||||
|
|
||||||
> **Note**
|
> **Note**
|
||||||
>
|
>
|
||||||
|
@ -75,30 +65,26 @@ Or on Debian systems:
|
||||||
|
|
||||||
## Invoking the compilation
|
## Invoking the compilation
|
||||||
|
|
||||||
In the distribution, in the `native-src` directory, execute the shell
|
In the source distribution or git clone, in the `activemq-native` directory, execute the shell
|
||||||
script `bootstrap`. This script will invoke `automake` and `make` what
|
script `compile-native.sh`. This script will invoke the proper maven profile to perform the native build.
|
||||||
will create all the make files and the native library.
|
|
||||||
|
|
||||||
someUser@someBox:/messaging-distribution/native-src$ ./bootstrap
|
|
||||||
checking for a BSD-compatible install... /usr/bin/install -c
|
|
||||||
checking whether build environment is sane... yes
|
|
||||||
checking for a thread-safe mkdir -p... /bin/mkdir -p
|
|
||||||
|
|
||||||
...
|
|
||||||
|
|
||||||
configure: creating ./config.status
|
|
||||||
config.status: creating Makefile
|
|
||||||
config.status: creating ./src/Makefile
|
|
||||||
config.status: creating config.h
|
|
||||||
config.status: config.h is unchanged
|
|
||||||
config.status: executing depfiles commands
|
|
||||||
config.status: executing libtool commands
|
|
||||||
|
|
||||||
|
someUser@someBox:/checkout-dir/activemq-native$ ./compile-native.sh
|
||||||
|
[INFO] Scanning for projects...
|
||||||
|
[INFO]
|
||||||
|
[INFO] ------------------------------------------------------------------------
|
||||||
|
[INFO] Building ActiveMQ6 Native POM 6.0.0-SNAPSHOT
|
||||||
|
[INFO] ------------------------------------------------------------------------
|
||||||
|
[INFO]
|
||||||
|
[INFO] --- nar-maven-plugin:3.0.0:nar-validate (default-nar-validate) @ activemq-native ---
|
||||||
|
[INFO] Using AOL: amd64-Linux-gpp
|
||||||
|
[INFO]
|
||||||
|
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-java) @ activemq-native ---
|
||||||
...
|
...
|
||||||
|
|
||||||
The produced library will be at
|
The produced library will be at
|
||||||
`./native-src/src/.libs/libActiveMQAIO.so`. Simply move that file over
|
`./target/nar/activemq-native-RELEASE-amd64-Linux-gpp-jni/lib/amd64-Linux-gpp/jni/
|
||||||
`bin` on the distribution or the place you have chosen on the [library
|
libactivemq-native-RELEASE.so`. Simply move that file over
|
||||||
|
`bin` with the proper rename [library
|
||||||
path](#using-server.library.path).
|
path](#using-server.library.path).
|
||||||
|
|
||||||
If you want to perform changes on the ActiveMQ libaio code, you could
|
If you want to perform changes on the ActiveMQ libaio code, you could
|
||||||
|
|
Loading…
Reference in New Issue