Source

SCons / src / engine / SCons / Tool / javah.xml

<!--
__COPYRIGHT__

This file is processed by the bin/SConsDoc.py module.
See its __doc__ string for a discussion of the format.
-->
<tool name="javah">
<summary>
Sets construction variables for the &javah; tool.
</summary>
<sets>
JAVAH
JAVAHFLAGS
JAVAHCOM
JAVACLASSSUFFIX
</sets>
<uses>
JAVAHCOMSTR
JAVACLASSPATH
</uses>
</tool>

<builder name="JavaH">
<summary>
Builds C header and source files for
implementing Java native methods.
The target can be either a directory
in which the header files will be written,
or a header file name which
will contain all of the definitions.
The source can be the names of <filename>.class</filename> files,
the names of <filename>.java</filename> files
to be compiled into <filename>.class</filename> files
by calling the &b-link-Java; builder method,
or the objects returned from the
&b-Java;
builder method.

If the construction variable
&cv-link-JAVACLASSDIR;
is set, either in the environment
or in the call to the
&b-JavaH;
builder method itself,
then the value of the variable
will be stripped from the
beginning of any <filename>.class</filename> file names.

Examples:

<example>
# builds java_native.h
classes = env.Java(target = 'classdir', source = 'src')
env.JavaH(target = 'java_native.h', source = classes)

# builds include/package_foo.h and include/package_bar.h
env.JavaH(target = 'include',
          source = ['package/foo.class', 'package/bar.class'])

# builds export/foo.h and export/bar.h
env.JavaH(target = 'export',
          source = ['classes/foo.class', 'classes/bar.class'],
          JAVACLASSDIR = 'classes')
</example>
</summary>
</builder>

<cvar name="JAVAH">
<summary>
The Java generator for C header and stub files.
</summary>
</cvar>

<cvar name="JAVAHCOM">
<summary>
The command line used to generate C header and stub files
from Java classes.
Any options specified in the &cv-link-JAVAHFLAGS; construction variable
are included on this command line.
</summary>
</cvar>

<cvar name="JAVAHCOMSTR">
<summary>
The string displayed when C header and stub files
are generated from Java classes.
If this is not set, then &cv-link-JAVAHCOM; (the command line) is displayed.

<example>
env = Environment(JAVAHCOMSTR = "Generating header/stub file(s) $TARGETS from $SOURCES")
</example>
</summary>
</cvar>

<cvar name="JAVAHFLAGS">
<summary>
General options passed to the C header and stub file generator
for Java classes.
</summary>
</cvar>