Difference between revisions of "CoCoALib:Contribute"

From ApCoCoAWiki
m (remove spam)
m (page moved)
 
(10 intermediate revisions by 3 users not shown)
Line 14: Line 14:
 
  make ex-yyyyy
 
  make ex-yyyyy
 
  ./ex-yyyy
 
  ./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 "CoCoALib-xxx/examples".
 +
# 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 [[Contribute_to_CoCoALib#How do I run an example?|How do I run an example?]] to test-run your example.
 +
  
 
== Contibute with a new class ==
 
== Contibute with a new class ==
At the moment there exists no exact procedure how to submit or contribute something to CoCoALib.
+
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:
As soon as somebody wants to contribute something, we will come up with a way to do so.
+
 
 +
# 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".
 +
# Edit "CoCoALib-xxx/include/CoCoA/library.H":
 +
#* Add an include directive for your header file "MyClass.H".
 +
# 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 [[Contribute_to_CoCoALib#How do I contribute an example?|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 [[CoCoA: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:HowTo]][[Category:CoCoALib]]
+
[[Category:CoCoALib]]

Latest revision as of 09:16, 29 October 2020

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.