summaryrefslogtreecommitdiffstats
path: root/HACKING.md
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING.md')
-rw-r--r--HACKING.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/HACKING.md b/HACKING.md
new file mode 100644
index 0000000000..abf199f541
--- /dev/null
+++ b/HACKING.md
@@ -0,0 +1,26 @@
+ MODIFYING OPENSSL SOURCE
+ ------------------------
+ This document describes the way to add custom modifications to OpenSSL sources.
+
+ If you are adding new public functions to the custom library build, you need to
+ either add a prototype in one of the existing OpenSSL header files;
+ or provide a new header file and edit Configurations/unix-Makefile.tmpl to pick up that file.
+
+ After that perform the following steps:
+
+ ./Configure -Werror --strict-warnings [your-options]
+ make update
+ make
+ make test
+
+ "make update" ensures that your functions declarations are added to util/libcrypto.num or util/libssl.num
+ If you plan to submit the changes you made to OpenSSL (see CONTRIBUTING), it's worth running:
+
+ make doc-nits
+
+ after running "make update" to ensure that documentation has correct format.
+
+ "make update" also generates files related to OIDs (in the crypto/objects/ folder) and errors.
+ If a merge error occurs in one of these generated files then the generated files need to be removed
+ and regenerated using "make update".
+ To aid in this process the generated files can be committed separately so they can be removed easily.