Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
trunk
-
None
Description
Currently, JavaHL class and header files are always recompiled, even if they already exist. This patch upgrades our Java build system to only rebuild the .class files when the .java files have changed and to only rebuild the .h files when the .class files have changed. * build/generator/gen-base.py (gen_base.TargetJavaClasses.add_dependencies): Add class file to dependency list instead of source file. * build/generator/gen_make.py (gen_make.Generator.write): Switched TargetJavaClasses rules to depend on the object files instead of the source files. These object files are generated in a single call to 'javac'. This change prevents unnecessary regeneration of .class files. (gen_make.Generator.write): Switched TargetJavaHeaders rules to depend on the header files instead of the source files. These header files are generated in a single call to 'javah'. This change prevents unnecessary regeneration of .h files. (gen_make.Generator.write): Added code to keep track of dependencies for new TargetJavaHeaders and TargetJavaClasses rules
Original issue reported by djames