Closed ruipacheco closed 7 years ago
Update: judging by configure.py
's output it does look like no file is generated:
⟩ python configure.py --minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --amalgamation
INFO: configure.py invoked with options "--minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --amalgamation"
INFO: Platform: OS="Darwin" machine="x86_64" proc="i386"
INFO: Guessing target OS is darwin (use --os to set)
INFO: Guessing to use compiler clang (use --cc to set)
INFO: Guessing target processor is a x86_64/x86_64 (use --cpu to set)
INFO: Target is clang-darwin-x86_64-x86_64
INFO: Skipping (incompatible OS): cryptoapi_rng getentropy locking_allocator win32_stats
INFO: Skipping (not requested): adler32 aes_ni aes_ssse3 aont auto_rng bcrypt blake2 blowfish camellia cascade cast cbc_mac ccm cecpq1 certstor_sql certstor_sqlite3 cfb chacha chacha20poly1305 chacha_sse2 clmul cmac codec_filt comb4p compression crc24 crc32 cryptobox curve25519 darwin_secrandom des dev_random dlies dsa dyn_load eax ecgdsa ecies eckcdsa elgamal eme_oaep eme_raw emsa_raw emsa_x931 fd_unix ffi filters fpe_fe1 gmac gost_28147 gost_3410 gost_3411 hkdf hmac_drbg http_util idea idea_sse2 iso9796 kasumi kdf1 kdf1_iso18033 kdf2 keccak lion mce mceies md4 misty1 newhope noekeon noekeon_simd ocb ofb passhash9 pbkdf1 pkcs11 poly1305 prf_x942 proc_walk rc4 rdrand rdrand_rng rdseed rfc3394 rfc6979 rmd160 salsa20 seed serpent serpent_simd sessions_sql sessions_sqlite3 sha1_sse2 sha3 shake shake_cipher simd siphash siv skein sm3 sp800_108 sp800_56c srp6 stateful_rng threefish threefish_avx2 tiger tls_cbc tss twofish whirlpool x919_mac xmss xtea xts
INFO: Skipping (requires external dependency): boost bzip2 lzma openssl sqlite3 tpm zlib
INFO: Loading modules: aead aes asn1 base base64 bigint block cbc ctr dh dl_algo dl_group ec_gfp ec_group ecc_key ecdh ecdsa eme_pkcs1 emsa1 emsa_pkcs1 emsa_pssr entropy gcm hash hash_id hex hmac kdf keypair mac md5 mdx_hash mgf1 mode_pad modes mp numbertheory par_hash pbes2 pbkdf pbkdf2 pem pk_pad prf_tls pubkey rng rsa sha1 sha2_32 sha2_64 stream system_rng tls utils x509
INFO: Assuming CPU is little endian
INFO: Assuming unaligned memory access works
INFO: Using symlink to link files into build dir (use --link-method to change)
INFO: Writing amalgamation header to botan_all.h
INFO: Writing amalgamation header to botan_all_internal.h
INFO: Writing amalgamation source to botan_all.cpp
INFO: Botan 2.2.0 (VC git:2f1b5f55d736715c6c15a117bcb70ae582cc7920) (unreleased undated) build setup is complete
This shows that 3 files were generated.
⟩ python configure.py --minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --single-amalgamation-file
INFO: configure.py invoked with options "--minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --single-amalgamation-file"
INFO: Platform: OS="Darwin" machine="x86_64" proc="i386"
INFO: Guessing target OS is darwin (use --os to set)
INFO: Guessing to use compiler clang (use --cc to set)
INFO: Guessing target processor is a x86_64/x86_64 (use --cpu to set)
INFO: Target is clang-darwin-x86_64-x86_64
INFO: Skipping (incompatible OS): cryptoapi_rng getentropy locking_allocator win32_stats
INFO: Skipping (not requested): adler32 aes_ni aes_ssse3 aont auto_rng bcrypt blake2 blowfish camellia cascade cast cbc_mac ccm cecpq1 certstor_sql certstor_sqlite3 cfb chacha chacha20poly1305 chacha_sse2 clmul cmac codec_filt comb4p compression crc24 crc32 cryptobox curve25519 darwin_secrandom des dev_random dlies dsa dyn_load eax ecgdsa ecies eckcdsa elgamal eme_oaep eme_raw emsa_raw emsa_x931 fd_unix ffi filters fpe_fe1 gmac gost_28147 gost_3410 gost_3411 hkdf hmac_drbg http_util idea idea_sse2 iso9796 kasumi kdf1 kdf1_iso18033 kdf2 keccak lion mce mceies md4 misty1 newhope noekeon noekeon_simd ocb ofb passhash9 pbkdf1 pkcs11 poly1305 prf_x942 proc_walk rc4 rdrand rdrand_rng rdseed rfc3394 rfc6979 rmd160 salsa20 seed serpent serpent_simd sessions_sql sessions_sqlite3 sha1_sse2 sha3 shake shake_cipher simd siphash siv skein sm3 sp800_108 sp800_56c srp6 stateful_rng threefish threefish_avx2 tiger tls_cbc tss twofish whirlpool x919_mac xmss xtea xts
INFO: Skipping (requires external dependency): boost bzip2 lzma openssl sqlite3 tpm zlib
INFO: Loading modules: aead aes asn1 base base64 bigint block cbc ctr dh dl_algo dl_group ec_gfp ec_group ecc_key ecdh ecdsa eme_pkcs1 emsa1 emsa_pkcs1 emsa_pssr entropy gcm hash hash_id hex hmac kdf keypair mac md5 mdx_hash mgf1 mode_pad modes mp numbertheory par_hash pbes2 pbkdf pbkdf2 pem pk_pad prf_tls pubkey rng rsa sha1 sha2_32 sha2_64 stream system_rng tls utils x509
INFO: Assuming CPU is little endian
INFO: Assuming unaligned memory access works
INFO: Using symlink to link files into build dir (use --link-method to change)
INFO: Botan 2.2.0 (VC git:2f1b5f55d736715c6c15a117bcb70ae582cc7920) (unreleased undated) build setup is complete
No files in output here.
--single-amalgamation-file must be used together with --amalgamation We should throw an error if used alone. I'll prepare a PR.
What's the right way to generate the single file? Because I always get 3 files:
⟩ python configure.py --minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --amalgamation --single-amalgamation-file
INFO: configure.py invoked with options "--minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --amalgamation --single-amalgamation-file"
INFO: Platform: OS="Darwin" machine="x86_64" proc="i386"
INFO: Guessing target OS is darwin (use --os to set)
INFO: Guessing to use compiler clang (use --cc to set)
INFO: Guessing target processor is a x86_64/x86_64 (use --cpu to set)
INFO: Target is clang-darwin-x86_64-x86_64
INFO: Skipping (incompatible OS): cryptoapi_rng getentropy locking_allocator win32_stats
INFO: Skipping (not requested): adler32 aes_ni aes_ssse3 aont auto_rng bcrypt blake2 blowfish camellia cascade cast cbc_mac ccm cecpq1 certstor_sql certstor_sqlite3 cfb chacha chacha20poly1305 chacha_sse2 clmul cmac codec_filt comb4p compression crc24 crc32 cryptobox curve25519 darwin_secrandom des dev_random dlies dsa dyn_load eax ecgdsa ecies eckcdsa elgamal eme_oaep eme_raw emsa_raw emsa_x931 fd_unix ffi filters fpe_fe1 gmac gost_28147 gost_3410 gost_3411 hkdf hmac_drbg http_util idea idea_sse2 iso9796 kasumi kdf1 kdf1_iso18033 kdf2 keccak lion mce mceies md4 misty1 newhope noekeon noekeon_simd ocb ofb passhash9 pbkdf1 pkcs11 poly1305 prf_x942 proc_walk rc4 rdrand rdrand_rng rdseed rfc3394 rfc6979 rmd160 salsa20 seed serpent serpent_simd sessions_sql sessions_sqlite3 sha1_sse2 sha3 shake shake_cipher simd siphash siv skein sm3 sp800_108 sp800_56c srp6 stateful_rng threefish threefish_avx2 tiger tls_cbc tss twofish whirlpool x919_mac xmss xtea xts
INFO: Skipping (requires external dependency): boost bzip2 lzma openssl sqlite3 tpm zlib
INFO: Loading modules: aead aes asn1 base base64 bigint block cbc ctr dh dl_algo dl_group ec_gfp ec_group ecc_key ecdh ecdsa eme_pkcs1 emsa1 emsa_pkcs1 emsa_pssr entropy gcm hash hash_id hex hmac kdf keypair mac md5 mdx_hash mgf1 mode_pad modes mp numbertheory par_hash pbes2 pbkdf pbkdf2 pem pk_pad prf_tls pubkey rng rsa sha1 sha2_32 sha2_64 stream system_rng tls utils x509
INFO: Assuming CPU is little endian
INFO: Assuming unaligned memory access works
INFO: Using symlink to link files into build dir (use --link-method to change)
INFO: Writing amalgamation header to botan_all.h
INFO: Writing amalgamation header to botan_all_internal.h
INFO: Writing amalgamation source to botan_all.cpp
INFO: Botan 2.2.0 (VC git:2f1b5f55d736715c6c15a117bcb70ae582cc7920) (unreleased undated) build setup is complete
⟩ python configure.py --minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --single-amalgamation-file --amalgamation
INFO: configure.py invoked with options "--minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --single-amalgamation-file --amalgamation"
INFO: Platform: OS="Darwin" machine="x86_64" proc="i386"
INFO: Guessing target OS is darwin (use --os to set)
INFO: Guessing to use compiler clang (use --cc to set)
INFO: Guessing target processor is a x86_64/x86_64 (use --cpu to set)
INFO: Target is clang-darwin-x86_64-x86_64
INFO: Skipping (incompatible OS): cryptoapi_rng getentropy locking_allocator win32_stats
INFO: Skipping (not requested): adler32 aes_ni aes_ssse3 aont auto_rng bcrypt blake2 blowfish camellia cascade cast cbc_mac ccm cecpq1 certstor_sql certstor_sqlite3 cfb chacha chacha20poly1305 chacha_sse2 clmul cmac codec_filt comb4p compression crc24 crc32 cryptobox curve25519 darwin_secrandom des dev_random dlies dsa dyn_load eax ecgdsa ecies eckcdsa elgamal eme_oaep eme_raw emsa_raw emsa_x931 fd_unix ffi filters fpe_fe1 gmac gost_28147 gost_3410 gost_3411 hkdf hmac_drbg http_util idea idea_sse2 iso9796 kasumi kdf1 kdf1_iso18033 kdf2 keccak lion mce mceies md4 misty1 newhope noekeon noekeon_simd ocb ofb passhash9 pbkdf1 pkcs11 poly1305 prf_x942 proc_walk rc4 rdrand rdrand_rng rdseed rfc3394 rfc6979 rmd160 salsa20 seed serpent serpent_simd sessions_sql sessions_sqlite3 sha1_sse2 sha3 shake shake_cipher simd siphash siv skein sm3 sp800_108 sp800_56c srp6 stateful_rng threefish threefish_avx2 tiger tls_cbc tss twofish whirlpool x919_mac xmss xtea xts
INFO: Skipping (requires external dependency): boost bzip2 lzma openssl sqlite3 tpm zlib
INFO: Loading modules: aead aes asn1 base base64 bigint block cbc ctr dh dl_algo dl_group ec_gfp ec_group ecc_key ecdh ecdsa eme_pkcs1 emsa1 emsa_pkcs1 emsa_pssr entropy gcm hash hash_id hex hmac kdf keypair mac md5 mdx_hash mgf1 mode_pad modes mp numbertheory par_hash pbes2 pbkdf pbkdf2 pem pk_pad prf_tls pubkey rng rsa sha1 sha2_32 sha2_64 stream system_rng tls utils x509
INFO: Assuming CPU is little endian
INFO: Assuming unaligned memory access works
INFO: Using symlink to link files into build dir (use --link-method to change)
INFO: Writing amalgamation header to botan_all.h
INFO: Writing amalgamation header to botan_all_internal.h
INFO: Writing amalgamation source to botan_all.cpp
INFO: Botan 2.2.0 (VC git:2f1b5f55d736715c6c15a117bcb70ae582cc7920) (unreleased undated) build setup is complete
"single" in --single-amalgamation-file means one .cpp file that needs to be compiled. You always have at least 3 files (botan_all.cpp, botan_all.h, botan_all_internal.h) in amalgamation
Or maybe I'm not looking in the right place.
If I do
python configure.py --minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --amalgamation
I get abotan_all.h
and abotan_all.cpp
. If I dopython configure.py --minimized-build --enable-modules=md5,sha1,system_rng,sha2_64,tls --single-amalgamation-file
I can't find any files that should be included, althoughbotan_tests
runs and all tests pass.What's the name of the generated file?