]> git.ipfire.org Git - thirdparty/openssl.git/blame - HACKING.md
Replace getline with fgets in sslecho demo
[thirdparty/openssl.git] / HACKING.md
CommitLineData
1dc1ea18
DDO
1MODIFYING OPENSSL SOURCE
2========================
3
4This document describes the way to add custom modifications to OpenSSL sources.
b97a28b1
DB
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;
1dc1ea18
DDO
8 or provide a new header file and edit
9 [Configurations/unix-Makefile.tmpl](Configurations/unix-Makefile.tmpl)
10 to pick up that file.
b97a28b1 11
af33b200 12 After that, perform the following steps:
b97a28b1 13
16b0e0fc 14 ./Configure -Werror --strict-warnings [your-options]
b97a28b1
DB
15 make update
16 make
17 make test
18
1dc1ea18
DDO
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:
b97a28b1
DB
23
24 make doc-nits
25
1dc1ea18 26 after running `make update` to ensure that documentation has correct format.
b97a28b1 27
1dc1ea18
DDO
28 `make update` also generates files related to OIDs (in the `crypto/objects/`
29 folder) and errors.
af33b200 30 If a merge error occurs in one of these generated files, then the
1dc1ea18 31 generated files need to be removed and regenerated using `make update`.
af33b200 32 To aid in this process, the generated files can be committed separately
1dc1ea18 33 so they can be removed easily.