Difference between revisions of "CoCoALib:Contribute"

From ApCoCoAWiki
m
(6 intermediate revisions by 2 users not shown)
Line 20: Line 20:
  
 
# Put your file into the right place:
 
# Put your file into the right place:
#* Copy the example file "ex-MyExample.C" into the subdirectory "examples".
+
#* Copy the example file "ex-MyExample.C" into the subdirectory "CoCoALib-xxx/examples".
# Edit "examples/Makefile":
+
# Edit "CoCoALib-xxx/examples/Makefile":
 
#* Add "ex-MyExample.C" to the variable definition of "SRC".
 
#* Add "ex-MyExample.C" to the variable definition of "SRC".
  
Line 37: Line 37:
  
 
# Put your files into the right place:
 
# Put your files into the right place:
#* Copy the source file "MyClass.C" into the subdirectory "src".
+
#* Copy the source file "MyClass.C" into the subdirectory "CoCoALib-xxx/src".
#* Copy the header file "MyClass.H" into the subdirectory "include/CoCoA".
+
#* Copy the header file "MyClass.H" into the subdirectory "CoCoALib-xxx/include/CoCoA".
# Edit "include/CoCoA/library.H":
+
# Edit "CoCoALib-xxx/include/CoCoA/library.H":
 
#* Add an include directive for your header file "MyClass.H".
 
#* Add an include directive for your header file "MyClass.H".
# Edit "src/Makefile":
+
# Edit "CoCoALib-xxx/src/Makefile":
 
#* Add "MyClass.C" to the variable definition of "SRC".
 
#* Add "MyClass.C" to the variable definition of "SRC".
  
Line 52: Line 52:
 
  make all
 
  make all
  
If the build process terminates without an error you should writte an example for your class and check if it works correctly. See [[Contribute_to_CoCoALib#How do I contribute an example?|How do I contribute an example?]] for more information.
+
If the build process terminates without an error you should write an example for your class and check if it works correctly. See [[Contribute_to_CoCoALib#How do I contribute an example?|How do I contribute an example?]] for more information.
[[Category:HowTo]][[Category:CoCoALib]]
+
 
 +
== Contribute a new CoCoAServer function ==
 +
It is assumed that you already have done the steps listed in [[HowTo:Contribute a CoCoA 4 function that calls the CoCoAServer|Contribute a CoCoA 4 function that calls the CoCoAServer]].
 +
 
 +
All actions take place in "RegisterServerOp.C".
 +
 
 +
The documentation is in RegisterServerOp.txt and ServerOp.txt in the doc/ directory.
 +
 
 +
[[Category:CoCoALib]]

Revision as of 16:14, 24 November 2008

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:

  1. Put your file into the right place:
    • Copy the example file "ex-MyExample.C" into the subdirectory "CoCoALib-xxx/examples".
  2. Edit "CoCoALib-xxx/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:

  1. Put your files into the right place:
    • Copy the source file "MyClass.C" into the subdirectory "CoCoALib-xxx/src".
    • Copy the header file "MyClass.H" into the subdirectory "CoCoALib-xxx/include/CoCoA".
  2. Edit "CoCoALib-xxx/include/CoCoA/library.H":
    • Add an include directive for your header file "MyClass.H".
  3. Edit "CoCoALib-xxx/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.

Contribute a new CoCoAServer function

It is assumed that you already have done the steps listed in Contribute a CoCoA 4 function that calls the CoCoAServer.

All actions take place in "RegisterServerOp.C".

The documentation is in RegisterServerOp.txt and ServerOp.txt in the doc/ directory.