doc change around native build and a few pom changes on the native build
This commit is contained in:
parent
9578e078d7
commit
95c5edb464
|
@ -41,51 +41,6 @@
|
|||
<directory>${basedir}/target/output/</directory>
|
||||
</resource>
|
||||
</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>
|
||||
|
||||
|
||||
|
|
|
@ -34,21 +34,12 @@ those platforms with the release.
|
|||
> 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
|
||||
|
||||
The native library uses
|
||||
[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:
|
||||
These are the required linux packages to be installed for the compilation to work:
|
||||
|
||||
- gcc - C Compiler
|
||||
|
||||
- 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
|
||||
|
||||
- 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
|
||||
its location
|
||||
|
||||
To perform this installation on RHEL or Fedora, you can simply type this
|
||||
at a command line:
|
||||
To perform this installation on RHEL or Fedora, you can simply type this 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:
|
||||
|
||||
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**
|
||||
>
|
||||
|
@ -75,30 +65,26 @@ Or on Debian systems:
|
|||
|
||||
## Invoking the compilation
|
||||
|
||||
In the distribution, in the `native-src` directory, execute the shell
|
||||
script `bootstrap`. This script will invoke `automake` and `make` what
|
||||
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
|
||||
In the source distribution or git clone, in the `activemq-native` directory, execute the shell
|
||||
script `compile-native.sh`. This script will invoke the proper maven profile to perform the native build.
|
||||
|
||||
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
|
||||
`./native-src/src/.libs/libActiveMQAIO.so`. Simply move that file over
|
||||
`bin` on the distribution or the place you have chosen on the [library
|
||||
`./target/nar/activemq-native-RELEASE-amd64-Linux-gpp-jni/lib/amd64-Linux-gpp/jni/
|
||||
libactivemq-native-RELEASE.so`. Simply move that file over
|
||||
`bin` with the proper rename [library
|
||||
path](#using-server.library.path).
|
||||
|
||||
If you want to perform changes on the ActiveMQ libaio code, you could
|
||||
|
|
Loading…
Reference in New Issue