This directory contains tools to generate a Java Native Interface for libfirm. The tools generate for each libfirm header file a Java class containing native method calls and static fields. The native methods are derived from the methods in the corresponding libfirm header. The method names are generated by replacing all occurences of '_x' by 'X'. (The libfirm headers may not contain method names that only differ by capitalizing the letter after an underscore.) The static fields are derived from the enumerators in libfirm. The generator copies the comments from the header files to the Java files. Sometimes it places the comments slightly wrong, i.e. a bit too high or too low. As the comments are directly copied they refer to the C names. Generating the JNI requires various syntactic properties of the header files that restrict legal C. These restrictions will be relaxed at some point. Do not use methods that generate a non null terminated String from Idents (as idToStr). This will probably cause a segmentation fault. Do not use methods that accept or return function pointers. Some other methods generated might not work yet. Please report this to goetz@ipd.info.uni-karlsruhe.de. WARNING: For now _all_ enumerators are generated into _all_ classes. This results from deficiencies in the crecoder and will be removed at some place. Use only the enumerators defined in the corresponding c headers. E.g., irm_X is defined in irmode.h, so use Irmode.irm_X, but not Type.irm_X or any other definition in the java files. ======================================================================== Call sh build_firm_jni to generate a Java native interface for firm. ========================================================================