xref: /freebsd/crypto/openssl/HACKING.md (revision d37eb51047221dc3322b34db1038ff3aa533883f)
1MODIFYING OPENSSL SOURCE
2========================
3
4This document describes the way to add custom modifications to OpenSSL sources.
5
6 If you are adding new public functions to the custom library build, you need to
7 either add a prototype in one of the existing OpenSSL header files;
8 or provide a new header file and edit
9 [Configurations/unix-Makefile.tmpl](Configurations/unix-Makefile.tmpl)
10 to pick up that file.
11
12 After that perform the following steps:
13
14    ./Configure -Werror --strict-warnings [your-options]
15    make update
16    make
17    make test
18
19 `make update` ensures that your functions declarations are added to
20 `util/libcrypto.num` or `util/libssl.num`.
21 If you plan to submit the changes you made to OpenSSL
22 (see [CONTRIBUTING.md](CONTRIBUTING.md)), it's worth running:
23
24    make doc-nits
25
26 after running `make update` to ensure that documentation has correct format.
27
28 `make update` also generates files related to OIDs (in the `crypto/objects/`
29 folder) and errors.
30 If a merge error occurs in one of these generated files then the
31 generated files need to be removed and regenerated using `make update`.
32 To aid in this process the generated files can be committed separately
33 so they can be removed easily.
34