CoCoALib:Contribute
Contribute with an example
The easiest way to help the CoCoALib project is to have a look at the "example" directory, run the examples, play with them, and send a comment about what can be improved.
You could also create a new example to be added to the distibution.
How do I run an example?
Download CoCoALib-xxx and compile it: (you will need GMP)
cd CoCoALib-xxx ./configure make
to run an example do this:
cd examples make ex-yyyyy ./ex-yyyy
How do I contribute an example?
Let's say you have written an example "ex-MyExample.C". To add your code to the CoCoALib examples follow the instructions below:
- Put your file into the right place:
- Copy the example file "ex-MyExample.C" into the subdirectory "examples".
- Edit "examples/Makefile":
- Add "ex-MyExample.C" to the variable definition of "SRC".
Now everything is ready to start a test build. First you have to rebuild the Makefile dependencies:
cd CoCoALib-xxx cd examples rm Makefile_dependencies make dependencies
Next you should follow the instructions under How do I run an example? to test-run your example.
Contibute with a new class
Let's say you have written a new class "MyClass". Let "MyClass.C" and "MyClass.H" be the files that contain your source code. To add your code the CoCoALib follow the instructions below:
- Put your files into the right place:
- Copy the source file "MyClass.C" into the subdirectory "src".
- Copy the header file "MyClass.H" into the subdirectory "include/CoCoA".
- Edit "include/CoCoA/library.H":
- Add an include directive for your header file "MyClass.H".
- Edit "src/Makefile":
- Add "MyClass.C" to the variable definition of "SRC".
Now everything is ready to start a test build. First you have to rebuild the Makefile dependencies:
cd CoCoALib-xxx rm src/Makefile_dependencies make dependencies
Next you should trigger a full build to see if everything works:
make all
If the build process terminates without an error you should write an example for your class and check if it works correctly. See How do I contribute an example? for more information.