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:
- 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".