Compilation and Makefiles
The Zoltan distribution includes a main (top-level) makefile with targets
for the Zoltan library, the test driver programs, and some graphical tools. 
When the library is
compiled for a specific target platform, A, Autotools and CMake obtain provide
platform-specific configuration information.
Both the Autotools and CMake build systems must be maintained in Zoltan.
Thus, new source code files and directories must be added for both systems.
It is easiest to follow the examples of existing files in the build 
environments; good examples
are hsfc.h, hsfc.c, dr_loadbal_const.h and 
dr_loadbal.c.  
To add new source files or source directories:
 
-  
Autotools: Add new library files or directories to 
zoltan/src/Makefile.am; add
new driver files to zoltan/src/driver/Makefile.am.  
In the main
zoltan directory, run the bootstrap-local script to rebuild the 
automated Makefiles.
- 
CMake:  Add new library files to zoltan/src/CMakeLists.txt; add
new driver files to zoltan/src/driver/CMakeLists.txt.
Alternatively, new algorithms can be added as separate libraries with which 
Zoltan may link.  
The implementation of the ParMETIS
interface in Zoltan can serve as an example.  
To add new third-party libraries:
- 
Autotools:  Add checks new library paths and include files to 
zoltan/configure.ac.  Search for the string "parmetis" in 
zoltan/configure.ac, and follow 
its example for the new library.  
Also edit 
zoltan/src/include/Zoltan_config.h.in to include a macro for
the new third-party library; follow the example of "HAVE_PARMETIS".
In the main
zoltan directory, run the bootstrap-local script to rebuild the 
automated configure and Makefiles.
- 
CMake:
Follow the instructions in Trilinos/cmake/HOWTO.ADD_TPL
In zoltan/src/CMakeLists.txt 
and zoltan/cmake/Zoltan_config.h.in, 
follow the example of "HAVE_PARMETIS".
[Table of Contents  |  Next: 
Zoltan Interface and Data Structures  |  Previous: 
Layout of Directories  |  Privacy and Security]