%scons; %builders-mod; %functions-mod; %tools-mod; %variables-mod; ]> Sets construction variables for the &javah; tool. JAVAH JAVAHFLAGS JAVAHCOM JAVACLASSSUFFIX JAVAHCOMSTR JAVACLASSPATH 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 .class files, the names of .java files to be compiled into .class 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 .class file names. Examples: # 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", ) Java versions starting with 10.0 no longer use the javah command for generating JNI headers/sources, and indeed have removed the command entirely (see Java Enhancement Proposal JEP 313), making this tool harder to use for that purpose. &SCons; may autodiscover a javah belonging to an older release if there are multiple Java versions on the system, which will lead to incorrect results. To use with a newer Java, override the default values of &cv-link-JAVAH; (to contain the path to the javac) and &cv-link-JAVAHFLAGS; (to contain at least a flag) and note that generating headers with javac requires supplying source .java files only, not .class files. The Java generator for C header and stub files. 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. 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") General options passed to the C header and stub file generator for Java classes.