X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=firmjni%2FREADME;h=1ebcdeafff2812c097e6fc8a1daca0dad9347326;hb=5b7cbf3674f5de8d4e14200aa5a9f9919ba1c9de;hp=7b342475086a2377ca002868722731ba37f87d4e;hpb=651a8895f35ffa50b9848c48da4660901b771be4;p=libfirm diff --git a/firmjni/README b/firmjni/README index 7b3424750..1ebcdeaff 100644 --- a/firmjni/README +++ b/firmjni/README @@ -1,44 +1,41 @@ -This directory contains tools to generate a Java Native Interface -for libfirm. +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. +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. +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. +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. + +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. +Call "make" in the build directory to generate the Java native +interface for firm. Call "make test" to test the interface. ========================================================================