Examples

These example contain a simple C method "sayHello". This method can be called from a C program, a Java program, put into a static library, put into a shared library, use as a third party library, ... There are also some unit test which are run and call the same method. All examples are available in the src/it directory.

The following examples are available:

it0001-executable
A C routine.
it0002-executable-static
A C routine statically linked with the C-runtime library.
it0003-jni
A C routine called from Java.
it0004-java-dep-jni
A java project which depends on "jni".
it0005-jni-static
A C routine called from Java statically linked with the C-runtime library.
it0006-jni-3rdparty
A third party JNI library called from Java. The third party library is the "jni" from the example above and is added as resource to the project in the form of a JNI library and a corresponding jar file. The "jni" lib is currently provided for the following platforms:
  • x86_64-MacOSX-g++
it0007-lib-shared
A C routine which gets archived into a shared library. A C test executable is created.
it0008-executable-dep-lib-shared
A C executable which depends on "lib-shared" and links dynamically with it. The executable is created and run.
it0009-jni-dep-lib-shared
A C routine called from Java, which depends on "lib-shared" and links dynamically with it.
it0010-lib-static
A C routine which gets archived into a static library. A C test executable is created.
it0011-executable-dep-lib-static
A C executable which depends on "lib-static" and links statically with it. The executabe is created and run.
it0012-jni-dep-lib-static
A C routine called from Java, which depends on "lib-static" and links statically with it.
it0013-gnu-executable
A gnu autogen and configurable package.
it0014-multi-module
A multi module package, consisting of a library and an executable dependent on that library.
it0015-cpp-executable
A C++ program.
it0016-layout
Tests for different repository layouts, currently NarLayout20 and NarLayout21.
it0017-toolchain
Tests which use the toolchain to find tools such as javah.
it0018-fortran
A Fortran 90 program, not enabled on Windows.
it0019-compiler
Test to run with the Intel compiler.
it0020-lib-3rdparty
A 3rd party library, including header files.
it0021-executable-dep-lib-3rdparty
An executable dependent on the 3rd party library.

These examples are now all run as integration tests by running maven on the maven-nar-plugin from its top-level directory with the profile "run-its".