{"id":709,"date":"2011-06-01T10:47:34","date_gmt":"2011-06-01T14:47:34","guid":{"rendered":"http:\/\/hstore.cs.brown.edu\/?page_id=709"},"modified":"2012-03-14T11:49:11","modified_gmt":"2012-03-14T15:49:11","slug":"building","status":"publish","type":"page","link":"https:\/\/hstore.cs.brown.edu\/documentation\/deployment\/building\/","title":{"rendered":"Building H-Store"},"content":{"rendered":"
To build the entire H-Store source code tree all at once, execute the build<\/tt> target:<\/p>\n To clean and then compile the Java portion of the system, use clean-java<\/tt> and build-java<\/tt>.<\/p>\n Simiarily, you can also build just H-Store’s C++ JNI library using the build-cpp<\/tt> target:<\/p>\n The build artifacts will be stored in the $HSTORE_HOME\/obj\/release<\/tt> directory.<\/p>\n The following table is a list of the individual target dependencies that need to get built first before building the entire system:<\/p>\n By default, the clean<\/tt> target will remove the build artifacts from Java Frontend and the C++ Backend. Each sub-component can also be selectively cleaned with the following commands. Use clean-all<\/tt> to remove the entire $HSTORE_HOME\/obj<\/tt> directory.<\/p>\nant build<\/tt><\/pre>\n
ant clean-java<\/tt> build-java<\/tt><\/pre>\n
ant clean-cpp<\/tt> build-cpp<\/tt><\/pre>\n
Ant Targets<\/h2>\n
\n
\n Component<\/th>\n Ant Target<\/th>\n Description<\/th>\n<\/tr>\n \n Google ProtocolBuffers<\/td>\n protobuf<\/tt><\/td>\n ProtocolBuffer compiler and support libraries.<\/p>\n \n<\/tr>\n \n ProtoRPC API<\/td>\n protorpc<\/tt><\/td>\n Generate the ProtoRPC API Java files using the ProtocolBuffer compiler<\/td>\n<\/tr>\n \n Frontend Java System<\/td>\n build-java<\/tt><\/td>\n Frontend wrappers, transaction estimators, system catalogs, and other runtime components.<\/td>\n<\/tr>\n \n Backend Execution Engine<\/td>\n build-cpp<\/tt><\/td>\n The C++ JNI library for H-Store’s backend execution engine. Note that must also compile the Java frontend first in order to generate the JNI header files needed.<\/td>\n<\/tr>\n<\/table>\n \n
\n Component<\/th>\n Ant Target<\/th>\n Description<\/th>\n<\/tr>\n \n ProtoRPC API<\/td>\n clean-protorpc<\/tt><\/td>\n ProtoRPC API files generated by the ProtocolBuffer compiler<\/td>\n<\/tr>\n \n Frontend Java System<\/td>\n clean-java<\/tt><\/td>\n All Java-based components and test cases.<\/td>\n<\/tr>\n \n Backend Execution Engine<\/td>\n clean-cpp<\/tt><\/td>\n Backend C++ execution engine. <\/td>\n<\/tr>\n<\/table>\n