freehep-nar:nar-javah

Compiles class files into c/c++ headers using "javah". Any class file that contains methods that were declared "native" will be run through javah.

Mojo Attributes:

  • Requires a Maven 2.0 project to execute.
  • Automatically executes within the lifecycle phase: compile

Required Parameters

Name Type Description
architecture String The Architecture for the nar, Some choices are: "x86", "i386", "amd64", "ppc", "sparc", ... Defaults to a derived value from ${os.arch}
failOnError boolean Fail on compilation/linking error. Default value is true.
libtool boolean Set use of libtool. If set to true, the "libtool " will be prepended to the command line for compatible processors. Default value is false.
runtime String Sets the type of runtime library, possible values "dynamic", "static". Default value is dynamic.

Optional Parameters

Name Type Description
aol String Architecture-OS-Linker name. Defaults to: arch-os-linker.
c C C Compiler
cpp Cpp C++ Compiler
fortran Fortran Fortran Compiler
java Java Java info for includes and linking
javah Javah Javah info
libraries List List of libraries to create
linker Linker Linker
maxCores int Maximum number of Cores/CPU's to use. 0 means unlimited.
os String The Operating System for the nar. Some choices are: "Windows", "Linux", "MacOSX", "SunOS", ... Defaults to a derived value from ${os.name} FIXME table missing
output String Name of the output
skip boolean Skip running of NAR plugins (any) altogether. Default value is false.
targetDirectory File Target directory for Nar file construction Defaults to "${project.build.directory}/nar" for "nar-compile" goal Defaults to "${project.build.directory}/test-nar" for "nar-testCompile" goal
tests List List of tests to create

Parameter Details

aol

Architecture-OS-Linker name. Defaults to: arch-os-linker.

  • Type: java.lang.String
  • Required: No

architecture The Architecture for the nar, Some choices are: "x86", "i386", "amd64", "ppc", "sparc", ... Defaults to a derived value from ${os.arch}
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${os.arch}

c C Compiler
  • Type: org.freehep.maven.nar.C
  • Required: No

cpp C++ Compiler
  • Type: org.freehep.maven.nar.Cpp
  • Required: No

failOnError Fail on compilation/linking error.
  • Type: boolean
  • Required: Yes
  • Default: true

fortran Fortran Compiler
  • Type: org.freehep.maven.nar.Fortran
  • Required: No

java Java info for includes and linking
  • Type: org.freehep.maven.nar.Java
  • Required: No

javah Javah info
  • Type: org.freehep.maven.nar.Javah
  • Required: No

libraries List of libraries to create
  • Type: java.util.List
  • Required: No

libtool Set use of libtool. If set to true, the "libtool " will be prepended to the command line for compatible processors.
  • Type: boolean
  • Required: Yes
  • Default: false

linker Linker
  • Type: org.freehep.maven.nar.Linker
  • Required: No

maxCores Maximum number of Cores/CPU's to use. 0 means unlimited.
  • Type: int
  • Required: No

os The Operating System for the nar. Some choices are: "Windows", "Linux", "MacOSX", "SunOS", ... Defaults to a derived value from ${os.name} FIXME table missing
  • Type: java.lang.String
  • Required: No

output Name of the output
  • Type: java.lang.String
  • Required: No
  • Expression: ${project.artifactId}-${project.version}

runtime Sets the type of runtime library, possible values "dynamic", "static".
  • Type: java.lang.String
  • Required: Yes
  • Default: dynamic

skip Skip running of NAR plugins (any) altogether.
  • Type: boolean
  • Required: No
  • Expression: ${nar.skip}
  • Default: false

targetDirectory Target directory for Nar file construction Defaults to "${project.build.directory}/nar" for "nar-compile" goal Defaults to "${project.build.directory}/test-nar" for "nar-testCompile" goal
  • Type: java.io.File
  • Required: No

tests List of tests to create
  • Type: java.util.List
  • Required: No