Martin Schlott Martin Schlott - 3 months ago 22
C++ Question

How to build Botan amalgamation files botan_all.cpp and .h on windows

As the title already suggested I try to make the botan_all files to integrate botan directly into my project. I installed python on my Windows and run the following command in the console:

C:\Temp\Botan-1.11.16>configure.py --cc=msvc --single-amalgamation-file


which leads to following output:


INFO: Platform: OS="Windows" machine="AMD64" proc="Intel64 Family 6
Model 58 Stepping 9, GenuineIntel" INFO: Guessing target OS is
windows (use --os to set) INFO: Guessing target processor is a
x86_64/x86_64 (use --cpu to set) INFO: Target is
msvc-windows-x86_64-x86_64 INFO: Skipping, by request only - cvc

INFO: Skipping, dependency failure - sessions_sqlite3 sha1_x86_64

INFO: Skipping, incompatible CPU - md4_x86_32 md5_x86_32
mp_x86_32_msvc serpe nt_x86_32 sha1_x86_32 INFO: Skipping,
incompatible OS - asm_x86_32 asm_x86_64 beos_stats dev_random egd
fd_unix locking_allocator proc_walk unix_procs INFO: Skipping,
incompatible compiler - mp_x86_32 mp_x86_64 rdrand simd_altiv ec

INFO: Skipping, loaded only if needed by dependency - dyn_load
simd_scalar INFO: Skipping, requires external dependency - boost
bzip2 lzma openssl sqlit e3 zlib INFO: Using MP module mp_generic

INFO: Using SIMD module simd_sse2 INFO: Loading modules adler32
aead aes aes_ni aes_ssse3 alloc aont asn1 auto_ rng base base64 bcrypt
benchmark bigint block blowfish camellia cascade cast cbc cbc_mac ccm
cfb chacha chacha20poly1305 clmul cmac codec_filt comb4p compressio n
crc24 crc32 credentials cryptoapi_rng cryptobox ctr curve25519
datastor des dh dl_algo dl_group dlies dsa eax ec_gfp ec_group ecb
ecc_key ecdh ecdsa elgamal e me_oaep eme_pkcs1 eme_raw emsa1 emsa1_bsi
emsa_pkcs1 emsa_pssr emsa_raw emsa_x93 1 entropy ffi filters fpe_fe1
gcm gost_28147 gost_3410 gost_3411 has160 hash has h_id hex hkdf hmac
hmac_drbg hmac_rng hres_timer http_util idea idea_sse2 if_alg o kasumi
kdf kdf1 kdf2 keccak keypair lion mac mars mce mceies md2 md4 md5
mdx_h ash mgf1 misty1 mode_pad modes mp mp_generic noekeon
noekeon_simd nr numbertheor y ocb ofb oid_lookup openpgp par_hash
passhash9 pbes2 pbkdf pbkdf1 pbkdf2 pem pk
_pad poly1305 prf_tls prf_x942 pubkey rc2 rc4 rc5 rc6 rfc3394 rfc6979 rmd128 rmd 160 rng rsa rw safer salsa20 seed serpent serpent_simd
sessions_sql sha1 sha1_ss e2 sha2_32 sha2_64 simd simd_sse2 siphash
siv skein srp6 stream system_rng tea t hreefish threefish_avx2 tiger
tls tss twofish utils whirlpool win32_stats x509 x 919_mac x931_rng
xtea xtea_simd xts INFO: Assuming CPU is little endian INFO:
Assuming unaligned memory access works INFO: Using hardlink to link
files into build dir (use --link-method to chang e) INFO: Botan
1.11.16 (released dated 20150330) build setup is complete


After that I do not know what to do next. I cannot find the botan_all files anywhere.

Answer

You're missing the --gen-amalgamation flag. Your command should look like:

python configure.py --cc=msvc --gen-amalgamation --single-amalgamation-file

For newer versions you have to use --amalgamation instead of --gen-amalgamation.