1 | MODIFYING OPENSSL SOURCE
|
---|
2 | ========================
|
---|
3 |
|
---|
4 | This 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.
|
---|