aboutsummaryrefslogtreecommitdiff
path: root/docs/DEVELOPING.md
diff options
context:
space:
mode:
authorJ08nY2019-09-17 19:32:46 +0200
committerJ08nY2019-09-17 19:32:46 +0200
commit922c01bf623d1eacc5c27fc36a152cfccb14173f (patch)
tree042cf1d7fea7ffedb2e31ccc8b947b0c131183ab /docs/DEVELOPING.md
parent4d7d2e2d3e7a3f7e171b181fb8ec071ef7c4c90a (diff)
downloadECTester-922c01bf623d1eacc5c27fc36a152cfccb14173f.tar.gz
ECTester-922c01bf623d1eacc5c27fc36a152cfccb14173f.tar.zst
ECTester-922c01bf623d1eacc5c27fc36a152cfccb14173f.zip
Diffstat (limited to 'docs/DEVELOPING.md')
-rw-r--r--docs/DEVELOPING.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/DEVELOPING.md b/docs/DEVELOPING.md
new file mode 100644
index 0000000..863361b
--- /dev/null
+++ b/docs/DEVELOPING.md
@@ -0,0 +1,14 @@
+# Developing ECTester
+
+This document describes some development guidelines and how-tos regarding
+developing the ECTester tool itself.
+
+## Developing ECTester standalone modules
+
+ - Create Java classes inheriting Native{ECPrivateKey,ECPublicKey,KeyPairGeneratorSpi,KeyAgreementSpi,SignatureSpi}.
+ - Add those classes to `build-standalone.xml` header generation.
+ - Generate `native.h` headers for new classes using `build-standalone.xml`.
+ - Create module file (C/C++) in `cz/crcs/ectester/standalone/libs/jni`, and add it to the Makefile.
+ - Implement the required JNI functions, look at existing modules for what is expected, what the contract
+ of the function is, use the `native_timing_*` functions around points that should be measurable.
+ - Compile and run ECTester using your new module. \ No newline at end of file