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

<?xml version="1.0" encoding="UTF-8"?>

This file is processed by the bin/ module.
See its __doc__ string for a discussion of the format.

<!DOCTYPE sconsdoc [
<!ENTITY % scons SYSTEM '../../../../doc/scons.mod'>
<!ENTITY % builders-mod SYSTEM '../../../../doc/generated/builders.mod'>
<!ENTITY % functions-mod SYSTEM '../../../../doc/generated/functions.mod'>
<!ENTITY % tools-mod SYSTEM '../../../../doc/generated/tools.mod'>
<!ENTITY % variables-mod SYSTEM '../../../../doc/generated/variables.mod'>

<sconsdoc xmlns=""
          xsi:schemaLocation=" scons.xsd">

<tool name="javah">
Sets construction variables for the &javah; tool.

<builder name="JavaH">
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
builder method.

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


# 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')

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

<cvar name="JAVAHCOM">
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.

<cvar name="JAVAHCOMSTR">
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.

env = Environment(JAVAHCOMSTR = "Generating header/stub file(s) $TARGETS from $SOURCES")

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