[botan-devel] How to add a module to be compiled?

Jeffrey Walton noloader at gmail.com
Fri Apr 14 02:29:44 EDT 2017

Hi Everyone,

I'm having trouble getting the build system to pick up a new block
cipher. The class files for the cipher were placed in src/lib/block/,
the header was added to src/lib/base/botan.h, and a factory was added
at src/lib/block/block_cipher.cpp. Test vectors were added to

Adding the ciphers to the policy text files (bsi.txt and friends)
produced errors about a missing module.

I've tried to determine how other ciphers, like camellia and adler32,
are picked up, but I don't see it (see below).

How do I add a module to the build system?

Thanks in advance.


Here's what a grep for the adler32 module is returning after a 'make distclean':

$ grep -R adler32 *
news.rst:* Split checksum.h into adler32.h, crc24.h, and crc32.h
src/lib/hash/checksum/adler32/adler32.cpp:#include <botan/adler32.h>
src/lib/hash/checksum/adler32/adler32.cpp:void adler32_update(const
uint8_t input[], size_t length,
src/lib/hash/checksum/adler32/adler32.cpp:      adler32_update(input,
src/lib/hash/checksum/adler32/adler32.cpp:   adler32_update(input,
length, m_S1, m_S2);
src/lib/hash/hash.cpp:  #include <botan/adler32.h>

>From the output above, I don't see a configuration file for the build
system to know to build adler32. Camellia and others produce similar

More information about the botan-devel mailing list